RTEMS 4.11
Annotated Report
Sat Dec 22 23:44:04 2012

000450e0 <IMFS_dump_directory>: */ static void IMFS_dump_directory( IMFS_jnode_t *the_directory, int level ) {
   450e0:	4e56 ffd8      	linkw %fp,#-40                              
   450e4:	206e 0008      	moveal %fp@(8),%a0                          
   450e8:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
RTEMS_INLINE_ROUTINE bool _Chain_Is_tail(                             
  const Chain_Control *the_chain,                                     
  const Chain_Node    *the_node                                       
)                                                                     
{                                                                     
  return (the_node == _Chain_Immutable_tail( the_chain ));            
   450ec:	2608           	movel %a0,%d3                               
   450ee:	49f9 0005 24a6 	lea 524a6 <fputs>,%a4                       
   450f4:	0683 0000 0052 	addil #82,%d3                               
   450fa:	242e 000c      	movel %fp@(12),%d2                          
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   450fe:	2668 004e      	moveal %a0@(78),%a3                         
  IMFS_assert( level >= 0 );                                          
  IMFS_assert( IMFS_is_directory( the_directory ) );                  
                                                                      
  the_chain = &the_directory->info.directory.Entries;                 
                                                                      
  for ( the_node = rtems_chain_first( the_chain );                    
   45102:	b68b           	cmpl %a3,%d3                                
   45104:	6700 008e      	beqw 45194 <IMFS_dump_directory+0xb4>       
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
      IMFS_dump_directory( the_jnode, level + 1 );                    
   45108:	2c02           	movel %d2,%d6                               
   4510a:	45f9 0005 2ff6 	lea 52ff6 <fwrite>,%a2                      
    case IMFS_FIFO:                                                   
      fprintf(stdout, " FIFO not printed\n" );                        
      return;                                                         
                                                                      
    default:                                                          
      fprintf(stdout, " bad type %d\n", IMFS_type( the_jnode ) );     
   45110:	283c 0005 2352 	movel #336722,%d4                           
      return;                                                         
  }                                                                   
  puts("");                                                           
   45116:	4bf9 0005 3d60 	lea 53d60 <puts>,%a5                        
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
      IMFS_dump_directory( the_jnode, level + 1 );                    
   4511c:	5286           	addql #1,%d6                                
   4511e:	2a3c 0004 50e0 	movel #282848,%d5                           
        !rtems_chain_is_tail( the_chain, the_node );                  
        the_node = the_node->next ) {                                 
                                                                      
    the_jnode = (IMFS_jnode_t *) the_node;                            
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
   45124:	4287           	clrl %d7                                    
   45126:	4a82           	tstl %d2                                    
   45128:	6d24           	blts 4514e <IMFS_dump_directory+0x6e>       <== NEVER TAKEN
      fprintf(stdout, "...." );                                       
   4512a:	2079 0006 3ff0 	moveal 63ff0 <_impure_ptr>,%a0              
        !rtems_chain_is_tail( the_chain, the_node );                  
        the_node = the_node->next ) {                                 
                                                                      
    the_jnode = (IMFS_jnode_t *) the_node;                            
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
   45130:	5287           	addql #1,%d7                                
      fprintf(stdout, "...." );                                       
   45132:	2f28 0008      	movel %a0@(8),%sp@-                         
   45136:	4878 0004      	pea 4 <CONTEXT_ARG>                         
   4513a:	4878 0001      	pea 1 <ADD>                                 
   4513e:	4879 0006 2719 	pea 62719 <map.6766+0x11>                   
   45144:	4e92           	jsr %a2@                                    
        !rtems_chain_is_tail( the_chain, the_node );                  
        the_node = the_node->next ) {                                 
                                                                      
    the_jnode = (IMFS_jnode_t *) the_node;                            
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
   45146:	4fef 0010      	lea %sp@(16),%sp                            
   4514a:	be82           	cmpl %d2,%d7                                
   4514c:	6fdc           	bles 4512a <IMFS_dump_directory+0x4a>       
  IMFS_jnode_t *the_jnode                                             
)                                                                     
{                                                                     
  IMFS_assert( the_jnode );                                           
                                                                      
  fprintf(stdout, "%s", the_jnode->name );                            
   4514e:	2079 0006 3ff0 	moveal 63ff0 <_impure_ptr>,%a0              
   45154:	2f28 0008      	movel %a0@(8),%sp@-                         
   45158:	486b 000c      	pea %a3@(12)                                
   4515c:	4e94           	jsr %a4@                                    
  rtems_chain_extract_unprotected( &node->Node );                     
}                                                                     
                                                                      
static inline IMFS_jnode_types_t IMFS_type( const IMFS_jnode_t *node )
{                                                                     
  return node->control->imfs_type;                                    
   4515e:	206b 004a      	moveal %a3@(74),%a0                         
  switch( IMFS_type( the_jnode ) ) {                                  
   45162:	508f           	addql #8,%sp                                
   45164:	7206           	moveq #6,%d1                                
   45166:	2010           	movel %a0@,%d0                              
   45168:	b280           	cmpl %d0,%d1                                
   4516a:	6446           	bccs 451b2 <IMFS_dump_directory+0xd2>       <== ALWAYS TAKEN
    case IMFS_FIFO:                                                   
      fprintf(stdout, " FIFO not printed\n" );                        
      return;                                                         
                                                                      
    default:                                                          
      fprintf(stdout, " bad type %d\n", IMFS_type( the_jnode ) );     
   4516c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4516e:	4879 0006 2773 	pea 62773 <map.6766+0x6b>                   <== NOT EXECUTED
   45174:	2079 0006 3ff0 	moveal 63ff0 <_impure_ptr>,%a0              <== NOT EXECUTED
   4517a:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   4517e:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   45180:	4e90           	jsr %a0@                                    <== NOT EXECUTED
}                                                                     
                                                                      
static inline bool IMFS_is_directory( const IMFS_jnode_t *node )      
{                                                                     
  return node->control->imfs_type == IMFS_DIRECTORY;                  
   45182:	206b 004a      	moveal %a3@(74),%a0                         <== NOT EXECUTED
   45186:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    the_jnode = (IMFS_jnode_t *) the_node;                            
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
   4518a:	4a90           	tstl %a0@                                   <== NOT EXECUTED
   4518c:	6710           	beqs 4519e <IMFS_dump_directory+0xbe>       <== NOT EXECUTED
                                                                      
  the_chain = &the_directory->info.directory.Entries;                 
                                                                      
  for ( the_node = rtems_chain_first( the_chain );                    
        !rtems_chain_is_tail( the_chain, the_node );                  
        the_node = the_node->next ) {                                 
   4518e:	2653           	moveal %a3@,%a3                             
  IMFS_assert( level >= 0 );                                          
  IMFS_assert( IMFS_is_directory( the_directory ) );                  
                                                                      
  the_chain = &the_directory->info.directory.Entries;                 
                                                                      
  for ( the_node = rtems_chain_first( the_chain );                    
   45190:	b68b           	cmpl %a3,%d3                                
   45192:	6690           	bnes 45124 <IMFS_dump_directory+0x44>       
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
      IMFS_dump_directory( the_jnode, level + 1 );                    
  }                                                                   
}                                                                     
   45194:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            
   4519a:	4e5e           	unlk %fp                                    
   4519c:	4e75           	rts                                         
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
      IMFS_dump_directory( the_jnode, level + 1 );                    
   4519e:	2f06           	movel %d6,%sp@-                             
   451a0:	2045           	moveal %d5,%a0                              
   451a2:	2f0b           	movel %a3,%sp@-                             
   451a4:	4e90           	jsr %a0@                                    
                                                                      
  the_chain = &the_directory->info.directory.Entries;                 
                                                                      
  for ( the_node = rtems_chain_first( the_chain );                    
        !rtems_chain_is_tail( the_chain, the_node );                  
        the_node = the_node->next ) {                                 
   451a6:	2653           	moveal %a3@,%a3                             
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
      IMFS_dump_directory( the_jnode, level + 1 );                    
   451a8:	508f           	addql #8,%sp                                
  IMFS_assert( level >= 0 );                                          
  IMFS_assert( IMFS_is_directory( the_directory ) );                  
                                                                      
  the_chain = &the_directory->info.directory.Entries;                 
                                                                      
  for ( the_node = rtems_chain_first( the_chain );                    
   451aa:	b68b           	cmpl %a3,%d3                                
   451ac:	6600 ff76      	bnew 45124 <IMFS_dump_directory+0x44>       
   451b0:	60e2           	bras 45194 <IMFS_dump_directory+0xb4>       
)                                                                     
{                                                                     
  IMFS_assert( the_jnode );                                           
                                                                      
  fprintf(stdout, "%s", the_jnode->name );                            
  switch( IMFS_type( the_jnode ) ) {                                  
   451b2:	303b 0a08      	movew %pc@(451bc <IMFS_dump_directory+0xdc>,%d0:l:2),%d0
   451b6:	48c0           	extl %d0                                    
   451b8:	4efb 0802      	jmp %pc@(451bc <IMFS_dump_directory+0xdc>,%d0:l)
   451bc:	0090 006e 000e 	oril #7208974,%d0                           <== NOT EXECUTED
   451c2:	000e           	.short 0x000e                               <== NOT EXECUTED
   451c4:	00de           	.short 0x00de                               <== NOT EXECUTED
   451c6:	0036           	.short 0x0036                               <== NOT EXECUTED
   451c8:	00b2 2079 0006 	oril #544800774,%d2                         <== NOT EXECUTED
    case IMFS_HARD_LINK:                                              
      fprintf(stdout, " links not printed\n" );                       
      return;                                                         
                                                                      
    case IMFS_SYM_LINK:                                               
      fprintf(stdout, " links not printed\n" );                       
   451ce:	3ff0           	.short 0x3ff0                               
   451d0:	2f28 0008      	movel %a0@(8),%sp@-                         
   451d4:	4878 0013      	pea 13 <INVALID_OPERATION+0x3>              
   451d8:	4878 0001      	pea 1 <ADD>                                 
   451dc:	4879 0006 274c 	pea 6274c <map.6766+0x44>                   
   451e2:	4e92           	jsr %a2@                                    
   451e4:	206b 004a      	moveal %a3@(74),%a0                         
   451e8:	4fef 0010      	lea %sp@(16),%sp                            
    the_jnode = (IMFS_jnode_t *) the_node;                            
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
   451ec:	4a90           	tstl %a0@                                   
   451ee:	669e           	bnes 4518e <IMFS_dump_directory+0xae>       <== ALWAYS TAKEN
   451f0:	60ac           	bras 4519e <IMFS_dump_directory+0xbe>       <== NOT EXECUTED
      fprintf(stdout, " (device %" PRId32 ", %" PRId32 ")",           
        the_jnode->info.device.major, the_jnode->info.device.minor ); 
      break;                                                          
                                                                      
    case IMFS_LINEAR_FILE:                                            
      fprintf(stdout, " (file %" PRId32 " %p)",                       
   451f2:	2f2b 0056      	movel %a3@(86),%sp@-                        
   451f6:	2f2b 0052      	movel %a3@(82),%sp@-                        
   451fa:	2079 0006 3ff0 	moveal 63ff0 <_impure_ptr>,%a0              
   45200:	4879 0006 2731 	pea 62731 <map.6766+0x29>                   
   45206:	2f28 0008      	movel %a0@(8),%sp@-                         
   4520a:	2044           	moveal %d4,%a0                              
   4520c:	4e90           	jsr %a0@                                    
   4520e:	4fef 0010      	lea %sp@(16),%sp                            
                                                                      
    default:                                                          
      fprintf(stdout, " bad type %d\n", IMFS_type( the_jnode ) );     
      return;                                                         
  }                                                                   
  puts("");                                                           
   45212:	4879 0006 2f5a 	pea 62f5a <rtems_termios_baud_table+0x10a>  
   45218:	4e95           	jsr %a5@                                    
   4521a:	588f           	addql #4,%sp                                
   4521c:	206b 004a      	moveal %a3@(74),%a0                         
    the_jnode = (IMFS_jnode_t *) the_node;                            
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
   45220:	4a90           	tstl %a0@                                   
   45222:	6600 ff6a      	bnew 4518e <IMFS_dump_directory+0xae>       
   45226:	6000 ff76      	braw 4519e <IMFS_dump_directory+0xbe>       
    case IMFS_DIRECTORY:                                              
      fprintf(stdout, "/" );                                          
      break;                                                          
                                                                      
    case IMFS_DEVICE:                                                 
      fprintf(stdout, " (device %" PRId32 ", %" PRId32 ")",           
   4522a:	2f2b 0052      	movel %a3@(82),%sp@-                        
   4522e:	2f2b 004e      	movel %a3@(78),%sp@-                        
        the_jnode->info.device.major, the_jnode->info.device.minor ); 
      break;                                                          
                                                                      
    case IMFS_LINEAR_FILE:                                            
      fprintf(stdout, " (file %" PRId32 " %p)",                       
   45232:	2079 0006 3ff0 	moveal 63ff0 <_impure_ptr>,%a0              
    case IMFS_DIRECTORY:                                              
      fprintf(stdout, "/" );                                          
      break;                                                          
                                                                      
    case IMFS_DEVICE:                                                 
      fprintf(stdout, " (device %" PRId32 ", %" PRId32 ")",           
   45238:	4879 0006 271e 	pea 6271e <map.6766+0x16>                   
        the_jnode->info.device.major, the_jnode->info.device.minor ); 
      break;                                                          
                                                                      
    case IMFS_LINEAR_FILE:                                            
      fprintf(stdout, " (file %" PRId32 " %p)",                       
   4523e:	2f28 0008      	movel %a0@(8),%sp@-                         
   45242:	2044           	moveal %d4,%a0                              
   45244:	4e90           	jsr %a0@                                    
   45246:	4fef 0010      	lea %sp@(16),%sp                            
   4524a:	60c6           	bras 45212 <IMFS_dump_directory+0x132>      
  IMFS_assert( the_jnode );                                           
                                                                      
  fprintf(stdout, "%s", the_jnode->name );                            
  switch( IMFS_type( the_jnode ) ) {                                  
    case IMFS_DIRECTORY:                                              
      fprintf(stdout, "/" );                                          
   4524c:	2079 0006 3ff0 	moveal 63ff0 <_impure_ptr>,%a0              
   45252:	2f28 0008      	movel %a0@(8),%sp@-                         
   45256:	4878 002f      	pea 2f <OPER2+0x1b>                         
   4525a:	4eb9 0005 23d0 	jsr 523d0 <fputc>                           
   45260:	508f           	addql #8,%sp                                
                                                                      
    default:                                                          
      fprintf(stdout, " bad type %d\n", IMFS_type( the_jnode ) );     
      return;                                                         
  }                                                                   
  puts("");                                                           
   45262:	4879 0006 2f5a 	pea 62f5a <rtems_termios_baud_table+0x10a>  
   45268:	4e95           	jsr %a5@                                    
   4526a:	588f           	addql #4,%sp                                
   4526c:	60ae           	bras 4521c <IMFS_dump_directory+0x13c>      
    case IMFS_SYM_LINK:                                               
      fprintf(stdout, " links not printed\n" );                       
      return;                                                         
                                                                      
    case IMFS_FIFO:                                                   
      fprintf(stdout, " FIFO not printed\n" );                        
   4526e:	2079 0006 3ff0 	moveal 63ff0 <_impure_ptr>,%a0              
   45274:	2f28 0008      	movel %a0@(8),%sp@-                         
   45278:	4878 0012      	pea 12 <INVALID_OPERATION+0x2>              
   4527c:	4878 0001      	pea 1 <ADD>                                 
   45280:	4879 0006 2760 	pea 62760 <map.6766+0x58>                   
   45286:	4e92           	jsr %a2@                                    
   45288:	206b 004a      	moveal %a3@(74),%a0                         
   4528c:	4fef 0010      	lea %sp@(16),%sp                            
    the_jnode = (IMFS_jnode_t *) the_node;                            
                                                                      
    for ( i=0 ; i<=level ; i++ )                                      
      fprintf(stdout, "...." );                                       
    IMFS_print_jnode( the_jnode );                                    
    if ( IMFS_is_directory( the_jnode ) )                             
   45290:	4a90           	tstl %a0@                                   
   45292:	6600 fefa      	bnew 4518e <IMFS_dump_directory+0xae>       
   45296:	6000 ff06      	braw 4519e <IMFS_dump_directory+0xbe>       <== NOT EXECUTED
        the_jnode->info.file.indirect,                                
        the_jnode->info.file.doubly_indirect,                         
        the_jnode->info.file.triply_indirect                          
      );                                                              
#else                                                                 
      fprintf(stdout, " (file %" PRId32 ")",                          
   4529a:	2f2b 0052      	movel %a3@(82),%sp@-                        
   4529e:	2079 0006 3ff0 	moveal 63ff0 <_impure_ptr>,%a0              
   452a4:	4879 0006 2740 	pea 62740 <map.6766+0x38>                   
   452aa:	2f28 0008      	movel %a0@(8),%sp@-                         
   452ae:	2044           	moveal %d4,%a0                              
   452b0:	4e90           	jsr %a0@                                    
   452b2:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
    default:                                                          
      fprintf(stdout, " bad type %d\n", IMFS_type( the_jnode ) );     
      return;                                                         
  }                                                                   
  puts("");                                                           
   452b6:	4879 0006 2f5a 	pea 62f5a <rtems_termios_baud_table+0x10a>  
   452bc:	4e95           	jsr %a5@                                    
   452be:	588f           	addql #4,%sp                                
   452c0:	6000 ff5a      	braw 4521c <IMFS_dump_directory+0x13c>      
                                                                      

0004b0e2 <IMFS_eval_token>: rtems_filesystem_eval_path_generic_status status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE; rtems_filesystem_location_info_t *currentloc = rtems_filesystem_eval_path_get_currentloc( ctx ); IMFS_jnode_t *dir = currentloc->node_access; bool access_ok = rtems_filesystem_eval_path_check_access(
   4b0e2:	4280           	clrl %d0                                    
  rtems_filesystem_eval_path_context_t *ctx,                          
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
   4b0e4:	4e56 ffe0      	linkw %fp,#-32                              
   4b0e8:	48d7 3c3c      	moveml %d2-%d5/%a2-%a5,%sp@                 
   4b0ec:	286e 0008      	moveal %fp@(8),%a4                          
  rtems_filesystem_eval_path_generic_status status =                  
    RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;                          
  rtems_filesystem_location_info_t *currentloc =                      
    rtems_filesystem_eval_path_get_currentloc( ctx );                 
  IMFS_jnode_t *dir = currentloc->node_access;                        
  bool access_ok = rtems_filesystem_eval_path_check_access(           
   4b0f0:	263c 0004 be14 	movel #310804,%d3                           
   4b0f6:	2043           	moveal %d3,%a0                              
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
    RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;                          
  rtems_filesystem_location_info_t *currentloc =                      
    rtems_filesystem_eval_path_get_currentloc( ctx );                 
  IMFS_jnode_t *dir = currentloc->node_access;                        
   4b0f8:	266c 0020      	moveal %a4@(32),%a3                         
  bool access_ok = rtems_filesystem_eval_path_check_access(           
   4b0fc:	302b 003c      	movew %a3@(60),%d0                          
  rtems_filesystem_eval_path_context_t *ctx,                          
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
   4b100:	282e 0010      	movel %fp@(16),%d4                          
  rtems_filesystem_eval_path_generic_status status =                  
    RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;                          
  rtems_filesystem_location_info_t *currentloc =                      
    rtems_filesystem_eval_path_get_currentloc( ctx );                 
  IMFS_jnode_t *dir = currentloc->node_access;                        
  bool access_ok = rtems_filesystem_eval_path_check_access(           
   4b104:	2f00           	movel %d0,%sp@-                             
  rtems_filesystem_eval_path_context_t *ctx,                          
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
   4b106:	242e 0014      	movel %fp@(20),%d2                          
  rtems_filesystem_eval_path_generic_status status =                  
    RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;                          
  rtems_filesystem_location_info_t *currentloc =                      
    rtems_filesystem_eval_path_get_currentloc( ctx );                 
  IMFS_jnode_t *dir = currentloc->node_access;                        
  bool access_ok = rtems_filesystem_eval_path_check_access(           
   4b10a:	302b 003a      	movew %a3@(58),%d0                          
   4b10e:	2f00           	movel %d0,%sp@-                             
   4b110:	2f2b 002e      	movel %a3@(46),%sp@-                        
   4b114:	4878 0001      	pea 1 <ADD>                                 
   4b118:	2f0c           	movel %a4,%sp@-                             
   4b11a:	4e90           	jsr %a0@                                    
    dir->st_mode,                                                     
    dir->st_uid,                                                      
    dir->st_gid                                                       
  );                                                                  
                                                                      
  if ( access_ok ) {                                                  
   4b11c:	4fef 0014      	lea %sp@(20),%sp                            
   4b120:	4a00           	tstb %d0                                    
   4b122:	660c           	bnes 4b130 <IMFS_eval_token+0x4e>           
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   4b124:	7001           	moveq #1,%d0                                
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;           
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   4b126:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            
   4b12c:	4e5e           	unlk %fp                                    
   4b12e:	4e75           	rts                                         
static inline bool rtems_filesystem_is_current_directory(             
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 1 && token [0] == '.';                           
   4b130:	7001           	moveq #1,%d0                                
   4b132:	b082           	cmpl %d2,%d0                                
   4b134:	6700 012c      	beqw 4b262 <IMFS_eval_token+0x180>          
static inline bool rtems_filesystem_is_parent_directory(              
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 2 && token [0] == '.' && token [1] == '.';       
   4b138:	7002           	moveq #2,%d0                                
   4b13a:	b082           	cmpl %d2,%d0                                
   4b13c:	6700 00bc      	beqw 4b1fa <IMFS_eval_token+0x118>          
    if ( rtems_filesystem_is_parent_directory( token, tokenlen ) ) {  
      return dir->Parent;                                             
    } else {                                                          
      rtems_chain_control *entries = &dir->info.directory.Entries;    
      rtems_chain_node *current = rtems_chain_first( entries );       
      rtems_chain_node *tail = rtems_chain_tail( entries );           
   4b140:	2a0b           	movel %a3,%d5                               
   4b142:	0685 0000 0052 	addil #82,%d5                               
   4b148:	4bf9 0004 f4a4 	lea 4f4a4 <strncmp>,%a5                     
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4b14e:	246b 004e      	moveal %a3@(78),%a2                         
                                                                      
      while ( current != tail ) {                                     
   4b152:	ba8a           	cmpl %a2,%d5                                
   4b154:	6700 0098      	beqw 4b1ee <IMFS_eval_token+0x10c>          
        IMFS_jnode_t *entry = (IMFS_jnode_t *) current;               
        bool match = strncmp( entry->name, token, tokenlen ) == 0     
   4b158:	2f02           	movel %d2,%sp@-                             
   4b15a:	2f04           	movel %d4,%sp@-                             
   4b15c:	486a 000c      	pea %a2@(12)                                
   4b160:	4e95           	jsr %a5@                                    
   4b162:	4fef 000c      	lea %sp@(12),%sp                            
          && entry->name [tokenlen] == '\0';                          
   4b166:	4a80           	tstl %d0                                    
   4b168:	667c           	bnes 4b1e6 <IMFS_eval_token+0x104>          
   4b16a:	4a32 280c      	tstb %a2@(0000000c,%d2:l)                   
   4b16e:	6676           	bnes 4b1e6 <IMFS_eval_token+0x104>          
  rtems_chain_extract_unprotected( &node->Node );                     
}                                                                     
                                                                      
static inline IMFS_jnode_types_t IMFS_type( const IMFS_jnode_t *node )
{                                                                     
  return node->control->imfs_type;                                    
   4b170:	206a 004a      	moveal %a2@(74),%a0                         
      bool follow_sym_link = (eval_flags & RTEMS_FS_FOLLOW_SYM_LINK) != 0;
      IMFS_jnode_types_t type = IMFS_type( entry );                   
                                                                      
      rtems_filesystem_eval_path_clear_token( ctx );                  
                                                                      
      if ( type == IMFS_HARD_LINK && (follow_hard_link || !terminal)) {
   4b174:	7802           	moveq #2,%d4                                
                                                                      
  if ( access_ok ) {                                                  
    IMFS_jnode_t *entry = IMFS_search_in_directory( dir, token, tokenlen );
                                                                      
    if ( entry != NULL ) {                                            
      bool terminal = !rtems_filesystem_eval_path_has_path( ctx );    
   4b176:	4aac 0004      	tstl %a4@(4)                                
   4b17a:	57c0           	seq %d0                                     
   4b17c:	2210           	movel %a0@,%d1                              
   4b17e:	4480           	negl %d0                                    
};                                                                    
                                                                      
void IMFS_eval_path( rtems_filesystem_eval_path_context_t *ctx )      
{                                                                     
  rtems_filesystem_eval_path_generic( ctx, NULL, &IMFS_eval_config ); 
}                                                                     
   4b180:	242c 0010      	movel %a4@(16),%d2                          
                                                                      
static inline void rtems_filesystem_eval_path_clear_token(            
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  ctx->tokenlen = 0;                                                  
   4b184:	42ac 000c      	clrl %a4@(12)                               
      bool follow_sym_link = (eval_flags & RTEMS_FS_FOLLOW_SYM_LINK) != 0;
      IMFS_jnode_types_t type = IMFS_type( entry );                   
                                                                      
      rtems_filesystem_eval_path_clear_token( ctx );                  
                                                                      
      if ( type == IMFS_HARD_LINK && (follow_hard_link || !terminal)) {
   4b188:	b881           	cmpl %d1,%d4                                
   4b18a:	6700 00ea      	beqw 4b276 <IMFS_eval_token+0x194>          
        entry = entry->info.hard_link.link_node;                      
      }                                                               
                                                                      
      if ( type == IMFS_SYM_LINK && (follow_sym_link || !terminal)) { 
   4b18e:	7803           	moveq #3,%d4                                
   4b190:	b881           	cmpl %d1,%d4                                
   4b192:	6700 008e      	beqw 4b222 <IMFS_eval_token+0x140>          
  IMFS_jnode_types_t type                                             
)                                                                     
{                                                                     
  rtems_filesystem_global_location_t **fs_root_ptr = NULL;            
                                                                      
  if ( type == IMFS_DIRECTORY ) {                                     
   4b196:	4a81           	tstl %d1                                    
   4b198:	6600 0096      	bnew 4b230 <IMFS_eval_token+0x14e>          
    if ( node->info.directory.mt_fs != NULL ) {                       
   4b19c:	2a6a 005a      	moveal %a2@(90),%a5                         
   4b1a0:	4a8d           	tstl %a5                                    
   4b1a2:	6700 008c      	beqw 4b230 <IMFS_eval_token+0x14e>          
                                                                      
          if ( !terminal ) {                                          
            status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;     
          }                                                           
        } else {                                                      
          access_ok = rtems_filesystem_eval_path_check_access(        
   4b1a6:	4280           	clrl %d0                                    
   4b1a8:	2043           	moveal %d3,%a0                              
   4b1aa:	302a 003c      	movew %a2@(60),%d0                          
   4b1ae:	2f00           	movel %d0,%sp@-                             
   4b1b0:	302a 003a      	movew %a2@(58),%d0                          
   4b1b4:	2f00           	movel %d0,%sp@-                             
   4b1b6:	2f2a 002e      	movel %a2@(46),%sp@-                        
   4b1ba:	4878 0001      	pea 1 <ADD>                                 
   4b1be:	2f0c           	movel %a4,%sp@-                             
   4b1c0:	4e90           	jsr %a0@                                    
            RTEMS_FS_PERMS_EXEC,                                      
            entry->st_mode,                                           
            entry->st_uid,                                            
            entry->st_gid                                             
          );                                                          
          if ( access_ok ) {                                          
   4b1c2:	4fef 0014      	lea %sp@(20),%sp                            
   4b1c6:	4a00           	tstb %d0                                    
   4b1c8:	6700 ff5a      	beqw 4b124 <IMFS_eval_token+0x42>           
            rtems_filesystem_eval_path_restart( ctx, fs_root_ptr );   
   4b1cc:	486d 0024      	pea %a5@(36)                                
   4b1d0:	2f0c           	movel %a4,%sp@-                             
   4b1d2:	4eb9 0004 4540 	jsr 44540 <rtems_filesystem_eval_path_restart>
   4b1d8:	508f           	addql #8,%sp                                
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   4b1da:	7001           	moveq #1,%d0                                
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;           
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   4b1dc:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            
   4b1e2:	4e5e           	unlk %fp                                    
   4b1e4:	4e75           	rts                                         
};                                                                    
                                                                      
void IMFS_eval_path( rtems_filesystem_eval_path_context_t *ctx )      
{                                                                     
  rtems_filesystem_eval_path_generic( ctx, NULL, &IMFS_eval_config ); 
}                                                                     
   4b1e6:	2452           	moveal %a2@,%a2                             
    } else {                                                          
      rtems_chain_control *entries = &dir->info.directory.Entries;    
      rtems_chain_node *current = rtems_chain_first( entries );       
      rtems_chain_node *tail = rtems_chain_tail( entries );           
                                                                      
      while ( current != tail ) {                                     
   4b1e8:	b5c5           	cmpal %d5,%a2                               
   4b1ea:	6600 ff6c      	bnew 4b158 <IMFS_eval_token+0x76>           
            rtems_filesystem_eval_path_restart( ctx, fs_root_ptr );   
          }                                                           
        }                                                             
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;           
   4b1ee:	7002           	moveq #2,%d0                                
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   4b1f0:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            
   4b1f6:	4e5e           	unlk %fp                                    
   4b1f8:	4e75           	rts                                         
static inline bool rtems_filesystem_is_parent_directory(              
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 2 && token [0] == '.' && token [1] == '.';       
   4b1fa:	2044           	moveal %d4,%a0                              
   4b1fc:	722e           	moveq #46,%d1                               
   4b1fe:	1010           	moveb %a0@,%d0                              
   4b200:	49c0           	extbl %d0                                   
   4b202:	b280           	cmpl %d0,%d1                                
   4b204:	6600 ff3a      	bnew 4b140 <IMFS_eval_token+0x5e>           
   4b208:	1028 0001      	moveb %a0@(1),%d0                           
   4b20c:	49c0           	extbl %d0                                   
   4b20e:	b280           	cmpl %d0,%d1                                
   4b210:	6600 ff2e      	bnew 4b140 <IMFS_eval_token+0x5e>           
{                                                                     
  if ( rtems_filesystem_is_current_directory( token, tokenlen ) ) {   
    return dir;                                                       
  } else {                                                            
    if ( rtems_filesystem_is_parent_directory( token, tokenlen ) ) {  
      return dir->Parent;                                             
   4b214:	246b 0008      	moveal %a3@(8),%a2                          
  );                                                                  
                                                                      
  if ( access_ok ) {                                                  
    IMFS_jnode_t *entry = IMFS_search_in_directory( dir, token, tokenlen );
                                                                      
    if ( entry != NULL ) {                                            
   4b218:	4a8a           	tstl %a2                                    
   4b21a:	6600 ff54      	bnew 4b170 <IMFS_eval_token+0x8e>           
            rtems_filesystem_eval_path_restart( ctx, fs_root_ptr );   
          }                                                           
        }                                                             
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;           
   4b21e:	7002           	moveq #2,%d0                                
   4b220:	60ce           	bras 4b1f0 <IMFS_eval_token+0x10e>          
                                                                      
      if ( type == IMFS_HARD_LINK && (follow_hard_link || !terminal)) {
        entry = entry->info.hard_link.link_node;                      
      }                                                               
                                                                      
      if ( type == IMFS_SYM_LINK && (follow_sym_link || !terminal)) { 
   4b222:	0802 0004      	btst #4,%d2                                 
   4b226:	6600 008a      	bnew 4b2b2 <IMFS_eval_token+0x1d0>          
   4b22a:	4a00           	tstb %d0                                    
   4b22c:	6700 0084      	beqw 4b2b2 <IMFS_eval_token+0x1d0>          
                                                                      
static inline void IMFS_Set_handlers( rtems_filesystem_location_info_t *loc )
{                                                                     
  IMFS_jnode_t *node = (IMFS_jnode_t *) loc->node_access;             
                                                                      
  loc->handlers = node->control->handlers;                            
   4b230:	206a 004a      	moveal %a2@(74),%a0                         
      } else {                                                        
        rtems_filesystem_global_location_t **fs_root_ptr =            
          IMFS_is_mount_point( entry, type );                         
                                                                      
        if ( fs_root_ptr == NULL ) {                                  
          --dir->reference_count;                                     
   4b234:	322b 0032      	movew %a3@(50),%d1                          
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   4b238:	0280 0000 00ff 	andil #255,%d0                              
      } else {                                                        
        rtems_filesystem_global_location_t **fs_root_ptr =            
          IMFS_is_mount_point( entry, type );                         
                                                                      
        if ( fs_root_ptr == NULL ) {                                  
          --dir->reference_count;                                     
   4b23e:	5381           	subql #1,%d1                                
   4b240:	3741 0032      	movew %d1,%a3@(50)                          
          ++entry->reference_count;                                   
   4b244:	322a 0032      	movew %a2@(50),%d1                          
   4b248:	5281           	addql #1,%d1                                
   4b24a:	3541 0032      	movew %d1,%a2@(50)                          
          currentloc->node_access = entry;                            
   4b24e:	294a 0020      	movel %a2,%a4@(32)                          
   4b252:	2968 0004 0028 	movel %a0@(4),%a4@(40)                      
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;           
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   4b258:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            
   4b25e:	4e5e           	unlk %fp                                    
   4b260:	4e75           	rts                                         
static inline bool rtems_filesystem_is_current_directory(             
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 1 && token [0] == '.';                           
   4b262:	2044           	moveal %d4,%a0                              
   4b264:	722e           	moveq #46,%d1                               
   4b266:	1010           	moveb %a0@,%d0                              
   4b268:	49c0           	extbl %d0                                   
   4b26a:	b280           	cmpl %d0,%d1                                
   4b26c:	6600 fed2      	bnew 4b140 <IMFS_eval_token+0x5e>           
   4b270:	244b           	moveal %a3,%a2                              
   4b272:	6000 fefc      	braw 4b170 <IMFS_eval_token+0x8e>           
      bool follow_sym_link = (eval_flags & RTEMS_FS_FOLLOW_SYM_LINK) != 0;
      IMFS_jnode_types_t type = IMFS_type( entry );                   
                                                                      
      rtems_filesystem_eval_path_clear_token( ctx );                  
                                                                      
      if ( type == IMFS_HARD_LINK && (follow_hard_link || !terminal)) {
   4b276:	44c2           	movew %d2,%ccr                              
   4b278:	6a2e           	bpls 4b2a8 <IMFS_eval_token+0x1c6>          
        entry = entry->info.hard_link.link_node;                      
   4b27a:	246a 004e      	moveal %a2@(78),%a2                         
   4b27e:	206a 004a      	moveal %a2@(74),%a0                         
      } else {                                                        
        rtems_filesystem_global_location_t **fs_root_ptr =            
          IMFS_is_mount_point( entry, type );                         
                                                                      
        if ( fs_root_ptr == NULL ) {                                  
          --dir->reference_count;                                     
   4b282:	322b 0032      	movew %a3@(50),%d1                          
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   4b286:	0280 0000 00ff 	andil #255,%d0                              
      } else {                                                        
        rtems_filesystem_global_location_t **fs_root_ptr =            
          IMFS_is_mount_point( entry, type );                         
                                                                      
        if ( fs_root_ptr == NULL ) {                                  
          --dir->reference_count;                                     
   4b28c:	5381           	subql #1,%d1                                
   4b28e:	3741 0032      	movew %d1,%a3@(50)                          
          ++entry->reference_count;                                   
   4b292:	322a 0032      	movew %a2@(50),%d1                          
   4b296:	5281           	addql #1,%d1                                
   4b298:	3541 0032      	movew %d1,%a2@(50)                          
   4b29c:	2968 0004 0028 	movel %a0@(4),%a4@(40)                      
          currentloc->node_access = entry;                            
   4b2a2:	294a 0020      	movel %a2,%a4@(32)                          
   4b2a6:	60b0           	bras 4b258 <IMFS_eval_token+0x176>          
      bool follow_sym_link = (eval_flags & RTEMS_FS_FOLLOW_SYM_LINK) != 0;
      IMFS_jnode_types_t type = IMFS_type( entry );                   
                                                                      
      rtems_filesystem_eval_path_clear_token( ctx );                  
                                                                      
      if ( type == IMFS_HARD_LINK && (follow_hard_link || !terminal)) {
   4b2a8:	4a00           	tstb %d0                                    
   4b2aa:	6684           	bnes 4b230 <IMFS_eval_token+0x14e>          <== ALWAYS TAKEN
        entry = entry->info.hard_link.link_node;                      
   4b2ac:	246a 004e      	moveal %a2@(78),%a2                         <== NOT EXECUTED
   4b2b0:	60cc           	bras 4b27e <IMFS_eval_token+0x19c>          <== NOT EXECUTED
      }                                                               
                                                                      
      if ( type == IMFS_SYM_LINK && (follow_sym_link || !terminal)) { 
        const char *target = entry->info.sym_link.name;               
   4b2b2:	242a 004e      	movel %a2@(78),%d2                          
                                                                      
        rtems_filesystem_eval_path_recursive( ctx, target, strlen( target ) );
   4b2b6:	2f02           	movel %d2,%sp@-                             
   4b2b8:	4eb9 0004 f488 	jsr 4f488 <strlen>                          
   4b2be:	2e80           	movel %d0,%sp@                              
   4b2c0:	2f02           	movel %d2,%sp@-                             
   4b2c2:	2f0c           	movel %a4,%sp@-                             
   4b2c4:	4eb9 0004 45b4 	jsr 445b4 <rtems_filesystem_eval_path_recursive>
                                                                      
      if ( type == IMFS_HARD_LINK && (follow_hard_link || !terminal)) {
        entry = entry->info.hard_link.link_node;                      
      }                                                               
                                                                      
      if ( type == IMFS_SYM_LINK && (follow_sym_link || !terminal)) { 
   4b2ca:	4fef 000c      	lea %sp@(12),%sp                            
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   4b2ce:	7001           	moveq #1,%d0                                
   4b2d0:	6000 fe54      	braw 4b126 <IMFS_eval_token+0x44>           
                                                                      

000433c6 <IMFS_fifo_ioctl>: static int IMFS_fifo_ioctl( rtems_libio_t *iop, ioctl_command_t command, void *buffer ) {
   433c6:	4e56 0000      	linkw %fp,#0                                
   433ca:	206e 0008      	moveal %fp@(8),%a0                          
   433ce:	202e 000c      	movel %fp@(12),%d0                          
   433d2:	226e 0010      	moveal %fp@(16),%a1                         
   433d6:	2f02           	movel %d2,%sp@-                             
  int err;                                                            
                                                                      
  if (command == FIONBIO) {                                           
   433d8:	0c80 8004 667e 	cmpil #-2147195266,%d0                      
   433de:	6724           	beqs 43404 <IMFS_fifo_ioctl+0x3e>           
        iop->flags &= ~LIBIO_FLAGS_NO_DELAY;                          
      return 0;                                                       
    }                                                                 
  }                                                                   
  else                                                                
    err = pipe_ioctl(LIBIO2PIPE(iop), command, buffer, iop);          
   433e0:	2f08           	movel %a0,%sp@-                             
   433e2:	2068 0018      	moveal %a0@(24),%a0                         
   433e6:	2f09           	movel %a1,%sp@-                             
   433e8:	2f00           	movel %d0,%sp@-                             
   433ea:	2f28 004e      	movel %a0@(78),%sp@-                        
   433ee:	4eb9 0004 dfb8 	jsr 4dfb8 <pipe_ioctl>                      
                                                                      
  IMFS_FIFO_RETURN(err);                                              
   433f4:	4fef 0010      	lea %sp@(16),%sp                            
   433f8:	4a80           	tstl %d0                                    
   433fa:	6d44           	blts 43440 <IMFS_fifo_ioctl+0x7a>           
}                                                                     
   433fc:	242e fffc      	movel %fp@(-4),%d2                          
   43400:	4e5e           	unlk %fp                                    
   43402:	4e75           	rts                                         
)                                                                     
{                                                                     
  int err;                                                            
                                                                      
  if (command == FIONBIO) {                                           
    if (buffer == NULL)                                               
   43404:	4a89           	tstl %a1                                    
   43406:	6722           	beqs 4342a <IMFS_fifo_ioctl+0x64>           
      err = -EFAULT;                                                  
    else {                                                            
      if (*(int *)buffer)                                             
        iop->flags |= LIBIO_FLAGS_NO_DELAY;                           
   43408:	4280           	clrl %d0                                    
                                                                      
  if (command == FIONBIO) {                                           
    if (buffer == NULL)                                               
      err = -EFAULT;                                                  
    else {                                                            
      if (*(int *)buffer)                                             
   4340a:	4a91           	tstl %a1@                                   
   4340c:	670e           	beqs 4341c <IMFS_fifo_ioctl+0x56>           
        iop->flags |= LIBIO_FLAGS_NO_DELAY;                           
   4340e:	7201           	moveq #1,%d1                                
  }                                                                   
  else                                                                
    err = pipe_ioctl(LIBIO2PIPE(iop), command, buffer, iop);          
                                                                      
  IMFS_FIFO_RETURN(err);                                              
}                                                                     
   43410:	242e fffc      	movel %fp@(-4),%d2                          
   43414:	4e5e           	unlk %fp                                    
  if (command == FIONBIO) {                                           
    if (buffer == NULL)                                               
      err = -EFAULT;                                                  
    else {                                                            
      if (*(int *)buffer)                                             
        iop->flags |= LIBIO_FLAGS_NO_DELAY;                           
   43416:	83a8 000c      	orl %d1,%a0@(12)                            
  }                                                                   
  else                                                                
    err = pipe_ioctl(LIBIO2PIPE(iop), command, buffer, iop);          
                                                                      
  IMFS_FIFO_RETURN(err);                                              
}                                                                     
   4341a:	4e75           	rts                                         
      err = -EFAULT;                                                  
    else {                                                            
      if (*(int *)buffer)                                             
        iop->flags |= LIBIO_FLAGS_NO_DELAY;                           
      else                                                            
        iop->flags &= ~LIBIO_FLAGS_NO_DELAY;                          
   4341c:	72fe           	moveq #-2,%d1                               
  }                                                                   
  else                                                                
    err = pipe_ioctl(LIBIO2PIPE(iop), command, buffer, iop);          
                                                                      
  IMFS_FIFO_RETURN(err);                                              
}                                                                     
   4341e:	242e fffc      	movel %fp@(-4),%d2                          
   43422:	4e5e           	unlk %fp                                    
      err = -EFAULT;                                                  
    else {                                                            
      if (*(int *)buffer)                                             
        iop->flags |= LIBIO_FLAGS_NO_DELAY;                           
      else                                                            
        iop->flags &= ~LIBIO_FLAGS_NO_DELAY;                          
   43424:	c3a8 000c      	andl %d1,%a0@(12)                           
  }                                                                   
  else                                                                
    err = pipe_ioctl(LIBIO2PIPE(iop), command, buffer, iop);          
                                                                      
  IMFS_FIFO_RETURN(err);                                              
}                                                                     
   43428:	4e75           	rts                                         
    }                                                                 
  }                                                                   
  else                                                                
    err = pipe_ioctl(LIBIO2PIPE(iop), command, buffer, iop);          
                                                                      
  IMFS_FIFO_RETURN(err);                                              
   4342a:	4eb9 0004 fd8c 	jsr 4fd8c <__errno>                         
)                                                                     
{                                                                     
  int err;                                                            
                                                                      
  if (command == FIONBIO) {                                           
    if (buffer == NULL)                                               
   43430:	740e           	moveq #14,%d2                               
    }                                                                 
  }                                                                   
  else                                                                
    err = pipe_ioctl(LIBIO2PIPE(iop), command, buffer, iop);          
                                                                      
  IMFS_FIFO_RETURN(err);                                              
   43432:	2040           	moveal %d0,%a0                              
   43434:	70ff           	moveq #-1,%d0                               
   43436:	2082           	movel %d2,%a0@                              
}                                                                     
   43438:	242e fffc      	movel %fp@(-4),%d2                          
   4343c:	4e5e           	unlk %fp                                    
   4343e:	4e75           	rts                                         
   43440:	2400           	movel %d0,%d2                               
   43442:	4482           	negl %d2                                    
    }                                                                 
  }                                                                   
  else                                                                
    err = pipe_ioctl(LIBIO2PIPE(iop), command, buffer, iop);          
                                                                      
  IMFS_FIFO_RETURN(err);                                              
   43444:	4eb9 0004 fd8c 	jsr 4fd8c <__errno>                         
   4344a:	2040           	moveal %d0,%a0                              
   4344c:	70ff           	moveq #-1,%d0                               
   4344e:	2082           	movel %d2,%a0@                              
   43450:	60e6           	bras 43438 <IMFS_fifo_ioctl+0x72>           
	...                                                                  
                                                                      

00043280 <IMFS_fifo_write>: static ssize_t IMFS_fifo_write( rtems_libio_t *iop, const void *buffer, size_t count ) {
   43280:	4e56 fff8      	linkw %fp,#-8                               
   43284:	206e 0008      	moveal %fp@(8),%a0                          
   43288:	2f0a           	movel %a2,%sp@-                             
   4328a:	2f02           	movel %d2,%sp@-                             
  IMFS_jnode_t *jnode = iop->pathinfo.node_access;                    
                                                                      
  int err = pipe_write(JNODE2PIPE(jnode), buffer, count, iop);        
   4328c:	2f08           	movel %a0,%sp@-                             
   4328e:	2f2e 0010      	movel %fp@(16),%sp@-                        
  rtems_libio_t *iop,                                                 
  const void    *buffer,                                              
  size_t         count                                                
)                                                                     
{                                                                     
  IMFS_jnode_t *jnode = iop->pathinfo.node_access;                    
   43292:	2468 0018      	moveal %a0@(24),%a2                         
                                                                      
  int err = pipe_write(JNODE2PIPE(jnode), buffer, count, iop);        
   43296:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4329a:	2f2a 004e      	movel %a2@(78),%sp@-                        
   4329e:	4eb9 0004 ddc8 	jsr 4ddc8 <pipe_write>                      
  if (err > 0) {                                                      
   432a4:	4fef 0010      	lea %sp@(16),%sp                            
  size_t         count                                                
)                                                                     
{                                                                     
  IMFS_jnode_t *jnode = iop->pathinfo.node_access;                    
                                                                      
  int err = pipe_write(JNODE2PIPE(jnode), buffer, count, iop);        
   432a8:	2400           	movel %d0,%d2                               
  if (err > 0) {                                                      
   432aa:	6f28           	bles 432d4 <IMFS_fifo_write+0x54>           
    IMFS_mtime_ctime_update(jnode);                                   
   432ac:	42a7           	clrl %sp@-                                  
   432ae:	486e fff8      	pea %fp@(-8)                                
   432b2:	4eb9 0004 4424 	jsr 44424 <gettimeofday>                    
   432b8:	202e fff8      	movel %fp@(-8),%d0                          
   432bc:	508f           	addql #8,%sp                                
   432be:	2540 0042      	movel %d0,%a2@(66)                          
   432c2:	2540 0046      	movel %d0,%a2@(70)                          
  }                                                                   
                                                                      
  IMFS_FIFO_RETURN(err);                                              
}                                                                     
   432c6:	2002           	movel %d2,%d0                               
   432c8:	242e fff0      	movel %fp@(-16),%d2                         
   432cc:	246e fff4      	moveal %fp@(-12),%a2                        
   432d0:	4e5e           	unlk %fp                                    
   432d2:	4e75           	rts                                         
  int err = pipe_write(JNODE2PIPE(jnode), buffer, count, iop);        
  if (err > 0) {                                                      
    IMFS_mtime_ctime_update(jnode);                                   
  }                                                                   
                                                                      
  IMFS_FIFO_RETURN(err);                                              
   432d4:	4a80           	tstl %d0                                    
   432d6:	67ee           	beqs 432c6 <IMFS_fifo_write+0x46>           <== NEVER TAKEN
   432d8:	4eb9 0004 fd8c 	jsr 4fd8c <__errno>                         
   432de:	4482           	negl %d2                                    
   432e0:	2040           	moveal %d0,%a0                              
   432e2:	2082           	movel %d2,%a0@                              
   432e4:	74ff           	moveq #-1,%d2                               
}                                                                     
   432e6:	2002           	movel %d2,%d0                               
   432e8:	242e fff0      	movel %fp@(-16),%d2                         
   432ec:	246e fff4      	moveal %fp@(-12),%a2                        
   432f0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004b338 <IMFS_fsunmount>: ((IMFS_jnode_t *)( rtems_chain_head( jnode_get_control( jnode ) )->next)) void IMFS_fsunmount( rtems_filesystem_mount_table_entry_t *temp_mt_entry ) {
   4b338:	4e56 ffd4      	linkw %fp,#-44                              
   /*                                                                 
    * Traverse tree that starts at the mt_fs_root and deallocate memory
    * associated memory space                                         
    */                                                                
                                                                      
   loc = temp_mt_entry->mt_fs_root->location;                         
   4b33c:	206e 0008      	moveal %fp@(8),%a0                          
   4b340:	2268 0024      	moveal %a0@(36),%a1                         
   4b344:	2049           	moveal %a1,%a0                              
    ((IMFS_jnode_t *)( rtems_chain_head( jnode_get_control( jnode ) )->next))
                                                                      
void IMFS_fsunmount(                                                  
  rtems_filesystem_mount_table_entry_t *temp_mt_entry                 
)                                                                     
{                                                                     
   4b346:	48d7 3c04      	moveml %d2/%a2-%a5,%sp@                     
   /*                                                                 
    * Traverse tree that starts at the mt_fs_root and deallocate memory
    * associated memory space                                         
    */                                                                
                                                                      
   loc = temp_mt_entry->mt_fs_root->location;                         
   4b34a:	49ee ffe8      	lea %fp@(-24),%a4                           
     next = jnode->Parent;                                            
     loc.node_access = (void *)jnode;                                 
     IMFS_Set_handlers( &loc );                                       
                                                                      
     if ( !IMFS_is_directory( jnode ) || jnode_has_no_children( jnode ) ) {
        result = IMFS_rmnod( NULL, &loc );                            
   4b34e:	243c 0004 2bb0 	movel #273328,%d2                           
        if ( result != 0 )                                            
	  rtems_fatal_error_occurred( 0xdeadbeef );                          
        IMFS_node_destroy( jnode );                                   
   4b354:	4bf9 0004 2834 	lea 42834 <IMFS_node_destroy>,%a5           
   /*                                                                 
    * Traverse tree that starts at the mt_fs_root and deallocate memory
    * associated memory space                                         
    */                                                                
                                                                      
   loc = temp_mt_entry->mt_fs_root->location;                         
   4b35a:	2898           	movel %a0@+,%a4@                            
   4b35c:	2d58 ffec      	movel %a0@+,%fp@(-20)                       
   4b360:	2d58 fff0      	movel %a0@+,%fp@(-16)                       
   4b364:	2d58 fff4      	movel %a0@+,%fp@(-12)                       
   4b368:	2d58 fff8      	movel %a0@+,%fp@(-8)                        
   jnode = (IMFS_jnode_t *)loc.node_access;                           
   4b36c:	246e fff0      	moveal %fp@(-16),%a2                        
   /*                                                                 
    * Traverse tree that starts at the mt_fs_root and deallocate memory
    * associated memory space                                         
    */                                                                
                                                                      
   loc = temp_mt_entry->mt_fs_root->location;                         
   4b370:	2d50 fffc      	movel %a0@,%fp@(-4)                         
   4b374:	206a 004a      	moveal %a2@(74),%a0                         
   4b378:	2010           	movel %a0@,%d0                              
                                                                      
   /*                                                                 
    *  Set this to null to indicate that it is being unmounted.       
    */                                                                
                                                                      
   temp_mt_entry->mt_fs_root->location.node_access = NULL;            
   4b37a:	42a9 0008      	clrl %a1@(8)                                
                                                                      
   do {                                                               
     next = jnode->Parent;                                            
   4b37e:	266a 0008      	moveal %a2@(8),%a3                          
   4b382:	2d68 0004 fff8 	movel %a0@(4),%fp@(-8)                      
     loc.node_access = (void *)jnode;                                 
   4b388:	2d4a fff0      	movel %a2,%fp@(-16)                         
     IMFS_Set_handlers( &loc );                                       
                                                                      
     if ( !IMFS_is_directory( jnode ) || jnode_has_no_children( jnode ) ) {
   4b38c:	4a80           	tstl %d0                                    
   4b38e:	662e           	bnes 4b3be <IMFS_fsunmount+0x86>            <== NEVER TAKEN
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   4b390:	200a           	movel %a2,%d0                               
   4b392:	0680 0000 0052 	addil #82,%d0                               
   4b398:	b0aa 004e      	cmpl %a2@(78),%d0                           
   4b39c:	6720           	beqs 4b3be <IMFS_fsunmount+0x86>            
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4b39e:	246a 004e      	moveal %a2@(78),%a2                         
       if ( IMFS_is_directory( jnode ) ) {                            
         if ( jnode_has_children( jnode ) )                           
           jnode = jnode_get_first_child( jnode );                    
       }                                                              
     }                                                                
   } while (jnode != NULL);                                           
   4b3a2:	4a8a           	tstl %a2                                    
   4b3a4:	674e           	beqs 4b3f4 <IMFS_fsunmount+0xbc>            <== NEVER TAKEN
   4b3a6:	206a 004a      	moveal %a2@(74),%a0                         
    */                                                                
                                                                      
   temp_mt_entry->mt_fs_root->location.node_access = NULL;            
                                                                      
   do {                                                               
     next = jnode->Parent;                                            
   4b3aa:	266a 0008      	moveal %a2@(8),%a3                          
   4b3ae:	2010           	movel %a0@,%d0                              
   4b3b0:	2d68 0004 fff8 	movel %a0@(4),%fp@(-8)                      
     loc.node_access = (void *)jnode;                                 
   4b3b6:	2d4a fff0      	movel %a2,%fp@(-16)                         
     IMFS_Set_handlers( &loc );                                       
                                                                      
     if ( !IMFS_is_directory( jnode ) || jnode_has_no_children( jnode ) ) {
   4b3ba:	4a80           	tstl %d0                                    
   4b3bc:	67d2           	beqs 4b390 <IMFS_fsunmount+0x58>            
        result = IMFS_rmnod( NULL, &loc );                            
   4b3be:	2f0c           	movel %a4,%sp@-                             
   4b3c0:	2042           	moveal %d2,%a0                              
   4b3c2:	42a7           	clrl %sp@-                                  
   4b3c4:	4e90           	jsr %a0@                                    
        if ( result != 0 )                                            
   4b3c6:	508f           	addql #8,%sp                                
   4b3c8:	4a80           	tstl %d0                                    
   4b3ca:	6632           	bnes 4b3fe <IMFS_fsunmount+0xc6>            <== NEVER TAKEN
	  rtems_fatal_error_occurred( 0xdeadbeef );                          
        IMFS_node_destroy( jnode );                                   
   4b3cc:	2f0a           	movel %a2,%sp@-                             
   4b3ce:	4e95           	jsr %a5@                                    
        jnode = next;                                                 
     }                                                                
     if ( jnode != NULL ) {                                           
   4b3d0:	588f           	addql #4,%sp                                
   4b3d2:	4a8b           	tstl %a3                                    
   4b3d4:	671e           	beqs 4b3f4 <IMFS_fsunmount+0xbc>            
   4b3d6:	206b 004a      	moveal %a3@(74),%a0                         
       if ( IMFS_is_directory( jnode ) ) {                            
   4b3da:	244b           	moveal %a3,%a2                              
   4b3dc:	2010           	movel %a0@,%d0                              
   4b3de:	669e           	bnes 4b37e <IMFS_fsunmount+0x46>            <== NEVER TAKEN
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   4b3e0:	220b           	movel %a3,%d1                               
   4b3e2:	0681 0000 0052 	addil #82,%d1                               
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4b3e8:	246b 004e      	moveal %a3@(78),%a2                         
         if ( jnode_has_children( jnode ) )                           
   4b3ec:	b28a           	cmpl %a2,%d1                                
   4b3ee:	66b2           	bnes 4b3a2 <IMFS_fsunmount+0x6a>            
   4b3f0:	244b           	moveal %a3,%a2                              
   4b3f2:	608a           	bras 4b37e <IMFS_fsunmount+0x46>            
           jnode = jnode_get_first_child( jnode );                    
       }                                                              
     }                                                                
   } while (jnode != NULL);                                           
}                                                                     
   4b3f4:	4cee 3c04 ffd4 	moveml %fp@(-44),%d2/%a2-%a5                
   4b3fa:	4e5e           	unlk %fp                                    
   4b3fc:	4e75           	rts                                         
     IMFS_Set_handlers( &loc );                                       
                                                                      
     if ( !IMFS_is_directory( jnode ) || jnode_has_no_children( jnode ) ) {
        result = IMFS_rmnod( NULL, &loc );                            
        if ( result != 0 )                                            
	  rtems_fatal_error_occurred( 0xdeadbeef );                          
   4b3fe:	2f3c dead beef 	movel #-559038737,%sp@-                     <== NOT EXECUTED
   4b404:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
	...                                                                  
                                                                      

0004270c <IMFS_initialize_support>: int IMFS_initialize_support( rtems_filesystem_mount_table_entry_t *mt_entry, const rtems_filesystem_operations_table *op_table, const IMFS_node_control *const node_controls [IMFS_TYPE_COUNT] ) {
   4270c:	4e56 fff4      	linkw %fp,#-12                              
   42710:	48d7 1c00      	moveml %a2-%a4,%sp@                         
  static int imfs_instance;                                           
                                                                      
  int rv = 0;                                                         
  IMFS_fs_info_t *fs_info = calloc( 1, sizeof( *fs_info ) );          
   42714:	4878 0024      	pea 24 <OPER2+0x10>                         
   42718:	4878 0001      	pea 1 <ADD>                                 
int IMFS_initialize_support(                                          
  rtems_filesystem_mount_table_entry_t *mt_entry,                     
  const rtems_filesystem_operations_table *op_table,                  
  const IMFS_node_control *const node_controls [IMFS_TYPE_COUNT]      
)                                                                     
{                                                                     
   4271c:	266e 0008      	moveal %fp@(8),%a3                          
  static int imfs_instance;                                           
                                                                      
  int rv = 0;                                                         
  IMFS_fs_info_t *fs_info = calloc( 1, sizeof( *fs_info ) );          
   42720:	4eb9 0004 2e28 	jsr 42e28 <calloc>                          
                                                                      
  if ( fs_info != NULL ) {                                            
   42726:	508f           	addql #8,%sp                                
)                                                                     
{                                                                     
  static int imfs_instance;                                           
                                                                      
  int rv = 0;                                                         
  IMFS_fs_info_t *fs_info = calloc( 1, sizeof( *fs_info ) );          
   42728:	2440           	moveal %d0,%a2                              
                                                                      
  if ( fs_info != NULL ) {                                            
   4272a:	4a80           	tstl %d0                                    
   4272c:	6700 00c2      	beqw 427f0 <IMFS_initialize_support+0xe4>   
    IMFS_jnode_t *root_node;                                          
                                                                      
    fs_info->instance = imfs_instance++;                              
   42730:	2039 0005 f0f4 	movel 5f0f4 <imfs_instance.6455>,%d0        
   42736:	2200           	movel %d0,%d1                               
   42738:	5281           	addql #1,%d1                                
    memcpy(                                                           
   4273a:	206e 0010      	moveal %fp@(16),%a0                         
  IMFS_fs_info_t *fs_info = calloc( 1, sizeof( *fs_info ) );          
                                                                      
  if ( fs_info != NULL ) {                                            
    IMFS_jnode_t *root_node;                                          
                                                                      
    fs_info->instance = imfs_instance++;                              
   4273e:	23c1 0005 f0f4 	movel %d1,5f0f4 <imfs_instance.6455>        
    memcpy(                                                           
   42744:	2558 0008      	movel %a0@+,%a2@(8)                         
   42748:	2558 000c      	movel %a0@+,%a2@(12)                        
   4274c:	2558 0010      	movel %a0@+,%a2@(16)                        
   42750:	2558 0014      	movel %a0@+,%a2@(20)                        
   42754:	2558 0018      	movel %a0@+,%a2@(24)                        
   42758:	2558 001c      	movel %a0@+,%a2@(28)                        
   4275c:	2550 0020      	movel %a0@,%a2@(32)                         
      fs_info->node_controls,                                         
      node_controls,                                                  
      sizeof( fs_info->node_controls )                                
    );                                                                
                                                                      
    root_node = IMFS_allocate_node(                                   
   42760:	42a7           	clrl %sp@-                                  
   42762:	4878 41ed      	pea 41ed <D_MAX_EXP+0x39ee>                 
   42766:	42a7           	clrl %sp@-                                  
   42768:	4879 0005 d40e 	pea 5d40e <rtems_termios_baud_table+0x10a>  
   4276e:	2f2a 0008      	movel %a2@(8),%sp@-                         
  IMFS_fs_info_t *fs_info = calloc( 1, sizeof( *fs_info ) );          
                                                                      
  if ( fs_info != NULL ) {                                            
    IMFS_jnode_t *root_node;                                          
                                                                      
    fs_info->instance = imfs_instance++;                              
   42772:	2480           	movel %d0,%a2@                              
      fs_info->node_controls,                                         
      node_controls,                                                  
      sizeof( fs_info->node_controls )                                
    );                                                                
                                                                      
    root_node = IMFS_allocate_node(                                   
   42774:	2f0a           	movel %a2,%sp@-                             
   42776:	4eb9 0004 af8c 	jsr 4af8c <IMFS_allocate_node>              
      "",                                                             
      0,                                                              
      (S_IFDIR | 0755),                                               
      NULL                                                            
    );                                                                
    if ( root_node != NULL ) {                                        
   4277c:	4fef 0018      	lea %sp@(24),%sp                            
   42780:	4a80           	tstl %d0                                    
   42782:	6700 0084      	beqw 42808 <IMFS_initialize_support+0xfc>   
                                                                      
static inline void IMFS_Set_handlers( rtems_filesystem_location_info_t *loc )
{                                                                     
  IMFS_jnode_t *node = (IMFS_jnode_t *) loc->node_access;             
                                                                      
  loc->handlers = node->control->handlers;                            
   42786:	2840           	moveal %d0,%a4                              
      mt_entry->fs_info = fs_info;                                    
      mt_entry->ops = op_table;                                       
      mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS;
   42788:	223c 0005 d646 	movel #382534,%d1                           
   4278e:	226c 004a      	moveal %a4@(74),%a1                         
      mt_entry->mt_fs_root->location.node_access = root_node;         
   42792:	206b 0024      	moveal %a3@(36),%a0                         
      (S_IFDIR | 0755),                                               
      NULL                                                            
    );                                                                
    if ( root_node != NULL ) {                                        
      mt_entry->fs_info = fs_info;                                    
      mt_entry->ops = op_table;                                       
   42796:	276e 000c 000c 	movel %fp@(12),%a3@(12)                     
      mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS;
   4279c:	2741 002a      	movel %d1,%a3@(42)                          
    errno = ENOMEM;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  if ( rv == 0 ) {                                                    
    IMFS_determine_bytes_per_block(                                   
   427a0:	2239 0005 e25c 	movel 5e25c <imfs_rq_memfile_bytes_per_block>,%d1
      0,                                                              
      (S_IFDIR | 0755),                                               
      NULL                                                            
    );                                                                
    if ( root_node != NULL ) {                                        
      mt_entry->fs_info = fs_info;                                    
   427a6:	274a 0008      	movel %a2,%a3@(8)                           
   427aa:	2169 0004 0010 	movel %a1@(4),%a0@(16)                      
      mt_entry->ops = op_table;                                       
      mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS;
      mt_entry->mt_fs_root->location.node_access = root_node;         
   427b0:	2140 0008      	movel %d0,%a0@(8)                           
                                                                      
  /*                                                                  
   * check, whether requested bytes per block is valid                
   */                                                                 
  for (bit_mask = 16; !is_valid && (bit_mask <= 512); bit_mask <<= 1) {
    if (bit_mask == requested_bytes_per_block) {                      
   427b4:	7010           	moveq #16,%d0                               
   427b6:	b081           	cmpl %d1,%d0                                
   427b8:	6724           	beqs 427de <IMFS_initialize_support+0xd2>   
      is_valid = true;                                                
      break;                                                          
    }                                                                 
    if(bit_mask > requested_bytes_per_block)                          
   427ba:	103c 000f      	moveb #15,%d0                               
   427be:	b081           	cmpl %d1,%d0                                
   427c0:	6c16           	bges 427d8 <IMFS_initialize_support+0xcc>   
   427c2:	307c 0005      	moveaw #5,%a0                               
   427c6:	103c 0020      	moveb #32,%d0                               
   427ca:	5388           	subql #1,%a0                                
                                                                      
  /*                                                                  
   * check, whether requested bytes per block is valid                
   */                                                                 
  for (bit_mask = 16; !is_valid && (bit_mask <= 512); bit_mask <<= 1) {
    if (bit_mask == requested_bytes_per_block) {                      
   427cc:	b081           	cmpl %d1,%d0                                
   427ce:	670e           	beqs 427de <IMFS_initialize_support+0xd2>   
      is_valid = true;                                                
      break;                                                          
    }                                                                 
    if(bit_mask > requested_bytes_per_block)                          
   427d0:	6e06           	bgts 427d8 <IMFS_initialize_support+0xcc>   <== NEVER TAKEN
  int bit_mask;                                                       
                                                                      
  /*                                                                  
   * check, whether requested bytes per block is valid                
   */                                                                 
  for (bit_mask = 16; !is_valid && (bit_mask <= 512); bit_mask <<= 1) {
   427d2:	d080           	addl %d0,%d0                                
   427d4:	4a88           	tstl %a0                                    
   427d6:	66f2           	bnes 427ca <IMFS_initialize_support+0xbe>   <== ALWAYS TAKEN
    if(bit_mask > requested_bytes_per_block)                          
      break;                                                          
  }                                                                   
  *dest_bytes_per_block = ((is_valid)                                 
			   ? requested_bytes_per_block                                     
			   : default_bytes_per_block);                                     
   427d8:	223c 0000 0080 	movel #128,%d1                              
  const IMFS_node_control *const node_controls [IMFS_TYPE_COUNT]      
)                                                                     
{                                                                     
  static int imfs_instance;                                           
                                                                      
  int rv = 0;                                                         
   427de:	4280           	clrl %d0                                    
      IMFS_MEMFILE_DEFAULT_BYTES_PER_BLOCK                            
    );                                                                
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   427e0:	4cee 1c00 fff4 	moveml %fp@(-12),%a2-%a4                    
      break;                                                          
    }                                                                 
    if(bit_mask > requested_bytes_per_block)                          
      break;                                                          
  }                                                                   
  *dest_bytes_per_block = ((is_valid)                                 
   427e6:	23c1 0005 f0f0 	movel %d1,5f0f0 <imfs_memfile_bytes_per_block>
      IMFS_MEMFILE_DEFAULT_BYTES_PER_BLOCK                            
    );                                                                
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   427ec:	4e5e           	unlk %fp                                    
   427ee:	4e75           	rts                                         
    } else {                                                          
      errno = ENOMEM;                                                 
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = ENOMEM;                                                   
   427f0:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   427f6:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
   427f8:	700c           	moveq #12,%d0                               <== NOT EXECUTED
   427fa:	2880           	movel %d0,%a4@                              <== NOT EXECUTED
    if(bit_mask > requested_bytes_per_block)                          
      break;                                                          
  }                                                                   
  *dest_bytes_per_block = ((is_valid)                                 
			   ? requested_bytes_per_block                                     
			   : default_bytes_per_block);                                     
   427fc:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
      IMFS_MEMFILE_DEFAULT_BYTES_PER_BLOCK                            
    );                                                                
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   427fe:	4cee 1c00 fff4 	moveml %fp@(-12),%a2-%a4                    <== NOT EXECUTED
   42804:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42806:	4e75           	rts                                         <== NOT EXECUTED
      mt_entry->ops = op_table;                                       
      mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS;
      mt_entry->mt_fs_root->location.node_access = root_node;         
      IMFS_Set_handlers( &mt_entry->mt_fs_root->location );           
    } else {                                                          
      errno = ENOMEM;                                                 
   42808:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   4280e:	720c           	moveq #12,%d1                               <== NOT EXECUTED
   42810:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    if(bit_mask > requested_bytes_per_block)                          
      break;                                                          
  }                                                                   
  *dest_bytes_per_block = ((is_valid)                                 
			   ? requested_bytes_per_block                                     
			   : default_bytes_per_block);                                     
   42812:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
      mt_entry->ops = op_table;                                       
      mt_entry->pathconf_limits_and_options = &IMFS_LIMITS_AND_OPTIONS;
      mt_entry->mt_fs_root->location.node_access = root_node;         
      IMFS_Set_handlers( &mt_entry->mt_fs_root->location );           
    } else {                                                          
      errno = ENOMEM;                                                 
   42814:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
   42816:	60e6           	bras 427fe <IMFS_initialize_support+0xf2>   <== NOT EXECUTED
                                                                      

000445ac <IMFS_make_generic_node>: const char *path, mode_t mode, const IMFS_node_control *node_control, void *context ) {
   445ac:	4e56 ff98      	linkw %fp,#-104                             
  int rv = 0;                                                         
                                                                      
  mode &= ~rtems_filesystem_umask;                                    
   445b0:	2079 0006 2e88 	moveal 62e88 <rtems_current_user_env>,%a0   
  const char *path,                                                   
  mode_t mode,                                                        
  const IMFS_node_control *node_control,                              
  void *context                                                       
)                                                                     
{                                                                     
   445b6:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
  int rv = 0;                                                         
                                                                      
  mode &= ~rtems_filesystem_umask;                                    
   445ba:	2428 0008      	movel %a0@(8),%d2                           
   445be:	4682           	notl %d2                                    
   445c0:	c4ae 000c      	andl %fp@(12),%d2                           
                                                                      
  switch (mode & S_IFMT) {                                            
   445c4:	2002           	movel %d2,%d0                               
   445c6:	0280 0000 f000 	andil #61440,%d0                            
   445cc:	0c80 0000 2000 	cmpil #8192,%d0                             
   445d2:	6734           	beqs 44608 <IMFS_make_generic_node+0x5c>    
   445d4:	632a           	blss 44600 <IMFS_make_generic_node+0x54>    <== NEVER TAKEN
   445d6:	0c80 0000 6000 	cmpil #24576,%d0                            
   445dc:	672a           	beqs 44608 <IMFS_make_generic_node+0x5c>    
   445de:	0c80 0000 8000 	cmpil #32768,%d0                            
   445e4:	6722           	beqs 44608 <IMFS_make_generic_node+0x5c>    <== NEVER TAKEN
        rv = -1;                                                      
      }                                                               
                                                                      
      rtems_filesystem_eval_path_cleanup( &ctx );                     
    } else {                                                          
      errno = EINVAL;                                                 
   445e6:	4eb9 0005 30b4 	jsr 530b4 <__errno>                         
      rv = -1;                                                        
   445ec:	74ff           	moveq #-1,%d2                               
        rv = -1;                                                      
      }                                                               
                                                                      
      rtems_filesystem_eval_path_cleanup( &ctx );                     
    } else {                                                          
      errno = EINVAL;                                                 
   445ee:	2040           	moveal %d0,%a0                              
   445f0:	7016           	moveq #22,%d0                               
   445f2:	2080           	movel %d0,%a0@                              
      rv = -1;                                                        
    }                                                                 
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   445f4:	2002           	movel %d2,%d0                               
   445f6:	4cee 0c1c ff98 	moveml %fp@(-104),%d2-%d4/%a2-%a3           
   445fc:	4e5e           	unlk %fp                                    
   445fe:	4e75           	rts                                         
{                                                                     
  int rv = 0;                                                         
                                                                      
  mode &= ~rtems_filesystem_umask;                                    
                                                                      
  switch (mode & S_IFMT) {                                            
   44600:	0c80 0000 1000 	cmpil #4096,%d0                             <== NOT EXECUTED
   44606:	66de           	bnes 445e6 <IMFS_make_generic_node+0x3a>    <== NOT EXECUTED
      rv = -1;                                                        
      break;                                                          
  }                                                                   
                                                                      
  if ( rv == 0 ) {                                                    
    if ( node_control->imfs_type == IMFS_GENERIC ) {                  
   44608:	206e 0010      	moveal %fp@(16),%a0                         
   4460c:	7007           	moveq #7,%d0                                
   4460e:	b090           	cmpl %a0@,%d0                               
   44610:	66d4           	bnes 445e6 <IMFS_make_generic_node+0x3a>    
      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 =            
   44612:	4878 0078      	pea 78 <DBL_MANT_DIG+0x43>                  
        rtems_filesystem_eval_path_start( &ctx, path, eval_flags );   
   44616:	260e           	movel %fp,%d3                               
   44618:	0683 ffff ffc8 	addil #-56,%d3                              
    if ( node_control->imfs_type == IMFS_GENERIC ) {                  
      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 =            
   4461e:	2f2e 0008      	movel %fp@(8),%sp@-                         
   44622:	2f03           	movel %d3,%sp@-                             
   44624:	4eb9 0004 6772 	jsr 46772 <rtems_filesystem_eval_path_start>
   4462a:	2440           	moveal %d0,%a2                              
        rtems_filesystem_eval_path_start( &ctx, path, eval_flags );   
                                                                      
      if ( IMFS_is_imfs_instance( currentloc ) ) {                    
   4462c:	2f00           	movel %d0,%sp@-                             
   4462e:	4eb9 0004 4556 	jsr 44556 <IMFS_is_imfs_instance>           
   44634:	4fef 0010      	lea %sp@(16),%sp                            
   44638:	4a00           	tstb %d0                                    
   4463a:	676e           	beqs 446aa <IMFS_make_generic_node+0xfe>    
        IMFS_types_union info;                                        
        IMFS_jnode_t *new_node;                                       
                                                                      
        info.generic.context = context;                               
        new_node = IMFS_create_node_with_control(                     
   4463c:	486e ffb4      	pea %fp@(-76)                               
                                                                      
      if ( IMFS_is_imfs_instance( currentloc ) ) {                    
        IMFS_types_union info;                                        
        IMFS_jnode_t *new_node;                                       
                                                                      
        info.generic.context = context;                               
   44640:	2d6e 0014 ffb4 	movel %fp@(20),%fp@(-76)                    
        new_node = IMFS_create_node_with_control(                     
   44646:	2f02           	movel %d2,%sp@-                             
   44648:	2f2e ffd4      	movel %fp@(-44),%sp@-                       
   4464c:	2f2e ffd0      	movel %fp@(-48),%sp@-                       
   44650:	2f2e 0010      	movel %fp@(16),%sp@-                        
   44654:	2f0a           	movel %a2,%sp@-                             
   44656:	4eb9 0004 fe1a 	jsr 4fe1a <IMFS_create_node_with_control>   
          rtems_filesystem_eval_path_get_tokenlen( &ctx ),            
          mode,                                                       
          &info                                                       
        );                                                            
                                                                      
        if ( new_node != NULL ) {                                     
   4465c:	4fef 0018      	lea %sp@(24),%sp                            
   44660:	4a80           	tstl %d0                                    
   44662:	6762           	beqs 446c6 <IMFS_make_generic_node+0x11a>   
          IMFS_jnode_t *parent = currentloc->node_access;             
   44664:	246a 0008      	moveal %a2@(8),%a2                          
                                                                      
          IMFS_update_ctime( parent );                                
   44668:	280e           	movel %fp,%d4                               
   4466a:	0684 ffff ffac 	addil #-84,%d4                              
   44670:	47f9 0004 5084 	lea 45084 <gettimeofday>,%a3                
   44676:	4282           	clrl %d2                                    
   44678:	42a7           	clrl %sp@-                                  
   4467a:	2f04           	movel %d4,%sp@-                             
   4467c:	4e93           	jsr %a3@                                    
   4467e:	256e ffac 0046 	movel %fp@(-84),%a2@(70)                    
          IMFS_update_mtime( parent );                                
   44684:	42a7           	clrl %sp@-                                  
   44686:	2f04           	movel %d4,%sp@-                             
   44688:	4e93           	jsr %a3@                                    
   4468a:	256e ffac 0042 	movel %fp@(-84),%a2@(66)                    
   44690:	4fef 0010      	lea %sp@(16),%sp                            
      } else {                                                        
        rtems_filesystem_eval_path_error( &ctx, ENOTSUP );            
        rv = -1;                                                      
      }                                                               
                                                                      
      rtems_filesystem_eval_path_cleanup( &ctx );                     
   44694:	2f03           	movel %d3,%sp@-                             
   44696:	4eb9 0004 68c6 	jsr 468c6 <rtems_filesystem_eval_path_cleanup>
   4469c:	588f           	addql #4,%sp                                
      rv = -1;                                                        
    }                                                                 
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   4469e:	2002           	movel %d2,%d0                               
   446a0:	4cee 0c1c ff98 	moveml %fp@(-104),%d2-%d4/%a2-%a3           
   446a6:	4e5e           	unlk %fp                                    
   446a8:	4e75           	rts                                         
          IMFS_update_mtime( parent );                                
        } else {                                                      
          rv = -1;                                                    
        }                                                             
      } else {                                                        
        rtems_filesystem_eval_path_error( &ctx, ENOTSUP );            
   446aa:	4878 0086      	pea 86 <DBL_MANT_DIG+0x51>                  
        rv = -1;                                                      
   446ae:	74ff           	moveq #-1,%d2                               
          IMFS_update_mtime( parent );                                
        } else {                                                      
          rv = -1;                                                    
        }                                                             
      } else {                                                        
        rtems_filesystem_eval_path_error( &ctx, ENOTSUP );            
   446b0:	2f03           	movel %d3,%sp@-                             
   446b2:	4eb9 0004 641a 	jsr 4641a <rtems_filesystem_eval_path_error>
   446b8:	508f           	addql #8,%sp                                
        rv = -1;                                                      
      }                                                               
                                                                      
      rtems_filesystem_eval_path_cleanup( &ctx );                     
   446ba:	2f03           	movel %d3,%sp@-                             
   446bc:	4eb9 0004 68c6 	jsr 468c6 <rtems_filesystem_eval_path_cleanup>
   446c2:	588f           	addql #4,%sp                                
   446c4:	60d8           	bras 4469e <IMFS_make_generic_node+0xf2>    
   446c6:	2f03           	movel %d3,%sp@-                             
          IMFS_jnode_t *parent = currentloc->node_access;             
                                                                      
          IMFS_update_ctime( parent );                                
          IMFS_update_mtime( parent );                                
        } else {                                                      
          rv = -1;                                                    
   446c8:	74ff           	moveq #-1,%d2                               
      } else {                                                        
        rtems_filesystem_eval_path_error( &ctx, ENOTSUP );            
        rv = -1;                                                      
      }                                                               
                                                                      
      rtems_filesystem_eval_path_cleanup( &ctx );                     
   446ca:	4eb9 0004 68c6 	jsr 468c6 <rtems_filesystem_eval_path_cleanup>
   446d0:	588f           	addql #4,%sp                                
   446d2:	60ca           	bras 4469e <IMFS_make_generic_node+0xf2>    
                                                                      

0004d18e <IMFS_memfile_addblock>: */ MEMFILE_STATIC int IMFS_memfile_addblock( IMFS_jnode_t *the_jnode, unsigned int block ) {
   4d18e:	4e56 0000      	linkw %fp,#0                                
   4d192:	2f0a           	movel %a2,%sp@-                             
   4d194:	2f02           	movel %d2,%sp@-                             
  IMFS_assert( IMFS_type( the_jnode ) == IMFS_MEMORY_FILE );          
                                                                      
  /*                                                                  
   * Obtain the pointer for the specified block number                
   */                                                                 
  block_entry_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 1 );
   4d196:	4878 0001      	pea 1 <ADD>                                 
  if ( *block_entry_ptr )                                             
    return 0;                                                         
   4d19a:	4282           	clrl %d2                                    
  IMFS_assert( IMFS_type( the_jnode ) == IMFS_MEMORY_FILE );          
                                                                      
  /*                                                                  
   * Obtain the pointer for the specified block number                
   */                                                                 
  block_entry_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 1 );
   4d19c:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4d1a0:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4d1a4:	4eb9 0004 cd58 	jsr 4cd58 <IMFS_memfile_get_block_pointer>  
  if ( *block_entry_ptr )                                             
   4d1aa:	4fef 000c      	lea %sp@(12),%sp                            
  IMFS_assert( IMFS_type( the_jnode ) == IMFS_MEMORY_FILE );          
                                                                      
  /*                                                                  
   * Obtain the pointer for the specified block number                
   */                                                                 
  block_entry_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 1 );
   4d1ae:	2440           	moveal %d0,%a2                              
  if ( *block_entry_ptr )                                             
   4d1b0:	4a92           	tstl %a2@                                   
   4d1b2:	670e           	beqs 4d1c2 <IMFS_memfile_addblock+0x34>     
  if ( !memory )                                                      
    return 1;                                                         
                                                                      
  *block_entry_ptr = memory;                                          
  return 0;                                                           
}                                                                     
   4d1b4:	2002           	movel %d2,%d0                               
   4d1b6:	242e fff8      	movel %fp@(-8),%d2                          
   4d1ba:	246e fffc      	moveal %fp@(-4),%a2                         
   4d1be:	4e5e           	unlk %fp                                    
   4d1c0:	4e75           	rts                                         
    return 0;                                                         
                                                                      
  /*                                                                  
   *  There is no memory for this block number so allocate it.        
   */                                                                 
  memory = memfile_alloc_block();                                     
   4d1c2:	4eb9 0004 cd34 	jsr 4cd34 <memfile_alloc_block>             
  if ( !memory )                                                      
   4d1c8:	4a80           	tstl %d0                                    
   4d1ca:	6710           	beqs 4d1dc <IMFS_memfile_addblock+0x4e>     <== NEVER TAKEN
    return 1;                                                         
                                                                      
  *block_entry_ptr = memory;                                          
   4d1cc:	2480           	movel %d0,%a2@                              
  return 0;                                                           
}                                                                     
   4d1ce:	2002           	movel %d2,%d0                               
   4d1d0:	242e fff8      	movel %fp@(-8),%d2                          
   4d1d4:	246e fffc      	moveal %fp@(-4),%a2                         
   4d1d8:	4e5e           	unlk %fp                                    
   4d1da:	4e75           	rts                                         
  /*                                                                  
   *  There is no memory for this block number so allocate it.        
   */                                                                 
  memory = memfile_alloc_block();                                     
  if ( !memory )                                                      
    return 1;                                                         
   4d1dc:	7401           	moveq #1,%d2                                <== NOT EXECUTED
                                                                      
  *block_entry_ptr = memory;                                          
  return 0;                                                           
}                                                                     
   4d1de:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4d1e0:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   4d1e4:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   4d1e8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d390 <IMFS_memfile_extend>: MEMFILE_STATIC int IMFS_memfile_extend( IMFS_jnode_t *the_jnode, bool zero_fill, off_t new_length ) {
   4d390:	4e56 ffd0      	linkw %fp,#-48                              
   4d394:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
    IMFS_assert( IMFS_type( the_jnode ) == IMFS_MEMORY_FILE );        
                                                                      
  /*                                                                  
   *  Verify new file size is supported                               
   */                                                                 
  if ( new_length >= IMFS_MEMFILE_MAXIMUM_SIZE )                      
   4d398:	2679 0005 f0f0 	moveal 5f0f0 <imfs_memfile_bytes_per_block>,%a3
   4d39e:	260b           	movel %a3,%d3                               
   4d3a0:	e48b           	lsrl #2,%d3                                 
   4d3a2:	2403           	movel %d3,%d2                               
   4d3a4:	5282           	addql #1,%d2                                
   4d3a6:	4c03 2800      	mulsl %d3,%d2                               
   4d3aa:	200b           	movel %a3,%d0                               
MEMFILE_STATIC int IMFS_memfile_extend(                               
   IMFS_jnode_t  *the_jnode,                                          
   bool           zero_fill,                                          
   off_t          new_length                                          
)                                                                     
{                                                                     
   4d3ac:	246e 0008      	moveal %fp@(8),%a2                          
    IMFS_assert( IMFS_type( the_jnode ) == IMFS_MEMORY_FILE );        
                                                                      
  /*                                                                  
   *  Verify new file size is supported                               
   */                                                                 
  if ( new_length >= IMFS_MEMFILE_MAXIMUM_SIZE )                      
   4d3b0:	5282           	addql #1,%d2                                
   4d3b2:	4c03 2800      	mulsl %d3,%d2                               
MEMFILE_STATIC int IMFS_memfile_extend(                               
   IMFS_jnode_t  *the_jnode,                                          
   bool           zero_fill,                                          
   off_t          new_length                                          
)                                                                     
{                                                                     
   4d3b6:	1a2e 000f      	moveb %fp@(15),%d5                          
    IMFS_assert( IMFS_type( the_jnode ) == IMFS_MEMORY_FILE );        
                                                                      
  /*                                                                  
   *  Verify new file size is supported                               
   */                                                                 
  if ( new_length >= IMFS_MEMFILE_MAXIMUM_SIZE )                      
   4d3ba:	5382           	subql #1,%d2                                
   4d3bc:	4c00 2800      	mulsl %d0,%d2                               
   4d3c0:	4280           	clrl %d0                                    
   4d3c2:	2202           	movel %d2,%d1                               
   4d3c4:	242e 0010      	movel %fp@(16),%d2                          
   4d3c8:	262e 0014      	movel %fp@(20),%d3                          
   4d3cc:	9681           	subl %d1,%d3                                
   4d3ce:	9580           	subxl %d0,%d2                               
   4d3d0:	6c00 012e      	bgew 4d500 <IMFS_memfile_extend+0x170>      
    rtems_set_errno_and_return_minus_one( EFBIG );                    
                                                                      
  /*                                                                  
   *  Verify new file size is actually larger than current size       
   */                                                                 
  if ( new_length <= the_jnode->info.file.size )                      
   4d3d4:	242a 004e      	movel %a2@(78),%d2                          
   4d3d8:	262a 0052      	movel %a2@(82),%d3                          
   4d3dc:	202e 0010      	movel %fp@(16),%d0                          
   4d3e0:	222e 0014      	movel %fp@(20),%d1                          
   4d3e4:	9283           	subl %d3,%d1                                
   4d3e6:	9182           	subxl %d2,%d0                               
   4d3e8:	6f00 00da      	blew 4d4c4 <IMFS_memfile_extend+0x134>      
    return 0;                                                         
                                                                      
  /*                                                                  
   *  Calculate the number of range of blocks to allocate             
   */                                                                 
  new_blocks = new_length / IMFS_MEMFILE_BYTES_PER_BLOCK;             
   4d3ec:	49f9 0005 a79c 	lea 5a79c <__divdi3>,%a4                    
   4d3f2:	2e0b           	movel %a3,%d7                               
   4d3f4:	5bc6           	smi %d6                                     
   4d3f6:	49c6           	extbl %d6                                   
   4d3f8:	2f07           	movel %d7,%sp@-                             
   4d3fa:	2f06           	movel %d6,%sp@-                             
   4d3fc:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4d400:	2f2e 0010      	movel %fp@(16),%sp@-                        
   4d404:	4e94           	jsr %a4@                                    
   4d406:	4fef 0010      	lea %sp@(16),%sp                            
   4d40a:	2801           	movel %d1,%d4                               
  old_blocks = the_jnode->info.file.size / IMFS_MEMFILE_BYTES_PER_BLOCK;
   4d40c:	2f07           	movel %d7,%sp@-                             
   4d40e:	2f06           	movel %d6,%sp@-                             
   4d410:	2f03           	movel %d3,%sp@-                             
   4d412:	2f02           	movel %d2,%sp@-                             
  offset = the_jnode->info.file.size - old_blocks * IMFS_MEMFILE_BYTES_PER_BLOCK;
   4d414:	2403           	movel %d3,%d2                               
                                                                      
  /*                                                                  
   *  Calculate the number of range of blocks to allocate             
   */                                                                 
  new_blocks = new_length / IMFS_MEMFILE_BYTES_PER_BLOCK;             
  old_blocks = the_jnode->info.file.size / IMFS_MEMFILE_BYTES_PER_BLOCK;
   4d416:	4e94           	jsr %a4@                                    
   4d418:	4fef 0010      	lea %sp@(16),%sp                            
  offset = the_jnode->info.file.size - old_blocks * IMFS_MEMFILE_BYTES_PER_BLOCK;
   4d41c:	200b           	movel %a3,%d0                               
   4d41e:	4c01 0800      	mulsl %d1,%d0                               
                                                                      
  /*                                                                  
   *  Calculate the number of range of blocks to allocate             
   */                                                                 
  new_blocks = new_length / IMFS_MEMFILE_BYTES_PER_BLOCK;             
  old_blocks = the_jnode->info.file.size / IMFS_MEMFILE_BYTES_PER_BLOCK;
   4d422:	2c01           	movel %d1,%d6                               
  offset = the_jnode->info.file.size - old_blocks * IMFS_MEMFILE_BYTES_PER_BLOCK;
   4d424:	9480           	subl %d0,%d2                                
                                                                      
  /*                                                                  
   *  Now allocate each of those blocks.                              
   */                                                                 
  for ( block=old_blocks ; block<=new_blocks ; block++ ) {            
   4d426:	b284           	cmpl %d4,%d1                                
   4d428:	622c           	bhis 4d456 <IMFS_memfile_extend+0xc6>       <== NEVER TAKEN
   4d42a:	2e01           	movel %d1,%d7                               
   4d42c:	47f9 0004 d18e 	lea 4d18e <IMFS_memfile_addblock>,%a3       
    if ( !IMFS_memfile_addblock( the_jnode, block ) ) {               
       if ( zero_fill ) {                                             
          size_t count = IMFS_MEMFILE_BYTES_PER_BLOCK - offset;       
          block_p *block_ptr =                                        
   4d432:	4bf9 0004 cd58 	lea 4cd58 <IMFS_memfile_get_block_pointer>,%a5
            IMFS_memfile_get_block_pointer( the_jnode, block, 0 );    
                                                                      
          memset( &(*block_ptr) [offset], 0, count);                  
   4d438:	49f9 0004 e9d4 	lea 4e9d4 <memset>,%a4                      
                                                                      
  /*                                                                  
   *  Now allocate each of those blocks.                              
   */                                                                 
  for ( block=old_blocks ; block<=new_blocks ; block++ ) {            
    if ( !IMFS_memfile_addblock( the_jnode, block ) ) {               
   4d43e:	2f07           	movel %d7,%sp@-                             
   4d440:	2f0a           	movel %a2,%sp@-                             
   4d442:	4e93           	jsr %a3@                                    
   4d444:	508f           	addql #8,%sp                                
   4d446:	4a80           	tstl %d0                                    
   4d448:	6600 0086      	bnew 4d4d0 <IMFS_memfile_extend+0x140>      
       if ( zero_fill ) {                                             
   4d44c:	4a05           	tstb %d5                                    
   4d44e:	6648           	bnes 4d498 <IMFS_memfile_extend+0x108>      
  offset = the_jnode->info.file.size - old_blocks * IMFS_MEMFILE_BYTES_PER_BLOCK;
                                                                      
  /*                                                                  
   *  Now allocate each of those blocks.                              
   */                                                                 
  for ( block=old_blocks ; block<=new_blocks ; block++ ) {            
   4d450:	5287           	addql #1,%d7                                
   4d452:	be84           	cmpl %d4,%d7                                
   4d454:	63e8           	blss 4d43e <IMFS_memfile_extend+0xae>       
  /*                                                                  
   *  Set the new length of the file.                                 
   */                                                                 
  the_jnode->info.file.size = new_length;                             
                                                                      
  IMFS_update_ctime(the_jnode);                                       
   4d456:	42a7           	clrl %sp@-                                  
   4d458:	240e           	movel %fp,%d2                               
   4d45a:	5182           	subql #8,%d2                                
   4d45c:	47f9 0004 315c 	lea 4315c <gettimeofday>,%a3                
  }                                                                   
                                                                      
  /*                                                                  
   *  Set the new length of the file.                                 
   */                                                                 
  the_jnode->info.file.size = new_length;                             
   4d462:	202e 0010      	movel %fp@(16),%d0                          
   4d466:	222e 0014      	movel %fp@(20),%d1                          
   4d46a:	2540 004e      	movel %d0,%a2@(78)                          
   4d46e:	2541 0052      	movel %d1,%a2@(82)                          
                                                                      
  IMFS_update_ctime(the_jnode);                                       
   4d472:	2f02           	movel %d2,%sp@-                             
   4d474:	4e93           	jsr %a3@                                    
   4d476:	256e fff8 0046 	movel %fp@(-8),%a2@(70)                     
  IMFS_update_mtime(the_jnode);                                       
   4d47c:	42a7           	clrl %sp@-                                  
   4d47e:	2f02           	movel %d2,%sp@-                             
   4d480:	4e93           	jsr %a3@                                    
   4d482:	256e fff8 0042 	movel %fp@(-8),%a2@(66)                     
  return 0;                                                           
   4d488:	4fef 0010      	lea %sp@(16),%sp                            
   4d48c:	4280           	clrl %d0                                    
}                                                                     
   4d48e:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   4d494:	4e5e           	unlk %fp                                    
   4d496:	4e75           	rts                                         
   */                                                                 
  for ( block=old_blocks ; block<=new_blocks ; block++ ) {            
    if ( !IMFS_memfile_addblock( the_jnode, block ) ) {               
       if ( zero_fill ) {                                             
          size_t count = IMFS_MEMFILE_BYTES_PER_BLOCK - offset;       
          block_p *block_ptr =                                        
   4d498:	42a7           	clrl %sp@-                                  
   *  Now allocate each of those blocks.                              
   */                                                                 
  for ( block=old_blocks ; block<=new_blocks ; block++ ) {            
    if ( !IMFS_memfile_addblock( the_jnode, block ) ) {               
       if ( zero_fill ) {                                             
          size_t count = IMFS_MEMFILE_BYTES_PER_BLOCK - offset;       
   4d49a:	2639 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d3
   4d4a0:	9682           	subl %d2,%d3                                
          block_p *block_ptr =                                        
   4d4a2:	2f07           	movel %d7,%sp@-                             
  offset = the_jnode->info.file.size - old_blocks * IMFS_MEMFILE_BYTES_PER_BLOCK;
                                                                      
  /*                                                                  
   *  Now allocate each of those blocks.                              
   */                                                                 
  for ( block=old_blocks ; block<=new_blocks ; block++ ) {            
   4d4a4:	5287           	addql #1,%d7                                
    if ( !IMFS_memfile_addblock( the_jnode, block ) ) {               
       if ( zero_fill ) {                                             
          size_t count = IMFS_MEMFILE_BYTES_PER_BLOCK - offset;       
          block_p *block_ptr =                                        
   4d4a6:	2f0a           	movel %a2,%sp@-                             
   4d4a8:	4e95           	jsr %a5@                                    
            IMFS_memfile_get_block_pointer( the_jnode, block, 0 );    
                                                                      
          memset( &(*block_ptr) [offset], 0, count);                  
   4d4aa:	2040           	moveal %d0,%a0                              
   4d4ac:	2f03           	movel %d3,%sp@-                             
   4d4ae:	42a7           	clrl %sp@-                                  
   4d4b0:	d490           	addl %a0@,%d2                               
   4d4b2:	2f02           	movel %d2,%sp@-                             
          offset = 0;                                                 
   4d4b4:	4282           	clrl %d2                                    
       if ( zero_fill ) {                                             
          size_t count = IMFS_MEMFILE_BYTES_PER_BLOCK - offset;       
          block_p *block_ptr =                                        
            IMFS_memfile_get_block_pointer( the_jnode, block, 0 );    
                                                                      
          memset( &(*block_ptr) [offset], 0, count);                  
   4d4b6:	4e94           	jsr %a4@                                    
   4d4b8:	4fef 0018      	lea %sp@(24),%sp                            
  offset = the_jnode->info.file.size - old_blocks * IMFS_MEMFILE_BYTES_PER_BLOCK;
                                                                      
  /*                                                                  
   *  Now allocate each of those blocks.                              
   */                                                                 
  for ( block=old_blocks ; block<=new_blocks ; block++ ) {            
   4d4bc:	be84           	cmpl %d4,%d7                                
   4d4be:	6300 ff7e      	blsw 4d43e <IMFS_memfile_extend+0xae>       
   4d4c2:	6092           	bras 4d456 <IMFS_memfile_extend+0xc6>       
                                                                      
  /*                                                                  
   *  Verify new file size is actually larger than current size       
   */                                                                 
  if ( new_length <= the_jnode->info.file.size )                      
    return 0;                                                         
   4d4c4:	4280           	clrl %d0                                    <== NOT EXECUTED
  the_jnode->info.file.size = new_length;                             
                                                                      
  IMFS_update_ctime(the_jnode);                                       
  IMFS_update_mtime(the_jnode);                                       
  return 0;                                                           
}                                                                     
   4d4c6:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4d4cc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4d4ce:	4e75           	rts                                         <== NOT EXECUTED
   4d4d0:	47f9 0004 d368 	lea 4d368 <IMFS_memfile_remove_block>,%a3   <== NOT EXECUTED
                                                                      
          memset( &(*block_ptr) [offset], 0, count);                  
          offset = 0;                                                 
       }                                                              
    } else {                                                          
       for ( ; block>=old_blocks ; block-- ) {                        
   4d4d6:	bc87           	cmpl %d7,%d6                                <== NOT EXECUTED
   4d4d8:	620e           	bhis 4d4e8 <IMFS_memfile_extend+0x158>      <== NOT EXECUTED
         IMFS_memfile_remove_block( the_jnode, block );               
   4d4da:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
                                                                      
          memset( &(*block_ptr) [offset], 0, count);                  
          offset = 0;                                                 
       }                                                              
    } else {                                                          
       for ( ; block>=old_blocks ; block-- ) {                        
   4d4dc:	5387           	subql #1,%d7                                <== NOT EXECUTED
         IMFS_memfile_remove_block( the_jnode, block );               
   4d4de:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4d4e0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
          memset( &(*block_ptr) [offset], 0, count);                  
          offset = 0;                                                 
       }                                                              
    } else {                                                          
       for ( ; block>=old_blocks ; block-- ) {                        
   4d4e2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4d4e4:	be86           	cmpl %d6,%d7                                <== NOT EXECUTED
   4d4e6:	64f2           	bccs 4d4da <IMFS_memfile_extend+0x14a>      <== NOT EXECUTED
         IMFS_memfile_remove_block( the_jnode, block );               
       }                                                              
       rtems_set_errno_and_return_minus_one( ENOSPC );                
   4d4e8:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   4d4ee:	721c           	moveq #28,%d1                               <== NOT EXECUTED
   4d4f0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4d4f2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  the_jnode->info.file.size = new_length;                             
                                                                      
  IMFS_update_ctime(the_jnode);                                       
  IMFS_update_mtime(the_jnode);                                       
  return 0;                                                           
}                                                                     
   4d4f4:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
       }                                                              
    } else {                                                          
       for ( ; block>=old_blocks ; block-- ) {                        
         IMFS_memfile_remove_block( the_jnode, block );               
       }                                                              
       rtems_set_errno_and_return_minus_one( ENOSPC );                
   4d4fa:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
  the_jnode->info.file.size = new_length;                             
                                                                      
  IMFS_update_ctime(the_jnode);                                       
  IMFS_update_mtime(the_jnode);                                       
  return 0;                                                           
}                                                                     
   4d4fc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4d4fe:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Verify new file size is supported                               
   */                                                                 
  if ( new_length >= IMFS_MEMFILE_MAXIMUM_SIZE )                      
    rtems_set_errno_and_return_minus_one( EFBIG );                    
   4d500:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   4d506:	741b           	moveq #27,%d2                               
   4d508:	2040           	moveal %d0,%a0                              
   4d50a:	70ff           	moveq #-1,%d0                               
   4d50c:	2082           	movel %d2,%a0@                              
  the_jnode->info.file.size = new_length;                             
                                                                      
  IMFS_update_ctime(the_jnode);                                       
  IMFS_update_mtime(the_jnode);                                       
  return 0;                                                           
}                                                                     
   4d50e:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   4d514:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004cd58 <IMFS_memfile_get_block_pointer>: #endif IMFS_jnode_t *the_jnode, unsigned int block, int malloc_it ) {
   4cd58:	4e56 fff0      	linkw %fp,#-16                              
  my_block = block;                                                   
                                                                      
  /*                                                                  
   *  Is the block number in the simple indirect portion?             
   */                                                                 
  if ( my_block <= LAST_INDIRECT ) {                                  
   4cd5c:	2239 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d1
   4cd62:	e489           	lsrl #2,%d1                                 
   4cd64:	2001           	movel %d1,%d0                               
   4cd66:	5380           	subql #1,%d0                                
#endif                                                                
   IMFS_jnode_t   *the_jnode,                                         
   unsigned int    block,                                             
   int             malloc_it                                          
)                                                                     
{                                                                     
   4cd68:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
   4cd6c:	246e 0008      	moveal %fp@(8),%a2                          
   4cd70:	242e 000c      	movel %fp@(12),%d2                          
  my_block = block;                                                   
                                                                      
  /*                                                                  
   *  Is the block number in the simple indirect portion?             
   */                                                                 
  if ( my_block <= LAST_INDIRECT ) {                                  
   4cd74:	b082           	cmpl %d2,%d0                                
   4cd76:	6522           	bcss 4cd9a <IMFS_memfile_get_block_pointer+0x42>
    p = info->indirect;                                               
   4cd78:	206a 0056      	moveal %a2@(86),%a0                         
                                                                      
    if ( malloc_it ) {                                                
   4cd7c:	4aae 0010      	tstl %fp@(16)                               
   4cd80:	6700 00a8      	beqw 4ce2a <IMFS_memfile_get_block_pointer+0xd2>
                                                                      
      if ( !p ) {                                                     
   4cd84:	4a88           	tstl %a0                                    
   4cd86:	6700 010a      	beqw 4ce92 <IMFS_memfile_get_block_pointer+0x13a>
    }                                                                 
                                                                      
    if ( !p )                                                         
      return 0;                                                       
                                                                      
    return &info->indirect[ my_block ];                               
   4cd8a:	41f0 2c00      	lea %a0@(00000000,%d2:l:4),%a0              
   4cd8e:	2008           	movel %a0,%d0                               
                                                                      
  /*                                                                  
   *  This means the requested block number is out of range.          
   */                                                                 
  return 0;                                                           
}                                                                     
   4cd90:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   4cd96:	4e5e           	unlk %fp                                    
   4cd98:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  Is the block number in the doubly indirect portion?             
   */                                                                 
                                                                      
  if ( my_block <= LAST_DOUBLY_INDIRECT ) {                           
   4cd9a:	2001           	movel %d1,%d0                               
   4cd9c:	5280           	addql #1,%d0                                
   4cd9e:	4c01 0800      	mulsl %d1,%d0                               
   4cda2:	2040           	moveal %d0,%a0                              
   4cda4:	5388           	subql #1,%a0                                
   4cda6:	b1c2           	cmpal %d2,%a0                               
   4cda8:	6450           	bccs 4cdfa <IMFS_memfile_get_block_pointer+0xa2>
  }                                                                   
                                                                      
  /*                                                                  
   *  Is the block number in the triply indirect portion?             
   */                                                                 
  if ( my_block <= LAST_TRIPLY_INDIRECT ) {                           
   4cdaa:	2600           	movel %d0,%d3                               
   4cdac:	5283           	addql #1,%d3                                
   4cdae:	4c01 3800      	mulsl %d1,%d3                               
   4cdb2:	5383           	subql #1,%d3                                
   4cdb4:	b682           	cmpl %d2,%d3                                
   4cdb6:	6578           	bcss 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
    my_block -= FIRST_TRIPLY_INDIRECT;                                
   4cdb8:	9480           	subl %d0,%d2                                
                                                                      
    singly = my_block % IMFS_MEMFILE_BLOCK_SLOTS;                     
   4cdba:	4c41 2004      	remul %d1,%d4,%d2                           
   4cdbe:	4c41 2002      	remul %d1,%d2,%d2                           
    doubly = my_block / IMFS_MEMFILE_BLOCK_SLOTS;                     
    triply = doubly / IMFS_MEMFILE_BLOCK_SLOTS;                       
    doubly %= IMFS_MEMFILE_BLOCK_SLOTS;                               
                                                                      
    p = info->triply_indirect;                                        
   4cdc2:	206a 005e      	moveal %a2@(94),%a0                         
  if ( my_block <= LAST_TRIPLY_INDIRECT ) {                           
    my_block -= FIRST_TRIPLY_INDIRECT;                                
                                                                      
    singly = my_block % IMFS_MEMFILE_BLOCK_SLOTS;                     
    doubly = my_block / IMFS_MEMFILE_BLOCK_SLOTS;                     
    triply = doubly / IMFS_MEMFILE_BLOCK_SLOTS;                       
   4cdc6:	4c41 2003      	remul %d1,%d3,%d2                           
   4cdca:	4c41 2002      	remul %d1,%d2,%d2                           
    doubly %= IMFS_MEMFILE_BLOCK_SLOTS;                               
                                                                      
    p = info->triply_indirect;                                        
                                                                      
    if ( malloc_it ) {                                                
   4cdce:	4aae 0010      	tstl %fp@(16)                               
   4cdd2:	6600 008c      	bnew 4ce60 <IMFS_memfile_get_block_pointer+0x108>
        p1[ doubly ] = (block_p) p2;                                  
      }                                                               
      return (block_p *)&p2[ singly ];                                
    }                                                                 
                                                                      
    if ( !p )                                                         
   4cdd6:	4a88           	tstl %a0                                    
   4cdd8:	6756           	beqs 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
      return 0;                                                       
                                                                      
    p1 = (block_p *) p[ triply ];                                     
   4cdda:	2070 2c00      	moveal %a0@(00000000,%d2:l:4),%a0           
    if ( !p1 )                                                        
   4cdde:	4a88           	tstl %a0                                    
   4cde0:	674e           	beqs 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
      return 0;                                                       
                                                                      
    p2 = (block_p *)p1[ doubly ];                                     
   4cde2:	2070 3c00      	moveal %a0@(00000000,%d3:l:4),%a0           
    if ( !p2 )                                                        
   4cde6:	4a88           	tstl %a0                                    
   4cde8:	6746           	beqs 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
      return 0;                                                       
                                                                      
    return (block_p *)&p2[ singly ];                                  
   4cdea:	41f0 4c00      	lea %a0@(00000000,%d4:l:4),%a0              
   4cdee:	2008           	movel %a0,%d0                               
                                                                      
  /*                                                                  
   *  This means the requested block number is out of range.          
   */                                                                 
  return 0;                                                           
}                                                                     
   4cdf0:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   4cdf6:	4e5e           	unlk %fp                                    
   4cdf8:	4e75           	rts                                         
  /*                                                                  
   *  Is the block number in the doubly indirect portion?             
   */                                                                 
                                                                      
  if ( my_block <= LAST_DOUBLY_INDIRECT ) {                           
    my_block -= FIRST_DOUBLY_INDIRECT;                                
   4cdfa:	9481           	subl %d1,%d2                                
                                                                      
    singly = my_block % IMFS_MEMFILE_BLOCK_SLOTS;                     
    doubly = my_block / IMFS_MEMFILE_BLOCK_SLOTS;                     
                                                                      
    p = info->doubly_indirect;                                        
   4cdfc:	206a 005a      	moveal %a2@(90),%a0                         
   */                                                                 
                                                                      
  if ( my_block <= LAST_DOUBLY_INDIRECT ) {                           
    my_block -= FIRST_DOUBLY_INDIRECT;                                
                                                                      
    singly = my_block % IMFS_MEMFILE_BLOCK_SLOTS;                     
   4ce00:	4c41 2003      	remul %d1,%d3,%d2                           
   4ce04:	4c41 2002      	remul %d1,%d2,%d2                           
    doubly = my_block / IMFS_MEMFILE_BLOCK_SLOTS;                     
                                                                      
    p = info->doubly_indirect;                                        
    if ( malloc_it ) {                                                
   4ce08:	4aae 0010      	tstl %fp@(16)                               
   4ce0c:	662e           	bnes 4ce3c <IMFS_memfile_get_block_pointer+0xe4>
      }                                                               
                                                                      
      return (block_p *)&p1[ singly ];                                
    }                                                                 
                                                                      
    if ( !p )                                                         
   4ce0e:	4a88           	tstl %a0                                    
   4ce10:	671e           	beqs 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
      return 0;                                                       
                                                                      
    p = (block_p *)p[ doubly ];                                       
   4ce12:	2070 2c00      	moveal %a0@(00000000,%d2:l:4),%a0           
    if ( !p )                                                         
   4ce16:	4a88           	tstl %a0                                    
   4ce18:	6716           	beqs 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
      return 0;                                                       
                                                                      
    return (block_p *)&p[ singly ];                                   
   4ce1a:	41f0 3c00      	lea %a0@(00000000,%d3:l:4),%a0              
   4ce1e:	2008           	movel %a0,%d0                               
                                                                      
  /*                                                                  
   *  This means the requested block number is out of range.          
   */                                                                 
  return 0;                                                           
}                                                                     
   4ce20:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   4ce26:	4e5e           	unlk %fp                                    
   4ce28:	4e75           	rts                                         
        info->indirect = p;                                           
      }                                                               
      return &info->indirect[ my_block ];                             
    }                                                                 
                                                                      
    if ( !p )                                                         
   4ce2a:	4a88           	tstl %a0                                    
   4ce2c:	6600 ff5c      	bnew 4cd8a <IMFS_memfile_get_block_pointer+0x32>
    if ( malloc_it ) {                                                
                                                                      
      if ( !p ) {                                                     
        p = memfile_alloc_block();                                    
        if ( !p )                                                     
           return 0;                                                  
   4ce30:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  This means the requested block number is out of range.          
   */                                                                 
  return 0;                                                           
}                                                                     
   4ce32:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                <== NOT EXECUTED
   4ce38:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4ce3a:	4e75           	rts                                         <== NOT EXECUTED
    doubly = my_block / IMFS_MEMFILE_BLOCK_SLOTS;                     
                                                                      
    p = info->doubly_indirect;                                        
    if ( malloc_it ) {                                                
                                                                      
      if ( !p ) {                                                     
   4ce3c:	4a88           	tstl %a0                                    
   4ce3e:	676c           	beqs 4ceac <IMFS_memfile_get_block_pointer+0x154>
        if ( !p )                                                     
           return 0;                                                  
        info->doubly_indirect = p;                                    
      }                                                               
                                                                      
      p1 = (block_p *)p[ doubly ];                                    
   4ce40:	45f0 2c00      	lea %a0@(00000000,%d2:l:4),%a2              
   4ce44:	2052           	moveal %a2@,%a0                             
      if ( !p1 ) {                                                    
   4ce46:	4a88           	tstl %a0                                    
   4ce48:	66d0           	bnes 4ce1a <IMFS_memfile_get_block_pointer+0xc2>
        p1 = memfile_alloc_block();                                   
   4ce4a:	4eb9 0004 cd34 	jsr 4cd34 <memfile_alloc_block>             
   4ce50:	2040           	moveal %d0,%a0                              
        if ( !p1 )                                                    
   4ce52:	4a80           	tstl %d0                                    
   4ce54:	67da           	beqs 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
           return 0;                                                  
        p[ doubly ] = (block_p) p1;                                   
   4ce56:	2480           	movel %d0,%a2@                              
                                                                      
    p = (block_p *)p[ doubly ];                                       
    if ( !p )                                                         
      return 0;                                                       
                                                                      
    return (block_p *)&p[ singly ];                                   
   4ce58:	41f0 3c00      	lea %a0@(00000000,%d3:l:4),%a0              
   4ce5c:	2008           	movel %a0,%d0                               
   4ce5e:	60c0           	bras 4ce20 <IMFS_memfile_get_block_pointer+0xc8>
    doubly %= IMFS_MEMFILE_BLOCK_SLOTS;                               
                                                                      
    p = info->triply_indirect;                                        
                                                                      
    if ( malloc_it ) {                                                
      if ( !p ) {                                                     
   4ce60:	4a88           	tstl %a0                                    
   4ce62:	676a           	beqs 4cece <IMFS_memfile_get_block_pointer+0x176>
        if ( !p )                                                     
           return 0;                                                  
        info->triply_indirect = p;                                    
      }                                                               
                                                                      
      p1 = (block_p *) p[ triply ];                                   
   4ce64:	45f0 2c00      	lea %a0@(00000000,%d2:l:4),%a2              
   4ce68:	2052           	moveal %a2@,%a0                             
      if ( !p1 ) {                                                    
   4ce6a:	4a88           	tstl %a0                                    
   4ce6c:	677c           	beqs 4ceea <IMFS_memfile_get_block_pointer+0x192>
        if ( !p1 )                                                    
           return 0;                                                  
        p[ triply ] = (block_p) p1;                                   
      }                                                               
                                                                      
      p2 = (block_p *)p1[ doubly ];                                   
   4ce6e:	45f0 3c00      	lea %a0@(00000000,%d3:l:4),%a2              
   4ce72:	2052           	moveal %a2@,%a0                             
      if ( !p2 ) {                                                    
   4ce74:	4a88           	tstl %a0                                    
   4ce76:	6600 ff72      	bnew 4cdea <IMFS_memfile_get_block_pointer+0x92>
        p2 = memfile_alloc_block();                                   
   4ce7a:	4eb9 0004 cd34 	jsr 4cd34 <memfile_alloc_block>             
   4ce80:	2040           	moveal %d0,%a0                              
        if ( !p2 )                                                    
   4ce82:	4a80           	tstl %d0                                    
   4ce84:	67aa           	beqs 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
           return 0;                                                  
        p1[ doubly ] = (block_p) p2;                                  
   4ce86:	2480           	movel %d0,%a2@                              
                                                                      
    p2 = (block_p *)p1[ doubly ];                                     
    if ( !p2 )                                                        
      return 0;                                                       
                                                                      
    return (block_p *)&p2[ singly ];                                  
   4ce88:	41f0 4c00      	lea %a0@(00000000,%d4:l:4),%a0              
   4ce8c:	2008           	movel %a0,%d0                               
   4ce8e:	6000 ff60      	braw 4cdf0 <IMFS_memfile_get_block_pointer+0x98>
    p = info->indirect;                                               
                                                                      
    if ( malloc_it ) {                                                
                                                                      
      if ( !p ) {                                                     
        p = memfile_alloc_block();                                    
   4ce92:	4eb9 0004 cd34 	jsr 4cd34 <memfile_alloc_block>             
   4ce98:	2040           	moveal %d0,%a0                              
        if ( !p )                                                     
   4ce9a:	4a80           	tstl %d0                                    
   4ce9c:	6792           	beqs 4ce30 <IMFS_memfile_get_block_pointer+0xd8><== NEVER TAKEN
           return 0;                                                  
        info->indirect = p;                                           
   4ce9e:	2540 0056      	movel %d0,%a2@(86)                          
    }                                                                 
                                                                      
    if ( !p )                                                         
      return 0;                                                       
                                                                      
    return &info->indirect[ my_block ];                               
   4cea2:	41f0 2c00      	lea %a0@(00000000,%d2:l:4),%a0              
   4cea6:	2008           	movel %a0,%d0                               
   4cea8:	6000 fee6      	braw 4cd90 <IMFS_memfile_get_block_pointer+0x38>
                                                                      
    p = info->doubly_indirect;                                        
    if ( malloc_it ) {                                                
                                                                      
      if ( !p ) {                                                     
        p = memfile_alloc_block();                                    
   4ceac:	4eb9 0004 cd34 	jsr 4cd34 <memfile_alloc_block>             
   4ceb2:	2040           	moveal %d0,%a0                              
        if ( !p )                                                     
   4ceb4:	4a80           	tstl %d0                                    
   4ceb6:	6700 ff78      	beqw 4ce30 <IMFS_memfile_get_block_pointer+0xd8>
           return 0;                                                  
        info->doubly_indirect = p;                                    
   4ceba:	2540 005a      	movel %d0,%a2@(90)                          
      }                                                               
                                                                      
      p1 = (block_p *)p[ doubly ];                                    
   4cebe:	45f0 2c00      	lea %a0@(00000000,%d2:l:4),%a2              
   4cec2:	2052           	moveal %a2@,%a0                             
      if ( !p1 ) {                                                    
   4cec4:	4a88           	tstl %a0                                    
   4cec6:	6600 ff52      	bnew 4ce1a <IMFS_memfile_get_block_pointer+0xc2>
   4ceca:	6000 ff7e      	braw 4ce4a <IMFS_memfile_get_block_pointer+0xf2>
                                                                      
    p = info->triply_indirect;                                        
                                                                      
    if ( malloc_it ) {                                                
      if ( !p ) {                                                     
        p = memfile_alloc_block();                                    
   4cece:	4eb9 0004 cd34 	jsr 4cd34 <memfile_alloc_block>             
   4ced4:	2040           	moveal %d0,%a0                              
        if ( !p )                                                     
   4ced6:	4a80           	tstl %d0                                    
   4ced8:	6700 ff56      	beqw 4ce30 <IMFS_memfile_get_block_pointer+0xd8>
           return 0;                                                  
        info->triply_indirect = p;                                    
   4cedc:	2540 005e      	movel %d0,%a2@(94)                          
      }                                                               
                                                                      
      p1 = (block_p *) p[ triply ];                                   
   4cee0:	45f0 2c00      	lea %a0@(00000000,%d2:l:4),%a2              
   4cee4:	2052           	moveal %a2@,%a0                             
      if ( !p1 ) {                                                    
   4cee6:	4a88           	tstl %a0                                    
   4cee8:	6684           	bnes 4ce6e <IMFS_memfile_get_block_pointer+0x116><== NEVER TAKEN
        p1 = memfile_alloc_block();                                   
   4ceea:	4eb9 0004 cd34 	jsr 4cd34 <memfile_alloc_block>             
   4cef0:	2040           	moveal %d0,%a0                              
        if ( !p1 )                                                    
   4cef2:	4a80           	tstl %d0                                    
   4cef4:	6700 ff3a      	beqw 4ce30 <IMFS_memfile_get_block_pointer+0xd8>
           return 0;                                                  
        p[ triply ] = (block_p) p1;                                   
   4cef8:	2480           	movel %d0,%a2@                              
      }                                                               
                                                                      
      p2 = (block_p *)p1[ doubly ];                                   
   4cefa:	45f0 3c00      	lea %a0@(00000000,%d3:l:4),%a2              
   4cefe:	2052           	moveal %a2@,%a0                             
      if ( !p2 ) {                                                    
   4cf00:	4a88           	tstl %a0                                    
   4cf02:	6600 fee6      	bnew 4cdea <IMFS_memfile_get_block_pointer+0x92>
   4cf06:	6000 ff72      	braw 4ce7a <IMFS_memfile_get_block_pointer+0x122>
                                                                      

0004cf0a <IMFS_memfile_read>: * Linear files (as created from a tar file are easier to handle * than block files). */ my_length = length; if ( IMFS_type( the_jnode ) == IMFS_LINEAR_FILE ) {
   4cf0a:	7005           	moveq #5,%d0                                
   IMFS_jnode_t    *the_jnode,                                        
   off_t            start,                                            
   unsigned char   *destination,                                      
   unsigned int     length                                            
)                                                                     
{                                                                     
   4cf0c:	4e56 ffd0      	linkw %fp,#-48                              
   4cf10:	226e 0018      	moveal %fp@(24),%a1                         
   4cf14:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4cf18:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_chain_extract_unprotected( &node->Node );                     
}                                                                     
                                                                      
static inline IMFS_jnode_types_t IMFS_type( const IMFS_jnode_t *node )
{                                                                     
  return node->control->imfs_type;                                    
   4cf1c:	206a 004a      	moveal %a2@(74),%a0                         
   4cf20:	242e 000c      	movel %fp@(12),%d2                          
   4cf24:	262e 0010      	movel %fp@(16),%d3                          
   *  Linear files (as created from a tar file are easier to handle   
   *  than block files).                                              
   */                                                                 
  my_length = length;                                                 
                                                                      
  if ( IMFS_type( the_jnode ) == IMFS_LINEAR_FILE ) {                 
   4cf28:	b090           	cmpl %a0@,%d0                               
   4cf2a:	6700 0180      	beqw 4d0ac <IMFS_memfile_read+0x1a2>        
                                                                      
  /*                                                                  
   *  If the last byte we are supposed to read is past the end of this
   *  in memory file, then shorten the length to read.                
   */                                                                 
  last_byte = start + length;                                         
   4cf2e:	2009           	movel %a1,%d0                               
   4cf30:	d083           	addl %d3,%d0                                
  if ( last_byte > the_jnode->info.file.size )                        
   4cf32:	2a00           	movel %d0,%d5                               
   4cf34:	4284           	clrl %d4                                    
   4cf36:	202a 004e      	movel %a2@(78),%d0                          
   4cf3a:	222a 0052      	movel %a2@(82),%d1                          
   4cf3e:	2c04           	movel %d4,%d6                               
   4cf40:	2e05           	movel %d5,%d7                               
   4cf42:	9e81           	subl %d1,%d7                                
   4cf44:	9d80           	subxl %d0,%d6                               
   4cf46:	6f00 0112      	blew 4d05a <IMFS_memfile_read+0x150>        
   */                                                                 
                                                                      
  /*                                                                  
   *  Phase 1: possibly the last part of one block                    
   */                                                                 
  start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK;                
   4cf4a:	2c39 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d6
   *  If the last byte we are supposed to read is past the end of this
   *  in memory file, then shorten the length to read.                
   */                                                                 
  last_byte = start + length;                                         
  if ( last_byte > the_jnode->info.file.size )                        
    my_length = the_jnode->info.file.size - start;                    
   4cf50:	2e01           	movel %d1,%d7                               
   4cf52:	9e83           	subl %d3,%d7                                
   */                                                                 
                                                                      
  /*                                                                  
   *  Phase 1: possibly the last part of one block                    
   */                                                                 
  start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK;                
   4cf54:	2a06           	movel %d6,%d5                               
   4cf56:	5bc4           	smi %d4                                     
   4cf58:	49c4           	extbl %d4                                   
   4cf5a:	2f05           	movel %d5,%sp@-                             
   4cf5c:	2f04           	movel %d4,%sp@-                             
   4cf5e:	2f03           	movel %d3,%sp@-                             
   4cf60:	2f02           	movel %d2,%sp@-                             
   4cf62:	4eb9 0005 abfc 	jsr 5abfc <__moddi3>                        
   4cf68:	4fef 0010      	lea %sp@(16),%sp                            
   4cf6c:	2641           	moveal %d1,%a3                              
  block = start / IMFS_MEMFILE_BYTES_PER_BLOCK;                       
   4cf6e:	2f05           	movel %d5,%sp@-                             
   4cf70:	2f04           	movel %d4,%sp@-                             
   4cf72:	2f03           	movel %d3,%sp@-                             
   4cf74:	2f02           	movel %d2,%sp@-                             
   4cf76:	4eb9 0005 a79c 	jsr 5a79c <__divdi3>                        
   4cf7c:	4fef 0010      	lea %sp@(16),%sp                            
   4cf80:	2401           	movel %d1,%d2                               
  if ( start_offset )  {                                              
   4cf82:	4a8b           	tstl %a3                                    
   4cf84:	6700 0110      	beqw 4d096 <IMFS_memfile_read+0x18c>        
    to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK - start_offset;            
   4cf88:	9c8b           	subl %a3,%d6                                
   4cf8a:	2807           	movel %d7,%d4                               
   4cf8c:	bc87           	cmpl %d7,%d6                                
   4cf8e:	6500 0174      	bcsw 4d104 <IMFS_memfile_read+0x1fa>        
    if ( to_copy > my_length )                                        
      to_copy = my_length;                                            
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4cf92:	42a7           	clrl %sp@-                                  
   4cf94:	2f02           	movel %d2,%sp@-                             
   4cf96:	2f0a           	movel %a2,%sp@-                             
   4cf98:	4eb9 0004 cd58 	jsr 4cd58 <IMFS_memfile_get_block_pointer>  
    if ( !block_ptr )                                                 
   4cf9e:	4fef 000c      	lea %sp@(12),%sp                            
   4cfa2:	4a80           	tstl %d0                                    
   4cfa4:	6700 0190      	beqw 4d136 <IMFS_memfile_read+0x22c>        
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ start_offset ], to_copy );           
   4cfa8:	2f04           	movel %d4,%sp@-                             
   4cfaa:	2040           	moveal %d0,%a0                              
   4cfac:	d7d0           	addal %a0@,%a3                              
    dest += to_copy;                                                  
    block++;                                                          
   4cfae:	5282           	addql #1,%d2                                
    my_length -= to_copy;                                             
   4cfb0:	9e84           	subl %d4,%d7                                
    if ( to_copy > my_length )                                        
      to_copy = my_length;                                            
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ start_offset ], to_copy );           
   4cfb2:	2f0b           	movel %a3,%sp@-                             
   4cfb4:	2f2e 0014      	movel %fp@(20),%sp@-                        
    dest += to_copy;                                                  
   4cfb8:	262e 0014      	movel %fp@(20),%d3                          
   4cfbc:	d684           	addl %d4,%d3                                
    if ( to_copy > my_length )                                        
      to_copy = my_length;                                            
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ start_offset ], to_copy );           
   4cfbe:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          
   4cfc4:	2c39 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d6
   4cfca:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
  /*                                                                  
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
   4cfce:	bc87           	cmpl %d7,%d6                                
   4cfd0:	623c           	bhis 4d00e <IMFS_memfile_read+0x104>        
   4cfd2:	47f9 0004 cd58 	lea 4cd58 <IMFS_memfile_get_block_pointer>,%a3
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ 0 ], to_copy );                      
   4cfd8:	49f9 0004 e964 	lea 4e964 <memcpy>,%a4                      
  /*                                                                  
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4cfde:	42a7           	clrl %sp@-                                  
    if ( !block_ptr )                                                 
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ 0 ], to_copy );                      
    dest += to_copy;                                                  
    block++;                                                          
    my_length -= to_copy;                                             
   4cfe0:	9e86           	subl %d6,%d7                                
  /*                                                                  
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4cfe2:	2f02           	movel %d2,%sp@-                             
    if ( !block_ptr )                                                 
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ 0 ], to_copy );                      
    dest += to_copy;                                                  
    block++;                                                          
   4cfe4:	5282           	addql #1,%d2                                
  /*                                                                  
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4cfe6:	2f0a           	movel %a2,%sp@-                             
   4cfe8:	4e93           	jsr %a3@                                    
    if ( !block_ptr )                                                 
   4cfea:	4fef 000c      	lea %sp@(12),%sp                            
   4cfee:	4a80           	tstl %d0                                    
   4cff0:	6700 00ae      	beqw 4d0a0 <IMFS_memfile_read+0x196>        
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ 0 ], to_copy );                      
   4cff4:	2040           	moveal %d0,%a0                              
    dest += to_copy;                                                  
    block++;                                                          
    my_length -= to_copy;                                             
    copied += to_copy;                                                
   4cff6:	d886           	addl %d6,%d4                                
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ 0 ], to_copy );                      
   4cff8:	2f06           	movel %d6,%sp@-                             
   4cffa:	2f10           	movel %a0@,%sp@-                            
   4cffc:	2f03           	movel %d3,%sp@-                             
    dest += to_copy;                                                  
   4cffe:	d686           	addl %d6,%d3                                
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ 0 ], to_copy );                      
   4d000:	4e94           	jsr %a4@                                    
                                                                      
  /*                                                                  
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
   4d002:	4fef 000c      	lea %sp@(12),%sp                            
   4d006:	beb9 0005 f0f0 	cmpl 5f0f0 <imfs_memfile_bytes_per_block>,%d7
   4d00c:	64d0           	bccs 4cfde <IMFS_memfile_read+0xd4>         
  /*                                                                  
   *  Phase 3: possibly the first part of one block                   
   */                                                                 
  IMFS_assert( my_length < IMFS_MEMFILE_BYTES_PER_BLOCK );            
                                                                      
  if ( my_length ) {                                                  
   4d00e:	4a87           	tstl %d7                                    
   4d010:	6728           	beqs 4d03a <IMFS_memfile_read+0x130>        
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4d012:	42a7           	clrl %sp@-                                  
   4d014:	2f02           	movel %d2,%sp@-                             
   4d016:	2f0a           	movel %a2,%sp@-                             
   4d018:	4eb9 0004 cd58 	jsr 4cd58 <IMFS_memfile_get_block_pointer>  
    if ( !block_ptr )                                                 
   4d01e:	4fef 000c      	lea %sp@(12),%sp                            
   4d022:	4a80           	tstl %d0                                    
   4d024:	677a           	beqs 4d0a0 <IMFS_memfile_read+0x196>        <== NEVER TAKEN
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ 0 ], my_length );                    
   4d026:	2040           	moveal %d0,%a0                              
    copied += my_length;                                              
   4d028:	d887           	addl %d7,%d4                                
                                                                      
  if ( my_length ) {                                                  
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
    memcpy( dest, &(*block_ptr)[ 0 ], my_length );                    
   4d02a:	2f07           	movel %d7,%sp@-                             
   4d02c:	2f10           	movel %a0@,%sp@-                            
   4d02e:	2f03           	movel %d3,%sp@-                             
   4d030:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          
    copied += my_length;                                              
   4d036:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
                                                                      
  IMFS_update_atime( the_jnode );                                     
   4d03a:	42a7           	clrl %sp@-                                  
   4d03c:	486e fff8      	pea %fp@(-8)                                
   4d040:	4eb9 0004 315c 	jsr 4315c <gettimeofday>                    
   4d046:	256e fff8 003e 	movel %fp@(-8),%a2@(62)                     
                                                                      
  return copied;                                                      
   4d04c:	2004           	movel %d4,%d0                               
   4d04e:	508f           	addql #8,%sp                                
}                                                                     
   4d050:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   4d056:	4e5e           	unlk %fp                                    
   4d058:	4e75           	rts                                         
   */                                                                 
                                                                      
  /*                                                                  
   *  Phase 1: possibly the last part of one block                    
   */                                                                 
  start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK;                
   4d05a:	2c39 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d6
                                                                      
  /*                                                                  
   *  Linear files (as created from a tar file are easier to handle   
   *  than block files).                                              
   */                                                                 
  my_length = length;                                                 
   4d060:	2e09           	movel %a1,%d7                               
   */                                                                 
                                                                      
  /*                                                                  
   *  Phase 1: possibly the last part of one block                    
   */                                                                 
  start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK;                
   4d062:	2a06           	movel %d6,%d5                               
   4d064:	5bc4           	smi %d4                                     
   4d066:	49c4           	extbl %d4                                   
   4d068:	2f05           	movel %d5,%sp@-                             
   4d06a:	2f04           	movel %d4,%sp@-                             
   4d06c:	2f03           	movel %d3,%sp@-                             
   4d06e:	2f02           	movel %d2,%sp@-                             
   4d070:	4eb9 0005 abfc 	jsr 5abfc <__moddi3>                        
   4d076:	4fef 0010      	lea %sp@(16),%sp                            
   4d07a:	2641           	moveal %d1,%a3                              
  block = start / IMFS_MEMFILE_BYTES_PER_BLOCK;                       
   4d07c:	2f05           	movel %d5,%sp@-                             
   4d07e:	2f04           	movel %d4,%sp@-                             
   4d080:	2f03           	movel %d3,%sp@-                             
   4d082:	2f02           	movel %d2,%sp@-                             
   4d084:	4eb9 0005 a79c 	jsr 5a79c <__divdi3>                        
   4d08a:	4fef 0010      	lea %sp@(16),%sp                            
   4d08e:	2401           	movel %d1,%d2                               
  if ( start_offset )  {                                              
   4d090:	4a8b           	tstl %a3                                    
   4d092:	6600 fef4      	bnew 4cf88 <IMFS_memfile_read+0x7e>         
  unsigned int         last_byte;                                     
  unsigned int         copied;                                        
  unsigned int         start_offset;                                  
  unsigned char       *dest;                                          
                                                                      
  dest = destination;                                                 
   4d096:	262e 0014      	movel %fp@(20),%d3                          
   */                                                                 
  last_byte = start + length;                                         
  if ( last_byte > the_jnode->info.file.size )                        
    my_length = the_jnode->info.file.size - start;                    
                                                                      
  copied = 0;                                                         
   4d09a:	4284           	clrl %d4                                    
   4d09c:	6000 ff30      	braw 4cfce <IMFS_memfile_read+0xc4>         
  IMFS_assert( my_length < IMFS_MEMFILE_BYTES_PER_BLOCK );            
                                                                      
  if ( my_length ) {                                                  
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
   4d0a0:	2004           	movel %d4,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  IMFS_update_atime( the_jnode );                                     
                                                                      
  return copied;                                                      
}                                                                     
   4d0a2:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4d0a8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4d0aa:	4e75           	rts                                         <== NOT EXECUTED
  if ( IMFS_type( the_jnode ) == IMFS_LINEAR_FILE ) {                 
    unsigned char  *file_ptr;                                         
                                                                      
    file_ptr = (unsigned char *)the_jnode->info.linearfile.direct;    
                                                                      
    if (my_length > (the_jnode->info.linearfile.size - start))        
   4d0ac:	2a49           	moveal %a1,%a5                              
   4d0ae:	99cc           	subal %a4,%a4                               
   4d0b0:	282a 004e      	movel %a2@(78),%d4                          
   4d0b4:	2a2a 0052      	movel %a2@(82),%d5                          
  my_length = length;                                                 
                                                                      
  if ( IMFS_type( the_jnode ) == IMFS_LINEAR_FILE ) {                 
    unsigned char  *file_ptr;                                         
                                                                      
    file_ptr = (unsigned char *)the_jnode->info.linearfile.direct;    
   4d0b8:	206a 0056      	moveal %a2@(86),%a0                         
                                                                      
    if (my_length > (the_jnode->info.linearfile.size - start))        
   4d0bc:	2c04           	movel %d4,%d6                               
   4d0be:	2e05           	movel %d5,%d7                               
   4d0c0:	200c           	movel %a4,%d0                               
   4d0c2:	220d           	movel %a5,%d1                               
   4d0c4:	9e83           	subl %d3,%d7                                
   4d0c6:	9d82           	subxl %d2,%d6                               
   4d0c8:	9287           	subl %d7,%d1                                
   4d0ca:	9186           	subxl %d6,%d0                               
   4d0cc:	6f3c           	bles 4d10a <IMFS_memfile_read+0x200>        <== NEVER TAKEN
      my_length = the_jnode->info.linearfile.size - start;            
   4d0ce:	2805           	movel %d5,%d4                               
   4d0d0:	9883           	subl %d3,%d4                                
                                                                      
    memcpy(dest, &file_ptr[start], my_length);                        
   4d0d2:	2f04           	movel %d4,%sp@-                             
   4d0d4:	4870 3800      	pea %a0@(00000000,%d3:l)                    
   4d0d8:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4d0dc:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          
                                                                      
    IMFS_update_atime( the_jnode );                                   
   4d0e2:	42a7           	clrl %sp@-                                  
   4d0e4:	486e fff8      	pea %fp@(-8)                                
   4d0e8:	4eb9 0004 315c 	jsr 4315c <gettimeofday>                    
   4d0ee:	256e fff8 003e 	movel %fp@(-8),%a2@(62)                     
                                                                      
    return my_length;                                                 
   4d0f4:	2004           	movel %d4,%d0                               
   4d0f6:	4fef 0014      	lea %sp@(20),%sp                            
  }                                                                   
                                                                      
  IMFS_update_atime( the_jnode );                                     
                                                                      
  return copied;                                                      
}                                                                     
   4d0fa:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   4d100:	4e5e           	unlk %fp                                    
   4d102:	4e75           	rts                                         
   4d104:	2806           	movel %d6,%d4                               
   4d106:	6000 fe8a      	braw 4cf92 <IMFS_memfile_read+0x88>         
                                                                      
  /*                                                                  
   *  Linear files (as created from a tar file are easier to handle   
   *  than block files).                                              
   */                                                                 
  my_length = length;                                                 
   4d10a:	2809           	movel %a1,%d4                               <== NOT EXECUTED
    file_ptr = (unsigned char *)the_jnode->info.linearfile.direct;    
                                                                      
    if (my_length > (the_jnode->info.linearfile.size - start))        
      my_length = the_jnode->info.linearfile.size - start;            
                                                                      
    memcpy(dest, &file_ptr[start], my_length);                        
   4d10c:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4d10e:	4870 3800      	pea %a0@(00000000,%d3:l)                    <== NOT EXECUTED
   4d112:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   4d116:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          <== NOT EXECUTED
                                                                      
    IMFS_update_atime( the_jnode );                                   
   4d11c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4d11e:	486e fff8      	pea %fp@(-8)                                <== NOT EXECUTED
   4d122:	4eb9 0004 315c 	jsr 4315c <gettimeofday>                    <== NOT EXECUTED
   4d128:	256e fff8 003e 	movel %fp@(-8),%a2@(62)                     <== NOT EXECUTED
                                                                      
    return my_length;                                                 
   4d12e:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   4d130:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   4d134:	60c4           	bras 4d0fa <IMFS_memfile_read+0x1f0>        <== NOT EXECUTED
    to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK - start_offset;            
    if ( to_copy > my_length )                                        
      to_copy = my_length;                                            
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
   4d136:	4280           	clrl %d0                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  IMFS_update_atime( the_jnode );                                     
                                                                      
  return copied;                                                      
}                                                                     
   4d138:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4d13e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d252 <IMFS_memfile_remove>: * is better to stick to simple, easy to understand algorithms. */ IMFS_jnode_t *IMFS_memfile_remove( IMFS_jnode_t *the_jnode ) {
   4d252:	4e56 ffe0      	linkw %fp,#-32                              
   4d256:	48d7 1c7c      	moveml %d2-%d6/%a2-%a4,%sp@                 
                                                                      
  /*                                                                  
   *  Eventually this could be set smarter at each call to            
   *  memfile_free_blocks_in_table to greatly speed this up.          
   */                                                                 
  to_free = IMFS_MEMFILE_BLOCK_SLOTS;                                 
   4d25a:	2839 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d4
   4d260:	e48c           	lsrl #2,%d4                                 
 *         is better to stick to simple, easy to understand algorithms.
 */                                                                   
IMFS_jnode_t *IMFS_memfile_remove(                                    
 IMFS_jnode_t  *the_jnode                                             
)                                                                     
{                                                                     
   4d262:	286e 0008      	moveal %fp@(8),%a4                          
   *    + doubly indirect                                             
   *    + triply indirect                                             
   */                                                                 
  info = &the_jnode->info.file;                                       
                                                                      
  if ( info->indirect ) {                                             
   4d266:	4aac 0056      	tstl %a4@(86)                               
   4d26a:	670c           	beqs 4d278 <IMFS_memfile_remove+0x26>       
    memfile_free_blocks_in_table( &info->indirect, to_free );         
   4d26c:	2f04           	movel %d4,%sp@-                             
   4d26e:	486c 0056      	pea %a4@(86)                                
   4d272:	4eba ff92      	jsr %pc@(4d206 <memfile_free_blocks_in_table>)
   4d276:	508f           	addql #8,%sp                                
  }                                                                   
                                                                      
  if ( info->doubly_indirect ) {                                      
   4d278:	206c 005a      	moveal %a4@(90),%a0                         
   4d27c:	4a88           	tstl %a0                                    
   4d27e:	674a           	beqs 4d2ca <IMFS_memfile_remove+0x78>       
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
   4d280:	2639 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d3
   4d286:	2003           	movel %d3,%d0                               
   4d288:	e488           	lsrl #2,%d0                                 
   4d28a:	47fa ff7a      	lea %pc@(4d206 <memfile_free_blocks_in_table>),%a3
   4d28e:	6730           	beqs 4d2c0 <IMFS_memfile_remove+0x6e>       <== NEVER TAKEN
   4d290:	4280           	clrl %d0                                    
   4d292:	4282           	clrl %d2                                    
   4d294:	47fa ff70      	lea %pc@(4d206 <memfile_free_blocks_in_table>),%a3
   4d298:	5282           	addql #1,%d2                                
      if ( info->doubly_indirect[i] ) {                               
   4d29a:	41f0 0c00      	lea %a0@(00000000,%d0:l:4),%a0              
   4d29e:	4a90           	tstl %a0@                                   
   4d2a0:	670e           	beqs 4d2b0 <IMFS_memfile_remove+0x5e>       <== NEVER TAKEN
        memfile_free_blocks_in_table(                                 
   4d2a2:	2f04           	movel %d4,%sp@-                             
   4d2a4:	2f08           	movel %a0,%sp@-                             
   4d2a6:	4e93           	jsr %a3@                                    
   4d2a8:	2639 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d3
   4d2ae:	508f           	addql #8,%sp                                
  if ( info->indirect ) {                                             
    memfile_free_blocks_in_table( &info->indirect, to_free );         
  }                                                                   
                                                                      
  if ( info->doubly_indirect ) {                                      
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
   4d2b0:	2203           	movel %d3,%d1                               
   4d2b2:	2002           	movel %d2,%d0                               
   4d2b4:	e489           	lsrl #2,%d1                                 
   4d2b6:	b282           	cmpl %d2,%d1                                
   4d2b8:	6306           	blss 4d2c0 <IMFS_memfile_remove+0x6e>       
   4d2ba:	206c 005a      	moveal %a4@(90),%a0                         
   4d2be:	60d8           	bras 4d298 <IMFS_memfile_remove+0x46>       
      if ( info->doubly_indirect[i] ) {                               
        memfile_free_blocks_in_table(                                 
         (block_p **)&info->doubly_indirect[i], to_free );            
      }                                                               
    }                                                                 
    memfile_free_blocks_in_table( &info->doubly_indirect, to_free );  
   4d2c0:	2f04           	movel %d4,%sp@-                             
   4d2c2:	486c 005a      	pea %a4@(90)                                
   4d2c6:	4e93           	jsr %a3@                                    
   4d2c8:	508f           	addql #8,%sp                                
                                                                      
  }                                                                   
                                                                      
  if ( info->triply_indirect ) {                                      
   4d2ca:	206c 005e      	moveal %a4@(94),%a0                         
   4d2ce:	4a88           	tstl %a0                                    
   4d2d0:	677a           	beqs 4d34c <IMFS_memfile_remove+0xfa>       
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
   4d2d2:	2639 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d3
   4d2d8:	2003           	movel %d3,%d0                               
   4d2da:	e488           	lsrl #2,%d0                                 
   4d2dc:	677a           	beqs 4d358 <IMFS_memfile_remove+0x106>      <== NEVER TAKEN
      p = (block_p *) info->triply_indirect[i];                       
   4d2de:	2450           	moveal %a0@,%a2                             
      if ( !p )  /* ensure we have a valid pointer */                 
   4d2e0:	4a8a           	tstl %a2                                    
   4d2e2:	6774           	beqs 4d358 <IMFS_memfile_remove+0x106>      <== NEVER TAKEN
                                                                      
  }                                                                   
                                                                      
  if ( info->triply_indirect ) {                                      
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
      p = (block_p *) info->triply_indirect[i];                       
   4d2e4:	4286           	clrl %d6                                    
      if ( !p )  /* ensure we have a valid pointer */                 
   4d2e6:	4285           	clrl %d5                                    
   4d2e8:	47fa ff1c      	lea %pc@(4d206 <memfile_free_blocks_in_table>),%a3
         break;                                                       
      for ( j=0 ; j<IMFS_MEMFILE_BLOCK_SLOTS ; j++ ) {                
   4d2ec:	4a80           	tstl %d0                                    
   4d2ee:	6726           	beqs 4d316 <IMFS_memfile_remove+0xc4>       <== NEVER TAKEN
   4d2f0:	4281           	clrl %d1                                    
   4d2f2:	4282           	clrl %d2                                    
   4d2f4:	5282           	addql #1,%d2                                
        if ( p[j] ) {                                                 
   4d2f6:	41f2 1c00      	lea %a2@(00000000,%d1:l:4),%a0              
   4d2fa:	4a90           	tstl %a0@                                   
   4d2fc:	670e           	beqs 4d30c <IMFS_memfile_remove+0xba>       <== NEVER TAKEN
          memfile_free_blocks_in_table( (block_p **)&p[j], to_free);  
   4d2fe:	2f04           	movel %d4,%sp@-                             
   4d300:	2f08           	movel %a0,%sp@-                             
   4d302:	4e93           	jsr %a3@                                    
   4d304:	2639 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d3
   4d30a:	508f           	addql #8,%sp                                
  if ( info->triply_indirect ) {                                      
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
      p = (block_p *) info->triply_indirect[i];                       
      if ( !p )  /* ensure we have a valid pointer */                 
         break;                                                       
      for ( j=0 ; j<IMFS_MEMFILE_BLOCK_SLOTS ; j++ ) {                
   4d30c:	2003           	movel %d3,%d0                               
   4d30e:	2202           	movel %d2,%d1                               
   4d310:	e488           	lsrl #2,%d0                                 
   4d312:	b082           	cmpl %d2,%d0                                
   4d314:	62de           	bhis 4d2f4 <IMFS_memfile_remove+0xa2>       
        if ( p[j] ) {                                                 
          memfile_free_blocks_in_table( (block_p **)&p[j], to_free);  
        }                                                             
      }                                                               
      memfile_free_blocks_in_table(                                   
   4d316:	2f04           	movel %d4,%sp@-                             
   4d318:	dcac 005e      	addl %a4@(94),%d6                           
    memfile_free_blocks_in_table( &info->doubly_indirect, to_free );  
                                                                      
  }                                                                   
                                                                      
  if ( info->triply_indirect ) {                                      
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
   4d31c:	5285           	addql #1,%d5                                
      for ( j=0 ; j<IMFS_MEMFILE_BLOCK_SLOTS ; j++ ) {                
        if ( p[j] ) {                                                 
          memfile_free_blocks_in_table( (block_p **)&p[j], to_free);  
        }                                                             
      }                                                               
      memfile_free_blocks_in_table(                                   
   4d31e:	2f06           	movel %d6,%sp@-                             
   4d320:	4e93           	jsr %a3@                                    
    memfile_free_blocks_in_table( &info->doubly_indirect, to_free );  
                                                                      
  }                                                                   
                                                                      
  if ( info->triply_indirect ) {                                      
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
   4d322:	2639 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d3
   4d328:	2003           	movel %d3,%d0                               
   4d32a:	508f           	addql #8,%sp                                
   4d32c:	e488           	lsrl #2,%d0                                 
   4d32e:	b085           	cmpl %d5,%d0                                
   4d330:	6310           	blss 4d342 <IMFS_memfile_remove+0xf0>       
 *         a significant difference in the performance of this routine.
 *                                                                    
 *         Regardless until the IMFS implementation is proven, it     
 *         is better to stick to simple, easy to understand algorithms.
 */                                                                   
IMFS_jnode_t *IMFS_memfile_remove(                                    
   4d332:	2c05           	movel %d5,%d6                               
                                                                      
  }                                                                   
                                                                      
  if ( info->triply_indirect ) {                                      
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
      p = (block_p *) info->triply_indirect[i];                       
   4d334:	206c 005e      	moveal %a4@(94),%a0                         
 *         a significant difference in the performance of this routine.
 *                                                                    
 *         Regardless until the IMFS implementation is proven, it     
 *         is better to stick to simple, easy to understand algorithms.
 */                                                                   
IMFS_jnode_t *IMFS_memfile_remove(                                    
   4d338:	e58e           	lsll #2,%d6                                 
                                                                      
  }                                                                   
                                                                      
  if ( info->triply_indirect ) {                                      
    for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {                  
      p = (block_p *) info->triply_indirect[i];                       
   4d33a:	2470 6800      	moveal %a0@(00000000,%d6:l),%a2             
      if ( !p )  /* ensure we have a valid pointer */                 
   4d33e:	4a8a           	tstl %a2                                    
   4d340:	66aa           	bnes 4d2ec <IMFS_memfile_remove+0x9a>       <== ALWAYS TAKEN
        }                                                             
      }                                                               
      memfile_free_blocks_in_table(                                   
        (block_p **)&info->triply_indirect[i], to_free );             
    }                                                                 
    memfile_free_blocks_in_table(                                     
   4d342:	2f04           	movel %d4,%sp@-                             
   4d344:	486c 005e      	pea %a4@(94)                                
   4d348:	4e93           	jsr %a3@                                    
   4d34a:	508f           	addql #8,%sp                                
        (block_p **)&info->triply_indirect, to_free );                
  }                                                                   
                                                                      
  return the_jnode;                                                   
}                                                                     
   4d34c:	200c           	movel %a4,%d0                               
   4d34e:	4cee 1c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a4            
   4d354:	4e5e           	unlk %fp                                    
   4d356:	4e75           	rts                                         
        }                                                             
      }                                                               
      memfile_free_blocks_in_table(                                   
        (block_p **)&info->triply_indirect[i], to_free );             
    }                                                                 
    memfile_free_blocks_in_table(                                     
   4d358:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4d35a:	486c 005e      	pea %a4@(94)                                <== NOT EXECUTED
   4d35e:	47fa fea6      	lea %pc@(4d206 <memfile_free_blocks_in_table>),%a3<== NOT EXECUTED
   4d362:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   4d364:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4d366:	60e4           	bras 4d34c <IMFS_memfile_remove+0xfa>       <== NOT EXECUTED
                                                                      

0004d368 <IMFS_memfile_remove_block>: */ MEMFILE_STATIC int IMFS_memfile_remove_block( IMFS_jnode_t *the_jnode, unsigned int block ) {
   4d368:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  block_p *block_ptr;                                                 
  block_p  ptr;                                                       
                                                                      
  block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );  
   4d36c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4d36e:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   4d372:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4d376:	4eb9 0004 cd58 	jsr 4cd58 <IMFS_memfile_get_block_pointer>  <== NOT EXECUTED
  IMFS_assert( block_ptr );                                           
                                                                      
  ptr = *block_ptr;                                                   
   4d37c:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4d37e:	2210           	movel %a0@,%d1                              <== NOT EXECUTED
  *block_ptr = 0;                                                     
   4d380:	4290           	clrl %a0@                                   <== NOT EXECUTED
  memfile_free_block( ptr );                                          
   4d382:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4d384:	4eb9 0004 d1ec 	jsr 4d1ec <memfile_free_block>              <== NOT EXECUTED
                                                                      
  return 1;                                                           
}                                                                     
   4d38a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   4d38c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d518 <IMFS_memfile_write>: * If the last byte we are supposed to write is past the end of this * in memory file, then extend the length. */ last_byte = start + my_length; if ( last_byte > the_jnode->info.file.size ) {
   4d518:	4280           	clrl %d0                                    
   IMFS_jnode_t          *the_jnode,                                  
   off_t                  start,                                      
   const unsigned char   *source,                                     
   unsigned int           length                                      
)                                                                     
{                                                                     
   4d51a:	4e56 ffd4      	linkw %fp,#-44                              
   4d51e:	48d7 1cfc      	moveml %d2-%d7/%a2-%a4,%sp@                 
   4d522:	242e 000c      	movel %fp@(12),%d2                          
   4d526:	262e 0010      	movel %fp@(16),%d3                          
   4d52a:	286e 0018      	moveal %fp@(24),%a4                         
  /*                                                                  
   *  If the last byte we are supposed to write is past the end of this
   *  in memory file, then extend the length.                         
   */                                                                 
                                                                      
  last_byte = start + my_length;                                      
   4d52e:	41f4 3800      	lea %a4@(00000000,%d3:l),%a0                
  if ( last_byte > the_jnode->info.file.size ) {                      
   4d532:	2208           	movel %a0,%d1                               
   IMFS_jnode_t          *the_jnode,                                  
   off_t                  start,                                      
   const unsigned char   *source,                                     
   unsigned int           length                                      
)                                                                     
{                                                                     
   4d534:	246e 0008      	moveal %fp@(8),%a2                          
   *  If the last byte we are supposed to write is past the end of this
   *  in memory file, then extend the length.                         
   */                                                                 
                                                                      
  last_byte = start + my_length;                                      
  if ( last_byte > the_jnode->info.file.size ) {                      
   4d538:	2c00           	movel %d0,%d6                               
   4d53a:	2e01           	movel %d1,%d7                               
   4d53c:	282a 004e      	movel %a2@(78),%d4                          
   4d540:	2a2a 0052      	movel %a2@(82),%d5                          
   4d544:	9e85           	subl %d5,%d7                                
   4d546:	9d84           	subxl %d4,%d6                               
   4d548:	6e00 0124      	bgtw 4d66e <IMFS_memfile_write+0x156>       
   */                                                                 
                                                                      
  /*                                                                  
   *  Phase 1: possibly the last part of one block                    
   */                                                                 
  start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK;                
   4d54c:	2e39 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d7
   4d552:	2a07           	movel %d7,%d5                               
   4d554:	5bc4           	smi %d4                                     
   4d556:	49c4           	extbl %d4                                   
   4d558:	2f05           	movel %d5,%sp@-                             
   4d55a:	2f04           	movel %d4,%sp@-                             
   4d55c:	2f03           	movel %d3,%sp@-                             
   4d55e:	2f02           	movel %d2,%sp@-                             
   4d560:	4eb9 0005 abfc 	jsr 5abfc <__moddi3>                        
   4d566:	4fef 0010      	lea %sp@(16),%sp                            
   4d56a:	2641           	moveal %d1,%a3                              
  block = start / IMFS_MEMFILE_BYTES_PER_BLOCK;                       
   4d56c:	2f05           	movel %d5,%sp@-                             
   4d56e:	2f04           	movel %d4,%sp@-                             
   4d570:	2f03           	movel %d3,%sp@-                             
   4d572:	2f02           	movel %d2,%sp@-                             
   4d574:	4eb9 0005 a79c 	jsr 5a79c <__divdi3>                        
   4d57a:	4fef 0010      	lea %sp@(16),%sp                            
   4d57e:	2401           	movel %d1,%d2                               
  if ( start_offset )  {                                              
   4d580:	4a8b           	tstl %a3                                    
   4d582:	6700 00de      	beqw 4d662 <IMFS_memfile_write+0x14a>       
    to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK - start_offset;            
   4d586:	9e8b           	subl %a3,%d7                                
   4d588:	b9c7           	cmpal %d7,%a4                               
   4d58a:	6402           	bccs 4d58e <IMFS_memfile_write+0x76>        
   4d58c:	2e0c           	movel %a4,%d7                               
    if ( to_copy > my_length )                                        
      to_copy = my_length;                                            
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4d58e:	42a7           	clrl %sp@-                                  
   4d590:	2f02           	movel %d2,%sp@-                             
   4d592:	2f0a           	movel %a2,%sp@-                             
   4d594:	4eb9 0004 cd58 	jsr 4cd58 <IMFS_memfile_get_block_pointer>  
    if ( !block_ptr )                                                 
   4d59a:	4fef 000c      	lea %sp@(12),%sp                            
   4d59e:	4a80           	tstl %d0                                    
   4d5a0:	6700 013a      	beqw 4d6dc <IMFS_memfile_write+0x1c4>       
        block,                                                        
        to_copy,                                                      
        src                                                           
      );                                                              
    #endif                                                            
    memcpy( &(*block_ptr)[ start_offset ], src, to_copy );            
   4d5a4:	2f07           	movel %d7,%sp@-                             
   4d5a6:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4d5aa:	2040           	moveal %d0,%a0                              
   4d5ac:	d7d0           	addal %a0@,%a3                              
    src += to_copy;                                                   
    block++;                                                          
    my_length -= to_copy;                                             
   4d5ae:	2c0c           	movel %a4,%d6                               
   4d5b0:	9c87           	subl %d7,%d6                                
    copied += to_copy;                                                
   4d5b2:	2807           	movel %d7,%d4                               
        src                                                           
      );                                                              
    #endif                                                            
    memcpy( &(*block_ptr)[ start_offset ], src, to_copy );            
    src += to_copy;                                                   
    block++;                                                          
   4d5b4:	5282           	addql #1,%d2                                
        to_copy,                                                      
        src                                                           
      );                                                              
    #endif                                                            
    memcpy( &(*block_ptr)[ start_offset ], src, to_copy );            
    src += to_copy;                                                   
   4d5b6:	262e 0014      	movel %fp@(20),%d3                          
   4d5ba:	d687           	addl %d7,%d3                                
        block,                                                        
        to_copy,                                                      
        src                                                           
      );                                                              
    #endif                                                            
    memcpy( &(*block_ptr)[ start_offset ], src, to_copy );            
   4d5bc:	2f0b           	movel %a3,%sp@-                             
   4d5be:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          
   4d5c4:	2e39 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d7
   4d5ca:	4fef 000c      	lea %sp@(12),%sp                            
  /*                                                                  
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
                                                                      
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
   4d5ce:	be86           	cmpl %d6,%d7                                
   4d5d0:	623c           	bhis 4d60e <IMFS_memfile_write+0xf6>        
   4d5d2:	47f9 0004 cd58 	lea 4cd58 <IMFS_memfile_get_block_pointer>,%a3
    if ( !block_ptr )                                                 
      return copied;                                                  
    #if 0                                                             
      fprintf(stdout, "write %d in %d: %*s\n", to_copy, block, to_copy, src );
    #endif                                                            
    memcpy( &(*block_ptr)[ 0 ], src, to_copy );                       
   4d5d8:	49f9 0004 e964 	lea 4e964 <memcpy>,%a4                      
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
                                                                      
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4d5de:	42a7           	clrl %sp@-                                  
      fprintf(stdout, "write %d in %d: %*s\n", to_copy, block, to_copy, src );
    #endif                                                            
    memcpy( &(*block_ptr)[ 0 ], src, to_copy );                       
    src += to_copy;                                                   
    block++;                                                          
    my_length -= to_copy;                                             
   4d5e0:	9c87           	subl %d7,%d6                                
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
                                                                      
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4d5e2:	2f02           	movel %d2,%sp@-                             
    #if 0                                                             
      fprintf(stdout, "write %d in %d: %*s\n", to_copy, block, to_copy, src );
    #endif                                                            
    memcpy( &(*block_ptr)[ 0 ], src, to_copy );                       
    src += to_copy;                                                   
    block++;                                                          
   4d5e4:	5282           	addql #1,%d2                                
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
                                                                      
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4d5e6:	2f0a           	movel %a2,%sp@-                             
   4d5e8:	4e93           	jsr %a3@                                    
    if ( !block_ptr )                                                 
   4d5ea:	4fef 000c      	lea %sp@(12),%sp                            
   4d5ee:	4a80           	tstl %d0                                    
   4d5f0:	6700 00de      	beqw 4d6d0 <IMFS_memfile_write+0x1b8>       
      return copied;                                                  
    #if 0                                                             
      fprintf(stdout, "write %d in %d: %*s\n", to_copy, block, to_copy, src );
    #endif                                                            
    memcpy( &(*block_ptr)[ 0 ], src, to_copy );                       
   4d5f4:	2f07           	movel %d7,%sp@-                             
   4d5f6:	2040           	moveal %d0,%a0                              
 *  IMFS_memfile_write                                                
 *                                                                    
 *  This routine writes the specified data buffer into the in memory  
 *  file pointed to by the_jnode.  The file is extended as needed.    
 */                                                                   
MEMFILE_STATIC ssize_t IMFS_memfile_write(                            
   4d5f8:	d887           	addl %d7,%d4                                
    if ( !block_ptr )                                                 
      return copied;                                                  
    #if 0                                                             
      fprintf(stdout, "write %d in %d: %*s\n", to_copy, block, to_copy, src );
    #endif                                                            
    memcpy( &(*block_ptr)[ 0 ], src, to_copy );                       
   4d5fa:	2f03           	movel %d3,%sp@-                             
   4d5fc:	2f10           	movel %a0@,%sp@-                            
    src += to_copy;                                                   
   4d5fe:	d687           	addl %d7,%d3                                
    if ( !block_ptr )                                                 
      return copied;                                                  
    #if 0                                                             
      fprintf(stdout, "write %d in %d: %*s\n", to_copy, block, to_copy, src );
    #endif                                                            
    memcpy( &(*block_ptr)[ 0 ], src, to_copy );                       
   4d600:	4e94           	jsr %a4@                                    
  /*                                                                  
   *  Phase 2: all of zero of more blocks                             
   */                                                                 
                                                                      
  to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK;                             
  while ( my_length >= IMFS_MEMFILE_BYTES_PER_BLOCK ) {               
   4d602:	4fef 000c      	lea %sp@(12),%sp                            
   4d606:	bcb9 0005 f0f0 	cmpl 5f0f0 <imfs_memfile_bytes_per_block>,%d6
   4d60c:	64d0           	bccs 4d5de <IMFS_memfile_write+0xc6>        
   *  Phase 3: possibly the first part of one block                   
   */                                                                 
  IMFS_assert( my_length < IMFS_MEMFILE_BYTES_PER_BLOCK );            
                                                                      
  to_copy = my_length;                                                
  if ( my_length ) {                                                  
   4d60e:	4a86           	tstl %d6                                    
   4d610:	672a           	beqs 4d63c <IMFS_memfile_write+0x124>       
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
   4d612:	42a7           	clrl %sp@-                                  
   4d614:	2f02           	movel %d2,%sp@-                             
   4d616:	2f0a           	movel %a2,%sp@-                             
   4d618:	4eb9 0004 cd58 	jsr 4cd58 <IMFS_memfile_get_block_pointer>  
    if ( !block_ptr )                                                 
   4d61e:	4fef 000c      	lea %sp@(12),%sp                            
   4d622:	4a80           	tstl %d0                                    
   4d624:	6700 00aa      	beqw 4d6d0 <IMFS_memfile_write+0x1b8>       
      return copied;                                                  
    #if 0                                                             
    fprintf(stdout, "write %d in %d: %*s\n", to_copy, block, to_copy, src );
    #endif                                                            
    memcpy( &(*block_ptr)[ 0 ], src, my_length );                     
   4d628:	2f06           	movel %d6,%sp@-                             
   4d62a:	2040           	moveal %d0,%a0                              
    my_length = 0;                                                    
    copied += to_copy;                                                
   4d62c:	d886           	addl %d6,%d4                                
    if ( !block_ptr )                                                 
      return copied;                                                  
    #if 0                                                             
    fprintf(stdout, "write %d in %d: %*s\n", to_copy, block, to_copy, src );
    #endif                                                            
    memcpy( &(*block_ptr)[ 0 ], src, my_length );                     
   4d62e:	2f03           	movel %d3,%sp@-                             
   4d630:	2f10           	movel %a0@,%sp@-                            
   4d632:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          
    my_length = 0;                                                    
    copied += to_copy;                                                
   4d638:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
                                                                      
  IMFS_mtime_ctime_update( the_jnode );                               
   4d63c:	42a7           	clrl %sp@-                                  
   4d63e:	486e fff8      	pea %fp@(-8)                                
   4d642:	4eb9 0004 315c 	jsr 4315c <gettimeofday>                    
   4d648:	222e fff8      	movel %fp@(-8),%d1                          
                                                                      
  return copied;                                                      
   4d64c:	508f           	addql #8,%sp                                
   4d64e:	2004           	movel %d4,%d0                               
    memcpy( &(*block_ptr)[ 0 ], src, my_length );                     
    my_length = 0;                                                    
    copied += to_copy;                                                
  }                                                                   
                                                                      
  IMFS_mtime_ctime_update( the_jnode );                               
   4d650:	2541 0042      	movel %d1,%a2@(66)                          
   4d654:	2541 0046      	movel %d1,%a2@(70)                          
                                                                      
  return copied;                                                      
}                                                                     
   4d658:	4cee 1cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a4            
   4d65e:	4e5e           	unlk %fp                                    
   4d660:	4e75           	rts                                         
  unsigned int         last_byte;                                     
  unsigned int         start_offset;                                  
  int                  copied;                                        
  const unsigned char *src;                                           
                                                                      
  src = source;                                                       
   4d662:	262e 0014      	movel %fp@(20),%d3                          
  /*                                                                  
   *  Phase 1: possibly the last part of one block                    
   */                                                                 
  start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK;                
  block = start / IMFS_MEMFILE_BYTES_PER_BLOCK;                       
  if ( start_offset )  {                                              
   4d666:	2c0c           	movel %a4,%d6                               
    status = IMFS_memfile_extend( the_jnode, zero_fill, last_byte );  
    if ( status )                                                     
      return status;                                                  
  }                                                                   
                                                                      
  copied = 0;                                                         
   4d668:	4284           	clrl %d4                                    
   4d66a:	6000 ff62      	braw 4d5ce <IMFS_memfile_write+0xb6>        
                                                                      
  last_byte = start + my_length;                                      
  if ( last_byte > the_jnode->info.file.size ) {                      
    bool zero_fill = start > the_jnode->info.file.size;               
                                                                      
    status = IMFS_memfile_extend( the_jnode, zero_fill, last_byte );  
   4d66e:	2f08           	movel %a0,%sp@-                             
   *  in memory file, then extend the length.                         
   */                                                                 
                                                                      
  last_byte = start + my_length;                                      
  if ( last_byte > the_jnode->info.file.size ) {                      
    bool zero_fill = start > the_jnode->info.file.size;               
   4d670:	b484           	cmpl %d4,%d2                                
   4d672:	6606           	bnes 4d67a <IMFS_memfile_write+0x162>       <== NEVER TAKEN
   4d674:	b685           	cmpl %d5,%d3                                
   4d676:	52c4           	shi %d4                                     
   4d678:	6002           	bras 4d67c <IMFS_memfile_write+0x164>       
   4d67a:	5ec4           	sgt %d4                                     <== NOT EXECUTED
                                                                      
    status = IMFS_memfile_extend( the_jnode, zero_fill, last_byte );  
   4d67c:	2f00           	movel %d0,%sp@-                             
   *  in memory file, then extend the length.                         
   */                                                                 
                                                                      
  last_byte = start + my_length;                                      
  if ( last_byte > the_jnode->info.file.size ) {                      
    bool zero_fill = start > the_jnode->info.file.size;               
   4d67e:	49c4           	extbl %d4                                   
                                                                      
    status = IMFS_memfile_extend( the_jnode, zero_fill, last_byte );  
   4d680:	4484           	negl %d4                                    
   4d682:	2f04           	movel %d4,%sp@-                             
   4d684:	2f0a           	movel %a2,%sp@-                             
   4d686:	4eb9 0004 d390 	jsr 4d390 <IMFS_memfile_extend>             
    if ( status )                                                     
   4d68c:	4fef 0010      	lea %sp@(16),%sp                            
   4d690:	4a80           	tstl %d0                                    
   4d692:	66c4           	bnes 4d658 <IMFS_memfile_write+0x140>       
   */                                                                 
                                                                      
  /*                                                                  
   *  Phase 1: possibly the last part of one block                    
   */                                                                 
  start_offset = start % IMFS_MEMFILE_BYTES_PER_BLOCK;                
   4d694:	2e39 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%d7
   4d69a:	2a07           	movel %d7,%d5                               
   4d69c:	5bc4           	smi %d4                                     
   4d69e:	49c4           	extbl %d4                                   
   4d6a0:	2f05           	movel %d5,%sp@-                             
   4d6a2:	2f04           	movel %d4,%sp@-                             
   4d6a4:	2f03           	movel %d3,%sp@-                             
   4d6a6:	2f02           	movel %d2,%sp@-                             
   4d6a8:	4eb9 0005 abfc 	jsr 5abfc <__moddi3>                        
   4d6ae:	4fef 0010      	lea %sp@(16),%sp                            
   4d6b2:	2641           	moveal %d1,%a3                              
  block = start / IMFS_MEMFILE_BYTES_PER_BLOCK;                       
   4d6b4:	2f05           	movel %d5,%sp@-                             
   4d6b6:	2f04           	movel %d4,%sp@-                             
   4d6b8:	2f03           	movel %d3,%sp@-                             
   4d6ba:	2f02           	movel %d2,%sp@-                             
   4d6bc:	4eb9 0005 a79c 	jsr 5a79c <__divdi3>                        
   4d6c2:	4fef 0010      	lea %sp@(16),%sp                            
   4d6c6:	2401           	movel %d1,%d2                               
  if ( start_offset )  {                                              
   4d6c8:	4a8b           	tstl %a3                                    
   4d6ca:	6600 feba      	bnew 4d586 <IMFS_memfile_write+0x6e>        
   4d6ce:	6092           	bras 4d662 <IMFS_memfile_write+0x14a>       
  IMFS_assert( my_length < IMFS_MEMFILE_BYTES_PER_BLOCK );            
                                                                      
  to_copy = my_length;                                                
  if ( my_length ) {                                                  
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
   4d6d0:	2004           	movel %d4,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  IMFS_mtime_ctime_update( the_jnode );                               
                                                                      
  return copied;                                                      
}                                                                     
   4d6d2:	4cee 1cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   4d6d8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4d6da:	4e75           	rts                                         <== NOT EXECUTED
    to_copy = IMFS_MEMFILE_BYTES_PER_BLOCK - start_offset;            
    if ( to_copy > my_length )                                        
      to_copy = my_length;                                            
    block_ptr = IMFS_memfile_get_block_pointer( the_jnode, block, 0 );
    if ( !block_ptr )                                                 
      return copied;                                                  
   4d6dc:	4280           	clrl %d0                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  IMFS_mtime_ctime_update( the_jnode );                               
                                                                      
  return copied;                                                      
}                                                                     
   4d6de:	4cee 1cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   4d6e4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004293c <IMFS_mknod>: const char *name, size_t namelen, mode_t mode, dev_t dev ) {
   4293c:	4e56 ffd8      	linkw %fp,#-40                              
   42940:	222e 0014      	movel %fp@(20),%d1                          
  dev_t dev,                                                          
  IMFS_jnode_types_t *type,                                           
  IMFS_types_union *info                                              
)                                                                     
{                                                                     
  if ( S_ISDIR( mode ) ) {                                            
   42944:	2001           	movel %d1,%d0                               
  const char *name,                                                   
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
   42946:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  dev_t dev,                                                          
  IMFS_jnode_types_t *type,                                           
  IMFS_types_union *info                                              
)                                                                     
{                                                                     
  if ( S_ISDIR( mode ) ) {                                            
   4294a:	0280 0000 f000 	andil #61440,%d0                            
  const char *name,                                                   
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
   42950:	246e 0008      	moveal %fp@(8),%a2                          
   42954:	242e 0018      	movel %fp@(24),%d2                          
   42958:	206e 001c      	moveal %fp@(28),%a0                         
  dev_t dev,                                                          
  IMFS_jnode_types_t *type,                                           
  IMFS_types_union *info                                              
)                                                                     
{                                                                     
  if ( S_ISDIR( mode ) ) {                                            
   4295c:	0c80 0000 4000 	cmpil #16384,%d0                            
   42962:	6700 009c      	beqw 42a00 <IMFS_mknod+0xc4>                
    *type = IMFS_DIRECTORY;                                           
  } else if ( S_ISREG( mode ) ) {                                     
   42966:	0c80 0000 8000 	cmpil #32768,%d0                            
   4296c:	6700 0096      	beqw 42a04 <IMFS_mknod+0xc8>                
    *type = IMFS_MEMORY_FILE;                                         
  } else if ( S_ISBLK( mode ) || S_ISCHR( mode ) ) {                  
   42970:	0c80 0000 6000 	cmpil #24576,%d0                            
   42976:	6774           	beqs 429ec <IMFS_mknod+0xb0>                
   42978:	0c80 0000 2000 	cmpil #8192,%d0                             
   4297e:	676c           	beqs 429ec <IMFS_mknod+0xb0>                
    rtems_filesystem_split_dev_t(                                     
      dev,                                                            
      info->device.major,                                             
      info->device.minor                                              
    );                                                                
  } else if (S_ISFIFO( mode )) {                                      
   42980:	0c80 0000 1000 	cmpil #4096,%d0                             
   42986:	6772           	beqs 429fa <IMFS_mknod+0xbe>                <== ALWAYS TAKEN
   42988:	486e ffec      	pea %fp@(-20)                               
  size_t namelen,                                                     
  mode_t mode,                                                        
  const IMFS_types_union *info                                        
)                                                                     
{                                                                     
  const IMFS_fs_info_t *fs_info =                                     
   4298c:	206a 0014      	moveal %a2@(20),%a0                         
    (const IMFS_fs_info_t *) parentloc->mt_entry->fs_info;            
                                                                      
  return IMFS_create_node_with_control(                               
   42990:	2f01           	movel %d1,%sp@-                             
   42992:	2f2e 0010      	movel %fp@(16),%sp@-                        
   42996:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4299a:	2068 0008      	moveal %a0@(8),%a0                          
   4299e:	2f30 9c08      	movel %a0@(00000008,%a1:l:4),%sp@-          
   429a2:	2f0a           	movel %a2,%sp@-                             
   429a4:	4eb9 0004 b06a 	jsr 4b06a <IMFS_create_node_with_control>   
  IMFS_jnode_t *new_node;                                             
                                                                      
  get_type_and_info_by_mode_and_dev( mode, dev, &type, &info );       
                                                                      
  new_node = IMFS_create_node( parentloc, type, name, namelen, mode, &info );
  if ( new_node != NULL ) {                                           
   429aa:	4fef 0018      	lea %sp@(24),%sp                            
   429ae:	4a80           	tstl %d0                                    
   429b0:	675a           	beqs 42a0c <IMFS_mknod+0xd0>                
    IMFS_jnode_t *parent = parentloc->node_access;                    
                                                                      
    IMFS_update_ctime( parent );                                      
   429b2:	42a7           	clrl %sp@-                                  
                                                                      
  get_type_and_info_by_mode_and_dev( mode, dev, &type, &info );       
                                                                      
  new_node = IMFS_create_node( parentloc, type, name, namelen, mode, &info );
  if ( new_node != NULL ) {                                           
    IMFS_jnode_t *parent = parentloc->node_access;                    
   429b4:	246a 0008      	moveal %a2@(8),%a2                          
                                                                      
    IMFS_update_ctime( parent );                                      
   429b8:	240e           	movel %fp,%d2                               
   429ba:	0682 ffff ffe4 	addil #-28,%d2                              
   429c0:	47f9 0004 315c 	lea 4315c <gettimeofday>,%a3                
   429c6:	2f02           	movel %d2,%sp@-                             
   429c8:	4e93           	jsr %a3@                                    
   429ca:	256e ffe4 0046 	movel %fp@(-28),%a2@(70)                    
    IMFS_update_mtime( parent );                                      
   429d0:	42a7           	clrl %sp@-                                  
   429d2:	2f02           	movel %d2,%sp@-                             
   429d4:	4e93           	jsr %a3@                                    
   429d6:	256e ffe4 0042 	movel %fp@(-28),%a2@(66)                    
   429dc:	4fef 0010      	lea %sp@(16),%sp                            
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
  int rv = 0;                                                         
   429e0:	4280           	clrl %d0                                    
  } else {                                                            
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   429e2:	4cee 0c04 ffd8 	moveml %fp@(-40),%d2/%a2-%a3                
   429e8:	4e5e           	unlk %fp                                    
   429ea:	4e75           	rts                                         
    *type = IMFS_DIRECTORY;                                           
  } else if ( S_ISREG( mode ) ) {                                     
    *type = IMFS_MEMORY_FILE;                                         
  } else if ( S_ISBLK( mode ) || S_ISCHR( mode ) ) {                  
    *type = IMFS_DEVICE;                                              
    rtems_filesystem_split_dev_t(                                     
   429ec:	2d42 ffec      	movel %d2,%fp@(-20)                         
  if ( S_ISDIR( mode ) ) {                                            
    *type = IMFS_DIRECTORY;                                           
  } else if ( S_ISREG( mode ) ) {                                     
    *type = IMFS_MEMORY_FILE;                                         
  } else if ( S_ISBLK( mode ) || S_ISCHR( mode ) ) {                  
    *type = IMFS_DEVICE;                                              
   429f0:	327c 0001      	moveaw #1,%a1                               
    rtems_filesystem_split_dev_t(                                     
   429f4:	2d48 fff0      	movel %a0,%fp@(-16)                         
   429f8:	608e           	bras 42988 <IMFS_mknod+0x4c>                
      dev,                                                            
      info->device.major,                                             
      info->device.minor                                              
    );                                                                
  } else if (S_ISFIFO( mode )) {                                      
    *type = IMFS_FIFO;                                                
   429fa:	327c 0006      	moveaw #6,%a1                               
   429fe:	6088           	bras 42988 <IMFS_mknod+0x4c>                
  IMFS_jnode_types_t *type,                                           
  IMFS_types_union *info                                              
)                                                                     
{                                                                     
  if ( S_ISDIR( mode ) ) {                                            
    *type = IMFS_DIRECTORY;                                           
   42a00:	93c9           	subal %a1,%a1                               
   42a02:	6084           	bras 42988 <IMFS_mknod+0x4c>                
  } else if ( S_ISREG( mode ) ) {                                     
    *type = IMFS_MEMORY_FILE;                                         
   42a04:	327c 0004      	moveaw #4,%a1                               
   42a08:	6000 ff7e      	braw 42988 <IMFS_mknod+0x4c>                
    IMFS_jnode_t *parent = parentloc->node_access;                    
                                                                      
    IMFS_update_ctime( parent );                                      
    IMFS_update_mtime( parent );                                      
  } else {                                                            
    rv = -1;                                                          
   42a0c:	70ff           	moveq #-1,%d0                               
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a0e:	4cee 0c04 ffd8 	moveml %fp@(-40),%d2/%a2-%a3                
   42a14:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00042a18 <IMFS_mount>: #endif #include "imfs.h" int IMFS_mount( rtems_filesystem_mount_table_entry_t *mt_entry ) {
   42a18:	4e56 0000      	linkw %fp,#0                                
   42a1c:	226e 0008      	moveal %fp@(8),%a1                          
  int rv = 0;                                                         
  IMFS_jnode_t *node = mt_entry->mt_point_node->location.node_access; 
   42a20:	2069 0020      	moveal %a1@(32),%a0                         
   42a24:	2068 0008      	moveal %a0@(8),%a0                          
#endif                                                                
                                                                      
#include "imfs.h"                                                     
                                                                      
int IMFS_mount( rtems_filesystem_mount_table_entry_t *mt_entry )      
{                                                                     
   42a28:	2f0a           	movel %a2,%sp@-                             
  int rv = 0;                                                         
  IMFS_jnode_t *node = mt_entry->mt_point_node->location.node_access; 
                                                                      
  if ( IMFS_is_directory( node ) ) {                                  
   42a2a:	2468 004a      	moveal %a0@(74),%a2                         
   42a2e:	4a92           	tstl %a2@                                   
   42a30:	662a           	bnes 42a5c <IMFS_mount+0x44>                
    if ( node->info.directory.mt_fs == NULL ) {                       
   42a32:	4aa8 005a      	tstl %a0@(90)                               
   42a36:	660e           	bnes 42a46 <IMFS_mount+0x2e>                <== NEVER TAKEN
      node->info.directory.mt_fs = mt_entry;                          
   42a38:	2149 005a      	movel %a1,%a0@(90)                          
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a3c:	246e fffc      	moveal %fp@(-4),%a2                         
                                                                      
#include "imfs.h"                                                     
                                                                      
int IMFS_mount( rtems_filesystem_mount_table_entry_t *mt_entry )      
{                                                                     
  int rv = 0;                                                         
   42a40:	4280           	clrl %d0                                    
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a42:	4e5e           	unlk %fp                                    
   42a44:	4e75           	rts                                         
                                                                      
  if ( IMFS_is_directory( node ) ) {                                  
    if ( node->info.directory.mt_fs == NULL ) {                       
      node->info.directory.mt_fs = mt_entry;                          
    } else {                                                          
      errno = EBUSY;                                                  
   42a46:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a4c:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
                                                                      
  if ( IMFS_is_directory( node ) ) {                                  
    if ( node->info.directory.mt_fs == NULL ) {                       
      node->info.directory.mt_fs = mt_entry;                          
    } else {                                                          
      errno = EBUSY;                                                  
   42a50:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   42a52:	7210           	moveq #16,%d1                               <== NOT EXECUTED
      rv = -1;                                                        
   42a54:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a56:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      
  if ( IMFS_is_directory( node ) ) {                                  
    if ( node->info.directory.mt_fs == NULL ) {                       
      node->info.directory.mt_fs = mt_entry;                          
    } else {                                                          
      errno = EBUSY;                                                  
   42a58:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a5a:	4e75           	rts                                         <== NOT EXECUTED
    } else {                                                          
      errno = EBUSY;                                                  
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = ENOTDIR;                                                  
   42a5c:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a62:	246e fffc      	moveal %fp@(-4),%a2                         
    } else {                                                          
      errno = EBUSY;                                                  
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = ENOTDIR;                                                  
   42a66:	2040           	moveal %d0,%a0                              
   42a68:	7214           	moveq #20,%d1                               
    rv = -1;                                                          
   42a6a:	70ff           	moveq #-1,%d0                               
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a6c:	4e5e           	unlk %fp                                    
    } else {                                                          
      errno = EBUSY;                                                  
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = ENOTDIR;                                                  
   42a6e:	2081           	movel %d1,%a0@                              
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
	...                                                                  
                                                                      

0004b4e6 <IMFS_node_remove_directory>: } static IMFS_jnode_t *IMFS_node_remove_directory( IMFS_jnode_t *node ) {
   4b4e6:	4e56 0000      	linkw %fp,#0                                
   4b4ea:	206e 0008      	moveal %fp@(8),%a0                          
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   4b4ee:	2008           	movel %a0,%d0                               
   4b4f0:	0680 0000 0052 	addil #82,%d0                               
  if ( !rtems_chain_is_empty( &node->info.directory.Entries ) ) {     
   4b4f6:	b0a8 004e      	cmpl %a0@(78),%d0                           
   4b4fa:	660c           	bnes 4b508 <IMFS_node_remove_directory+0x22>
    errno = ENOTEMPTY;                                                
    node = NULL;                                                      
  } else if ( IMFS_is_mount_point( node ) ) {                         
   4b4fc:	4aa8 005a      	tstl %a0@(90)                               
   4b500:	661a           	bnes 4b51c <IMFS_node_remove_directory+0x36><== NEVER TAKEN
    errno = EBUSY;                                                    
    node = NULL;                                                      
  }                                                                   
                                                                      
  return node;                                                        
}                                                                     
   4b502:	2008           	movel %a0,%d0                               
   4b504:	4e5e           	unlk %fp                                    
   4b506:	4e75           	rts                                         
static IMFS_jnode_t *IMFS_node_remove_directory(                      
  IMFS_jnode_t *node                                                  
)                                                                     
{                                                                     
  if ( !rtems_chain_is_empty( &node->info.directory.Entries ) ) {     
    errno = ENOTEMPTY;                                                
   4b508:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   4b50e:	725a           	moveq #90,%d1                               
   4b510:	2240           	moveal %d0,%a1                              
    node = NULL;                                                      
   4b512:	91c8           	subal %a0,%a0                               
    errno = EBUSY;                                                    
    node = NULL;                                                      
  }                                                                   
                                                                      
  return node;                                                        
}                                                                     
   4b514:	2008           	movel %a0,%d0                               
   4b516:	4e5e           	unlk %fp                                    
static IMFS_jnode_t *IMFS_node_remove_directory(                      
  IMFS_jnode_t *node                                                  
)                                                                     
{                                                                     
  if ( !rtems_chain_is_empty( &node->info.directory.Entries ) ) {     
    errno = ENOTEMPTY;                                                
   4b518:	2281           	movel %d1,%a1@                              
    errno = EBUSY;                                                    
    node = NULL;                                                      
  }                                                                   
                                                                      
  return node;                                                        
}                                                                     
   4b51a:	4e75           	rts                                         
{                                                                     
  if ( !rtems_chain_is_empty( &node->info.directory.Entries ) ) {     
    errno = ENOTEMPTY;                                                
    node = NULL;                                                      
  } else if ( IMFS_is_mount_point( node ) ) {                         
    errno = EBUSY;                                                    
   4b51c:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   4b522:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   4b524:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   4b526:	7010           	moveq #16,%d0                               <== NOT EXECUTED
    node = NULL;                                                      
  }                                                                   
                                                                      
  return node;                                                        
}                                                                     
   4b528:	4e5e           	unlk %fp                                    <== NOT EXECUTED
{                                                                     
  if ( !rtems_chain_is_empty( &node->info.directory.Entries ) ) {     
    errno = ENOTEMPTY;                                                
    node = NULL;                                                      
  } else if ( IMFS_is_mount_point( node ) ) {                         
    errno = EBUSY;                                                    
   4b52a:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
    node = NULL;                                                      
  }                                                                   
                                                                      
  return node;                                                        
}                                                                     
   4b52c:	2008           	movel %a0,%d0                               <== NOT EXECUTED
                                                                      

00042a74 <IMFS_node_type>: { const IMFS_jnode_t *node = loc->node_access; IMFS_jnode_types_t imfs_type = IMFS_type( node ); rtems_filesystem_node_types_t type; switch ( imfs_type ) {
   42a74:	7202           	moveq #2,%d1                                
#include "imfs.h"                                                     
                                                                      
rtems_filesystem_node_types_t IMFS_node_type(                         
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
   42a76:	4e56 0000      	linkw %fp,#0                                
   42a7a:	206e 0008      	moveal %fp@(8),%a0                          
  const IMFS_jnode_t *node = loc->node_access;                        
   42a7e:	2068 0008      	moveal %a0@(8),%a0                          
  rtems_chain_extract_unprotected( &node->Node );                     
}                                                                     
                                                                      
static inline IMFS_jnode_types_t IMFS_type( const IMFS_jnode_t *node )
{                                                                     
  return node->control->imfs_type;                                    
   42a82:	2268 004a      	moveal %a0@(74),%a1                         
   42a86:	2011           	movel %a1@,%d0                              
  IMFS_jnode_types_t imfs_type = IMFS_type( node );                   
  rtems_filesystem_node_types_t type;                                 
                                                                      
  switch ( imfs_type ) {                                              
   42a88:	b280           	cmpl %d0,%d1                                
   42a8a:	6712           	beqs 42a9e <IMFS_node_type+0x2a>            
   42a8c:	123c 0005      	moveb #5,%d1                                
   42a90:	b280           	cmpl %d0,%d1                                
   42a92:	6704           	beqs 42a98 <IMFS_node_type+0x24>            <== NEVER TAKEN
      type = imfs_type;                                               
      break;                                                          
  }                                                                   
                                                                      
  return type;                                                        
}                                                                     
   42a94:	4e5e           	unlk %fp                                    
   42a96:	4e75           	rts                                         
  switch ( imfs_type ) {                                              
    case IMFS_HARD_LINK:                                              
      type = IMFS_type( node->info.hard_link.link_node );             
      break;                                                          
    case IMFS_LINEAR_FILE:                                            
      type = RTEMS_FILESYSTEM_MEMORY_FILE;                            
   42a98:	7004           	moveq #4,%d0                                <== NOT EXECUTED
      type = imfs_type;                                               
      break;                                                          
  }                                                                   
                                                                      
  return type;                                                        
}                                                                     
   42a9a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42a9c:	4e75           	rts                                         <== NOT EXECUTED
   42a9e:	2068 004e      	moveal %a0@(78),%a0                         
   42aa2:	4e5e           	unlk %fp                                    
   42aa4:	2068 004a      	moveal %a0@(74),%a0                         
   42aa8:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
                                                                      

00042aac <IMFS_readlink>: ssize_t IMFS_readlink( const rtems_filesystem_location_info_t *loc, char *buf, size_t bufsize ) {
   42aac:	4e56 fff4      	linkw %fp,#-12                              
  IMFS_jnode_t      *node;                                            
  ssize_t            i;                                               
                                                                      
  node = loc->node_access;                                            
   42ab0:	206e 0008      	moveal %fp@(8),%a0                          
ssize_t IMFS_readlink(                                                
  const rtems_filesystem_location_info_t *loc,                        
  char *buf,                                                          
  size_t bufsize                                                      
)                                                                     
{                                                                     
   42ab4:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   42ab8:	266e 000c      	moveal %fp@(12),%a3                         
   42abc:	242e 0010      	movel %fp@(16),%d2                          
  IMFS_jnode_t      *node;                                            
  ssize_t            i;                                               
                                                                      
  node = loc->node_access;                                            
   42ac0:	2468 0008      	moveal %a0@(8),%a2                          
                                                                      
  IMFS_assert( node->control->imfs_type == IMFS_SYM_LINK );           
                                                                      
  for( i=0; ((i<bufsize) && (node->info.sym_link.name[i] != '\0')); i++ )
   42ac4:	672a           	beqs 42af0 <IMFS_readlink+0x44>             <== NEVER TAKEN
   42ac6:	206a 004e      	moveal %a2@(78),%a0                         
   42aca:	1210           	moveb %a0@,%d1                              
   42acc:	6722           	beqs 42af0 <IMFS_readlink+0x44>             <== NEVER TAKEN
   42ace:	91c8           	subal %a0,%a0                               
   42ad0:	4280           	clrl %d0                                    
   42ad2:	5280           	addql #1,%d0                                
    buf[i] = node->info.sym_link.name[i];                             
   42ad4:	1781 8800      	moveb %d1,%a3@(00000000,%a0:l)              
                                                                      
  node = loc->node_access;                                            
                                                                      
  IMFS_assert( node->control->imfs_type == IMFS_SYM_LINK );           
                                                                      
  for( i=0; ((i<bufsize) && (node->info.sym_link.name[i] != '\0')); i++ )
   42ad8:	2040           	moveal %d0,%a0                              
   42ada:	b480           	cmpl %d0,%d2                                
   42adc:	670a           	beqs 42ae8 <IMFS_readlink+0x3c>             
   42ade:	226a 004e      	moveal %a2@(78),%a1                         
   42ae2:	1231 0800      	moveb %a1@(00000000,%d0:l),%d1              
   42ae6:	66ea           	bnes 42ad2 <IMFS_readlink+0x26>             
    buf[i] = node->info.sym_link.name[i];                             
                                                                      
  return i;                                                           
}                                                                     
   42ae8:	4cd7 0c04      	moveml %sp@,%d2/%a2-%a3                     
   42aec:	4e5e           	unlk %fp                                    
   42aee:	4e75           	rts                                         
                                                                      
  node = loc->node_access;                                            
                                                                      
  IMFS_assert( node->control->imfs_type == IMFS_SYM_LINK );           
                                                                      
  for( i=0; ((i<bufsize) && (node->info.sym_link.name[i] != '\0')); i++ )
   42af0:	4280           	clrl %d0                                    <== NOT EXECUTED
    buf[i] = node->info.sym_link.name[i];                             
                                                                      
  return i;                                                           
}                                                                     
   42af2:	4cd7 0c04      	moveml %sp@,%d2/%a2-%a3                     <== NOT EXECUTED
   42af6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

00042afc <IMFS_rename>: const rtems_filesystem_location_info_t *oldloc, const rtems_filesystem_location_info_t *newparentloc, const char *name, size_t namelen ) {
   42afc:	4e56 ffe8      	linkw %fp,#-24                              
  int rv = 0;                                                         
  IMFS_jnode_t *node = oldloc->node_access;                           
   42b00:	206e 000c      	moveal %fp@(12),%a0                         
  const rtems_filesystem_location_info_t *oldloc,                     
  const rtems_filesystem_location_info_t *newparentloc,               
  const char *name,                                                   
  size_t namelen                                                      
)                                                                     
{                                                                     
   42b04:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
  int rv = 0;                                                         
  IMFS_jnode_t *node = oldloc->node_access;                           
   42b08:	2468 0008      	moveal %a0@(8),%a2                          
  IMFS_jnode_t *new_parent = newparentloc->node_access;               
   42b0c:	206e 0010      	moveal %fp@(16),%a0                         
  const rtems_filesystem_location_info_t *oldloc,                     
  const rtems_filesystem_location_info_t *newparentloc,               
  const char *name,                                                   
  size_t namelen                                                      
)                                                                     
{                                                                     
   42b10:	242e 0018      	movel %fp@(24),%d2                          
  int rv = 0;                                                         
  IMFS_jnode_t *node = oldloc->node_access;                           
  IMFS_jnode_t *new_parent = newparentloc->node_access;               
   42b14:	2668 0008      	moveal %a0@(8),%a3                          
  /*                                                                  
   * FIXME: Due to insufficient checks we can create inaccessible nodes with
   * this operation.                                                  
   */                                                                 
                                                                      
  if ( node->Parent != NULL ) {                                       
   42b18:	4aaa 0008      	tstl %a2@(8)                                
   42b1c:	677a           	beqs 42b98 <IMFS_rename+0x9c>               <== NEVER TAKEN
    if ( namelen < IMFS_NAME_MAX ) {                                  
   42b1e:	701f           	moveq #31,%d0                               
   42b20:	b082           	cmpl %d2,%d0                                
   42b22:	655c           	bcss 42b80 <IMFS_rename+0x84>               <== NEVER TAKEN
      memcpy( node->name, name, namelen );                            
   42b24:	2f02           	movel %d2,%sp@-                             
   42b26:	2f2e 0014      	movel %fp@(20),%sp@-                        
   42b2a:	486a 000c      	pea %a2@(12)                                
   42b2e:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          
      node->name [namelen] = '\0';                                    
   42b34:	4200           	clrb %d0                                    
   42b36:	1580 280c      	moveb %d0,%a2@(0000000c,%d2:l)              
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   42b3a:	226a 0004      	moveal %a2@(4),%a1                          
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   42b3e:	2852           	moveal %a2@,%a4                             
  previous       = the_node->previous;                                
  next->previous = previous;                                          
   42b40:	2949 0004      	movel %a1,%a4@(4)                           
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   42b44:	206b 0056      	moveal %a3@(86),%a0                         
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
  next->previous = previous;                                          
  previous->next = next;                                              
   42b48:	228c           	movel %a4,%a1@                              
RTEMS_INLINE_ROUTINE void _Chain_Append_unprotected(                  
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   42b4a:	43eb 0052      	lea %a3@(82),%a1                            
static inline void IMFS_add_to_directory(                             
  IMFS_jnode_t *dir,                                                  
  IMFS_jnode_t *node                                                  
)                                                                     
{                                                                     
  node->Parent = dir;                                                 
   42b4e:	254b 0008      	movel %a3,%a2@(8)                           
   42b52:	2489           	movel %a1,%a2@                              
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
   42b54:	274a 0056      	movel %a2,%a3@(86)                          
  old_last->next = the_node;                                          
   42b58:	208a           	movel %a2,%a0@                              
  the_node->previous = old_last;                                      
   42b5a:	2548 0004      	movel %a0,%a2@(4)                           
                                                                      
      IMFS_remove_from_directory( node );                             
      IMFS_add_to_directory( new_parent, node );                      
      IMFS_update_ctime( node );                                      
   42b5e:	42a7           	clrl %sp@-                                  
   42b60:	486e fff8      	pea %fp@(-8)                                
   42b64:	4eb9 0004 315c 	jsr 4315c <gettimeofday>                    
   42b6a:	256e fff8 0046 	movel %fp@(-8),%a2@(70)                     
   42b70:	4fef 0014      	lea %sp@(20),%sp                            
  const rtems_filesystem_location_info_t *newparentloc,               
  const char *name,                                                   
  size_t namelen                                                      
)                                                                     
{                                                                     
  int rv = 0;                                                         
   42b74:	4280           	clrl %d0                                    
    errno = EINVAL;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42b76:	4cee 1c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a4                
   42b7c:	4e5e           	unlk %fp                                    
   42b7e:	4e75           	rts                                         
                                                                      
      IMFS_remove_from_directory( node );                             
      IMFS_add_to_directory( new_parent, node );                      
      IMFS_update_ctime( node );                                      
    } else {                                                          
      errno = ENAMETOOLONG;                                           
   42b80:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   42b86:	745b           	moveq #91,%d2                               <== NOT EXECUTED
   42b88:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
      rv = -1;                                                        
   42b8a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
      IMFS_remove_from_directory( node );                             
      IMFS_add_to_directory( new_parent, node );                      
      IMFS_update_ctime( node );                                      
    } else {                                                          
      errno = ENAMETOOLONG;                                           
   42b8c:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
    errno = EINVAL;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42b8e:	4cee 1c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a4                <== NOT EXECUTED
   42b94:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42b96:	4e75           	rts                                         <== NOT EXECUTED
    } else {                                                          
      errno = ENAMETOOLONG;                                           
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = EINVAL;                                                   
   42b98:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   42b9e:	7216           	moveq #22,%d1                               <== NOT EXECUTED
   42ba0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    rv = -1;                                                          
   42ba2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42ba4:	4cee 1c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a4                <== NOT EXECUTED
    } else {                                                          
      errno = ENAMETOOLONG;                                           
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = EINVAL;                                                   
   42baa:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42bac:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004b428 <IMFS_stat_device>: static int IMFS_stat_device( const rtems_filesystem_location_info_t *loc, struct stat *buf ) {
   4b428:	4e56 0000      	linkw %fp,#0                                
   4b42c:	226e 0008      	moveal %fp@(8),%a1                          
   4b430:	2f0a           	movel %a2,%sp@-                             
  const IMFS_jnode_t *node = loc->node_access;                        
   4b432:	2469 0008      	moveal %a1@(8),%a2                          
                                                                      
static int IMFS_stat_device(                                          
  const rtems_filesystem_location_info_t *loc,                        
  struct stat *buf                                                    
)                                                                     
{                                                                     
   4b436:	206e 000c      	moveal %fp@(12),%a0                         
  const IMFS_jnode_t *node = loc->node_access;                        
  const IMFS_device_t *io = &node->info.device;                       
                                                                      
  buf->st_rdev = rtems_filesystem_make_dev_t( io->major, io->minor ); 
   4b43a:	202a 0052      	movel %a2@(82),%d0                          
   4b43e:	216a 004e 0016 	movel %a2@(78),%a0@(22)                     
                                                                      
  return IMFS_stat( loc, buf );                                       
}                                                                     
   4b444:	245f           	moveal %sp@+,%a2                            
   4b446:	4e5e           	unlk %fp                                    
)                                                                     
{                                                                     
  const IMFS_jnode_t *node = loc->node_access;                        
  const IMFS_device_t *io = &node->info.device;                       
                                                                      
  buf->st_rdev = rtems_filesystem_make_dev_t( io->major, io->minor ); 
   4b448:	2140 001a      	movel %d0,%a0@(26)                          
                                                                      
  return IMFS_stat( loc, buf );                                       
   4b44c:	4ef9 0004 b6a8 	jmp 4b6a8 <IMFS_stat>                       
	...                                                                  
                                                                      

0004b670 <IMFS_stat_file>: static int IMFS_stat_file( const rtems_filesystem_location_info_t *loc, struct stat *buf ) {
   4b670:	4e56 0000      	linkw %fp,#0                                
   4b674:	226e 0008      	moveal %fp@(8),%a1                          
   4b678:	2f0a           	movel %a2,%sp@-                             
  const IMFS_jnode_t *node = loc->node_access;                        
                                                                      
  buf->st_size = node->info.file.size;                                
   4b67a:	2469 0008      	moveal %a1@(8),%a2                          
                                                                      
static int IMFS_stat_file(                                            
  const rtems_filesystem_location_info_t *loc,                        
  struct stat *buf                                                    
)                                                                     
{                                                                     
   4b67e:	206e 000c      	moveal %fp@(12),%a0                         
  const IMFS_jnode_t *node = loc->node_access;                        
                                                                      
  buf->st_size = node->info.file.size;                                
   4b682:	202a 004e      	movel %a2@(78),%d0                          
   4b686:	222a 0052      	movel %a2@(82),%d1                          
  buf->st_blksize = imfs_rq_memfile_bytes_per_block;                  
   4b68a:	45f9 0005 e25c 	lea 5e25c <imfs_rq_memfile_bytes_per_block>,%a2
   4b690:	2152 003e      	movel %a2@,%a0@(62)                         
                                                                      
  return IMFS_stat( loc, buf );                                       
}                                                                     
   4b694:	245f           	moveal %sp@+,%a2                            
   4b696:	4e5e           	unlk %fp                                    
  struct stat *buf                                                    
)                                                                     
{                                                                     
  const IMFS_jnode_t *node = loc->node_access;                        
                                                                      
  buf->st_size = node->info.file.size;                                
   4b698:	2140 001e      	movel %d0,%a0@(30)                          
   4b69c:	2141 0022      	movel %d1,%a0@(34)                          
  buf->st_blksize = imfs_rq_memfile_bytes_per_block;                  
                                                                      
  return IMFS_stat( loc, buf );                                       
   4b6a0:	4ef9 0004 b6a8 	jmp 4b6a8 <IMFS_stat>                       
	...                                                                  
                                                                      

00042ca0 <IMFS_unmount>: #endif #include "imfs.h" int IMFS_unmount( rtems_filesystem_mount_table_entry_t *mt_entry ) {
   42ca0:	4e56 0000      	linkw %fp,#0                                
   42ca4:	226e 0008      	moveal %fp@(8),%a1                          
  int rv = 0;                                                         
  IMFS_jnode_t *node = mt_entry->mt_point_node->location.node_access; 
   42ca8:	2069 0020      	moveal %a1@(32),%a0                         
   42cac:	2068 0008      	moveal %a0@(8),%a0                          
#endif                                                                
                                                                      
#include "imfs.h"                                                     
                                                                      
int IMFS_unmount( rtems_filesystem_mount_table_entry_t *mt_entry )    
{                                                                     
   42cb0:	2f0a           	movel %a2,%sp@-                             
  int rv = 0;                                                         
  IMFS_jnode_t *node = mt_entry->mt_point_node->location.node_access; 
                                                                      
  if ( IMFS_is_directory( node ) ) {                                  
   42cb2:	2468 004a      	moveal %a0@(74),%a2                         
   42cb6:	4a92           	tstl %a2@                                   
   42cb8:	662a           	bnes 42ce4 <IMFS_unmount+0x44>              <== NEVER TAKEN
    if ( node->info.directory.mt_fs == mt_entry ) {                   
   42cba:	b3e8 005a      	cmpal %a0@(90),%a1                          
   42cbe:	660e           	bnes 42cce <IMFS_unmount+0x2e>              <== NEVER TAKEN
      node->info.directory.mt_fs = NULL;                              
   42cc0:	42a8 005a      	clrl %a0@(90)                               
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42cc4:	246e fffc      	moveal %fp@(-4),%a2                         
                                                                      
#include "imfs.h"                                                     
                                                                      
int IMFS_unmount( rtems_filesystem_mount_table_entry_t *mt_entry )    
{                                                                     
  int rv = 0;                                                         
   42cc8:	4280           	clrl %d0                                    
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42cca:	4e5e           	unlk %fp                                    
   42ccc:	4e75           	rts                                         
                                                                      
  if ( IMFS_is_directory( node ) ) {                                  
    if ( node->info.directory.mt_fs == mt_entry ) {                   
      node->info.directory.mt_fs = NULL;                              
    } else {                                                          
      errno = EINVAL;                                                 
   42cce:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42cd4:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
                                                                      
  if ( IMFS_is_directory( node ) ) {                                  
    if ( node->info.directory.mt_fs == mt_entry ) {                   
      node->info.directory.mt_fs = NULL;                              
    } else {                                                          
      errno = EINVAL;                                                 
   42cd8:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   42cda:	7216           	moveq #22,%d1                               <== NOT EXECUTED
      rv = -1;                                                        
   42cdc:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42cde:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      
  if ( IMFS_is_directory( node ) ) {                                  
    if ( node->info.directory.mt_fs == mt_entry ) {                   
      node->info.directory.mt_fs = NULL;                              
    } else {                                                          
      errno = EINVAL;                                                 
   42ce0:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    errno = ENOTDIR;                                                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42ce2:	4e75           	rts                                         <== NOT EXECUTED
    } else {                                                          
      errno = EINVAL;                                                 
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = ENOTDIR;                                                  
   42ce4:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42cea:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
    } else {                                                          
      errno = EINVAL;                                                 
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = ENOTDIR;                                                  
   42cee:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   42cf0:	7214           	moveq #20,%d1                               <== NOT EXECUTED
    rv = -1;                                                          
   42cf2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42cf4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    } else {                                                          
      errno = EINVAL;                                                 
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = ENOTDIR;                                                  
   42cf6:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
	...                                                                  
                                                                      

00043334 <RTEMS_Malloc_Initialize>: void RTEMS_Malloc_Initialize( const Heap_Area *areas, size_t area_count, Heap_Initialization_or_extend_handler extend ) {
   43334:	4e56 ffe8      	linkw %fp,#-24                              
   43338:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
   4333c:	282e 000c      	movel %fp@(12),%d4                          
   43340:	2a2e 0010      	movel %fp@(16),%d5                          
  Heap_Control *heap = RTEMS_Malloc_Heap;                             
   43344:	2639 0005 e21c 	movel 5e21c <RTEMS_Malloc_Heap>,%d3         
                                                                      
  if ( !rtems_configuration_get_unified_work_area() ) {               
   4334a:	4a39 0005 c605 	tstb 5c605 <Configuration+0x31>             
   43350:	6638           	bnes 4338a <RTEMS_Malloc_Initialize+0x56>   
    Heap_Initialization_or_extend_handler init_or_extend = _Heap_Initialize;
    uintptr_t page_size = CPU_HEAP_ALIGNMENT;                         
    size_t i;                                                         
                                                                      
    for (i = 0; i < area_count; ++i) {                                
   43352:	4a84           	tstl %d4                                    
   43354:	6764           	beqs 433ba <RTEMS_Malloc_Initialize+0x86>   
   43356:	246e 0008      	moveal %fp@(8),%a2                          
   4335a:	4282           	clrl %d2                                    
   4335c:	47f9 0004 86b0 	lea 486b0 <_Heap_Initialize>,%a3            
      const Heap_Area *area = &areas [i];                             
      uintptr_t space_available = (*init_or_extend)(                  
   43362:	4878 0004      	pea 4 <CONTEXT_ARG>                         
   43366:	2f2a 0004      	movel %a2@(4),%sp@-                         
   4336a:	2f12           	movel %a2@,%sp@-                            
   4336c:	2f03           	movel %d3,%sp@-                             
   4336e:	4e93           	jsr %a3@                                    
        area->begin,                                                  
        area->size,                                                   
        page_size                                                     
      );                                                              
                                                                      
      if ( space_available > 0 ) {                                    
   43370:	4fef 0010      	lea %sp@(16),%sp                            
   43374:	4a80           	tstl %d0                                    
   43376:	6702           	beqs 4337a <RTEMS_Malloc_Initialize+0x46>   <== NEVER TAKEN
        init_or_extend = extend;                                      
   43378:	2645           	moveal %d5,%a3                              
  if ( !rtems_configuration_get_unified_work_area() ) {               
    Heap_Initialization_or_extend_handler init_or_extend = _Heap_Initialize;
    uintptr_t page_size = CPU_HEAP_ALIGNMENT;                         
    size_t i;                                                         
                                                                      
    for (i = 0; i < area_count; ++i) {                                
   4337a:	5282           	addql #1,%d2                                
   4337c:	508a           	addql #8,%a2                                
   4337e:	b882           	cmpl %d2,%d4                                
   43380:	66e0           	bnes 43362 <RTEMS_Malloc_Initialize+0x2e>   <== NEVER TAKEN
      if ( space_available > 0 ) {                                    
        init_or_extend = extend;                                      
      }                                                               
    }                                                                 
                                                                      
    if ( init_or_extend == _Heap_Initialize ) {                       
   43382:	b7fc 0004 86b0 	cmpal #296624,%a3                           
   43388:	6730           	beqs 433ba <RTEMS_Malloc_Initialize+0x86>   <== NEVER TAKEN
  }                                                                   
                                                                      
  /*                                                                  
   *  If configured, initialize the statistics support                
   */                                                                 
  if ( rtems_malloc_statistics_helpers != NULL ) {                    
   4338a:	2079 0005 e8c4 	moveal 5e8c4 <rtems_malloc_statistics_helpers>,%a0
   43390:	4a88           	tstl %a0                                    
   43392:	6704           	beqs 43398 <RTEMS_Malloc_Initialize+0x64>   
    (*rtems_malloc_statistics_helpers->initialize)();                 
   43394:	2050           	moveal %a0@,%a0                             
   43396:	4e90           	jsr %a0@                                    
  }                                                                   
                                                                      
  MSBUMP( space_available, _Protected_heap_Get_size( heap ) );        
   43398:	2439 0005 f900 	movel 5f900 <rtems_malloc_statistics>,%d2   
   4339e:	2f03           	movel %d3,%sp@-                             
   433a0:	4eb9 0004 91f4 	jsr 491f4 <_Protected_heap_Get_size>        
   433a6:	588f           	addql #4,%sp                                
   433a8:	d082           	addl %d2,%d0                                
}                                                                     
   433aa:	4cee 0c3c ffe8 	moveml %fp@(-24),%d2-%d5/%a2-%a3            
   */                                                                 
  if ( rtems_malloc_statistics_helpers != NULL ) {                    
    (*rtems_malloc_statistics_helpers->initialize)();                 
  }                                                                   
                                                                      
  MSBUMP( space_available, _Protected_heap_Get_size( heap ) );        
   433b0:	23c0 0005 f900 	movel %d0,5f900 <rtems_malloc_statistics>   
}                                                                     
   433b6:	4e5e           	unlk %fp                                    
   433b8:	4e75           	rts                                         
        init_or_extend = extend;                                      
      }                                                               
    }                                                                 
                                                                      
    if ( init_or_extend == _Heap_Initialize ) {                       
      _Internal_error_Occurred(                                       
   433ba:	4878 0017      	pea 17 <OPER2+0x3>                          
   433be:	4878 0001      	pea 1 <ADD>                                 
   433c2:	42a7           	clrl %sp@-                                  
   433c4:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
	...                                                                  
                                                                      

00062bb8 <Stack_check_Dump_threads_usage>: /* * Obtain interrupt stack information */ #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE) if (the_thread == (Thread_Control *) -1) {
   62bb8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
static rtems_printk_plugin_t   print_handler;                         
                                                                      
static void Stack_check_Dump_threads_usage(                           
  Thread_Control *the_thread                                          
)                                                                     
{                                                                     
   62bba:	4e56 ffe0      	linkw %fp,#-32                              <== NOT EXECUTED
   62bbe:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 <== NOT EXECUTED
   62bc2:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Obtain interrupt stack information                              
   */                                                                 
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if (the_thread == (Thread_Control *) -1) {                        
   62bc6:	b08a           	cmpl %a2,%d0                                <== NOT EXECUTED
   62bc8:	6700 014c      	beqw 62d16 <Stack_check_Dump_threads_usage+0x15e><== NOT EXECUTED
      current = 0;                                                    
    } else                                                            
  #endif                                                              
    {                                                                 
      stack  = &the_thread->Start.Initial_stack;                      
      current = (void *)_CPU_Context_Get_SP( &the_thread->Registers );
   62bcc:	262a 00ec      	movel %a2@(236),%d3                         <== NOT EXECUTED
      the_thread = 0;                                                 
      current = 0;                                                    
    } else                                                            
  #endif                                                              
    {                                                                 
      stack  = &the_thread->Start.Initial_stack;                      
   62bd0:	47ea 00ac      	lea %a2@(172),%a3                           <== NOT EXECUTED
   62bd4:	226a 00b0      	moveal %a2@(176),%a1                        <== NOT EXECUTED
      current = (void *)_CPU_Context_Get_SP( &the_thread->Registers );
    }                                                                 
                                                                      
  low  = Stack_check_usable_stack_start(stack);                       
  size = Stack_check_usable_stack_size(stack);                        
   62bd8:	2413           	movel %a3@,%d2                              <== NOT EXECUTED
     * start at lower memory and find first word that does not        
     * match pattern                                                  
     */                                                               
                                                                      
    base += PATTERN_SIZE_WORDS;                                       
    for (ebase = base + length; base < ebase; base++)                 
   62bda:	70fc           	moveq #-4,%d0                               <== NOT EXECUTED
      stack  = &the_thread->Start.Initial_stack;                      
      current = (void *)_CPU_Context_Get_SP( &the_thread->Registers );
    }                                                                 
                                                                      
  low  = Stack_check_usable_stack_start(stack);                       
  size = Stack_check_usable_stack_size(stack);                        
   62bdc:	0682 ffff fff0 	addil #-16,%d2                              <== NOT EXECUTED
    /*                                                                
     * start at lower memory and find first word that does not        
     * match pattern                                                  
     */                                                               
                                                                      
    base += PATTERN_SIZE_WORDS;                                       
   62be2:	41e9 0020      	lea %a1@(32),%a0                            <== NOT EXECUTED
    for (ebase = base + length; base < ebase; base++)                 
   62be6:	c082           	andl %d2,%d0                                <== NOT EXECUTED
   62be8:	d088           	addl %a0,%d0                                <== NOT EXECUTED
   62bea:	b088           	cmpl %a0,%d0                                <== NOT EXECUTED
   62bec:	6300 00ae      	blsw 62c9c <Stack_check_Dump_threads_usage+0xe4><== NOT EXECUTED
      if (*base != U32_PATTERN)                                       
   62bf0:	223c a5a5 a5a5 	movel #-1515870811,%d1                      <== NOT EXECUTED
   62bf6:	b2a9 0020      	cmpl %a1@(32),%d1                           <== NOT EXECUTED
   62bfa:	6612           	bnes 62c0e <Stack_check_Dump_threads_usage+0x56><== NOT EXECUTED
     * start at lower memory and find first word that does not        
     * match pattern                                                  
     */                                                               
                                                                      
    base += PATTERN_SIZE_WORDS;                                       
    for (ebase = base + length; base < ebase; base++)                 
   62bfc:	5888           	addql #4,%a0                                <== NOT EXECUTED
   62bfe:	b1c0           	cmpal %d0,%a0                               <== NOT EXECUTED
   62c00:	6400 009a      	bccw 62c9c <Stack_check_Dump_threads_usage+0xe4><== NOT EXECUTED
      if (*base != U32_PATTERN)                                       
   62c04:	223c a5a5 a5a5 	movel #-1515870811,%d1                      <== NOT EXECUTED
   62c0a:	b290           	cmpl %a0@,%d1                               <== NOT EXECUTED
   62c0c:	67ee           	beqs 62bfc <Stack_check_Dump_threads_usage+0x44><== NOT EXECUTED
  size = Stack_check_usable_stack_size(stack);                        
                                                                      
  high_water_mark = Stack_check_find_high_water_mark(low, size);      
                                                                      
  if ( high_water_mark )                                              
    used = Stack_check_Calculate_used( low, size, high_water_mark );  
   62c0e:	49f1 2810      	lea %a1@(00000010,%d2:l),%a4                <== NOT EXECUTED
   62c12:	99c8           	subal %a0,%a4                               <== NOT EXECUTED
  else                                                                
    used = 0;                                                         
                                                                      
                                                                      
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if ( the_thread )                                                 
   62c14:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   62c16:	6700 008c      	beqw 62ca4 <Stack_check_Dump_threads_usage+0xec><== NOT EXECUTED
  #endif                                                              
    {                                                                 
      (*print_handler)(                                               
   62c1a:	486e fffb      	pea %fp@(-5)                                <== NOT EXECUTED
   62c1e:	4878 0005      	pea 5 <COMPARE>                             <== NOT EXECUTED
   62c22:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   62c26:	2a79 0009 f208 	moveal 9f208 <print_handler>,%a5            <== NOT EXECUTED
   62c2c:	4eb9 0004 e620 	jsr 4e620 <rtems_object_get_name>           <== NOT EXECUTED
   62c32:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62c34:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   62c38:	4879 0009 6a42 	pea 96a42 <RTEMS_BDPART_MBR_MASTER_TYPE+0x2a7><== NOT EXECUTED
   62c3e:	2f39 0009 f204 	movel 9f204 <print_context>,%sp@-           <== NOT EXECUTED
   62c44:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                                      
  (*print_handler)(                                                   
    print_context,                                                    
    " %010p - %010p %010p  %8" PRId32 "   ",                          
    stack->area,                                                      
    stack->area + stack->size - 1,                                    
   62c46:	206b 0004      	moveal %a3@(4),%a0                          <== NOT EXECUTED
                                                                      
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if ( the_thread )                                                 
  #endif                                                              
    {                                                                 
      (*print_handler)(                                               
   62c4a:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
      else {                                                          
        (*print_handler)( print_context, "0x%08" PRIx32 "  INTR", ~0 );
      }                                                               
    #endif                                                            
                                                                      
  (*print_handler)(                                                   
   62c4e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62c50:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
    print_context,                                                    
    " %010p - %010p %010p  %8" PRId32 "   ",                          
    stack->area,                                                      
    stack->area + stack->size - 1,                                    
   62c52:	2013           	movel %a3@,%d0                              <== NOT EXECUTED
   62c54:	5380           	subql #1,%d0                                <== NOT EXECUTED
      else {                                                          
        (*print_handler)( print_context, "0x%08" PRIx32 "  INTR", ~0 );
      }                                                               
    #endif                                                            
                                                                      
  (*print_handler)(                                                   
   62c56:	4870 0800      	pea %a0@(00000000,%d0:l)                    <== NOT EXECUTED
   62c5a:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   62c5c:	4879 0009 6a5d 	pea 96a5d <RTEMS_BDPART_MBR_MASTER_TYPE+0x2c2><== NOT EXECUTED
   62c62:	2f39 0009 f204 	movel 9f204 <print_context>,%sp@-           <== NOT EXECUTED
   62c68:	2079 0009 f208 	moveal 9f208 <print_handler>,%a0            <== NOT EXECUTED
   62c6e:	4e90           	jsr %a0@                                    <== NOT EXECUTED
    stack->area + stack->size - 1,                                    
    current,                                                          
    size                                                              
  );                                                                  
                                                                      
  if (Stack_check_Initialized == 0) {                                 
   62c70:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   62c74:	4ab9 0009 f200 	tstl 9f200 <Stack_check_Initialized>        <== NOT EXECUTED
   62c7a:	6676           	bnes 62cf2 <Stack_check_Dump_threads_usage+0x13a><== NOT EXECUTED
    (*print_handler)( print_context, "Unavailable\n" );               
   62c7c:	4879 0009 6a7b 	pea 96a7b <RTEMS_BDPART_MBR_MASTER_TYPE+0x2e0><== NOT EXECUTED
   62c82:	2f39 0009 f204 	movel 9f204 <print_context>,%sp@-           <== NOT EXECUTED
   62c88:	2079 0009 f208 	moveal 9f208 <print_handler>,%a0            <== NOT EXECUTED
   62c8e:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   62c90:	508f           	addql #8,%sp                                <== NOT EXECUTED
  } else {                                                            
    (*print_handler)( print_context, "%8" PRId32 "\n", used );        
  }                                                                   
                                                                      
                                                                      
}                                                                     
   62c92:	4cee 3c0c ffe0 	moveml %fp@(-32),%d2-%d3/%a2-%a5            <== NOT EXECUTED
   62c98:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   62c9a:	4e75           	rts                                         <== NOT EXECUTED
  high_water_mark = Stack_check_find_high_water_mark(low, size);      
                                                                      
  if ( high_water_mark )                                              
    used = Stack_check_Calculate_used( low, size, high_water_mark );  
  else                                                                
    used = 0;                                                         
   62c9c:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
                                                                      
                                                                      
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if ( the_thread )                                                 
   62c9e:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   62ca0:	6600 ff78      	bnew 62c1a <Stack_check_Dump_threads_usage+0x62><== NOT EXECUTED
        rtems_object_get_name( the_thread->Object.id, sizeof(name), name )
      );                                                              
    }                                                                 
    #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                        
      else {                                                          
        (*print_handler)( print_context, "0x%08" PRIx32 "  INTR", ~0 );
   62ca4:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   62ca8:	4879 0009 6a4f 	pea 96a4f <RTEMS_BDPART_MBR_MASTER_TYPE+0x2b4><== NOT EXECUTED
   62cae:	2f39 0009 f204 	movel 9f204 <print_context>,%sp@-           <== NOT EXECUTED
   62cb4:	2079 0009 f208 	moveal 9f208 <print_handler>,%a0            <== NOT EXECUTED
   62cba:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                                                      
  (*print_handler)(                                                   
    print_context,                                                    
    " %010p - %010p %010p  %8" PRId32 "   ",                          
    stack->area,                                                      
    stack->area + stack->size - 1,                                    
   62cbc:	206b 0004      	moveal %a3@(4),%a0                          <== NOT EXECUTED
        rtems_object_get_name( the_thread->Object.id, sizeof(name), name )
      );                                                              
    }                                                                 
    #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                        
      else {                                                          
        (*print_handler)( print_context, "0x%08" PRIx32 "  INTR", ~0 );
   62cc0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
      }                                                               
    #endif                                                            
                                                                      
  (*print_handler)(                                                   
   62cc4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62cc6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
    print_context,                                                    
    " %010p - %010p %010p  %8" PRId32 "   ",                          
    stack->area,                                                      
    stack->area + stack->size - 1,                                    
   62cc8:	2013           	movel %a3@,%d0                              <== NOT EXECUTED
   62cca:	5380           	subql #1,%d0                                <== NOT EXECUTED
      else {                                                          
        (*print_handler)( print_context, "0x%08" PRIx32 "  INTR", ~0 );
      }                                                               
    #endif                                                            
                                                                      
  (*print_handler)(                                                   
   62ccc:	4870 0800      	pea %a0@(00000000,%d0:l)                    <== NOT EXECUTED
   62cd0:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   62cd2:	4879 0009 6a5d 	pea 96a5d <RTEMS_BDPART_MBR_MASTER_TYPE+0x2c2><== NOT EXECUTED
   62cd8:	2f39 0009 f204 	movel 9f204 <print_context>,%sp@-           <== NOT EXECUTED
   62cde:	2079 0009 f208 	moveal 9f208 <print_handler>,%a0            <== NOT EXECUTED
   62ce4:	4e90           	jsr %a0@                                    <== NOT EXECUTED
    stack->area + stack->size - 1,                                    
    current,                                                          
    size                                                              
  );                                                                  
                                                                      
  if (Stack_check_Initialized == 0) {                                 
   62ce6:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   62cea:	4ab9 0009 f200 	tstl 9f200 <Stack_check_Initialized>        <== NOT EXECUTED
   62cf0:	678a           	beqs 62c7c <Stack_check_Dump_threads_usage+0xc4><== NOT EXECUTED
    (*print_handler)( print_context, "Unavailable\n" );               
  } else {                                                            
    (*print_handler)( print_context, "%8" PRId32 "\n", used );        
   62cf2:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   62cf4:	4879 0009 6a88 	pea 96a88 <RTEMS_BDPART_MBR_MASTER_TYPE+0x2ed><== NOT EXECUTED
   62cfa:	2f39 0009 f204 	movel 9f204 <print_context>,%sp@-           <== NOT EXECUTED
   62d00:	2079 0009 f208 	moveal 9f208 <print_handler>,%a0            <== NOT EXECUTED
   62d06:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   62d08:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
                                                                      
}                                                                     
   62d0c:	4cee 3c0c ffe0 	moveml %fp@(-32),%d2-%d3/%a2-%a5            <== NOT EXECUTED
   62d12:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   62d14:	4e75           	rts                                         <== NOT EXECUTED
  /*                                                                  
   *  Obtain interrupt stack information                              
   */                                                                 
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if (the_thread == (Thread_Control *) -1) {                        
      if (!Stack_check_Interrupt_stack.area)                          
   62d16:	2279 000a 014c 	moveal a014c <Stack_check_Interrupt_stack+0x4>,%a1<== NOT EXECUTED
   62d1c:	4a89           	tstl %a1                                    <== NOT EXECUTED
   62d1e:	6700 ff72      	beqw 62c92 <Stack_check_Dump_threads_usage+0xda><== NOT EXECUTED
        return;                                                       
      stack = &Stack_check_Interrupt_stack;                           
   62d22:	47f9 000a 0148 	lea a0148 <Stack_check_Interrupt_stack>,%a3 <== NOT EXECUTED
      the_thread = 0;                                                 
      current = 0;                                                    
   62d28:	4283           	clrl %d3                                    <== NOT EXECUTED
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if (the_thread == (Thread_Control *) -1) {                        
      if (!Stack_check_Interrupt_stack.area)                          
        return;                                                       
      stack = &Stack_check_Interrupt_stack;                           
      the_thread = 0;                                                 
   62d2a:	95ca           	subal %a2,%a2                               <== NOT EXECUTED
   62d2c:	6000 feaa      	braw 62bd8 <Stack_check_Dump_threads_usage+0x20><== NOT EXECUTED
                                                                      

00062e0e <Stack_check_report_blown_task>: Thread_Control *running, bool pattern_ok ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; void Stack_check_report_blown_task(Thread_Control *running, bool pattern_ok) {
   62e0e:	4e56 ffd0      	linkw %fp,#-48                              <== NOT EXECUTED
   62e12:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     <== NOT EXECUTED
  Stack_Control *stack = &running->Start.Initial_stack;               
  void          *pattern_area = Stack_check_Get_pattern(stack);       
  char           name[32];                                            
                                                                      
  printk("BLOWN STACK!!!\n");                                         
   62e16:	4879 0009 6a8e 	pea 96a8e <RTEMS_BDPART_MBR_MASTER_TYPE+0x2f3><== NOT EXECUTED
   62e1c:	47f9 0004 3cc0 	lea 43cc0 <printk>,%a3                      <== NOT EXECUTED
  Thread_Control *running,                                            
  bool pattern_ok                                                     
) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;                                 
                                                                      
void Stack_check_report_blown_task(Thread_Control *running, bool pattern_ok)
{                                                                     
   62e22:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  Stack_Control *stack = &running->Start.Initial_stack;               
  void          *pattern_area = Stack_check_Get_pattern(stack);       
   62e26:	286a 00b0      	moveal %a2@(176),%a4                        <== NOT EXECUTED
  Thread_Control *running,                                            
  bool pattern_ok                                                     
) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;                                 
                                                                      
void Stack_check_report_blown_task(Thread_Control *running, bool pattern_ok)
{                                                                     
   62e2a:	142e 000f      	moveb %fp@(15),%d2                          <== NOT EXECUTED
  Stack_Control *stack = &running->Start.Initial_stack;               
  void          *pattern_area = Stack_check_Get_pattern(stack);       
  char           name[32];                                            
                                                                      
  printk("BLOWN STACK!!!\n");                                         
   62e2e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  printk("task control block: 0x%08" PRIxPTR "\n", running);          
   62e30:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   62e32:	4879 0009 6a9e 	pea 96a9e <RTEMS_BDPART_MBR_MASTER_TYPE+0x303><== NOT EXECUTED
   62e38:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  printk("task ID: 0x%08lx\n", (unsigned long) running->Object.id);   
   62e3a:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   62e3e:	4879 0009 6abb 	pea 96abb <RTEMS_BDPART_MBR_MASTER_TYPE+0x320><== NOT EXECUTED
   62e44:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  printk(                                                             
   62e46:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   62e4a:	4879 0009 6acd 	pea 96acd <RTEMS_BDPART_MBR_MASTER_TYPE+0x332><== NOT EXECUTED
   62e50:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    "task name: 0x%08" PRIx32 "\n",                                   
    running->Object.name.name_u32                                     
  );                                                                  
  printk(                                                             
   62e52:	486e ffe0      	pea %fp@(-32)                               <== NOT EXECUTED
   62e56:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   62e5a:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   62e5e:	4eb9 0004 e620 	jsr 4e620 <rtems_object_get_name>           <== NOT EXECUTED
   62e64:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   62e68:	2e80           	movel %d0,%sp@                              <== NOT EXECUTED
   62e6a:	4879 0009 6ae1 	pea 96ae1 <RTEMS_BDPART_MBR_MASTER_TYPE+0x346><== NOT EXECUTED
   62e70:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  );                                                                  
  printk(                                                             
    "task stack area (%lu Bytes): 0x%08" PRIxPTR " .. 0x%08" PRIxPTR "\n",
    (unsigned long) stack->size,                                      
    stack->area,                                                      
    ((char *) stack->area + stack->size)                              
   62e72:	206a 00b0      	moveal %a2@(176),%a0                        <== NOT EXECUTED
   62e76:	202a 00ac      	movel %a2@(172),%d0                         <== NOT EXECUTED
  );                                                                  
  printk(                                                             
    "task name string: %s\n",                                         
    rtems_object_get_name(running->Object.id, sizeof(name), name)     
  );                                                                  
  printk(                                                             
   62e7a:	4870 0800      	pea %a0@(00000000,%d0:l)                    <== NOT EXECUTED
   62e7e:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   62e80:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62e82:	4879 0009 6af7 	pea 96af7 <RTEMS_BDPART_MBR_MASTER_TYPE+0x35c><== NOT EXECUTED
   62e88:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    "task stack area (%lu Bytes): 0x%08" PRIxPTR " .. 0x%08" PRIxPTR "\n",
    (unsigned long) stack->size,                                      
    stack->area,                                                      
    ((char *) stack->area + stack->size)                              
  );                                                                  
  if (!pattern_ok) {                                                  
   62e8a:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   62e8e:	4a02           	tstb %d2                                    <== NOT EXECUTED
   62e90:	670e           	beqs 62ea0 <Stack_check_report_blown_task+0x92><== NOT EXECUTED
          rtems_configuration_get_user_multiprocessing_table()->node  
      );                                                              
    }                                                                 
  #endif                                                              
                                                                      
  rtems_fatal(                                                        
   62e92:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   62e96:	4878 0009      	pea 9 <DIVIDE_BY_ZERO+0x1>                  <== NOT EXECUTED
   62e9a:	4eb9 0004 795c 	jsr 4795c <rtems_fatal>                     <== NOT EXECUTED
    (unsigned long) stack->size,                                      
    stack->area,                                                      
    ((char *) stack->area + stack->size)                              
  );                                                                  
  if (!pattern_ok) {                                                  
    printk(                                                           
   62ea0:	486c 0018      	pea %a4@(24)                                <== NOT EXECUTED
   62ea4:	486c 0008      	pea %a4@(8)                                 <== NOT EXECUTED
   62ea8:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   62eac:	4879 0009 6b28 	pea 96b28 <RTEMS_BDPART_MBR_MASTER_TYPE+0x38d><== NOT EXECUTED
   62eb2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   62eb4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
          rtems_configuration_get_user_multiprocessing_table()->node  
      );                                                              
    }                                                                 
  #endif                                                              
                                                                      
  rtems_fatal(                                                        
   62eb8:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   62ebc:	4878 0009      	pea 9 <DIVIDE_BY_ZERO+0x1>                  <== NOT EXECUTED
   62ec0:	4eb9 0004 795c 	jsr 4795c <rtems_fatal>                     <== NOT EXECUTED
                                                                      

0004d1fc <TOD_MICROSECONDS_TO_TICKS>: * We should ensure the ticks not be truncated by integer division. We * need to have it be greater than or equal to the requested time. It * should not be shorter. */ microseconds_per_tick = rtems_configuration_get_microseconds_per_tick(); ticks = microseconds / microseconds_per_tick;
   4d1fc:	41f9 0006 1a24 	lea 61a24 <Configuration+0xc>,%a0           
#include <rtems/score/tod.h>                                          
                                                                      
uint32_t TOD_MICROSECONDS_TO_TICKS(                                   
  uint32_t microseconds                                               
)                                                                     
{                                                                     
   4d202:	4e56 0000      	linkw %fp,#0                                
   *  We should ensure the ticks not be truncated by integer division.  We
   *  need to have it be greater than or equal to the requested time.  It
   *  should not be shorter.                                          
   */                                                                 
  microseconds_per_tick = rtems_configuration_get_microseconds_per_tick();
  ticks                 = microseconds / microseconds_per_tick;       
   4d206:	202e 0008      	movel %fp@(8),%d0                           
   4d20a:	4c50 0001      	remul %a0@,%d1,%d0                          
   4d20e:	4c50 0000      	remul %a0@,%d0,%d0                          
  if ( (microseconds % microseconds_per_tick) != 0 )                  
   4d212:	4a81           	tstl %d1                                    
   4d214:	6702           	beqs 4d218 <TOD_MICROSECONDS_TO_TICKS+0x1c> <== ALWAYS TAKEN
    ticks += 1;                                                       
   4d216:	5280           	addql #1,%d0                                <== NOT EXECUTED
                                                                      
  return ticks;                                                       
}                                                                     
   4d218:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00048cdc <TOD_MILLISECONDS_TO_TICKS>: #include <rtems/score/tod.h> uint32_t TOD_MILLISECONDS_TO_TICKS( uint32_t milliseconds ) {
   48cdc:	4e56 0000      	linkw %fp,#0                                
  /**                                                                 
   *  We should ensure the ticks not be truncated by integer division.  We
   *  need to have it be greater than or equal to the requested time.  It
   *  should not be shorter.                                          
   */                                                                 
  milliseconds_per_tick = rtems_configuration_get_milliseconds_per_tick();
   48ce0:	2039 0005 d6c4 	movel 5d6c4 <Configuration+0xc>,%d0         
#include <rtems/score/tod.h>                                          
                                                                      
uint32_t TOD_MILLISECONDS_TO_TICKS(                                   
  uint32_t milliseconds                                               
)                                                                     
{                                                                     
   48ce6:	2f02           	movel %d2,%sp@-                             
  /**                                                                 
   *  We should ensure the ticks not be truncated by integer division.  We
   *  need to have it be greater than or equal to the requested time.  It
   *  should not be shorter.                                          
   */                                                                 
  milliseconds_per_tick = rtems_configuration_get_milliseconds_per_tick();
   48ce8:	243c 0000 03e8 	movel #1000,%d2                             
   48cee:	4c42 0000      	remul %d2,%d0,%d0                           
  ticks                 = milliseconds / milliseconds_per_tick;       
   48cf2:	242e 0008      	movel %fp@(8),%d2                           
   48cf6:	4c40 2001      	remul %d0,%d1,%d2                           
   48cfa:	4c40 2002      	remul %d0,%d2,%d2                           
   48cfe:	2002           	movel %d2,%d0                               
  if ( (milliseconds % milliseconds_per_tick) != 0 )                  
   48d00:	4a81           	tstl %d1                                    
   48d02:	6702           	beqs 48d06 <TOD_MILLISECONDS_TO_TICKS+0x2a> <== ALWAYS TAKEN
    ticks += 1;                                                       
   48d04:	5280           	addql #1,%d0                                <== NOT EXECUTED
                                                                      
  return ticks;                                                       
}                                                                     
   48d06:	241f           	movel %sp@+,%d2                             
   48d08:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00047f08 <_API_Mutex_Unlock>: #include <rtems/score/apimutex.h> void _API_Mutex_Unlock( API_Mutex_Control *the_mutex ) {
   47f08:	4e56 0000      	linkw %fp,#0                                
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   47f0c:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   47f12:	5280           	addql #1,%d0                                
   47f14:	206e 0008      	moveal %fp@(8),%a0                          
    _Thread_Dispatch_disable_level = level;                           
   47f18:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
   /* Dispatch is already disabled in SMP while lock is held. */      
   #if !defined(RTEMS_SMP)                                            
     _Thread_Disable_dispatch();                                      
   #endif                                                             
    _CORE_mutex_Surrender(                                            
   47f1e:	42a7           	clrl %sp@-                                  
   47f20:	2f28 0008      	movel %a0@(8),%sp@-                         
   47f24:	4868 0010      	pea %a0@(16)                                
   47f28:	4eb9 0004 8298 	jsr 48298 <_CORE_mutex_Surrender>           
      &the_mutex->Mutex,                                              
      the_mutex->Object.id,                                           
      NULL                                                            
   );                                                                 
  _Thread_Enable_dispatch();                                          
   47f2e:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   47f32:	4e5e           	unlk %fp                                    
    _CORE_mutex_Surrender(                                            
      &the_mutex->Mutex,                                              
      the_mutex->Object.id,                                           
      NULL                                                            
   );                                                                 
  _Thread_Enable_dispatch();                                          
   47f34:	4ef9 0004 9c44 	jmp 49c44 <_Thread_Enable_dispatch>         
	...                                                                  
                                                                      

00047de2 <_API_extensions_Add_post_switch>: void _API_extensions_Add_post_switch( API_extensions_Post_switch_control *post_switch ) {
   47de2:	4e56 0000      	linkw %fp,#0                                
   47de6:	206e 0008      	moveal %fp@(8),%a0                          
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   47dea:	4a90           	tstl %a0@                                   
   47dec:	6704           	beqs 47df2 <_API_extensions_Add_post_switch+0x10>
  _Chain_Append_if_is_off_chain_unprotected(                          
    &_API_extensions_Post_switch_list,                                
    &post_switch->Node                                                
  );                                                                  
}                                                                     
   47dee:	4e5e           	unlk %fp                                    
   47df0:	4e75           	rts                                         
   47df2:	4aa8 0004      	tstl %a0@(4)                                
   47df6:	66f6           	bnes 47dee <_API_extensions_Add_post_switch+0xc><== NEVER TAKEN
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   47df8:	2279 0005 fa82 	moveal 5fa82 <_API_extensions_Post_switch_list+0x8>,%a1
   47dfe:	4e5e           	unlk %fp                                    
                                                                      
  the_node->next = tail;                                              
   47e00:	20bc 0005 fa7e 	movel #391806,%a0@                          
  tail->previous = the_node;                                          
   47e06:	23c8 0005 fa82 	movel %a0,5fa82 <_API_extensions_Post_switch_list+0x8>
  old_last->next = the_node;                                          
   47e0c:	2288           	movel %a0,%a1@                              
  the_node->previous = old_last;                                      
   47e0e:	2149 0004      	movel %a1,%a0@(4)                           
                                                                      

00047e14 <_API_extensions_Run_postdriver>: } } #endif void _API_extensions_Run_postdriver( void ) {
   47e14:	4e56 0000      	linkw %fp,#0                                
   47e18:	2f0a           	movel %a2,%sp@-                             
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   47e1a:	2479 0005 fb2a 	moveal 5fb2a <_API_extensions_List>,%a2     
  Chain_Node             *the_node;                                   
  API_extensions_Control *the_extension;                              
                                                                      
  for ( the_node = _Chain_First( &_API_extensions_List );             
   47e20:	b5fc 0005 fb2e 	cmpal #391982,%a2                           
   47e26:	6710           	beqs 47e38 <_API_extensions_Run_postdriver+0x24><== NEVER TAKEN
     *  Currently all APIs configure this hook so it is always non-NULL.
     */                                                               
#if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API)              
    if ( the_extension->postdriver_hook )                             
#endif                                                                
      (*the_extension->postdriver_hook)();                            
   47e28:	206a 0008      	moveal %a2@(8),%a0                          
   47e2c:	4e90           	jsr %a0@                                    
  Chain_Node             *the_node;                                   
  API_extensions_Control *the_extension;                              
                                                                      
  for ( the_node = _Chain_First( &_API_extensions_List );             
        !_Chain_Is_tail( &_API_extensions_List, the_node ) ;          
        the_node = the_node->next ) {                                 
   47e2e:	2452           	moveal %a2@,%a2                             
void _API_extensions_Run_postdriver( void )                           
{                                                                     
  Chain_Node             *the_node;                                   
  API_extensions_Control *the_extension;                              
                                                                      
  for ( the_node = _Chain_First( &_API_extensions_List );             
   47e30:	b5fc 0005 fb2e 	cmpal #391982,%a2                           
   47e36:	66f0           	bnes 47e28 <_API_extensions_Run_postdriver+0x14><== NEVER TAKEN
#if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API)              
    if ( the_extension->postdriver_hook )                             
#endif                                                                
      (*the_extension->postdriver_hook)();                            
  }                                                                   
}                                                                     
   47e38:	246e fffc      	moveal %fp@(-4),%a2                         
   47e3c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004f30c <_CORE_barrier_Wait>: Thread_Control *executing; ISR_Level level; executing = _Thread_Executing; executing->Wait.return_code = CORE_BARRIER_STATUS_SUCCESSFUL; _ISR_Disable( level );
   4f30c:	203c 0000 0700 	movel #1792,%d0                             
  Objects_Id                           id,                            
  bool                                 wait,                          
  Watchdog_Interval                    timeout,                       
  CORE_barrier_API_mp_support_callout  api_barrier_mp_support         
)                                                                     
{                                                                     
   4f312:	4e56 fff4      	linkw %fp,#-12                              
  Thread_Control *executing;                                          
  ISR_Level       level;                                              
                                                                      
  executing = _Thread_Executing;                                      
   4f316:	2279 0006 2092 	moveal 62092 <_Per_CPU_Information+0xe>,%a1 
  Objects_Id                           id,                            
  bool                                 wait,                          
  Watchdog_Interval                    timeout,                       
  CORE_barrier_API_mp_support_callout  api_barrier_mp_support         
)                                                                     
{                                                                     
   4f31c:	48d7 001c      	moveml %d2-%d4,%sp@                         
   4f320:	206e 0008      	moveal %fp@(8),%a0                          
  Thread_Control *executing;                                          
  ISR_Level       level;                                              
                                                                      
  executing = _Thread_Executing;                                      
  executing->Wait.return_code = CORE_BARRIER_STATUS_SUCCESSFUL;       
   4f324:	42a9 0034      	clrl %a1@(52)                               
  Objects_Id                           id,                            
  bool                                 wait,                          
  Watchdog_Interval                    timeout,                       
  CORE_barrier_API_mp_support_callout  api_barrier_mp_support         
)                                                                     
{                                                                     
   4f328:	242e 000c      	movel %fp@(12),%d2                          
   4f32c:	262e 0014      	movel %fp@(20),%d3                          
   4f330:	282e 0018      	movel %fp@(24),%d4                          
  Thread_Control *executing;                                          
  ISR_Level       level;                                              
                                                                      
  executing = _Thread_Executing;                                      
  executing->Wait.return_code = CORE_BARRIER_STATUS_SUCCESSFUL;       
  _ISR_Disable( level );                                              
   4f334:	40c1           	movew %sr,%d1                               
   4f336:	8081           	orl %d1,%d0                                 
   4f338:	46c0           	movew %d0,%sr                               
  the_barrier->number_of_waiting_threads++;                           
   4f33a:	2028 0048      	movel %a0@(72),%d0                          
   4f33e:	5280           	addql #1,%d0                                
   4f340:	2140 0048      	movel %d0,%a0@(72)                          
  if ( _CORE_barrier_Is_automatic( &the_barrier->Attributes ) ) {     
   4f344:	4aa8 0040      	tstl %a0@(64)                               
   4f348:	6606           	bnes 4f350 <_CORE_barrier_Wait+0x44>        
    if ( the_barrier->number_of_waiting_threads ==                    
   4f34a:	b0a8 0044      	cmpl %a0@(68),%d0                           
   4f34e:	672e           	beqs 4f37e <_CORE_barrier_Wait+0x72>        
   4f350:	7001           	moveq #1,%d0                                
   4f352:	2140 0030      	movel %d0,%a0@(48)                          
      return;                                                         
    }                                                                 
  }                                                                   
                                                                      
  _Thread_queue_Enter_critical_section( &the_barrier->Wait_queue );   
  executing->Wait.queue          = &the_barrier->Wait_queue;          
   4f356:	2348 0044      	movel %a0,%a1@(68)                          
  executing->Wait.id             = id;                                
   4f35a:	2342 0020      	movel %d2,%a1@(32)                          
  _ISR_Enable( level );                                               
   4f35e:	46c1           	movew %d1,%sr                               
                                                                      
  _Thread_queue_Enqueue( &the_barrier->Wait_queue, timeout );         
   4f360:	2d43 000c      	movel %d3,%fp@(12)                          
   4f364:	203c 0004 bee0 	movel #311008,%d0                           
   4f36a:	2d48 0008      	movel %a0,%fp@(8)                           
}                                                                     
   4f36e:	4cd7 001c      	moveml %sp@,%d2-%d4                         
  _Thread_queue_Enter_critical_section( &the_barrier->Wait_queue );   
  executing->Wait.queue          = &the_barrier->Wait_queue;          
  executing->Wait.id             = id;                                
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_barrier->Wait_queue, timeout );         
   4f372:	2d40 0010      	movel %d0,%fp@(16)                          
}                                                                     
   4f376:	4e5e           	unlk %fp                                    
  _Thread_queue_Enter_critical_section( &the_barrier->Wait_queue );   
  executing->Wait.queue          = &the_barrier->Wait_queue;          
  executing->Wait.id             = id;                                
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_barrier->Wait_queue, timeout );         
   4f378:	4ef9 0004 bb10 	jmp 4bb10 <_Thread_queue_Enqueue_with_handler>
  _ISR_Disable( level );                                              
  the_barrier->number_of_waiting_threads++;                           
  if ( _CORE_barrier_Is_automatic( &the_barrier->Attributes ) ) {     
    if ( the_barrier->number_of_waiting_threads ==                    
	 the_barrier->Attributes.maximum_count) {                            
      executing->Wait.return_code = CORE_BARRIER_STATUS_AUTOMATICALLY_RELEASED;
   4f37e:	7001           	moveq #1,%d0                                
   4f380:	2340 0034      	movel %d0,%a1@(52)                          
      _ISR_Enable( level );                                           
   4f384:	46c1           	movew %d1,%sr                               
      _CORE_barrier_Release( the_barrier, id, api_barrier_mp_support );
   4f386:	2d44 0010      	movel %d4,%fp@(16)                          
   4f38a:	2d42 000c      	movel %d2,%fp@(12)                          
  executing->Wait.queue          = &the_barrier->Wait_queue;          
  executing->Wait.id             = id;                                
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_barrier->Wait_queue, timeout );         
}                                                                     
   4f38e:	4cd7 001c      	moveml %sp@,%d2-%d4                         
  if ( _CORE_barrier_Is_automatic( &the_barrier->Attributes ) ) {     
    if ( the_barrier->number_of_waiting_threads ==                    
	 the_barrier->Attributes.maximum_count) {                            
      executing->Wait.return_code = CORE_BARRIER_STATUS_AUTOMATICALLY_RELEASED;
      _ISR_Enable( level );                                           
      _CORE_barrier_Release( the_barrier, id, api_barrier_mp_support );
   4f392:	2d48 0008      	movel %a0,%fp@(8)                           
  executing->Wait.queue          = &the_barrier->Wait_queue;          
  executing->Wait.id             = id;                                
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_barrier->Wait_queue, timeout );         
}                                                                     
   4f396:	4e5e           	unlk %fp                                    
  if ( _CORE_barrier_Is_automatic( &the_barrier->Attributes ) ) {     
    if ( the_barrier->number_of_waiting_threads ==                    
	 the_barrier->Attributes.maximum_count) {                            
      executing->Wait.return_code = CORE_BARRIER_STATUS_AUTOMATICALLY_RELEASED;
      _ISR_Enable( level );                                           
      _CORE_barrier_Release( the_barrier, id, api_barrier_mp_support );
   4f398:	4ef9 0004 f2d0 	jmp 4f2d0 <_CORE_barrier_Release>           
	...                                                                  
                                                                      

00058830 <_CORE_message_queue_Broadcast>: Objects_Id id __attribute__((unused)), CORE_message_queue_API_mp_support_callout api_message_queue_mp_support __attribute__((unused)), #endif uint32_t *count ) {
   58830:	4e56 ffe4      	linkw %fp,#-28                              
   58834:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
   58838:	266e 0008      	moveal %fp@(8),%a3                          
   5883c:	282e 000c      	movel %fp@(12),%d4                          
   58840:	242e 0010      	movel %fp@(16),%d2                          
  Thread_Control          *the_thread;                                
  uint32_t                 number_broadcasted;                        
  Thread_Wait_information *waitp;                                     
                                                                      
  if ( size > the_message_queue->maximum_message_size ) {             
   58844:	b4ab 004c      	cmpl %a3@(76),%d2                           
   58848:	6266           	bhis 588b0 <_CORE_message_queue_Broadcast+0x80>
   *  NOTE: This check is critical because threads can block on       
   *        send and receive and this ensures that we are broadcasting
   *        the message to threads waiting to receive -- not to send. 
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 ) {         
   5884a:	4aab 0048      	tstl %a3@(72)                               
   5884e:	664e           	bnes 5889e <_CORE_message_queue_Broadcast+0x6e>
  /*                                                                  
   *  There must be no pending messages if there is a thread waiting to
   *  receive a message.                                              
   */                                                                 
  number_broadcasted = 0;                                             
  while ((the_thread =                                                
   58850:	2f0b           	movel %a3,%sp@-                             
   58852:	49f9 0005 b554 	lea 5b554 <_Thread_queue_Dequeue>,%a4       
   *  NOTE: This check is critical because threads can block on       
   *        send and receive and this ensures that we are broadcasting
   *        the message to threads waiting to receive -- not to send. 
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 ) {         
   58858:	4283           	clrl %d3                                    
  const void *source,                                                 
  void       *destination,                                            
  size_t      size                                                    
)                                                                     
{                                                                     
  memcpy(destination, source, size);                                  
   5885a:	4bf9 0005 fe18 	lea 5fe18 <memcpy>,%a5                      
  /*                                                                  
   *  There must be no pending messages if there is a thread waiting to
   *  receive a message.                                              
   */                                                                 
  number_broadcasted = 0;                                             
  while ((the_thread =                                                
   58860:	4e94           	jsr %a4@                                    
   58862:	588f           	addql #4,%sp                                
   58864:	2440           	moveal %d0,%a2                              
   58866:	4a80           	tstl %d0                                    
   58868:	6722           	beqs 5888c <_CORE_message_queue_Broadcast+0x5c>
   5886a:	2f02           	movel %d2,%sp@-                             
          _Thread_queue_Dequeue(&the_message_queue->Wait_queue))) {   
    waitp = &the_thread->Wait;                                        
    number_broadcasted += 1;                                          
   5886c:	5283           	addql #1,%d3                                
   5886e:	2f04           	movel %d4,%sp@-                             
   58870:	2f2a 002c      	movel %a2@(44),%sp@-                        
   58874:	4e95           	jsr %a5@                                    
      buffer,                                                         
      waitp->return_argument_second.mutable_object,                   
      size                                                            
    );                                                                
                                                                      
    *(size_t *) the_thread->Wait.return_argument = size;              
   58876:	206a 0028      	moveal %a2@(40),%a0                         
   5887a:	4fef 000c      	lea %sp@(12),%sp                            
   5887e:	2082           	movel %d2,%a0@                              
  /*                                                                  
   *  There must be no pending messages if there is a thread waiting to
   *  receive a message.                                              
   */                                                                 
  number_broadcasted = 0;                                             
  while ((the_thread =                                                
   58880:	2f0b           	movel %a3,%sp@-                             
   58882:	4e94           	jsr %a4@                                    
   58884:	588f           	addql #4,%sp                                
   58886:	2440           	moveal %d0,%a2                              
   58888:	4a80           	tstl %d0                                    
   5888a:	66de           	bnes 5886a <_CORE_message_queue_Broadcast+0x3a><== NEVER TAKEN
      if ( !_Objects_Is_local_id( the_thread->Object.id ) )           
        (*api_message_queue_mp_support) ( the_thread, id );           
    #endif                                                            
                                                                      
  }                                                                   
  *count = number_broadcasted;                                        
   5888c:	206e 001c      	moveal %fp@(28),%a0                         
  return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;                        
   58890:	4280           	clrl %d0                                    
      if ( !_Objects_Is_local_id( the_thread->Object.id ) )           
        (*api_message_queue_mp_support) ( the_thread, id );           
    #endif                                                            
                                                                      
  }                                                                   
  *count = number_broadcasted;                                        
   58892:	2083           	movel %d3,%a0@                              
  return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;                        
}                                                                     
   58894:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   5889a:	4e5e           	unlk %fp                                    
   5889c:	4e75           	rts                                         
   *        send and receive and this ensures that we are broadcasting
   *        the message to threads waiting to receive -- not to send. 
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 ) {         
    *count = 0;                                                       
   5889e:	206e 001c      	moveal %fp@(28),%a0                         
    return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;                      
   588a2:	4280           	clrl %d0                                    
    #endif                                                            
                                                                      
  }                                                                   
  *count = number_broadcasted;                                        
  return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;                        
}                                                                     
   588a4:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   *        send and receive and this ensures that we are broadcasting
   *        the message to threads waiting to receive -- not to send. 
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 ) {         
    *count = 0;                                                       
   588aa:	4290           	clrl %a0@                                   
    #endif                                                            
                                                                      
  }                                                                   
  *count = number_broadcasted;                                        
  return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;                        
}                                                                     
   588ac:	4e5e           	unlk %fp                                    
   588ae:	4e75           	rts                                         
  Thread_Control          *the_thread;                                
  uint32_t                 number_broadcasted;                        
  Thread_Wait_information *waitp;                                     
                                                                      
  if ( size > the_message_queue->maximum_message_size ) {             
    return CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE;                    
   588b0:	7001           	moveq #1,%d0                                
    #endif                                                            
                                                                      
  }                                                                   
  *count = number_broadcasted;                                        
  return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;                        
}                                                                     
   588b2:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   588b8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000552f4 <_CORE_message_queue_Close>: void _CORE_message_queue_Close( CORE_message_queue_Control *the_message_queue, Thread_queue_Flush_callout remote_extract_callout, uint32_t status ) {
   552f4:	4e56 0000      	linkw %fp,#0                                
   552f8:	2f0a           	movel %a2,%sp@-                             
  /*                                                                  
   *  This will flush blocked threads whether they were blocked on    
   *  a send or receive.                                              
   */                                                                 
                                                                      
  _Thread_queue_Flush(                                                
   552fa:	2f2e 0010      	movel %fp@(16),%sp@-                        
   552fe:	2f2e 000c      	movel %fp@(12),%sp@-                        
void _CORE_message_queue_Close(                                       
  CORE_message_queue_Control *the_message_queue,                      
  Thread_queue_Flush_callout  remote_extract_callout,                 
  uint32_t                    status                                  
)                                                                     
{                                                                     
   55302:	246e 0008      	moveal %fp@(8),%a2                          
  /*                                                                  
   *  This will flush blocked threads whether they were blocked on    
   *  a send or receive.                                              
   */                                                                 
                                                                      
  _Thread_queue_Flush(                                                
   55306:	2f0a           	movel %a2,%sp@-                             
   55308:	4eb9 0005 0118 	jsr 50118 <_Thread_queue_Flush>             
   *  This removes all messages from the pending message queue.  Since
   *  we just flushed all waiting threads, we don't have to worry about
   *  the flush satisfying any blocked senders as a side-effect.      
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 )           
   5530e:	4fef 000c      	lea %sp@(12),%sp                            
   55312:	4aaa 0048      	tstl %a2@(72)                               
   55316:	6612           	bnes 5532a <_CORE_message_queue_Close+0x36> 
    (void) _CORE_message_queue_Flush_support( the_message_queue );    
                                                                      
  (void) _Workspace_Free( the_message_queue->message_buffers );       
   55318:	2d6a 005c 0008 	movel %a2@(92),%fp@(8)                      
                                                                      
}                                                                     
   5531e:	246e fffc      	moveal %fp@(-4),%a2                         
   55322:	4e5e           	unlk %fp                                    
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 )           
    (void) _CORE_message_queue_Flush_support( the_message_queue );    
                                                                      
  (void) _Workspace_Free( the_message_queue->message_buffers );       
   55324:	4ef9 0005 09ec 	jmp 509ec <_Workspace_Free>                 
   *  we just flushed all waiting threads, we don't have to worry about
   *  the flush satisfying any blocked senders as a side-effect.      
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 )           
    (void) _CORE_message_queue_Flush_support( the_message_queue );    
   5532a:	2f0a           	movel %a2,%sp@-                             
   5532c:	4eb9 0005 5348 	jsr 55348 <_CORE_message_queue_Flush_support>
                                                                      
  (void) _Workspace_Free( the_message_queue->message_buffers );       
   55332:	2d6a 005c 0008 	movel %a2@(92),%fp@(8)                      
   *  we just flushed all waiting threads, we don't have to worry about
   *  the flush satisfying any blocked senders as a side-effect.      
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 )           
    (void) _CORE_message_queue_Flush_support( the_message_queue );    
   55338:	588f           	addql #4,%sp                                
                                                                      
  (void) _Workspace_Free( the_message_queue->message_buffers );       
                                                                      
}                                                                     
   5533a:	246e fffc      	moveal %fp@(-4),%a2                         
   5533e:	4e5e           	unlk %fp                                    
   */                                                                 
                                                                      
  if ( the_message_queue->number_of_pending_messages != 0 )           
    (void) _CORE_message_queue_Flush_support( the_message_queue );    
                                                                      
  (void) _Workspace_Free( the_message_queue->message_buffers );       
   55340:	4ef9 0005 09ec 	jmp 509ec <_Workspace_Free>                 
	...                                                                  
                                                                      

000507c0 <_CORE_message_queue_Initialize>: /* * Check if allocated_message_size is aligned to uintptr-size boundary. * If not, it will increase allocated_message_size to multiplicity of pointer * size. */ if (allocated_message_size & (sizeof(uintptr_t) - 1)) {
   507c0:	7203           	moveq #3,%d1                                
  CORE_message_queue_Control    *the_message_queue,                   
  CORE_message_queue_Attributes *the_message_queue_attributes,        
  uint32_t                       maximum_pending_messages,            
  size_t                         maximum_message_size                 
)                                                                     
{                                                                     
   507c2:	4e56 ffe4      	linkw %fp,#-28                              
   507c6:	202e 0014      	movel %fp@(20),%d0                          
   507ca:	48d7 04fc      	moveml %d2-%d7/%a2,%sp@                     
   507ce:	246e 0008      	moveal %fp@(8),%a2                          
   507d2:	282e 0010      	movel %fp@(16),%d4                          
  /*                                                                  
   * Check if allocated_message_size is aligned to uintptr-size boundary.
   * If not, it will increase allocated_message_size to multiplicity of pointer
   * size.                                                            
   */                                                                 
  if (allocated_message_size & (sizeof(uintptr_t) - 1)) {             
   507d6:	c280           	andl %d0,%d1                                
)                                                                     
{                                                                     
  size_t message_buffering_required = 0;                              
  size_t allocated_message_size;                                      
                                                                      
  the_message_queue->maximum_pending_messages   = maximum_pending_messages;
   507d8:	2544 0044      	movel %d4,%a2@(68)                          
  the_message_queue->number_of_pending_messages = 0;                  
   507dc:	42aa 0048      	clrl %a2@(72)                               
  the_message_queue->maximum_message_size       = maximum_message_size;
   507e0:	2540 004c      	movel %d0,%a2@(76)                          
  /*                                                                  
   * Check if allocated_message_size is aligned to uintptr-size boundary.
   * If not, it will increase allocated_message_size to multiplicity of pointer
   * size.                                                            
   */                                                                 
  if (allocated_message_size & (sizeof(uintptr_t) - 1)) {             
   507e4:	4a81           	tstl %d1                                    
   507e6:	6718           	beqs 50800 <_CORE_message_queue_Initialize+0x40>
    allocated_message_size += sizeof(uintptr_t);                      
   507e8:	2200           	movel %d0,%d1                               
   507ea:	5881           	addql #4,%d1                                
    allocated_message_size &= ~(sizeof(uintptr_t) - 1);               
   507ec:	74fc           	moveq #-4,%d2                               
   507ee:	c282           	andl %d2,%d1                                
                                                                      
  /*                                                                  
   * Check for an overflow. It can occur while increasing allocated_message_size
   * to multiplicity of uintptr_t above.                              
   */                                                                 
  if (allocated_message_size < maximum_message_size)                  
   507f0:	b280           	cmpl %d0,%d1                                
   507f2:	640e           	bccs 50802 <_CORE_message_queue_Initialize+0x42>
    STATES_WAITING_FOR_MESSAGE,                                       
    CORE_MESSAGE_QUEUE_STATUS_TIMEOUT                                 
  );                                                                  
                                                                      
  return true;                                                        
}                                                                     
   507f4:	4cee 04fc ffe4 	moveml %fp@(-28),%d2-%d7/%a2                
  /*                                                                  
   * Check for an overflow. It can occur while increasing allocated_message_size
   * to multiplicity of uintptr_t above.                              
   */                                                                 
  if (allocated_message_size < maximum_message_size)                  
    return false;                                                     
   507fa:	4200           	clrb %d0                                    
    STATES_WAITING_FOR_MESSAGE,                                       
    CORE_MESSAGE_QUEUE_STATUS_TIMEOUT                                 
  );                                                                  
                                                                      
  return true;                                                        
}                                                                     
   507fc:	4e5e           	unlk %fp                                    
   507fe:	4e75           	rts                                         
  /*                                                                  
   * Check if allocated_message_size is aligned to uintptr-size boundary.
   * If not, it will increase allocated_message_size to multiplicity of pointer
   * size.                                                            
   */                                                                 
  if (allocated_message_size & (sizeof(uintptr_t) - 1)) {             
   50800:	2200           	movel %d0,%d1                               
                                                                      
  /*                                                                  
   *  Calculate how much total memory is required for message buffering and
   *  check for overflow on the multiplication.                       
   */                                                                 
  if ( !size_t_mult32_with_overflow(                                  
   50802:	2a01           	movel %d1,%d5                               
   50804:	0685 0000 0010 	addil #16,%d5                               
  size_t  a,                                                          
  size_t  b,                                                          
  size_t *c                                                           
)                                                                     
{                                                                     
  long long x = (long long)a*b;                                       
   5080a:	2f05           	movel %d5,%sp@-                             
                                                                      
  if ( x > SIZE_MAX )                                                 
   5080c:	4286           	clrl %d6                                    
   5080e:	7eff           	moveq #-1,%d7                               
  size_t  a,                                                          
  size_t  b,                                                          
  size_t *c                                                           
)                                                                     
{                                                                     
  long long x = (long long)a*b;                                       
   50810:	42a7           	clrl %sp@-                                  
   50812:	2f04           	movel %d4,%sp@-                             
   50814:	42a7           	clrl %sp@-                                  
   50816:	4eb9 0006 3584 	jsr 63584 <__muldi3>                        
   5081c:	4fef 0010      	lea %sp@(16),%sp                            
   50820:	2400           	movel %d0,%d2                               
   50822:	2601           	movel %d1,%d3                               
                                                                      
  if ( x > SIZE_MAX )                                                 
   50824:	9e83           	subl %d3,%d7                                
   50826:	9d82           	subxl %d2,%d6                               
   50828:	6dca           	blts 507f4 <_CORE_message_queue_Initialize+0x34>
                                                                      
  /*                                                                  
   *  Attempt to allocate the message memory                          
   */                                                                 
  the_message_queue->message_buffers = (CORE_message_queue_Buffer *)  
     _Workspace_Allocate( message_buffering_required );               
   5082a:	2f01           	movel %d1,%sp@-                             
   5082c:	4eb9 0005 3694 	jsr 53694 <_Workspace_Allocate>             
                                                                      
  if (the_message_queue->message_buffers == 0)                        
   50832:	588f           	addql #4,%sp                                
    return false;                                                     
                                                                      
  /*                                                                  
   *  Attempt to allocate the message memory                          
   */                                                                 
  the_message_queue->message_buffers = (CORE_message_queue_Buffer *)  
   50834:	2540 005c      	movel %d0,%a2@(92)                          
     _Workspace_Allocate( message_buffering_required );               
                                                                      
  if (the_message_queue->message_buffers == 0)                        
   50838:	67ba           	beqs 507f4 <_CORE_message_queue_Initialize+0x34><== NEVER TAKEN
                                                                      
  /*                                                                  
   *  Initialize the pool of inactive messages, pending messages,     
   *  and set of waiting threads.                                     
   */                                                                 
  _Chain_Initialize (                                                 
   5083a:	2f05           	movel %d5,%sp@-                             
 */                                                                   
RTEMS_INLINE_ROUTINE bool _CORE_message_queue_Is_priority(            
  CORE_message_queue_Attributes *the_attribute                        
)                                                                     
{                                                                     
  return                                                              
   5083c:	7e01           	moveq #1,%d7                                
   5083e:	2f04           	movel %d4,%sp@-                             
   50840:	2f00           	movel %d0,%sp@-                             
   50842:	486a 0060      	pea %a2@(96)                                
   50846:	4eb9 0005 0758 	jsr 50758 <_Chain_Initialize>               
    allocated_message_size + sizeof( CORE_message_queue_Buffer_control )
  );                                                                  
                                                                      
  _Chain_Initialize_empty( &the_message_queue->Pending_messages );    
                                                                      
  _Thread_queue_Initialize(                                           
   5084c:	4878 0006      	pea 6 <EXTENDSFDF>                          
   50850:	206e 000c      	moveal %fp@(12),%a0                         
   50854:	be90           	cmpl %a0@,%d7                               
   50856:	57c0           	seq %d0                                     
   50858:	4878 0080      	pea 80 <DBL_MANT_DIG+0x4b>                  
   5085c:	49c0           	extbl %d0                                   
   5085e:	4480           	negl %d0                                    
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   50860:	41ea 0054      	lea %a2@(84),%a0                            
   50864:	2f00           	movel %d0,%sp@-                             
   50866:	2548 0050      	movel %a0,%a2@(80)                          
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   5086a:	41ea 0050      	lea %a2@(80),%a0                            
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   5086e:	42aa 0054      	clrl %a2@(84)                               
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   50872:	2548 0058      	movel %a0,%a2@(88)                          
   50876:	2f0a           	movel %a2,%sp@-                             
   50878:	4eb9 0005 2e90 	jsr 52e90 <_Thread_queue_Initialize>        
   5087e:	4fef 0020      	lea %sp@(32),%sp                            
    STATES_WAITING_FOR_MESSAGE,                                       
    CORE_MESSAGE_QUEUE_STATUS_TIMEOUT                                 
  );                                                                  
                                                                      
  return true;                                                        
}                                                                     
   50882:	4cee 04fc ffe4 	moveml %fp@(-28),%d2-%d7/%a2                
       THREAD_QUEUE_DISCIPLINE_PRIORITY : THREAD_QUEUE_DISCIPLINE_FIFO,
    STATES_WAITING_FOR_MESSAGE,                                       
    CORE_MESSAGE_QUEUE_STATUS_TIMEOUT                                 
  );                                                                  
                                                                      
  return true;                                                        
   50888:	7001           	moveq #1,%d0                                
}                                                                     
   5088a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00050890 <_CORE_message_queue_Seize>: CORE_message_queue_Buffer_control *the_message; Thread_Control *executing; executing = _Thread_Executing; executing->Wait.return_code = CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL; _ISR_Disable( level );
   50890:	203c 0000 0700 	movel #1792,%d0                             
  void                            *buffer,                            
  size_t                          *size_p,                            
  bool                             wait,                              
  Watchdog_Interval                timeout                            
)                                                                     
{                                                                     
   50896:	4e56 ffe4      	linkw %fp,#-28                              
  ISR_Level                          level;                           
  CORE_message_queue_Buffer_control *the_message;                     
  Thread_Control                    *executing;                       
                                                                      
  executing = _Thread_Executing;                                      
   5089a:	2079 0006 91a6 	moveal 691a6 <_Per_CPU_Information+0xe>,%a0 
  void                            *buffer,                            
  size_t                          *size_p,                            
  bool                             wait,                              
  Watchdog_Interval                timeout                            
)                                                                     
{                                                                     
   508a0:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 
   508a4:	246e 0008      	moveal %fp@(8),%a2                          
   508a8:	282e 000c      	movel %fp@(12),%d4                          
   508ac:	242e 0010      	movel %fp@(16),%d2                          
   508b0:	226e 0014      	moveal %fp@(20),%a1                         
   508b4:	2a2e 001c      	movel %fp@(28),%d5                          
   508b8:	1c2e 001b      	moveb %fp@(27),%d6                          
  ISR_Level                          level;                           
  CORE_message_queue_Buffer_control *the_message;                     
  Thread_Control                    *executing;                       
                                                                      
  executing = _Thread_Executing;                                      
  executing->Wait.return_code = CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL; 
   508bc:	42a8 0034      	clrl %a0@(52)                               
  _ISR_Disable( level );                                              
   508c0:	40c1           	movew %sr,%d1                               
   508c2:	8081           	orl %d1,%d0                                 
   508c4:	46c0           	movew %d0,%sr                               
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   508c6:	260a           	movel %a2,%d3                               
   508c8:	200a           	movel %a2,%d0                               
   508ca:	0683 0000 0050 	addil #80,%d3                               
   508d0:	0680 0000 0054 	addil #84,%d0                               
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   508d6:	266a 0050      	moveal %a2@(80),%a3                         
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   508da:	b08b           	cmpl %a3,%d0                                
   508dc:	674a           	beqs 50928 <_CORE_message_queue_Seize+0x98> 
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
   508de:	2053           	moveal %a3@,%a0                             
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_first_unprotected(        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   508e0:	2143 0004      	movel %d3,%a0@(4)                           
  the_message = _CORE_message_queue_Get_pending_message( the_message_queue );
  if ( the_message != NULL ) {                                        
    the_message_queue->number_of_pending_messages -= 1;               
   508e4:	53aa 0048      	subql #1,%a2@(72)                           
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
                                                                      
  head->next = new_first;                                             
   508e8:	2548 0050      	movel %a0,%a2@(80)                          
    _ISR_Enable( level );                                             
   508ec:	46c1           	movew %d1,%sr                               
                                                                      
    *size_p = the_message->Contents.size;                             
   508ee:	22ab 0008      	movel %a3@(8),%a1@                          
RTEMS_INLINE_ROUTINE void _CORE_message_queue_Free_message_buffer (   
  CORE_message_queue_Control        *the_message_queue,               
  CORE_message_queue_Buffer_control *the_message                      
)                                                                     
{                                                                     
  _Chain_Append( &the_message_queue->Inactive_messages, &the_message->Node );
   508f2:	45ea 0060      	lea %a2@(96),%a2                            
    _Thread_Executing->Wait.count =                                   
   508f6:	2079 0006 91a6 	moveal 691a6 <_Per_CPU_Information+0xe>,%a0 
   508fc:	42a8 0024      	clrl %a0@(36)                               
  const void *source,                                                 
  void       *destination,                                            
  size_t      size                                                    
)                                                                     
{                                                                     
  memcpy(destination, source, size);                                  
   50900:	2f11           	movel %a1@,%sp@-                            
   50902:	486b 000c      	pea %a3@(12)                                
   50906:	2f02           	movel %d2,%sp@-                             
   50908:	4eb9 0005 76b8 	jsr 576b8 <memcpy>                          
RTEMS_INLINE_ROUTINE void _CORE_message_queue_Free_message_buffer (   
  CORE_message_queue_Control        *the_message_queue,               
  CORE_message_queue_Buffer_control *the_message                      
)                                                                     
{                                                                     
  _Chain_Append( &the_message_queue->Inactive_messages, &the_message->Node );
   5090e:	4fef 000c      	lea %sp@(12),%sp                            
   50912:	2d4a 0008      	movel %a2,%fp@(8)                           
   50916:	2d4b 000c      	movel %a3,%fp@(12)                          
  executing->Wait.return_argument = size_p;                           
  /* Wait.count will be filled in with the message priority */        
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_message_queue->Wait_queue, timeout );   
}                                                                     
   5091a:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            
   50920:	4e5e           	unlk %fp                                    
   50922:	4ef9 0005 06e4 	jmp 506e4 <_Chain_Append>                   
      return;                                                         
    }                                                                 
    #endif                                                            
  }                                                                   
                                                                      
  if ( !wait ) {                                                      
   50928:	4a06           	tstb %d6                                    
   5092a:	6612           	bnes 5093e <_CORE_message_queue_Seize+0xae> 
    _ISR_Enable( level );                                             
   5092c:	46c1           	movew %d1,%sr                               
    executing->Wait.return_code = CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT;
   5092e:	7004           	moveq #4,%d0                                
  executing->Wait.return_argument = size_p;                           
  /* Wait.count will be filled in with the message priority */        
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_message_queue->Wait_queue, timeout );   
}                                                                     
   50930:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            
    #endif                                                            
  }                                                                   
                                                                      
  if ( !wait ) {                                                      
    _ISR_Enable( level );                                             
    executing->Wait.return_code = CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT;
   50936:	2140 0034      	movel %d0,%a0@(52)                          
  executing->Wait.return_argument = size_p;                           
  /* Wait.count will be filled in with the message priority */        
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_message_queue->Wait_queue, timeout );   
}                                                                     
   5093a:	4e5e           	unlk %fp                                    
   5093c:	4e75           	rts                                         
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_queue_Enter_critical_section (      
  Thread_queue_Control *the_thread_queue                              
)                                                                     
{                                                                     
  the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;
   5093e:	7001           	moveq #1,%d0                                
   50940:	2540 0030      	movel %d0,%a2@(48)                          
  }                                                                   
                                                                      
  _Thread_queue_Enter_critical_section( &the_message_queue->Wait_queue );
  executing->Wait.queue = &the_message_queue->Wait_queue;             
  executing->Wait.id = id;                                            
  executing->Wait.return_argument_second.mutable_object = buffer;     
   50944:	2142 002c      	movel %d2,%a0@(44)                          
    executing->Wait.return_code = CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT;
    return;                                                           
  }                                                                   
                                                                      
  _Thread_queue_Enter_critical_section( &the_message_queue->Wait_queue );
  executing->Wait.queue = &the_message_queue->Wait_queue;             
   50948:	214a 0044      	movel %a2,%a0@(68)                          
  executing->Wait.id = id;                                            
   5094c:	2144 0020      	movel %d4,%a0@(32)                          
  executing->Wait.return_argument_second.mutable_object = buffer;     
  executing->Wait.return_argument = size_p;                           
   50950:	2149 0028      	movel %a1,%a0@(40)                          
  /* Wait.count will be filled in with the message priority */        
  _ISR_Enable( level );                                               
   50954:	46c1           	movew %d1,%sr                               
                                                                      
  _Thread_queue_Enqueue( &the_message_queue->Wait_queue, timeout );   
   50956:	2d45 000c      	movel %d5,%fp@(12)                          
   5095a:	203c 0005 2f90 	movel #339856,%d0                           
   50960:	2d4a 0008      	movel %a2,%fp@(8)                           
}                                                                     
   50964:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            
  executing->Wait.return_argument_second.mutable_object = buffer;     
  executing->Wait.return_argument = size_p;                           
  /* Wait.count will be filled in with the message priority */        
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_message_queue->Wait_queue, timeout );   
   5096a:	2d40 0010      	movel %d0,%fp@(16)                          
}                                                                     
   5096e:	4e5e           	unlk %fp                                    
  executing->Wait.return_argument_second.mutable_object = buffer;     
  executing->Wait.return_argument = size_p;                           
  /* Wait.count will be filled in with the message priority */        
  _ISR_Enable( level );                                               
                                                                      
  _Thread_queue_Enqueue( &the_message_queue->Wait_queue, timeout );   
   50970:	4ef9 0005 2bc0 	jmp 52bc0 <_Thread_queue_Enqueue_with_handler>
	...                                                                  
                                                                      

000481ac <_CORE_mutex_Seize>: Objects_Id _id, bool _wait, Watchdog_Interval _timeout, ISR_Level _level ) {
   481ac:	4e56 0000      	linkw %fp,#0                                
   * This routine returns true if thread dispatch indicates           
   * that we are in a critical section.                               
   */                                                                 
  RTEMS_INLINE_ROUTINE bool _Thread_Dispatch_in_critical_section(void)
  {                                                                   
     if (  _Thread_Dispatch_disable_level == 0 )                      
   481b0:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
   481b6:	2f0a           	movel %a2,%sp@-                             
   481b8:	246e 0008      	moveal %fp@(8),%a2                          
   481bc:	2f02           	movel %d2,%sp@-                             
   481be:	142e 0013      	moveb %fp@(19),%d2                          
   481c2:	4a80           	tstl %d0                                    
   481c4:	6768           	beqs 4822e <_CORE_mutex_Seize+0x82>         
  _CORE_mutex_Seize_body( _the_mutex, _id, _wait, _timeout, _level ); 
   481c6:	4a02           	tstb %d2                                    
   481c8:	6700 0098      	beqw 48262 <_CORE_mutex_Seize+0xb6>         
   481cc:	7001           	moveq #1,%d0                                
   481ce:	b0b9 0005 fb6c 	cmpl 5fb6c <_System_state_Current>,%d0      
   481d4:	6500 00b2      	bcsw 48288 <_CORE_mutex_Seize+0xdc>         
   481d8:	486e 0018      	pea %fp@(24)                                
   481dc:	2f0a           	movel %a2,%sp@-                             
   481de:	4eb9 0004 c5ac 	jsr 4c5ac <_CORE_mutex_Seize_interrupt_trylock>
   481e4:	508f           	addql #8,%sp                                
   481e6:	4a80           	tstl %d0                                    
   481e8:	6738           	beqs 48222 <_CORE_mutex_Seize+0x76>         <== ALWAYS TAKEN
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_queue_Enter_critical_section (      
  Thread_queue_Control *the_thread_queue                              
)                                                                     
{                                                                     
  the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;
   481ea:	7001           	moveq #1,%d0                                
   481ec:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
   481f2:	2540 0030      	movel %d0,%a2@(48)                          
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   481f6:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   481fc:	5280           	addql #1,%d0                                
   481fe:	216e 000c 0020 	movel %fp@(12),%a0@(32)                     
   48204:	214a 0044      	movel %a2,%a0@(68)                          
    _Thread_Dispatch_disable_level = level;                           
   48208:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
   4820e:	202e 0018      	movel %fp@(24),%d0                          
   48212:	46c0           	movew %d0,%sr                               
   48214:	2f2e 0014      	movel %fp@(20),%sp@-                        
   48218:	2f0a           	movel %a2,%sp@-                             
   4821a:	4eb9 0004 8114 	jsr 48114 <_CORE_mutex_Seize_interrupt_blocking>
   48220:	508f           	addql #8,%sp                                
}                                                                     
   48222:	242e fff8      	movel %fp@(-8),%d2                          
   48226:	246e fffc      	moveal %fp@(-4),%a2                         
   4822a:	4e5e           	unlk %fp                                    
   4822c:	4e75           	rts                                         
  bool                 _wait,                                         
  Watchdog_Interval    _timeout,                                      
  ISR_Level            _level                                         
)                                                                     
{                                                                     
  _CORE_mutex_Seize_body( _the_mutex, _id, _wait, _timeout, _level ); 
   4822e:	486e 0018      	pea %fp@(24)                                
   48232:	2f0a           	movel %a2,%sp@-                             
   48234:	4eb9 0004 c5ac 	jsr 4c5ac <_CORE_mutex_Seize_interrupt_trylock>
   4823a:	508f           	addql #8,%sp                                
   4823c:	4a80           	tstl %d0                                    
   4823e:	67e2           	beqs 48222 <_CORE_mutex_Seize+0x76>         
   48240:	4a02           	tstb %d2                                    
   48242:	66a6           	bnes 481ea <_CORE_mutex_Seize+0x3e>         
   48244:	202e 0018      	movel %fp@(24),%d0                          
   48248:	46c0           	movew %d0,%sr                               
   4824a:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
   48250:	7001           	moveq #1,%d0                                
   48252:	2140 0034      	movel %d0,%a0@(52)                          
}                                                                     
   48256:	242e fff8      	movel %fp@(-8),%d2                          
   4825a:	246e fffc      	moveal %fp@(-4),%a2                         
   4825e:	4e5e           	unlk %fp                                    
   48260:	4e75           	rts                                         
  bool                 _wait,                                         
  Watchdog_Interval    _timeout,                                      
  ISR_Level            _level                                         
)                                                                     
{                                                                     
  _CORE_mutex_Seize_body( _the_mutex, _id, _wait, _timeout, _level ); 
   48262:	486e 0018      	pea %fp@(24)                                
   48266:	2f0a           	movel %a2,%sp@-                             
   48268:	4eb9 0004 c5ac 	jsr 4c5ac <_CORE_mutex_Seize_interrupt_trylock>
   4826e:	508f           	addql #8,%sp                                
   48270:	4a80           	tstl %d0                                    
   48272:	67ae           	beqs 48222 <_CORE_mutex_Seize+0x76>         <== ALWAYS TAKEN
   48274:	202e 0018      	movel %fp@(24),%d0                          <== NOT EXECUTED
   48278:	46c0           	movew %d0,%sr                               <== NOT EXECUTED
   4827a:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 <== NOT EXECUTED
   48280:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   48282:	2140 0034      	movel %d0,%a0@(52)                          <== NOT EXECUTED
   48286:	60ce           	bras 48256 <_CORE_mutex_Seize+0xaa>         <== NOT EXECUTED
   48288:	4878 0012      	pea 12 <INVALID_OPERATION+0x2>              
   4828c:	42a7           	clrl %sp@-                                  
   4828e:	42a7           	clrl %sp@-                                  
   48290:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
	...                                                                  
                                                                      

000483ec <_CORE_semaphore_Surrender>: CORE_semaphore_Status _CORE_semaphore_Surrender( CORE_semaphore_Control *the_semaphore, Objects_Id id, CORE_semaphore_API_mp_support_callout api_semaphore_mp_support ) {
   483ec:	4e56 0000      	linkw %fp,#0                                
   483f0:	2f0a           	movel %a2,%sp@-                             
   483f2:	246e 0008      	moveal %fp@(8),%a2                          
  ISR_Level       level;                                              
  CORE_semaphore_Status status;                                       
                                                                      
  status = CORE_SEMAPHORE_STATUS_SUCCESSFUL;                          
                                                                      
  if ( (the_thread = _Thread_queue_Dequeue(&the_semaphore->Wait_queue)) ) {
   483f6:	2f0a           	movel %a2,%sp@-                             
   483f8:	4eb9 0004 9fb0 	jsr 49fb0 <_Thread_queue_Dequeue>           
   483fe:	588f           	addql #4,%sp                                
   48400:	4a80           	tstl %d0                                    
   48402:	670a           	beqs 4840e <_CORE_semaphore_Surrender+0x22> 
        status = CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED;               
    _ISR_Enable( level );                                             
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   48404:	246e fffc      	moveal %fp@(-4),%a2                         
{                                                                     
  Thread_Control *the_thread;                                         
  ISR_Level       level;                                              
  CORE_semaphore_Status status;                                       
                                                                      
  status = CORE_SEMAPHORE_STATUS_SUCCESSFUL;                          
   48408:	4280           	clrl %d0                                    
        status = CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED;               
    _ISR_Enable( level );                                             
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   4840a:	4e5e           	unlk %fp                                    
   4840c:	4e75           	rts                                         
    if ( !_Objects_Is_local_id( the_thread->Object.id ) )             
      (*api_semaphore_mp_support) ( the_thread, id );                 
#endif                                                                
                                                                      
  } else {                                                            
    _ISR_Disable( level );                                            
   4840e:	303c 0700      	movew #1792,%d0                             
   48412:	40c1           	movew %sr,%d1                               
   48414:	8081           	orl %d1,%d0                                 
   48416:	46c0           	movew %d0,%sr                               
      if ( the_semaphore->count < the_semaphore->Attributes.maximum_count )
   48418:	202a 0048      	movel %a2@(72),%d0                          
   4841c:	b0aa 0040      	cmpl %a2@(64),%d0                           
   48420:	6412           	bccs 48434 <_CORE_semaphore_Surrender+0x48> <== NEVER TAKEN
        the_semaphore->count += 1;                                    
   48422:	5280           	addql #1,%d0                                
   48424:	2540 0048      	movel %d0,%a2@(72)                          
{                                                                     
  Thread_Control *the_thread;                                         
  ISR_Level       level;                                              
  CORE_semaphore_Status status;                                       
                                                                      
  status = CORE_SEMAPHORE_STATUS_SUCCESSFUL;                          
   48428:	4280           	clrl %d0                                    
    _ISR_Disable( level );                                            
      if ( the_semaphore->count < the_semaphore->Attributes.maximum_count )
        the_semaphore->count += 1;                                    
      else                                                            
        status = CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED;               
    _ISR_Enable( level );                                             
   4842a:	46c1           	movew %d1,%sr                               
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   4842c:	246e fffc      	moveal %fp@(-4),%a2                         
   48430:	4e5e           	unlk %fp                                    
   48432:	4e75           	rts                                         
  } else {                                                            
    _ISR_Disable( level );                                            
      if ( the_semaphore->count < the_semaphore->Attributes.maximum_count )
        the_semaphore->count += 1;                                    
      else                                                            
        status = CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED;               
   48434:	7004           	moveq #4,%d0                                <== NOT EXECUTED
    _ISR_Enable( level );                                             
   48436:	46c1           	movew %d1,%sr                               <== NOT EXECUTED
   48438:	60f2           	bras 4842c <_CORE_semaphore_Surrender+0x40> <== NOT EXECUTED
	...                                                                  
                                                                      

00047fb0 <_Chain_Initialize>: Chain_Control *the_chain, void *starting_address, size_t number_nodes, size_t node_size ) {
   47fb0:	4e56 ffec      	linkw %fp,#-20                              
   47fb4:	202e 0010      	movel %fp@(16),%d0                          
   47fb8:	48d7 043c      	moveml %d2-%d5/%a2,%sp@                     
   47fbc:	246e 0008      	moveal %fp@(8),%a2                          
  Chain_Node *current = head;                                         
  Chain_Node *next = starting_address;                                
                                                                      
  head->previous = NULL;                                              
                                                                      
  while ( count-- ) {                                                 
   47fc0:	2600           	movel %d0,%d3                               
  size_t         node_size                                            
)                                                                     
{                                                                     
  size_t count = number_nodes;                                        
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   47fc2:	280a           	movel %a2,%d4                               
   47fc4:	5884           	addql #4,%d4                                
  Chain_Node *current = head;                                         
  Chain_Node *next = starting_address;                                
                                                                      
  head->previous = NULL;                                              
                                                                      
  while ( count-- ) {                                                 
   47fc6:	5383           	subql #1,%d3                                
  Chain_Control *the_chain,                                           
  void           *starting_address,                                   
  size_t         number_nodes,                                        
  size_t         node_size                                            
)                                                                     
{                                                                     
   47fc8:	242e 000c      	movel %fp@(12),%d2                          
   47fcc:	222e 0014      	movel %fp@(20),%d1                          
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *current = head;                                         
  Chain_Node *next = starting_address;                                
                                                                      
  head->previous = NULL;                                              
   47fd0:	42aa 0004      	clrl %a2@(4)                                
                                                                      
  while ( count-- ) {                                                 
   47fd4:	4a80           	tstl %d0                                    
   47fd6:	672e           	beqs 48006 <_Chain_Initialize+0x56>         <== NEVER TAKEN
   47fd8:	2003           	movel %d3,%d0                               
   47fda:	2042           	moveal %d2,%a0                              
   47fdc:	224a           	moveal %a2,%a1                              
    current->next  = next;                                            
   47fde:	2288           	movel %a0,%a1@                              
  Chain_Node *current = head;                                         
  Chain_Node *next = starting_address;                                
                                                                      
  head->previous = NULL;                                              
                                                                      
  while ( count-- ) {                                                 
   47fe0:	5380           	subql #1,%d0                                
   47fe2:	7aff           	moveq #-1,%d5                               
    current->next  = next;                                            
    next->previous = current;                                         
   47fe4:	2149 0004      	movel %a1,%a0@(4)                           
   47fe8:	2248           	moveal %a0,%a1                              
    current        = next;                                            
    next           = (Chain_Node *)                                   
   47fea:	d1c1           	addal %d1,%a0                               
  Chain_Node *current = head;                                         
  Chain_Node *next = starting_address;                                
                                                                      
  head->previous = NULL;                                              
                                                                      
  while ( count-- ) {                                                 
   47fec:	ba80           	cmpl %d0,%d5                                
   47fee:	66ee           	bnes 47fde <_Chain_Initialize+0x2e>         
#include <rtems/system.h>                                             
#include <rtems/score/address.h>                                      
#include <rtems/score/chain.h>                                        
#include <rtems/score/isr.h>                                          
                                                                      
void _Chain_Initialize(                                               
   47ff0:	4c03 1800      	mulsl %d3,%d1                               
   47ff4:	2042           	moveal %d2,%a0                              
   47ff6:	d1c1           	addal %d1,%a0                               
    current        = next;                                            
    next           = (Chain_Node *)                                   
                        _Addresses_Add_offset( (void *) next, node_size );
  }                                                                   
                                                                      
  current->next = tail;                                               
   47ff8:	2084           	movel %d4,%a0@                              
  tail->previous = current;                                           
   47ffa:	2548 0008      	movel %a0,%a2@(8)                           
}                                                                     
   47ffe:	4cd7 043c      	moveml %sp@,%d2-%d5/%a2                     
   48002:	4e5e           	unlk %fp                                    
   48004:	4e75           	rts                                         
)                                                                     
{                                                                     
  size_t count = number_nodes;                                        
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *current = head;                                         
   48006:	204a           	moveal %a2,%a0                              <== NOT EXECUTED
    current        = next;                                            
    next           = (Chain_Node *)                                   
                        _Addresses_Add_offset( (void *) next, node_size );
  }                                                                   
                                                                      
  current->next = tail;                                               
   48008:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
  tail->previous = current;                                           
   4800a:	2548 0008      	movel %a0,%a2@(8)                           <== NOT EXECUTED
}                                                                     
   4800e:	4cd7 043c      	moveml %sp@,%d2-%d5/%a2                     <== NOT EXECUTED
   48012:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

00046fa8 <_Event_Surrender>: rtems_event_set seized_events; rtems_option option_set; option_set = the_thread->Wait.option; _ISR_Disable( level );
   46fa8:	223c 0000 0700 	movel #1792,%d1                             
  rtems_event_set                   event_in,                         
  Event_Control                    *event,                            
  Thread_blocking_operation_States *sync_state,                       
  States_Control                    wait_state                        
)                                                                     
{                                                                     
   46fae:	4e56 ffe4      	linkw %fp,#-28                              
   46fb2:	202e 000c      	movel %fp@(12),%d0                          
   46fb6:	48d7 04fc      	moveml %d2-%d7/%a2,%sp@                     
   46fba:	246e 0008      	moveal %fp@(8),%a2                          
   46fbe:	206e 0010      	moveal %fp@(16),%a0                         
  rtems_event_set pending_events;                                     
  rtems_event_set event_condition;                                    
  rtems_event_set seized_events;                                      
  rtems_option    option_set;                                         
                                                                      
  option_set = the_thread->Wait.option;                               
   46fc2:	2a2a 0030      	movel %a2@(48),%d5                          
  rtems_event_set                   event_in,                         
  Event_Control                    *event,                            
  Thread_blocking_operation_States *sync_state,                       
  States_Control                    wait_state                        
)                                                                     
{                                                                     
   46fc6:	226e 0014      	moveal %fp@(20),%a1                         
   46fca:	282e 0018      	movel %fp@(24),%d4                          
  rtems_event_set seized_events;                                      
  rtems_option    option_set;                                         
                                                                      
  option_set = the_thread->Wait.option;                               
                                                                      
  _ISR_Disable( level );                                              
   46fce:	40c3           	movew %sr,%d3                               
   46fd0:	8283           	orl %d3,%d1                                 
   46fd2:	46c1           	movew %d1,%sr                               
RTEMS_INLINE_ROUTINE void _Event_sets_Post(                           
  rtems_event_set  the_new_events,                                    
  rtems_event_set *the_event_set                                      
)                                                                     
{                                                                     
  *the_event_set |= the_new_events;                                   
   46fd4:	8090           	orl %a0@,%d0                                
   46fd6:	2080           	movel %d0,%a0@                              
  _Event_sets_Post( event_in, &event->pending_events );               
  pending_events  = event->pending_events;                            
  event_condition = the_thread->Wait.count;                           
   46fd8:	242a 0024      	movel %a2@(36),%d2                          
RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Get(                 
  rtems_event_set the_event_set,                                      
  rtems_event_set the_event_condition                                 
)                                                                     
{                                                                     
   return ( the_event_set & the_event_condition );                    
   46fdc:	2200           	movel %d0,%d1                               
   46fde:	c282           	andl %d2,%d1                                
  seized_events = _Event_sets_Get( pending_events, event_condition ); 
                                                                      
  /*                                                                  
   *  No events were seized in this operation                         
   */                                                                 
  if ( _Event_sets_Is_empty( seized_events ) ) {                      
   46fe0:	6700 0090      	beqw 47072 <_Event_Surrender+0xca>          
                                                                      
  /*                                                                  
   *  If we are in an ISR and sending to the current thread, then     
   *  we have a critical section issue to deal with.                  
   */                                                                 
  if ( _ISR_Is_in_progress() &&                                       
   46fe4:	4ab9 0005 fb78 	tstl 5fb78 <_Per_CPU_Information+0x8>       
   46fea:	6708           	beqs 46ff4 <_Event_Surrender+0x4c>          
   46fec:	b5f9 0005 fb7e 	cmpal 5fb7e <_Per_CPU_Information+0xe>,%a2  
   46ff2:	6754           	beqs 47048 <_Event_Surrender+0xa0>          <== NEVER TAKEN
RTEMS_INLINE_ROUTINE bool _States_Are_set (                           
  States_Control the_states,                                          
  States_Control mask                                                 
)                                                                     
{                                                                     
   return ( (the_states & mask) != STATES_READY);                     
   46ff4:	c8aa 0010      	andl %a2@(16),%d4                           
  }                                                                   
                                                                      
  /*                                                                  
   *  Otherwise, this is a normal send to another thread              
   */                                                                 
  if ( _States_Are_set( the_thread->current_state, wait_state ) ) {   
   46ff8:	6778           	beqs 47072 <_Event_Surrender+0xca>          
    if ( seized_events == event_condition || _Options_Is_any( option_set ) ) {
   46ffa:	b282           	cmpl %d2,%d1                                
   46ffc:	6706           	beqs 47004 <_Event_Surrender+0x5c>          
   46ffe:	0805 0001      	btst #1,%d5                                 
   47002:	676e           	beqs 47072 <_Event_Surrender+0xca>          <== NEVER TAKEN
RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Clear(               
 rtems_event_set the_event_set,                                       
 rtems_event_set the_mask                                             
)                                                                     
{                                                                     
   return ( the_event_set & ~(the_mask) );                            
   47004:	2401           	movel %d1,%d2                               
   47006:	4682           	notl %d2                                    
   47008:	c480           	andl %d0,%d2                                
   4700a:	2082           	movel %d2,%a0@                              
      event->pending_events = _Event_sets_Clear(                      
        pending_events,                                               
        seized_events                                                 
      );                                                              
      the_thread->Wait.count = 0;                                     
      *(rtems_event_set *)the_thread->Wait.return_argument = seized_events;
   4700c:	206a 0028      	moveal %a2@(40),%a0                         
    if ( seized_events == event_condition || _Options_Is_any( option_set ) ) {
      event->pending_events = _Event_sets_Clear(                      
        pending_events,                                               
        seized_events                                                 
      );                                                              
      the_thread->Wait.count = 0;                                     
   47010:	42aa 0024      	clrl %a2@(36)                               
      *(rtems_event_set *)the_thread->Wait.return_argument = seized_events;
   47014:	2081           	movel %d1,%a0@                              
                                                                      
      _ISR_Flash( level );                                            
   47016:	203c 0000 0700 	movel #1792,%d0                             
   4701c:	46c3           	movew %d3,%sr                               
   4701e:	8083           	orl %d3,%d0                                 
   47020:	46c0           	movew %d0,%sr                               
                                                                      
      if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {             
   47022:	7002           	moveq #2,%d0                                
   47024:	b0aa 0050      	cmpl %a2@(80),%d0                           
   47028:	6754           	beqs 4707e <_Event_Surrender+0xd6>          
        _ISR_Enable( level );                                         
   4702a:	46c3           	movew %d3,%sr                               
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_Unblock (                           
  Thread_Control *the_thread                                          
)                                                                     
{                                                                     
  _Thread_Clear_state( the_thread, STATES_BLOCKED );                  
   4702c:	2d4a 0008      	movel %a2,%fp@(8)                           
   47030:	2e3c 1007 fff8 	movel #268959736,%d7                        
   47036:	2d47 000c      	movel %d7,%fp@(12)                          
      }                                                               
      return;                                                         
    }                                                                 
  }                                                                   
  _ISR_Enable( level );                                               
}                                                                     
   4703a:	4cee 04fc ffe4 	moveml %fp@(-28),%d2-%d7/%a2                
   47040:	4e5e           	unlk %fp                                    
   47042:	4ef9 0004 9844 	jmp 49844 <_Thread_Clear_state>             
   *  If we are in an ISR and sending to the current thread, then     
   *  we have a critical section issue to deal with.                  
   */                                                                 
  if ( _ISR_Is_in_progress() &&                                       
       _Thread_Is_executing( the_thread ) &&                          
       ((*sync_state == THREAD_BLOCKING_OPERATION_TIMEOUT) ||         
   47048:	2c11           	movel %a1@,%d6                              
  /*                                                                  
   *  If we are in an ISR and sending to the current thread, then     
   *  we have a critical section issue to deal with.                  
   */                                                                 
  if ( _ISR_Is_in_progress() &&                                       
       _Thread_Is_executing( the_thread ) &&                          
   4704a:	7e01           	moveq #1,%d7                                
       ((*sync_state == THREAD_BLOCKING_OPERATION_TIMEOUT) ||         
   4704c:	5386           	subql #1,%d6                                
  /*                                                                  
   *  If we are in an ISR and sending to the current thread, then     
   *  we have a critical section issue to deal with.                  
   */                                                                 
  if ( _ISR_Is_in_progress() &&                                       
       _Thread_Is_executing( the_thread ) &&                          
   4704e:	be86           	cmpl %d6,%d7                                
   47050:	65a2           	bcss 46ff4 <_Event_Surrender+0x4c>          <== NEVER TAKEN
       ((*sync_state == THREAD_BLOCKING_OPERATION_TIMEOUT) ||         
        (*sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED)) ) {
    if ( seized_events == event_condition || _Options_Is_any(option_set) ) {
   47052:	b282           	cmpl %d2,%d1                                
   47054:	6706           	beqs 4705c <_Event_Surrender+0xb4>          
   47056:	0805 0001      	btst #1,%d5                                 
   4705a:	6716           	beqs 47072 <_Event_Surrender+0xca>          <== NEVER TAKEN
   4705c:	2401           	movel %d1,%d2                               
   4705e:	4682           	notl %d2                                    
   47060:	c480           	andl %d0,%d2                                
        pending_events,                                               
        seized_events                                                 
      );                                                              
      the_thread->Wait.count = 0;                                     
      *(rtems_event_set *)the_thread->Wait.return_argument = seized_events;
      *sync_state = THREAD_BLOCKING_OPERATION_SATISFIED;              
   47062:	7003           	moveq #3,%d0                                
   47064:	2082           	movel %d2,%a0@                              
      event->pending_events = _Event_sets_Clear(                      
        pending_events,                                               
        seized_events                                                 
      );                                                              
      the_thread->Wait.count = 0;                                     
      *(rtems_event_set *)the_thread->Wait.return_argument = seized_events;
   47066:	206a 0028      	moveal %a2@(40),%a0                         
    if ( seized_events == event_condition || _Options_Is_any(option_set) ) {
      event->pending_events = _Event_sets_Clear(                      
        pending_events,                                               
        seized_events                                                 
      );                                                              
      the_thread->Wait.count = 0;                                     
   4706a:	42aa 0024      	clrl %a2@(36)                               
      *(rtems_event_set *)the_thread->Wait.return_argument = seized_events;
   4706e:	2081           	movel %d1,%a0@                              
      *sync_state = THREAD_BLOCKING_OPERATION_SATISFIED;              
   47070:	2280           	movel %d0,%a1@                              
        _Thread_Unblock( the_thread );                                
      }                                                               
      return;                                                         
    }                                                                 
  }                                                                   
  _ISR_Enable( level );                                               
   47072:	46c3           	movew %d3,%sr                               
}                                                                     
   47074:	4cee 04fc ffe4 	moveml %fp@(-28),%d2-%d7/%a2                
   4707a:	4e5e           	unlk %fp                                    
   4707c:	4e75           	rts                                         
RTEMS_INLINE_ROUTINE void _Watchdog_Deactivate(                       
  Watchdog_Control *the_watchdog                                      
)                                                                     
{                                                                     
                                                                      
  the_watchdog->state = WATCHDOG_REMOVE_IT;                           
   4707e:	7003           	moveq #3,%d0                                
   47080:	2540 0050      	movel %d0,%a2@(80)                          
      if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {             
        _ISR_Enable( level );                                         
        _Thread_Unblock( the_thread );                                
      } else {                                                        
        _Watchdog_Deactivate( &the_thread->Timer );                   
        _ISR_Enable( level );                                         
   47084:	46c3           	movew %d3,%sr                               
        (void) _Watchdog_Remove( &the_thread->Timer );                
   47086:	486a 0048      	pea %a2@(72)                                
   4708a:	2e3c 1007 fff8 	movel #268959736,%d7                        
   47090:	4eb9 0004 a9d4 	jsr 4a9d4 <_Watchdog_Remove>                
   47096:	588f           	addql #4,%sp                                
   47098:	2d47 000c      	movel %d7,%fp@(12)                          
   4709c:	2d4a 0008      	movel %a2,%fp@(8)                           
      }                                                               
      return;                                                         
    }                                                                 
  }                                                                   
  _ISR_Enable( level );                                               
}                                                                     
   470a0:	4cee 04fc ffe4 	moveml %fp@(-28),%d2-%d7/%a2                
   470a6:	4e5e           	unlk %fp                                    
   470a8:	4ef9 0004 9844 	jmp 49844 <_Thread_Clear_state>             
	...                                                                  
                                                                      

000470b0 <_Event_Timeout>: void _Event_Timeout( Objects_Id id, void *arg ) {
   470b0:	4e56 fffc      	linkw %fp,#-4                               
   470b4:	2f02           	movel %d2,%sp@-                             
  ISR_Level                         level;                            
  Thread_blocking_operation_States *sync_state;                       
                                                                      
  sync_state = arg;                                                   
                                                                      
  the_thread = _Thread_Get( id, &location );                          
   470b6:	486e fffc      	pea %fp@(-4)                                
   470ba:	2f2e 0008      	movel %fp@(8),%sp@-                         
   470be:	4eb9 0004 9c64 	jsr 49c64 <_Thread_Get>                     
  switch ( location ) {                                               
   470c4:	508f           	addql #8,%sp                                
   470c6:	4aae fffc      	tstl %fp@(-4)                               
   470ca:	6642           	bnes 4710e <_Event_Timeout+0x5e>            <== NEVER TAKEN
       *                                                              
       *  If it is not satisfied, then it is "nothing happened" and   
       *  this is the "timeout" transition.  After a request is satisfied,
       *  a timeout is not allowed to occur.                          
       */                                                             
      _ISR_Disable( level );                                          
   470cc:	223c 0000 0700 	movel #1792,%d1                             
   470d2:	40c2           	movew %sr,%d2                               
   470d4:	8282           	orl %d2,%d1                                 
   470d6:	46c1           	movew %d1,%sr                               
            _ISR_Enable( level );                                     
            return;                                                   
          }                                                           
        #endif                                                        
                                                                      
        the_thread->Wait.count = 0;                                   
   470d8:	2040           	moveal %d0,%a0                              
   470da:	42a8 0024      	clrl %a0@(36)                               
        if ( _Thread_Is_executing( the_thread ) ) {                   
   470de:	b0b9 0005 fb7e 	cmpl 5fb7e <_Per_CPU_Information+0xe>,%d0   
   470e4:	6730           	beqs 47116 <_Event_Timeout+0x66>            
          if ( *sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED )
            *sync_state = THREAD_BLOCKING_OPERATION_TIMEOUT;          
        }                                                             
                                                                      
        the_thread->Wait.return_code = RTEMS_TIMEOUT;                 
   470e6:	7206           	moveq #6,%d1                                
   470e8:	2040           	moveal %d0,%a0                              
   470ea:	2141 0034      	movel %d1,%a0@(52)                          
      _ISR_Enable( level );                                           
   470ee:	46c2           	movew %d2,%sr                               
   470f0:	2f3c 1007 fff8 	movel #268959736,%sp@-                      
   470f6:	2f00           	movel %d0,%sp@-                             
   470f8:	4eb9 0004 9844 	jsr 49844 <_Thread_Clear_state>             
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
                                                                      
    --level;                                                          
    _Thread_Dispatch_disable_level = level;                           
   470fe:	508f           	addql #8,%sp                                
   *                                                                  
   * This routine decrements the thread dispatch level.               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   47100:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    --level;                                                          
   47106:	5380           	subql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   47108:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
    case OBJECTS_REMOTE:  /* impossible */                            
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
}                                                                     
   4710e:	242e fff8      	movel %fp@(-8),%d2                          
   47112:	4e5e           	unlk %fp                                    
   47114:	4e75           	rts                                         
          }                                                           
        #endif                                                        
                                                                      
        the_thread->Wait.count = 0;                                   
        if ( _Thread_Is_executing( the_thread ) ) {                   
          if ( *sync_state == THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED )
   47116:	206e 000c      	moveal %fp@(12),%a0                         
   4711a:	7201           	moveq #1,%d1                                
   4711c:	b290           	cmpl %a0@,%d1                               
   4711e:	66c6           	bnes 470e6 <_Event_Timeout+0x36>            
            *sync_state = THREAD_BLOCKING_OPERATION_TIMEOUT;          
   47120:	7202           	moveq #2,%d1                                
   47122:	2081           	movel %d1,%a0@                              
        }                                                             
                                                                      
        the_thread->Wait.return_code = RTEMS_TIMEOUT;                 
   47124:	7206           	moveq #6,%d1                                
   47126:	2040           	moveal %d0,%a0                              
   47128:	2141 0034      	movel %d1,%a0@(52)                          
      _ISR_Enable( level );                                           
   4712c:	46c2           	movew %d2,%sr                               
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_Unblock (                           
  Thread_Control *the_thread                                          
)                                                                     
{                                                                     
  _Thread_Clear_state( the_thread, STATES_BLOCKED );                  
   4712e:	2f3c 1007 fff8 	movel #268959736,%sp@-                      
   47134:	2f00           	movel %d0,%sp@-                             
   47136:	4eb9 0004 9844 	jsr 49844 <_Thread_Clear_state>             
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
                                                                      
    --level;                                                          
    _Thread_Dispatch_disable_level = level;                           
   4713c:	508f           	addql #8,%sp                                
   *                                                                  
   * This routine decrements the thread dispatch level.               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   4713e:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    --level;                                                          
   47144:	5380           	subql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   47146:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
   4714c:	60c0           	bras 4710e <_Event_Timeout+0x5e>            
	...                                                                  
                                                                      

0004c6b0 <_Heap_Allocate_aligned_with_boundary>: Heap_Control *heap, uintptr_t alloc_size, uintptr_t alignment, uintptr_t boundary ) {
   4c6b0:	4e56 ffc4      	linkw %fp,#-60                              
   4c6b4:	226e 000c      	moveal %fp@(12),%a1                         
   4c6b8:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4c6bc:	246e 0008      	moveal %fp@(8),%a2                          
  Heap_Statistics *const stats = &heap->stats;                        
  uintptr_t const block_size_floor = alloc_size + HEAP_BLOCK_HEADER_SIZE
   4c6c0:	2c09           	movel %a1,%d6                               
   4c6c2:	5886           	addql #4,%d6                                
    - HEAP_ALLOC_BONUS;                                               
  uintptr_t const page_size = heap->page_size;                        
   4c6c4:	202a 0010      	movel %a2@(16),%d0                          
  Heap_Control *heap,                                                 
  uintptr_t alloc_size,                                               
  uintptr_t alignment,                                                
  uintptr_t boundary                                                  
)                                                                     
{                                                                     
   4c6c8:	262e 0010      	movel %fp@(16),%d3                          
   4c6cc:	2a2e 0014      	movel %fp@(20),%d5                          
  Heap_Statistics *const stats = &heap->stats;                        
  uintptr_t const block_size_floor = alloc_size + HEAP_BLOCK_HEADER_SIZE
    - HEAP_ALLOC_BONUS;                                               
  uintptr_t const page_size = heap->page_size;                        
   4c6d0:	2d40 fffc      	movel %d0,%fp@(-4)                          
  Heap_Block *block = NULL;                                           
  uintptr_t alloc_begin = 0;                                          
  uint32_t search_count = 0;                                          
  bool search_again = false;                                          
                                                                      
  if ( block_size_floor < alloc_size ) {                              
   4c6d4:	bc89           	cmpl %a1,%d6                                
   4c6d6:	6500 0164      	bcsw 4c83c <_Heap_Allocate_aligned_with_boundary+0x18c>
    /* Integer overflow occured */                                    
    return NULL;                                                      
  }                                                                   
                                                                      
  if ( boundary != 0 ) {                                              
   4c6da:	4a85           	tstl %d5                                    
   4c6dc:	670c           	beqs 4c6ea <_Heap_Allocate_aligned_with_boundary+0x3a>
    if ( boundary < alloc_size ) {                                    
   4c6de:	ba89           	cmpl %a1,%d5                                
   4c6e0:	6500 015a      	bcsw 4c83c <_Heap_Allocate_aligned_with_boundary+0x18c>
      return NULL;                                                    
    }                                                                 
                                                                      
    if ( alignment == 0 ) {                                           
   4c6e4:	4a83           	tstl %d3                                    
   4c6e6:	6602           	bnes 4c6ea <_Heap_Allocate_aligned_with_boundary+0x3a>
      alignment = page_size;                                          
   4c6e8:	2600           	movel %d0,%d3                               
  return &heap->free_list;                                            
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
{                                                                     
  return _Heap_Free_list_head(heap)->next;                            
   4c6ea:	206a 0008      	moveal %a2@(8),%a0                          
                                                                      
  do {                                                                
    Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );  
                                                                      
    block = _Heap_Free_list_first( heap );                            
    while ( block != free_list_tail ) {                               
   4c6ee:	4284           	clrl %d4                                    
   4c6f0:	b1ca           	cmpal %a2,%a0                               
   4c6f2:	6732           	beqs 4c726 <_Heap_Allocate_aligned_with_boundary+0x76>
  uintptr_t const block_begin = (uintptr_t) block;                    
  uintptr_t const block_size = _Heap_Block_size( block );             
  uintptr_t const block_end = block_begin + block_size;               
                                                                      
  uintptr_t const alloc_begin_floor = _Heap_Alloc_area_of_block( block );
  uintptr_t const alloc_begin_ceiling = block_end - min_block_size    
   4c6f4:	222e fffc      	movel %fp@(-4),%d1                          
    + HEAP_BLOCK_HEADER_SIZE + page_size - 1;                         
                                                                      
  uintptr_t alloc_end = block_end + HEAP_ALLOC_BONUS;                 
   4c6f8:	7404           	moveq #4,%d2                                
  uintptr_t const block_begin = (uintptr_t) block;                    
  uintptr_t const block_size = _Heap_Block_size( block );             
  uintptr_t const block_end = block_begin + block_size;               
                                                                      
  uintptr_t const alloc_begin_floor = _Heap_Alloc_area_of_block( block );
  uintptr_t const alloc_begin_ceiling = block_end - min_block_size    
   4c6fa:	5e81           	addql #7,%d1                                
    + HEAP_BLOCK_HEADER_SIZE + page_size - 1;                         
                                                                      
  uintptr_t alloc_end = block_end + HEAP_ALLOC_BONUS;                 
   4c6fc:	9489           	subl %a1,%d2                                
  uintptr_t const block_begin = (uintptr_t) block;                    
  uintptr_t const block_size = _Heap_Block_size( block );             
  uintptr_t const block_end = block_begin + block_size;               
                                                                      
  uintptr_t const alloc_begin_floor = _Heap_Alloc_area_of_block( block );
  uintptr_t const alloc_begin_ceiling = block_end - min_block_size    
   4c6fe:	2d41 fff8      	movel %d1,%fp@(-8)                          
    + HEAP_BLOCK_HEADER_SIZE + page_size - 1;                         
                                                                      
  uintptr_t alloc_end = block_end + HEAP_ALLOC_BONUS;                 
   4c702:	2d42 fff4      	movel %d2,%fp@(-12)                         
      /*                                                              
       * The HEAP_PREV_BLOCK_USED flag is always set in the block size_and_flag
       * field.  Thus the value is about one unit larger than the real block
       * size.  The greater than operator takes this into account.    
       */                                                             
      if ( block->size_and_flag > block_size_floor ) {                
   4c706:	2028 0004      	movel %a0@(4),%d0                           
   4c70a:	b086           	cmpl %d6,%d0                                
   4c70c:	632e           	blss 4c73c <_Heap_Allocate_aligned_with_boundary+0x8c>
        if ( alignment == 0 ) {                                       
   4c70e:	4a83           	tstl %d3                                    
   4c710:	6636           	bnes 4c748 <_Heap_Allocate_aligned_with_boundary+0x98>
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Alloc_area_of_block(             
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block + HEAP_BLOCK_HEADER_SIZE;                  
   4c712:	2408           	movel %a0,%d2                               
   4c714:	5082           	addql #8,%d2                                
          );                                                          
        }                                                             
      }                                                               
                                                                      
      /* Statistics */                                                
      ++search_count;                                                 
   4c716:	5284           	addql #1,%d4                                
                                                                      
      if ( alloc_begin != 0 ) {                                       
   4c718:	4a82           	tstl %d2                                    
   4c71a:	6600 00f4      	bnew 4c810 <_Heap_Allocate_aligned_with_boundary+0x160>
        break;                                                        
      }                                                               
                                                                      
      block = block->next;                                            
   4c71e:	2068 0008      	moveal %a0@(8),%a0                          
                                                                      
  do {                                                                
    Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );  
                                                                      
    block = _Heap_Free_list_first( heap );                            
    while ( block != free_list_tail ) {                               
   4c722:	b1ca           	cmpal %a2,%a0                               
   4c724:	66e0           	bnes 4c706 <_Heap_Allocate_aligned_with_boundary+0x56>
          );                                                          
        }                                                             
      }                                                               
                                                                      
      /* Statistics */                                                
      ++search_count;                                                 
   4c726:	4280           	clrl %d0                                    
      boundary                                                        
    );                                                                
  }                                                                   
                                                                      
  /* Statistics */                                                    
  if ( stats->max_search < search_count ) {                           
   4c728:	b8aa 0044      	cmpl %a2@(68),%d4                           
   4c72c:	6304           	blss 4c732 <_Heap_Allocate_aligned_with_boundary+0x82>
    stats->max_search = search_count;                                 
   4c72e:	2544 0044      	movel %d4,%a2@(68)                          
  }                                                                   
                                                                      
  return (void *) alloc_begin;                                        
}                                                                     
   4c732:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            
   4c738:	4e5e           	unlk %fp                                    
   4c73a:	4e75           	rts                                         
                                                                      
      if ( alloc_begin != 0 ) {                                       
        break;                                                        
      }                                                               
                                                                      
      block = block->next;                                            
   4c73c:	2068 0008      	moveal %a0@(8),%a0                          
          );                                                          
        }                                                             
      }                                                               
                                                                      
      /* Statistics */                                                
      ++search_count;                                                 
   4c740:	5284           	addql #1,%d4                                
                                                                      
  do {                                                                
    Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );  
                                                                      
    block = _Heap_Free_list_first( heap );                            
    while ( block != free_list_tail ) {                               
   4c742:	b1ca           	cmpal %a2,%a0                               
   4c744:	66c0           	bnes 4c706 <_Heap_Allocate_aligned_with_boundary+0x56>
   4c746:	60de           	bras 4c726 <_Heap_Allocate_aligned_with_boundary+0x76>
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   4c748:	7efe           	moveq #-2,%d7                               
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Alloc_area_of_block(             
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block + HEAP_BLOCK_HEADER_SIZE;                  
   4c74a:	49e8 0008      	lea %a0@(8),%a4                             
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   4c74e:	c087           	andl %d7,%d0                                
  if ( stats->max_search < search_count ) {                           
    stats->max_search = search_count;                                 
  }                                                                   
                                                                      
  return (void *) alloc_begin;                                        
}                                                                     
   4c750:	266a 0014      	moveal %a2@(20),%a3                         
  uintptr_t const page_size = heap->page_size;                        
  uintptr_t const min_block_size = heap->min_block_size;              
                                                                      
  uintptr_t const block_begin = (uintptr_t) block;                    
  uintptr_t const block_size = _Heap_Block_size( block );             
  uintptr_t const block_end = block_begin + block_size;               
   4c754:	d088           	addl %a0,%d0                                
                                                                      
  uintptr_t const alloc_begin_floor = _Heap_Alloc_area_of_block( block );
  uintptr_t const alloc_begin_ceiling = block_end - min_block_size    
    + HEAP_BLOCK_HEADER_SIZE + page_size - 1;                         
   4c756:	222e fff8      	movel %fp@(-8),%d1                          
   4c75a:	928b           	subl %a3,%d1                                
                                                                      
  uintptr_t alloc_end = block_end + HEAP_ALLOC_BONUS;                 
  uintptr_t alloc_begin = alloc_end - alloc_size;                     
   4c75c:	242e fff4      	movel %fp@(-12),%d2                         
   4c760:	d480           	addl %d0,%d2                                
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_down(                      
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return value - (value % alignment);                                 
   4c762:	2e02           	movel %d2,%d7                               
  uintptr_t const block_begin = (uintptr_t) block;                    
  uintptr_t const block_size = _Heap_Block_size( block );             
  uintptr_t const block_end = block_begin + block_size;               
                                                                      
  uintptr_t const alloc_begin_floor = _Heap_Alloc_area_of_block( block );
  uintptr_t const alloc_begin_ceiling = block_end - min_block_size    
   4c764:	d081           	addl %d1,%d0                                
   4c766:	4c43 7001      	remul %d3,%d1,%d7                           
   4c76a:	9481           	subl %d1,%d2                                
  uintptr_t alloc_begin = alloc_end - alloc_size;                     
                                                                      
  alloc_begin = _Heap_Align_down( alloc_begin, alignment );           
                                                                      
  /* Ensure that the we have a valid new block at the end */          
  if ( alloc_begin > alloc_begin_ceiling ) {                          
   4c76c:	b480           	cmpl %d0,%d2                                
   4c76e:	630a           	blss 4c77a <_Heap_Allocate_aligned_with_boundary+0xca>
   4c770:	2400           	movel %d0,%d2                               
   4c772:	4c43 2001      	remul %d3,%d1,%d2                           
   4c776:	2400           	movel %d0,%d2                               
   4c778:	9481           	subl %d1,%d2                                
  }                                                                   
                                                                      
  alloc_end = alloc_begin + alloc_size;                               
                                                                      
  /* Ensure boundary constaint */                                     
  if ( boundary != 0 ) {                                              
   4c77a:	4a85           	tstl %d5                                    
   4c77c:	6766           	beqs 4c7e4 <_Heap_Allocate_aligned_with_boundary+0x134>
  /* Ensure that the we have a valid new block at the end */          
  if ( alloc_begin > alloc_begin_ceiling ) {                          
    alloc_begin = _Heap_Align_down( alloc_begin_ceiling, alignment ); 
  }                                                                   
                                                                      
  alloc_end = alloc_begin + alloc_size;                               
   4c77e:	2202           	movel %d2,%d1                               
   4c780:	d289           	addl %a1,%d1                                
                                                                      
  /* Ensure boundary constaint */                                     
  if ( boundary != 0 ) {                                              
    uintptr_t const boundary_floor = alloc_begin_floor + alloc_size;  
   4c782:	4bf4 9800      	lea %a4@(00000000,%a1:l),%a5                
   4c786:	2001           	movel %d1,%d0                               
   4c788:	4c45 0007      	remul %d5,%d7,%d0                           
   4c78c:	2d4d ffec      	movel %a5,%fp@(-20)                         
   4c790:	2a41           	moveal %d1,%a5                              
   4c792:	9bc7           	subal %d7,%a5                               
    uintptr_t boundary_line = _Heap_Align_down( alloc_end, boundary );
                                                                      
    while ( alloc_begin < boundary_line && boundary_line < alloc_end ) {
   4c794:	bbc2           	cmpal %d2,%a5                               
   4c796:	634c           	blss 4c7e4 <_Heap_Allocate_aligned_with_boundary+0x134>
   4c798:	bbc1           	cmpal %d1,%a5                               
   4c79a:	6448           	bccs 4c7e4 <_Heap_Allocate_aligned_with_boundary+0x134>
      if ( boundary_line < boundary_floor ) {                         
   4c79c:	bbee ffec      	cmpal %fp@(-20),%a5                         
   4c7a0:	6500 008e      	bcsw 4c830 <_Heap_Allocate_aligned_with_boundary+0x180>
   4c7a4:	200d           	movel %a5,%d0                               
   4c7a6:	2a44           	moveal %d4,%a5                              
   4c7a8:	2e2e ffec      	movel %fp@(-20),%d7                         
        return 0;                                                     
      }                                                               
      alloc_begin = boundary_line - alloc_size;                       
   4c7ac:	9089           	subl %a1,%d0                                
   4c7ae:	2400           	movel %d0,%d2                               
   4c7b0:	4c43 2001      	remul %d3,%d1,%d2                           
   4c7b4:	2400           	movel %d0,%d2                               
   4c7b6:	9481           	subl %d1,%d2                                
      alloc_begin = _Heap_Align_down( alloc_begin, alignment );       
      alloc_end = alloc_begin + alloc_size;                           
   4c7b8:	2202           	movel %d2,%d1                               
   4c7ba:	d289           	addl %a1,%d1                                
   4c7bc:	2801           	movel %d1,%d4                               
   4c7be:	4c45 4000      	remul %d5,%d0,%d4                           
   4c7c2:	2801           	movel %d1,%d4                               
   4c7c4:	9880           	subl %d0,%d4                                
   4c7c6:	2004           	movel %d4,%d0                               
  /* Ensure boundary constaint */                                     
  if ( boundary != 0 ) {                                              
    uintptr_t const boundary_floor = alloc_begin_floor + alloc_size;  
    uintptr_t boundary_line = _Heap_Align_down( alloc_end, boundary );
                                                                      
    while ( alloc_begin < boundary_line && boundary_line < alloc_end ) {
   4c7c8:	b882           	cmpl %d2,%d4                                
   4c7ca:	6316           	blss 4c7e2 <_Heap_Allocate_aligned_with_boundary+0x132>
   4c7cc:	b881           	cmpl %d1,%d4                                
   4c7ce:	6412           	bccs 4c7e2 <_Heap_Allocate_aligned_with_boundary+0x132>
      if ( boundary_line < boundary_floor ) {                         
   4c7d0:	b087           	cmpl %d7,%d0                                
   4c7d2:	64d8           	bccs 4c7ac <_Heap_Allocate_aligned_with_boundary+0xfc><== ALWAYS TAKEN
   4c7d4:	280d           	movel %a5,%d4                               <== NOT EXECUTED
        return 0;                                                     
   4c7d6:	4282           	clrl %d2                                    <== NOT EXECUTED
          );                                                          
        }                                                             
      }                                                               
                                                                      
      /* Statistics */                                                
      ++search_count;                                                 
   4c7d8:	5284           	addql #1,%d4                                <== NOT EXECUTED
                                                                      
      if ( alloc_begin != 0 ) {                                       
   4c7da:	4a82           	tstl %d2                                    <== NOT EXECUTED
   4c7dc:	6700 ff40      	beqw 4c71e <_Heap_Allocate_aligned_with_boundary+0x6e><== NOT EXECUTED
   4c7e0:	602e           	bras 4c810 <_Heap_Allocate_aligned_with_boundary+0x160><== NOT EXECUTED
   4c7e2:	280d           	movel %a5,%d4                               
      boundary_line = _Heap_Align_down( alloc_end, boundary );        
    }                                                                 
  }                                                                   
                                                                      
  /* Ensure that the we have a valid new block at the beginning */    
  if ( alloc_begin >= alloc_begin_floor ) {                           
   4c7e4:	b48c           	cmpl %a4,%d2                                
   4c7e6:	6548           	bcss 4c830 <_Heap_Allocate_aligned_with_boundary+0x180>
   4c7e8:	70f8           	moveq #-8,%d0                               
   4c7ea:	9088           	subl %a0,%d0                                
  uintptr_t alloc_begin,                                              
  uintptr_t page_size                                                 
)                                                                     
{                                                                     
  return (Heap_Block *) (_Heap_Align_down( alloc_begin, page_size )   
    - HEAP_BLOCK_HEADER_SIZE);                                        
   4c7ec:	2a40           	moveal %d0,%a5                              
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_down(                      
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return value - (value % alignment);                                 
   4c7ee:	2e02           	movel %d2,%d7                               
  uintptr_t alloc_begin,                                              
  uintptr_t page_size                                                 
)                                                                     
{                                                                     
  return (Heap_Block *) (_Heap_Align_down( alloc_begin, page_size )   
    - HEAP_BLOCK_HEADER_SIZE);                                        
   4c7f0:	dbc2           	addal %d2,%a5                               
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_down(                      
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return value - (value % alignment);                                 
   4c7f2:	202e fffc      	movel %fp@(-4),%d0                          
   4c7f6:	4c40 7001      	remul %d0,%d1,%d7                           
    uintptr_t const alloc_block_begin =                               
      (uintptr_t) _Heap_Block_of_alloc_area( alloc_begin, page_size );
    uintptr_t const free_size = alloc_block_begin - block_begin;      
   4c7fa:	9bc1           	subal %d1,%a5                               
                                                                      
    if ( free_size >= min_block_size || free_size == 0 ) {            
   4c7fc:	bbcb           	cmpal %a3,%a5                               
   4c7fe:	6400 ff16      	bccw 4c716 <_Heap_Allocate_aligned_with_boundary+0x66>
    uintptr_t const boundary_floor = alloc_begin_floor + alloc_size;  
    uintptr_t boundary_line = _Heap_Align_down( alloc_end, boundary );
                                                                      
    while ( alloc_begin < boundary_line && boundary_line < alloc_end ) {
      if ( boundary_line < boundary_floor ) {                         
        return 0;                                                     
   4c802:	4a8d           	tstl %a5                                    
   4c804:	57c0           	seq %d0                                     
          );                                                          
        }                                                             
      }                                                               
                                                                      
      /* Statistics */                                                
      ++search_count;                                                 
   4c806:	5284           	addql #1,%d4                                
    uintptr_t const boundary_floor = alloc_begin_floor + alloc_size;  
    uintptr_t boundary_line = _Heap_Align_down( alloc_end, boundary );
                                                                      
    while ( alloc_begin < boundary_line && boundary_line < alloc_end ) {
      if ( boundary_line < boundary_floor ) {                         
        return 0;                                                     
   4c808:	49c0           	extbl %d0                                   
   4c80a:	c480           	andl %d0,%d2                                
      }                                                               
                                                                      
      /* Statistics */                                                
      ++search_count;                                                 
                                                                      
      if ( alloc_begin != 0 ) {                                       
   4c80c:	6700 ff10      	beqw 4c71e <_Heap_Allocate_aligned_with_boundary+0x6e>
  if ( alloc_begin != 0 ) {                                           
    /* Statistics */                                                  
    ++stats->allocs;                                                  
    stats->searches += search_count;                                  
                                                                      
    block = _Heap_Block_allocate( heap, block, alloc_begin, alloc_size );
   4c810:	2f09           	movel %a1,%sp@-                             
    search_again = _Heap_Protection_free_delayed_blocks( heap, alloc_begin );
  } while ( search_again );                                           
                                                                      
  if ( alloc_begin != 0 ) {                                           
    /* Statistics */                                                  
    ++stats->allocs;                                                  
   4c812:	52aa 0048      	addql #1,%a2@(72)                           
    stats->searches += search_count;                                  
   4c816:	d9aa 004c      	addl %d4,%a2@(76)                           
                                                                      
    block = _Heap_Block_allocate( heap, block, alloc_begin, alloc_size );
   4c81a:	2f02           	movel %d2,%sp@-                             
   4c81c:	2f08           	movel %a0,%sp@-                             
   4c81e:	2f0a           	movel %a2,%sp@-                             
   4c820:	4eb9 0004 8800 	jsr 48800 <_Heap_Block_allocate>            
   4c826:	4fef 0010      	lea %sp@(16),%sp                            
   4c82a:	2002           	movel %d2,%d0                               
   4c82c:	6000 fefa      	braw 4c728 <_Heap_Allocate_aligned_with_boundary+0x78>
    uintptr_t const boundary_floor = alloc_begin_floor + alloc_size;  
    uintptr_t boundary_line = _Heap_Align_down( alloc_end, boundary );
                                                                      
    while ( alloc_begin < boundary_line && boundary_line < alloc_end ) {
      if ( boundary_line < boundary_floor ) {                         
        return 0;                                                     
   4c830:	4282           	clrl %d2                                    
          );                                                          
        }                                                             
      }                                                               
                                                                      
      /* Statistics */                                                
      ++search_count;                                                 
   4c832:	5284           	addql #1,%d4                                
                                                                      
      if ( alloc_begin != 0 ) {                                       
   4c834:	4a82           	tstl %d2                                    
   4c836:	6700 fee6      	beqw 4c71e <_Heap_Allocate_aligned_with_boundary+0x6e>
   4c83a:	60d4           	bras 4c810 <_Heap_Allocate_aligned_with_boundary+0x160><== NOT EXECUTED
  uint32_t search_count = 0;                                          
  bool search_again = false;                                          
                                                                      
  if ( block_size_floor < alloc_size ) {                              
    /* Integer overflow occured */                                    
    return NULL;                                                      
   4c83c:	4280           	clrl %d0                                    
  if ( stats->max_search < search_count ) {                           
    stats->max_search = search_count;                                 
  }                                                                   
                                                                      
  return (void *) alloc_begin;                                        
}                                                                     
   4c83e:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            
   4c844:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004c848 <_Heap_Free>: return do_free; } #endif bool _Heap_Free( Heap_Control *heap, void *alloc_begin_ptr ) {
   4c848:	4e56 ffe8      	linkw %fp,#-24                              
   4c84c:	206e 0008      	moveal %fp@(8),%a0                          
   4c850:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
   4c854:	202e 000c      	movel %fp@(12),%d0                          
  /*                                                                  
   * If NULL return true so a free on NULL is considered a valid release. This
   * is a special case that could be handled by the in heap check how-ever that
   * would result in false being returned which is wrong.             
   */                                                                 
  if ( alloc_begin_ptr == NULL ) {                                    
   4c858:	6700 00ba      	beqw 4c914 <_Heap_Free+0xcc>                
   4c85c:	2240           	moveal %d0,%a1                              
   4c85e:	5189           	subql #8,%a1                                
   4c860:	4c68 0001 0010 	remul %a0@(16),%d1,%d0                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_block_in_heap(                     
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
   4c866:	2028 0020      	movel %a0@(32),%d0                          
  uintptr_t alloc_begin,                                              
  uintptr_t page_size                                                 
)                                                                     
{                                                                     
  return (Heap_Block *) (_Heap_Align_down( alloc_begin, page_size )   
    - HEAP_BLOCK_HEADER_SIZE);                                        
   4c86a:	93c1           	subal %d1,%a1                               
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   4c86c:	b089           	cmpl %a1,%d0                                
   4c86e:	6200 009a      	bhiw 4c90a <_Heap_Free+0xc2>                
   4c872:	2228 0024      	movel %a0@(36),%d1                          
   4c876:	b289           	cmpl %a1,%d1                                
   4c878:	6500 0090      	bcsw 4c90a <_Heap_Free+0xc2>                
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
}                                                                     
   4c87c:	2829 0004      	movel %a1@(4),%d4                           
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   4c880:	74fe           	moveq #-2,%d2                               
   4c882:	c484           	andl %d4,%d2                                
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(                      
  const Heap_Block *block,                                            
  uintptr_t offset                                                    
)                                                                     
{                                                                     
  return (Heap_Block *) ((uintptr_t) block + offset);                 
   4c884:	45f1 2800      	lea %a1@(00000000,%d2:l),%a2                
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   4c888:	b5c0           	cmpal %d0,%a2                               
   4c88a:	657e           	bcss 4c90a <_Heap_Free+0xc2>                <== NEVER TAKEN
   4c88c:	b5c1           	cmpal %d1,%a2                               
   4c88e:	627a           	bhis 4c90a <_Heap_Free+0xc2>                <== NEVER TAKEN
   4c890:	262a 0004      	movel %a2@(4),%d3                           
    return false;                                                     
  }                                                                   
                                                                      
  _Heap_Protection_block_check( heap, next_block );                   
                                                                      
  if ( !_Heap_Is_prev_used( next_block ) ) {                          
   4c894:	0803 0000      	btst #0,%d3                                 
   4c898:	6770           	beqs 4c90a <_Heap_Free+0xc2>                <== NEVER TAKEN
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   4c89a:	7afe           	moveq #-2,%d5                               
   4c89c:	c685           	andl %d5,%d3                                
    return true;                                                      
  }                                                                   
                                                                      
  next_block_size = _Heap_Block_size( next_block );                   
  next_is_free = next_block != heap->last_block                       
    && !_Heap_Is_prev_used( _Heap_Block_at( next_block, next_block_size ));
   4c89e:	b5c1           	cmpal %d1,%a2                               
   4c8a0:	6700 00b2      	beqw 4c954 <_Heap_Free+0x10c>               
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   4c8a4:	7a01           	moveq #1,%d5                                
   4c8a6:	cab2 3804      	andl %a2@(00000004,%d3:l),%d5               
   4c8aa:	6600 00a8      	bnew 4c954 <_Heap_Free+0x10c>               
                                                                      
  if ( !_Heap_Is_prev_used( block ) ) {                               
   4c8ae:	0804 0000      	btst #0,%d4                                 
   4c8b2:	666a           	bnes 4c91e <_Heap_Free+0xd6>                
  if ( !_Heap_Protection_determine_block_free( heap, block ) ) {      
    return true;                                                      
  }                                                                   
                                                                      
  next_block_size = _Heap_Block_size( next_block );                   
  next_is_free = next_block != heap->last_block                       
   4c8b4:	7a01           	moveq #1,%d5                                
    && !_Heap_Is_prev_used( _Heap_Block_at( next_block, next_block_size ));
                                                                      
  if ( !_Heap_Is_prev_used( block ) ) {                               
    uintptr_t const prev_size = block->prev_size;                     
   4c8b6:	2811           	movel %a1@,%d4                              
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(                      
  const Heap_Block *block,                                            
  uintptr_t offset                                                    
)                                                                     
{                                                                     
  return (Heap_Block *) ((uintptr_t) block + offset);                 
   4c8b8:	93c4           	subal %d4,%a1                               
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   4c8ba:	b3c0           	cmpal %d0,%a1                               
   4c8bc:	654c           	bcss 4c90a <_Heap_Free+0xc2>                <== NEVER TAKEN
   4c8be:	b3c1           	cmpal %d1,%a1                               
   4c8c0:	6248           	bhis 4c90a <_Heap_Free+0xc2>                <== NEVER TAKEN
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   4c8c2:	7001           	moveq #1,%d0                                
   4c8c4:	c0a9 0004      	andl %a1@(4),%d0                            
      return( false );                                                
    }                                                                 
                                                                      
    /* As we always coalesce free blocks, the block that preceedes prev_block
       must have been used. */                                        
    if ( !_Heap_Is_prev_used ( prev_block) ) {                        
   4c8c8:	6740           	beqs 4c90a <_Heap_Free+0xc2>                <== NEVER TAKEN
      _HAssert( false );                                              
      return( false );                                                
    }                                                                 
                                                                      
    if ( next_is_free ) {       /* coalesce both */                   
   4c8ca:	4a05           	tstb %d5                                    
   4c8cc:	6700 00de      	beqw 4c9ac <_Heap_Free+0x164>               
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
}                                                                     
   4c8d0:	266a 0008      	moveal %a2@(8),%a3                          
      _HAssert( false );                                              
      return( false );                                                
    }                                                                 
                                                                      
    if ( next_is_free ) {       /* coalesce both */                   
      uintptr_t const size = block_size + prev_size + next_block_size;
   4c8d4:	d882           	addl %d2,%d4                                
   4c8d6:	d684           	addl %d4,%d3                                
      _Heap_Free_list_remove( next_block );                           
      stats->free_blocks -= 1;                                        
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
   4c8d8:	7001           	moveq #1,%d0                                
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
}                                                                     
   4c8da:	246a 000c      	moveal %a2@(12),%a2                         
RTEMS_INLINE_ROUTINE void _Heap_Free_list_remove( Heap_Block *block ) 
{                                                                     
  Heap_Block *next = block->next;                                     
  Heap_Block *prev = block->prev;                                     
                                                                      
  prev->next = next;                                                  
   4c8de:	254b 0008      	movel %a3,%a2@(8)                           
                                                                      
    if ( next_is_free ) {       /* coalesce both */                   
      uintptr_t const size = block_size + prev_size + next_block_size;
      _Heap_Free_list_remove( next_block );                           
      stats->free_blocks -= 1;                                        
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
   4c8e2:	8083           	orl %d3,%d0                                 
  next->prev = prev;                                                  
   4c8e4:	274a 000c      	movel %a2,%a3@(12)                          
    }                                                                 
                                                                      
    if ( next_is_free ) {       /* coalesce both */                   
      uintptr_t const size = block_size + prev_size + next_block_size;
      _Heap_Free_list_remove( next_block );                           
      stats->free_blocks -= 1;                                        
   4c8e8:	53a8 0038      	subql #1,%a0@(56)                           
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
      next_block = _Heap_Block_at( prev_block, size );                
      _HAssert(!_Heap_Is_prev_used( next_block));                     
      next_block->prev_size = size;                                   
   4c8ec:	2383 3800      	movel %d3,%a1@(00000000,%d3:l)              
                                                                      
    if ( next_is_free ) {       /* coalesce both */                   
      uintptr_t const size = block_size + prev_size + next_block_size;
      _Heap_Free_list_remove( next_block );                           
      stats->free_blocks -= 1;                                        
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
   4c8f0:	2340 0004      	movel %d0,%a1@(4)                           
      stats->max_free_blocks = stats->free_blocks;                    
    }                                                                 
  }                                                                   
                                                                      
  /* Statistics */                                                    
  --stats->used_blocks;                                               
   4c8f4:	53a8 0040      	subql #1,%a0@(64)                           
  ++stats->frees;                                                     
   4c8f8:	52a8 0050      	addql #1,%a0@(80)                           
  stats->free_size += block_size;                                     
   4c8fc:	d5a8 0030      	addl %d2,%a0@(48)                           
                                                                      
  return( true );                                                     
   4c900:	7001           	moveq #1,%d0                                
}                                                                     
   4c902:	4cd7 0c3c      	moveml %sp@,%d2-%d5/%a2-%a3                 
   4c906:	4e5e           	unlk %fp                                    
   4c908:	4e75           	rts                                         
   4c90a:	4cd7 0c3c      	moveml %sp@,%d2-%d5/%a2-%a3                 
                                                                      
  alloc_begin = (uintptr_t) alloc_begin_ptr;                          
  block = _Heap_Block_of_alloc_area( alloc_begin, heap->page_size );  
                                                                      
  if ( !_Heap_Is_block_in_heap( heap, block ) ) {                     
    return false;                                                     
   4c90e:	4200           	clrb %d0                                    
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
}                                                                     
   4c910:	4e5e           	unlk %fp                                    
   4c912:	4e75           	rts                                         
   4c914:	4cd7 0c3c      	moveml %sp@,%d2-%d5/%a2-%a3                 
   * If NULL return true so a free on NULL is considered a valid release. This
   * is a special case that could be handled by the in heap check how-ever that
   * would result in false being returned which is wrong.             
   */                                                                 
  if ( alloc_begin_ptr == NULL ) {                                    
    return true;                                                      
   4c918:	7001           	moveq #1,%d0                                
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
}                                                                     
   4c91a:	4e5e           	unlk %fp                                    
   4c91c:	4e75           	rts                                         
   4c91e:	266a 0008      	moveal %a2@(8),%a3                          
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
      next_block->size_and_flag &= ~HEAP_PREV_BLOCK_USED;             
      next_block->prev_size = size;                                   
    }                                                                 
  } else if ( next_is_free ) {    /* coalesce next */                 
    uintptr_t const size = block_size + next_block_size;              
   4c922:	d682           	addl %d2,%d3                                
    _Heap_Free_list_replace( next_block, block );                     
    block->size_and_flag = size | HEAP_PREV_BLOCK_USED;               
   4c924:	7001           	moveq #1,%d0                                
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
}                                                                     
   4c926:	246a 000c      	moveal %a2@(12),%a2                         
      next_block->prev_size = size;                                   
    }                                                                 
  } else if ( next_is_free ) {    /* coalesce next */                 
    uintptr_t const size = block_size + next_block_size;              
    _Heap_Free_list_replace( next_block, block );                     
    block->size_and_flag = size | HEAP_PREV_BLOCK_USED;               
   4c92a:	8083           	orl %d3,%d0                                 
)                                                                     
{                                                                     
  Heap_Block *next = old_block->next;                                 
  Heap_Block *prev = old_block->prev;                                 
                                                                      
  new_block->next = next;                                             
   4c92c:	234b 0008      	movel %a3,%a1@(8)                           
    next_block  = _Heap_Block_at( block, size );                      
    next_block->prev_size = size;                                     
   4c930:	2383 3800      	movel %d3,%a1@(00000000,%d3:l)              
  new_block->prev = prev;                                             
   4c934:	234a 000c      	movel %a2,%a1@(12)                          
      next_block->prev_size = size;                                   
    }                                                                 
  } else if ( next_is_free ) {    /* coalesce next */                 
    uintptr_t const size = block_size + next_block_size;              
    _Heap_Free_list_replace( next_block, block );                     
    block->size_and_flag = size | HEAP_PREV_BLOCK_USED;               
   4c938:	2340 0004      	movel %d0,%a1@(4)                           
  /* Statistics */                                                    
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
   4c93c:	7001           	moveq #1,%d0                                
                                                                      
  next->prev = new_block;                                             
  prev->next = new_block;                                             
   4c93e:	2549 0008      	movel %a1,%a2@(8)                           
  Heap_Block *prev = old_block->prev;                                 
                                                                      
  new_block->next = next;                                             
  new_block->prev = prev;                                             
                                                                      
  next->prev = new_block;                                             
   4c942:	2749 000c      	movel %a1,%a3@(12)                          
      stats->max_free_blocks = stats->free_blocks;                    
    }                                                                 
  }                                                                   
                                                                      
  /* Statistics */                                                    
  --stats->used_blocks;                                               
   4c946:	53a8 0040      	subql #1,%a0@(64)                           
  ++stats->frees;                                                     
   4c94a:	52a8 0050      	addql #1,%a0@(80)                           
  stats->free_size += block_size;                                     
   4c94e:	d5a8 0030      	addl %d2,%a0@(48)                           
   4c952:	60ae           	bras 4c902 <_Heap_Free+0xba>                
                                                                      
  next_block_size = _Heap_Block_size( next_block );                   
  next_is_free = next_block != heap->last_block                       
    && !_Heap_Is_prev_used( _Heap_Block_at( next_block, next_block_size ));
                                                                      
  if ( !_Heap_Is_prev_used( block ) ) {                               
   4c954:	0804 0000      	btst #0,%d4                                 
   4c958:	6606           	bnes 4c960 <_Heap_Free+0x118>               
  if ( !_Heap_Protection_determine_block_free( heap, block ) ) {      
    return true;                                                      
  }                                                                   
                                                                      
  next_block_size = _Heap_Block_size( next_block );                   
  next_is_free = next_block != heap->last_block                       
   4c95a:	4205           	clrb %d5                                    
   4c95c:	6000 ff58      	braw 4c8b6 <_Heap_Free+0x6e>                
    block->size_and_flag = block_size | HEAP_PREV_BLOCK_USED;         
    next_block->size_and_flag &= ~HEAP_PREV_BLOCK_USED;               
    next_block->prev_size = block_size;                               
                                                                      
    /* Statistics */                                                  
    ++stats->free_blocks;                                             
   4c960:	2028 0038      	movel %a0@(56),%d0                          
    next_block->prev_size = size;                                     
  } else {                        /* no coalesce */                   
    /* Add 'block' to the head of the free blocks list as it tends to 
       produce less fragmentation than adding to the tail. */         
    _Heap_Free_list_insert_after( _Heap_Free_list_head( heap), block );
    block->size_and_flag = block_size | HEAP_PREV_BLOCK_USED;         
   4c964:	7201           	moveq #1,%d1                                
    next_block->size_and_flag &= ~HEAP_PREV_BLOCK_USED;               
   4c966:	7afe           	moveq #-2,%d5                               
    next_block->prev_size = block_size;                               
                                                                      
    /* Statistics */                                                  
    ++stats->free_blocks;                                             
   4c968:	5280           	addql #1,%d0                                
RTEMS_INLINE_ROUTINE void _Heap_Free_list_insert_after(               
  Heap_Block *block_before,                                           
  Heap_Block *new_block                                               
)                                                                     
{                                                                     
  Heap_Block *next = block_before->next;                              
   4c96a:	2668 0008      	moveal %a0@(8),%a3                          
                                                                      
  new_block->next = next;                                             
  new_block->prev = block_before;                                     
   4c96e:	2348 000c      	movel %a0,%a1@(12)                          
    next_block->prev_size = size;                                     
  } else {                        /* no coalesce */                   
    /* Add 'block' to the head of the free blocks list as it tends to 
       produce less fragmentation than adding to the tail. */         
    _Heap_Free_list_insert_after( _Heap_Free_list_head( heap), block );
    block->size_and_flag = block_size | HEAP_PREV_BLOCK_USED;         
   4c972:	8282           	orl %d2,%d1                                 
  Heap_Block *new_block                                               
)                                                                     
{                                                                     
  Heap_Block *next = block_before->next;                              
                                                                      
  new_block->next = next;                                             
   4c974:	234b 0008      	movel %a3,%a1@(8)                           
   4c978:	2341 0004      	movel %d1,%a1@(4)                           
    next_block->size_and_flag &= ~HEAP_PREV_BLOCK_USED;               
   4c97c:	cbaa 0004      	andl %d5,%a2@(4)                            
  new_block->prev = block_before;                                     
  block_before->next = new_block;                                     
  next->prev = new_block;                                             
   4c980:	2749 000c      	movel %a1,%a3@(12)                          
    next_block->prev_size = block_size;                               
   4c984:	2482           	movel %d2,%a2@                              
{                                                                     
  Heap_Block *next = block_before->next;                              
                                                                      
  new_block->next = next;                                             
  new_block->prev = block_before;                                     
  block_before->next = new_block;                                     
   4c986:	2149 0008      	movel %a1,%a0@(8)                           
                                                                      
    /* Statistics */                                                  
    ++stats->free_blocks;                                             
   4c98a:	2140 0038      	movel %d0,%a0@(56)                          
    if ( stats->max_free_blocks < stats->free_blocks ) {              
   4c98e:	b0a8 003c      	cmpl %a0@(60),%d0                           
   4c992:	6300 ff60      	blsw 4c8f4 <_Heap_Free+0xac>                
      stats->max_free_blocks = stats->free_blocks;                    
    }                                                                 
  }                                                                   
                                                                      
  /* Statistics */                                                    
  --stats->used_blocks;                                               
   4c996:	53a8 0040      	subql #1,%a0@(64)                           
  ++stats->frees;                                                     
   4c99a:	52a8 0050      	addql #1,%a0@(80)                           
  stats->free_size += block_size;                                     
   4c99e:	d5a8 0030      	addl %d2,%a0@(48)                           
    next_block->prev_size = block_size;                               
                                                                      
    /* Statistics */                                                  
    ++stats->free_blocks;                                             
    if ( stats->max_free_blocks < stats->free_blocks ) {              
      stats->max_free_blocks = stats->free_blocks;                    
   4c9a2:	2140 003c      	movel %d0,%a0@(60)                          
  /* Statistics */                                                    
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
   4c9a6:	7001           	moveq #1,%d0                                
   4c9a8:	6000 ff58      	braw 4c902 <_Heap_Free+0xba>                
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
      next_block = _Heap_Block_at( prev_block, size );                
      _HAssert(!_Heap_Is_prev_used( next_block));                     
      next_block->prev_size = size;                                   
    } else {                      /* coalesce prev */                 
      uintptr_t const size = block_size + prev_size;                  
   4c9ac:	d882           	addl %d2,%d4                                
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
   4c9ae:	7201           	moveq #1,%d1                                
      next_block->size_and_flag &= ~HEAP_PREV_BLOCK_USED;             
   4c9b0:	7afe           	moveq #-2,%d5                               
      next_block = _Heap_Block_at( prev_block, size );                
      _HAssert(!_Heap_Is_prev_used( next_block));                     
      next_block->prev_size = size;                                   
    } else {                      /* coalesce prev */                 
      uintptr_t const size = block_size + prev_size;                  
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
   4c9b2:	8284           	orl %d4,%d1                                 
      next_block->size_and_flag &= ~HEAP_PREV_BLOCK_USED;             
      next_block->prev_size = size;                                   
   4c9b4:	2484           	movel %d4,%a2@                              
  /* Statistics */                                                    
  --stats->used_blocks;                                               
  ++stats->frees;                                                     
  stats->free_size += block_size;                                     
                                                                      
  return( true );                                                     
   4c9b6:	7001           	moveq #1,%d0                                
      next_block = _Heap_Block_at( prev_block, size );                
      _HAssert(!_Heap_Is_prev_used( next_block));                     
      next_block->prev_size = size;                                   
    } else {                      /* coalesce prev */                 
      uintptr_t const size = block_size + prev_size;                  
      prev_block->size_and_flag = size | HEAP_PREV_BLOCK_USED;        
   4c9b8:	2341 0004      	movel %d1,%a1@(4)                           
      next_block->size_and_flag &= ~HEAP_PREV_BLOCK_USED;             
   4c9bc:	cbaa 0004      	andl %d5,%a2@(4)                            
      stats->max_free_blocks = stats->free_blocks;                    
    }                                                                 
  }                                                                   
                                                                      
  /* Statistics */                                                    
  --stats->used_blocks;                                               
   4c9c0:	53a8 0040      	subql #1,%a0@(64)                           
  ++stats->frees;                                                     
   4c9c4:	52a8 0050      	addql #1,%a0@(80)                           
  stats->free_size += block_size;                                     
   4c9c8:	d5a8 0030      	addl %d2,%a0@(48)                           
   4c9cc:	6000 ff34      	braw 4c902 <_Heap_Free+0xba>                
                                                                      

00051b08 <_Heap_Get_free_information>: void _Heap_Get_free_information( Heap_Control *the_heap, Heap_Information *info ) {
   51b08:	4e56 fff0      	linkw %fp,#-16                              
   51b0c:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   51b10:	266e 0008      	moveal %fp@(8),%a3                          
   51b14:	246e 000c      	moveal %fp@(12),%a2                         
  return &heap->free_list;                                            
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
{                                                                     
  return _Heap_Free_list_head(heap)->next;                            
   51b18:	206b 0008      	moveal %a3@(8),%a0                          
  Heap_Block *the_block;                                              
  Heap_Block *const tail = _Heap_Free_list_tail(the_heap);            
                                                                      
  info->number = 0;                                                   
   51b1c:	4292           	clrl %a2@                                   
  info->largest = 0;                                                  
   51b1e:	42aa 0004      	clrl %a2@(4)                                
  info->total = 0;                                                    
   51b22:	42aa 0008      	clrl %a2@(8)                                
                                                                      
  for(the_block = _Heap_Free_list_first(the_heap);                    
   51b26:	b1cb           	cmpal %a3,%a0                               
   51b28:	6732           	beqs 51b5c <_Heap_Get_free_information+0x54><== NEVER TAKEN
   51b2a:	327c 0001      	moveaw #1,%a1                               
   51b2e:	4282           	clrl %d2                                    
   51b30:	4281           	clrl %d1                                    
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   51b32:	70fe           	moveq #-2,%d0                               
   51b34:	2609           	movel %a1,%d3                               
   51b36:	5283           	addql #1,%d3                                
   51b38:	c0a8 0004      	andl %a0@(4),%d0                            
                                                                      
    /* As we always coalesce free blocks, prev block must have been used. */
    _HAssert(_Heap_Is_prev_used(the_block));                          
                                                                      
    info->number++;                                                   
    info->total += the_size;                                          
   51b3c:	d280           	addl %d0,%d1                                
    if ( info->largest < the_size )                                   
   51b3e:	b480           	cmpl %d0,%d2                                
   51b40:	6404           	bccs 51b46 <_Heap_Get_free_information+0x3e>
        info->largest = the_size;                                     
   51b42:	2540 0004      	movel %d0,%a2@(4)                           
  info->largest = 0;                                                  
  info->total = 0;                                                    
                                                                      
  for(the_block = _Heap_Free_list_first(the_heap);                    
      the_block != tail;                                              
      the_block = the_block->next)                                    
   51b46:	2068 0008      	moveal %a0@(8),%a0                          
                                                                      
  info->number = 0;                                                   
  info->largest = 0;                                                  
  info->total = 0;                                                    
                                                                      
  for(the_block = _Heap_Free_list_first(the_heap);                    
   51b4a:	b1cb           	cmpal %a3,%a0                               
   51b4c:	6708           	beqs 51b56 <_Heap_Get_free_information+0x4e>
   51b4e:	242a 0004      	movel %a2@(4),%d2                           
   51b52:	2243           	moveal %d3,%a1                              
   51b54:	60dc           	bras 51b32 <_Heap_Get_free_information+0x2a>
   51b56:	2489           	movel %a1,%a2@                              
   51b58:	2541 0008      	movel %d1,%a2@(8)                           
    info->number++;                                                   
    info->total += the_size;                                          
    if ( info->largest < the_size )                                   
        info->largest = the_size;                                     
  }                                                                   
}                                                                     
   51b5c:	4cd7 0c0c      	moveml %sp@,%d2-%d3/%a2-%a3                 
   51b60:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004aa48 <_Heap_Greedy_allocate>: Heap_Block *_Heap_Greedy_allocate( Heap_Control *heap, const uintptr_t *block_sizes, size_t block_count ) {
   4aa48:	4e56 ffe8      	linkw %fp,#-24                              
   4aa4c:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 
   4aa50:	246e 0008      	moveal %fp@(8),%a2                          
   4aa54:	242e 0010      	movel %fp@(16),%d2                          
  Heap_Block *allocated_blocks = NULL;                                
  Heap_Block *blocks = NULL;                                          
  Heap_Block *current;                                                
  size_t i;                                                           
                                                                      
  for (i = 0; i < block_count; ++i) {                                 
   4aa58:	6700 00ca      	beqw 4ab24 <_Heap_Greedy_allocate+0xdc>     
   4aa5c:	2a6e 000c      	moveal %fp@(12),%a5                         
   4aa60:	97cb           	subal %a3,%a3                               
  const uintptr_t *block_sizes,                                       
  size_t block_count                                                  
)                                                                     
{                                                                     
  Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );    
  Heap_Block *allocated_blocks = NULL;                                
   4aa62:	99cc           	subal %a4,%a4                               
   4aa64:	263c 0005 1610 	movel #333328,%d3                           
 * @brief See _Heap_Allocate_aligned_with_boundary() with alignment and
 * boundary equals zero.                                              
 */                                                                   
RTEMS_INLINE_ROUTINE void *_Heap_Allocate( Heap_Control *heap, uintptr_t size )
{                                                                     
  return _Heap_Allocate_aligned_with_boundary( heap, size, 0, 0 );    
   4aa6a:	42a7           	clrl %sp@-                                  
   4aa6c:	2043           	moveal %d3,%a0                              
  Heap_Block *blocks = NULL;                                          
  Heap_Block *current;                                                
  size_t i;                                                           
                                                                      
  for (i = 0; i < block_count; ++i) {                                 
   4aa6e:	528b           	addql #1,%a3                                
   4aa70:	42a7           	clrl %sp@-                                  
   4aa72:	2f1d           	movel %a5@+,%sp@-                           
   4aa74:	2f0a           	movel %a2,%sp@-                             
   4aa76:	4e90           	jsr %a0@                                    
    void *next = _Heap_Allocate( heap, block_sizes [i] );             
                                                                      
    if ( next != NULL ) {                                             
   4aa78:	4fef 0010      	lea %sp@(16),%sp                            
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_down(                      
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return value - (value % alignment);                                 
   4aa7c:	2040           	moveal %d0,%a0                              
   4aa7e:	5188           	subql #8,%a0                                
   4aa80:	4a80           	tstl %d0                                    
   4aa82:	670e           	beqs 4aa92 <_Heap_Greedy_allocate+0x4a>     <== NEVER TAKEN
   4aa84:	4c6a 0001 0010 	remul %a2@(16),%d1,%d0                      
  uintptr_t alloc_begin,                                              
  uintptr_t page_size                                                 
)                                                                     
{                                                                     
  return (Heap_Block *) (_Heap_Align_down( alloc_begin, page_size )   
    - HEAP_BLOCK_HEADER_SIZE);                                        
   4aa8a:	91c1           	subal %d1,%a0                               
      Heap_Block *next_block = _Heap_Block_of_alloc_area(             
        (uintptr_t) next,                                             
        heap->page_size                                               
      );                                                              
                                                                      
      next_block->next = allocated_blocks;                            
   4aa8c:	214c 0008      	movel %a4,%a0@(8)                           
   4aa90:	2848           	moveal %a0,%a4                              
  Heap_Block *allocated_blocks = NULL;                                
  Heap_Block *blocks = NULL;                                          
  Heap_Block *current;                                                
  size_t i;                                                           
                                                                      
  for (i = 0; i < block_count; ++i) {                                 
   4aa92:	b48b           	cmpl %a3,%d2                                
   4aa94:	66d4           	bnes 4aa6a <_Heap_Greedy_allocate+0x22>     
  return &heap->free_list;                                            
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
{                                                                     
  return _Heap_Free_list_head(heap)->next;                            
   4aa96:	266a 0008      	moveal %a2@(8),%a3                          
      next_block->next = allocated_blocks;                            
      allocated_blocks = next_block;                                  
    }                                                                 
  }                                                                   
                                                                      
  while ( (current = _Heap_Free_list_first( heap )) != free_list_tail ) {
   4aa9a:	b7ca           	cmpal %a2,%a3                               
   4aa9c:	6700 008c      	beqw 4ab2a <_Heap_Greedy_allocate+0xe2>     
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   4aaa0:	70fe           	moveq #-2,%d0                               
   4aaa2:	4bf9 0004 ae20 	lea 4ae20 <_Heap_Block_allocate>,%a5        
   4aaa8:	4282           	clrl %d2                                    
   4aaaa:	c0ab 0004      	andl %a3@(4),%d0                            
    _Heap_Block_allocate(                                             
   4aaae:	2040           	moveal %d0,%a0                              
   4aab0:	4868 fff8      	pea %a0@(-8)                                
   4aab4:	486b 0008      	pea %a3@(8)                                 
   4aab8:	2f0b           	movel %a3,%sp@-                             
   4aaba:	2f0a           	movel %a2,%sp@-                             
   4aabc:	4e95           	jsr %a5@                                    
      next_block->next = allocated_blocks;                            
      allocated_blocks = next_block;                                  
    }                                                                 
  }                                                                   
                                                                      
  while ( (current = _Heap_Free_list_first( heap )) != free_list_tail ) {
   4aabe:	4fef 0010      	lea %sp@(16),%sp                            
      current,                                                        
      _Heap_Alloc_area_of_block( current ),                           
      _Heap_Block_size( current ) - HEAP_BLOCK_HEADER_SIZE            
    );                                                                
                                                                      
    current->next = blocks;                                           
   4aac2:	2742 0008      	movel %d2,%a3@(8)                           
  return &heap->free_list;                                            
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
{                                                                     
  return _Heap_Free_list_head(heap)->next;                            
   4aac6:	202a 0008      	movel %a2@(8),%d0                           
   4aaca:	240b           	movel %a3,%d2                               
      next_block->next = allocated_blocks;                            
      allocated_blocks = next_block;                                  
    }                                                                 
  }                                                                   
                                                                      
  while ( (current = _Heap_Free_list_first( heap )) != free_list_tail ) {
   4aacc:	b08a           	cmpl %a2,%d0                                
   4aace:	672a           	beqs 4aafa <_Heap_Greedy_allocate+0xb2>     
   4aad0:	2640           	moveal %d0,%a3                              
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   4aad2:	70fe           	moveq #-2,%d0                               
   4aad4:	c0ab 0004      	andl %a3@(4),%d0                            
    _Heap_Block_allocate(                                             
   4aad8:	2040           	moveal %d0,%a0                              
   4aada:	4868 fff8      	pea %a0@(-8)                                
   4aade:	486b 0008      	pea %a3@(8)                                 
   4aae2:	2f0b           	movel %a3,%sp@-                             
   4aae4:	2f0a           	movel %a2,%sp@-                             
   4aae6:	4e95           	jsr %a5@                                    
      next_block->next = allocated_blocks;                            
      allocated_blocks = next_block;                                  
    }                                                                 
  }                                                                   
                                                                      
  while ( (current = _Heap_Free_list_first( heap )) != free_list_tail ) {
   4aae8:	4fef 0010      	lea %sp@(16),%sp                            
      current,                                                        
      _Heap_Alloc_area_of_block( current ),                           
      _Heap_Block_size( current ) - HEAP_BLOCK_HEADER_SIZE            
    );                                                                
                                                                      
    current->next = blocks;                                           
   4aaec:	2742 0008      	movel %d2,%a3@(8)                           
  return &heap->free_list;                                            
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
{                                                                     
  return _Heap_Free_list_head(heap)->next;                            
   4aaf0:	202a 0008      	movel %a2@(8),%d0                           
   4aaf4:	240b           	movel %a3,%d2                               
      next_block->next = allocated_blocks;                            
      allocated_blocks = next_block;                                  
    }                                                                 
  }                                                                   
                                                                      
  while ( (current = _Heap_Free_list_first( heap )) != free_list_tail ) {
   4aaf6:	b08a           	cmpl %a2,%d0                                
   4aaf8:	66d6           	bnes 4aad0 <_Heap_Greedy_allocate+0x88>     
   4aafa:	4bf9 0005 17a8 	lea 517a8 <_Heap_Free>,%a5                  
                                                                      
    current->next = blocks;                                           
    blocks = current;                                                 
  }                                                                   
                                                                      
  while ( allocated_blocks != NULL ) {                                
   4ab00:	4a8c           	tstl %a4                                    
   4ab02:	6714           	beqs 4ab18 <_Heap_Greedy_allocate+0xd0>     
    current = allocated_blocks;                                       
    allocated_blocks = allocated_blocks->next;                        
   4ab04:	222c 0008      	movel %a4@(8),%d1                           
    _Heap_Free( heap, (void *) _Heap_Alloc_area_of_block( current ) );
   4ab08:	486c 0008      	pea %a4@(8)                                 
    blocks = current;                                                 
  }                                                                   
                                                                      
  while ( allocated_blocks != NULL ) {                                
    current = allocated_blocks;                                       
    allocated_blocks = allocated_blocks->next;                        
   4ab0c:	2841           	moveal %d1,%a4                              
    _Heap_Free( heap, (void *) _Heap_Alloc_area_of_block( current ) );
   4ab0e:	2f0a           	movel %a2,%sp@-                             
   4ab10:	4e95           	jsr %a5@                                    
                                                                      
    current->next = blocks;                                           
    blocks = current;                                                 
  }                                                                   
                                                                      
  while ( allocated_blocks != NULL ) {                                
   4ab12:	508f           	addql #8,%sp                                
   4ab14:	4a8c           	tstl %a4                                    
   4ab16:	66ec           	bnes 4ab04 <_Heap_Greedy_allocate+0xbc>     
    allocated_blocks = allocated_blocks->next;                        
    _Heap_Free( heap, (void *) _Heap_Alloc_area_of_block( current ) );
  }                                                                   
                                                                      
  return blocks;                                                      
}                                                                     
   4ab18:	200b           	movel %a3,%d0                               
   4ab1a:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4ab20:	4e5e           	unlk %fp                                    
   4ab22:	4e75           	rts                                         
  const uintptr_t *block_sizes,                                       
  size_t block_count                                                  
)                                                                     
{                                                                     
  Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );    
  Heap_Block *allocated_blocks = NULL;                                
   4ab24:	99cc           	subal %a4,%a4                               
   4ab26:	6000 ff6e      	braw 4aa96 <_Heap_Greedy_allocate+0x4e>     
      next_block->next = allocated_blocks;                            
      allocated_blocks = next_block;                                  
    }                                                                 
  }                                                                   
                                                                      
  while ( (current = _Heap_Free_list_first( heap )) != free_list_tail ) {
   4ab2a:	97cb           	subal %a3,%a3                               <== NOT EXECUTED
   4ab2c:	4bf9 0005 17a8 	lea 517a8 <_Heap_Free>,%a5                  <== NOT EXECUTED
                                                                      
    current->next = blocks;                                           
    blocks = current;                                                 
  }                                                                   
                                                                      
  while ( allocated_blocks != NULL ) {                                
   4ab32:	4a8c           	tstl %a4                                    <== NOT EXECUTED
   4ab34:	66ce           	bnes 4ab04 <_Heap_Greedy_allocate+0xbc>     <== NOT EXECUTED
   4ab36:	60e0           	bras 4ab18 <_Heap_Greedy_allocate+0xd0>     <== NOT EXECUTED
                                                                      

0004ab38 <_Heap_Greedy_free>: void _Heap_Greedy_free( Heap_Control *heap, Heap_Block *blocks ) {
   4ab38:	4e56 fff4      	linkw %fp,#-12                              
   4ab3c:	206e 000c      	moveal %fp@(12),%a0                         
   4ab40:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   4ab44:	262e 0008      	movel %fp@(8),%d3                           
   4ab48:	45f9 0005 17a8 	lea 517a8 <_Heap_Free>,%a2                  
  while ( blocks != NULL ) {                                          
   4ab4e:	4a88           	tstl %a0                                    
   4ab50:	6714           	beqs 4ab66 <_Heap_Greedy_free+0x2e>         <== NEVER TAKEN
    Heap_Block *current = blocks;                                     
                                                                      
    blocks = blocks->next;                                            
   4ab52:	2428 0008      	movel %a0@(8),%d2                           
    _Heap_Free( heap, (void *) _Heap_Alloc_area_of_block( current ) );
   4ab56:	4868 0008      	pea %a0@(8)                                 
   4ab5a:	2f03           	movel %d3,%sp@-                             
   4ab5c:	4e92           	jsr %a2@                                    
void _Heap_Greedy_free(                                               
  Heap_Control *heap,                                                 
  Heap_Block *blocks                                                  
)                                                                     
{                                                                     
  while ( blocks != NULL ) {                                          
   4ab5e:	508f           	addql #8,%sp                                
    Heap_Block *current = blocks;                                     
                                                                      
    blocks = blocks->next;                                            
   4ab60:	2042           	moveal %d2,%a0                              
void _Heap_Greedy_free(                                               
  Heap_Control *heap,                                                 
  Heap_Block *blocks                                                  
)                                                                     
{                                                                     
  while ( blocks != NULL ) {                                          
   4ab62:	4a82           	tstl %d2                                    
   4ab64:	66ec           	bnes 4ab52 <_Heap_Greedy_free+0x1a>         
    Heap_Block *current = blocks;                                     
                                                                      
    blocks = blocks->next;                                            
    _Heap_Free( heap, (void *) _Heap_Alloc_area_of_block( current ) );
  }                                                                   
}                                                                     
   4ab66:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   4ab6c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051bc0 <_Heap_Iterate>: void _Heap_Iterate( Heap_Control *heap, Heap_Block_visitor visitor, void *visitor_arg ) {
   51bc0:	4e56 fff0      	linkw %fp,#-16                              
   51bc4:	226e 0008      	moveal %fp@(8),%a1                          
   51bc8:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   51bcc:	266e 000c      	moveal %fp@(12),%a3                         
   51bd0:	262e 0010      	movel %fp@(16),%d3                          
  Heap_Block *current = heap->first_block;                            
   51bd4:	2069 0020      	moveal %a1@(32),%a0                         
  Heap_Block *end = heap->last_block;                                 
   51bd8:	2429 0024      	movel %a1@(36),%d2                          
  bool stop = false;                                                  
                                                                      
  while ( !stop && current != end ) {                                 
   51bdc:	b488           	cmpl %a0,%d2                                
   51bde:	6728           	beqs 51c08 <_Heap_Iterate+0x48>             <== NEVER TAKEN
   51be0:	70fe           	moveq #-2,%d0                               
    uintptr_t size = _Heap_Block_size( current );                     
    Heap_Block *next = _Heap_Block_at( current, size );               
    bool used = _Heap_Is_prev_used( next );                           
                                                                      
    stop = (*visitor)( current, size, used, visitor_arg );            
   51be2:	7201           	moveq #1,%d1                                
   51be4:	c0a8 0004      	andl %a0@(4),%d0                            
   51be8:	2f03           	movel %d3,%sp@-                             
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(                      
  const Heap_Block *block,                                            
  uintptr_t offset                                                    
)                                                                     
{                                                                     
  return (Heap_Block *) ((uintptr_t) block + offset);                 
   51bea:	45f0 0800      	lea %a0@(00000000,%d0:l),%a2                
   51bee:	c2aa 0004      	andl %a2@(4),%d1                            
   51bf2:	2f01           	movel %d1,%sp@-                             
   51bf4:	2f00           	movel %d0,%sp@-                             
   51bf6:	2f08           	movel %a0,%sp@-                             
   51bf8:	4e93           	jsr %a3@                                    
{                                                                     
  Heap_Block *current = heap->first_block;                            
  Heap_Block *end = heap->last_block;                                 
  bool stop = false;                                                  
                                                                      
  while ( !stop && current != end ) {                                 
   51bfa:	4fef 0010      	lea %sp@(16),%sp                            
   51bfe:	204a           	moveal %a2,%a0                              
   51c00:	4a00           	tstb %d0                                    
   51c02:	6604           	bnes 51c08 <_Heap_Iterate+0x48>             <== NEVER TAKEN
   51c04:	b5c2           	cmpal %d2,%a2                               
   51c06:	66d8           	bnes 51be0 <_Heap_Iterate+0x20>             
                                                                      
    stop = (*visitor)( current, size, used, visitor_arg );            
                                                                      
    current = next;                                                   
  }                                                                   
}                                                                     
   51c08:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   51c0e:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0005c2b0 <_Heap_Size_of_alloc_area>: bool _Heap_Size_of_alloc_area( Heap_Control *heap, void *alloc_begin_ptr, uintptr_t *alloc_size ) {
   5c2b0:	4e56 0000      	linkw %fp,#0                                
   5c2b4:	202e 000c      	movel %fp@(12),%d0                          
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Align_down(                      
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return value - (value % alignment);                                 
   5c2b8:	2040           	moveal %d0,%a0                              
   5c2ba:	5188           	subql #8,%a0                                
   5c2bc:	226e 0008      	moveal %fp@(8),%a1                          
   5c2c0:	2f02           	movel %d2,%sp@-                             
   5c2c2:	2400           	movel %d0,%d2                               
   5c2c4:	4c69 2001 0010 	remul %a1@(16),%d1,%d2                      
  uintptr_t alloc_begin,                                              
  uintptr_t page_size                                                 
)                                                                     
{                                                                     
  return (Heap_Block *) (_Heap_Align_down( alloc_begin, page_size )   
    - HEAP_BLOCK_HEADER_SIZE);                                        
   5c2ca:	91c1           	subal %d1,%a0                               
RTEMS_INLINE_ROUTINE bool _Heap_Is_block_in_heap(                     
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
   5c2cc:	2229 0020      	movel %a1@(32),%d1                          
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   5c2d0:	b288           	cmpl %a0,%d1                                
   5c2d2:	6238           	bhis 5c30c <_Heap_Size_of_alloc_area+0x5c>  
   5c2d4:	2269 0024      	moveal %a1@(36),%a1                         
   5c2d8:	b3c8           	cmpal %a0,%a1                               
   5c2da:	6530           	bcss 5c30c <_Heap_Size_of_alloc_area+0x5c>  <== NEVER TAKEN
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   5c2dc:	74fe           	moveq #-2,%d2                               
   5c2de:	c4a8 0004      	andl %a0@(4),%d2                            
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(                      
  const Heap_Block *block,                                            
  uintptr_t offset                                                    
)                                                                     
{                                                                     
  return (Heap_Block *) ((uintptr_t) block + offset);                 
   5c2e2:	41f0 2800      	lea %a0@(00000000,%d2:l),%a0                
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   5c2e6:	b1c1           	cmpal %d1,%a0                               
   5c2e8:	6522           	bcss 5c30c <_Heap_Size_of_alloc_area+0x5c>  <== NEVER TAKEN
   5c2ea:	b1c9           	cmpal %a1,%a0                               
   5c2ec:	621e           	bhis 5c30c <_Heap_Size_of_alloc_area+0x5c>  <== NEVER TAKEN
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   5c2ee:	7201           	moveq #1,%d1                                
   5c2f0:	c2a8 0004      	andl %a0@(4),%d1                            
  block_size = _Heap_Block_size( block );                             
  next_block = _Heap_Block_at( block, block_size );                   
                                                                      
  if (                                                                
    !_Heap_Is_block_in_heap( heap, next_block )                       
      || !_Heap_Is_prev_used( next_block )                            
   5c2f4:	6716           	beqs 5c30c <_Heap_Size_of_alloc_area+0x5c>  <== NEVER TAKEN
  ) {                                                                 
    return false;                                                     
  }                                                                   
                                                                      
  *alloc_size = (uintptr_t) next_block + HEAP_ALLOC_BONUS - alloc_begin;
   5c2f6:	7204           	moveq #4,%d1                                
   5c2f8:	9280           	subl %d0,%d1                                
   5c2fa:	2001           	movel %d1,%d0                               
   5c2fc:	d088           	addl %a0,%d0                                
   5c2fe:	226e 0010      	moveal %fp@(16),%a1                         
                                                                      
  return true;                                                        
}                                                                     
   5c302:	241f           	movel %sp@+,%d2                             
   5c304:	4e5e           	unlk %fp                                    
      || !_Heap_Is_prev_used( next_block )                            
  ) {                                                                 
    return false;                                                     
  }                                                                   
                                                                      
  *alloc_size = (uintptr_t) next_block + HEAP_ALLOC_BONUS - alloc_begin;
   5c306:	2280           	movel %d0,%a1@                              
                                                                      
  return true;                                                        
   5c308:	7001           	moveq #1,%d0                                
}                                                                     
   5c30a:	4e75           	rts                                         
   5c30c:	241f           	movel %sp@+,%d2                             
   5c30e:	4e5e           	unlk %fp                                    
  Heap_Block *block = _Heap_Block_of_alloc_area( alloc_begin, page_size );
  Heap_Block *next_block = NULL;                                      
  uintptr_t block_size = 0;                                           
                                                                      
  if ( !_Heap_Is_block_in_heap( heap, block ) ) {                     
    return false;                                                     
   5c310:	4200           	clrb %d0                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  *alloc_size = (uintptr_t) next_block + HEAP_ALLOC_BONUS - alloc_begin;
                                                                      
  return true;                                                        
}                                                                     
                                                                      

000490ce <_Heap_Walk>: bool _Heap_Walk( Heap_Control *heap, int source, bool dump ) {
   490ce:	4e56 ffc8      	linkw %fp,#-56                              
   490d2:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   490d6:	246e 0008      	moveal %fp@(8),%a2                          
  uintptr_t const page_size = heap->page_size;                        
   490da:	242a 0010      	movel %a2@(16),%d2                          
  uintptr_t const min_block_size = heap->min_block_size;              
   490de:	262a 0014      	movel %a2@(20),%d3                          
  Heap_Block *const first_block = heap->first_block;                  
   490e2:	266a 0020      	moveal %a2@(32),%a3                         
  Heap_Block *const last_block = heap->last_block;                    
   490e6:	2a6a 0024      	moveal %a2@(36),%a5                         
  Heap_Block *block = first_block;                                    
  Heap_Walk_printer printer = dump ?                                  
    _Heap_Walk_print : _Heap_Walk_print_nothing;                      
   490ea:	4a2e 0013      	tstb %fp@(19)                               
   490ee:	671a           	beqs 4910a <_Heap_Walk+0x3c>                
   490f0:	49fa ff86      	lea %pc@(49078 <_Heap_Walk_print>),%a4      
                                                                      
  if ( !_System_state_Is_up( _System_state_Get() ) ) {                
   490f4:	7003           	moveq #3,%d0                                
   490f6:	b0b9 0006 1d44 	cmpl 61d44 <_System_state_Current>,%d0      
   490fc:	671a           	beqs 49118 <_Heap_Walk+0x4a>                <== ALWAYS TAKEN
                                                                      
    block = next_block;                                               
  } while ( block != first_block );                                   
                                                                      
  return true;                                                        
}                                                                     
   490fe:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
    }                                                                 
                                                                      
    block = next_block;                                               
  } while ( block != first_block );                                   
                                                                      
  return true;                                                        
   49104:	7001           	moveq #1,%d0                                
}                                                                     
   49106:	4e5e           	unlk %fp                                    
   49108:	4e75           	rts                                         
  uintptr_t const min_block_size = heap->min_block_size;              
  Heap_Block *const first_block = heap->first_block;                  
  Heap_Block *const last_block = heap->last_block;                    
  Heap_Block *block = first_block;                                    
  Heap_Walk_printer printer = dump ?                                  
    _Heap_Walk_print : _Heap_Walk_print_nothing;                      
   4910a:	49fa ff64      	lea %pc@(49070 <_Heap_Walk_print_nothing>),%a4
                                                                      
  if ( !_System_state_Is_up( _System_state_Get() ) ) {                
   4910e:	7003           	moveq #3,%d0                                
   49110:	b0b9 0006 1d44 	cmpl 61d44 <_System_state_Current>,%d0      
   49116:	66e6           	bnes 490fe <_Heap_Walk+0x30>                
  Heap_Block *const first_free_block = _Heap_Free_list_first( heap ); 
  Heap_Block *const last_free_block = _Heap_Free_list_last( heap );   
  Heap_Block *const first_block = heap->first_block;                  
  Heap_Block *const last_block = heap->last_block;                    
                                                                      
  (*printer)(                                                         
   49118:	2f2a 000c      	movel %a2@(12),%sp@-                        
   4911c:	2f2a 0008      	movel %a2@(8),%sp@-                         
   49120:	2f0d           	movel %a5,%sp@-                             
   49122:	2f0b           	movel %a3,%sp@-                             
   49124:	2f2a 001c      	movel %a2@(28),%sp@-                        
   49128:	2f2a 0018      	movel %a2@(24),%sp@-                        
   4912c:	2f03           	movel %d3,%sp@-                             
   4912e:	2f02           	movel %d2,%sp@-                             
   49130:	4879 0005 e292 	pea 5e292 <_Copyright_Notice+0x94>          
   49136:	42a7           	clrl %sp@-                                  
   49138:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4913c:	4e94           	jsr %a4@                                    
    heap->area_begin, heap->area_end,                                 
    first_block, last_block,                                          
    first_free_block, last_free_block                                 
  );                                                                  
                                                                      
  if ( page_size == 0 ) {                                             
   4913e:	4fef 002c      	lea %sp@(44),%sp                            
   49142:	4a82           	tstl %d2                                    
   49144:	677e           	beqs 491c4 <_Heap_Walk+0xf6>                
)                                                                     
{                                                                     
#if (CPU_ALIGNMENT == 0)                                              
    return true;                                                      
#else                                                                 
    return (((uintptr_t)address % CPU_ALIGNMENT) == 0);               
   49146:	7003           	moveq #3,%d0                                
   49148:	c082           	andl %d2,%d0                                
    (*printer)( source, true, "page size is zero\n" );                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !_Addresses_Is_aligned( (void *) page_size ) ) {               
   4914a:	6600 0090      	bnew 491dc <_Heap_Walk+0x10e>               
RTEMS_INLINE_ROUTINE bool _Heap_Is_aligned(                           
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return (value % alignment) == 0;                                    
   4914e:	2203           	movel %d3,%d1                               
   49150:	4c42 1000      	remul %d2,%d0,%d1                           
    );                                                                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !_Heap_Is_aligned( min_block_size, page_size ) ) {             
   49154:	4a80           	tstl %d0                                    
   49156:	6600 009e      	bnew 491f6 <_Heap_Walk+0x128>               
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Alloc_area_of_block(             
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block + HEAP_BLOCK_HEADER_SIZE;                  
   4915a:	200b           	movel %a3,%d0                               
   4915c:	5080           	addql #8,%d0                                
RTEMS_INLINE_ROUTINE bool _Heap_Is_aligned(                           
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return (value % alignment) == 0;                                    
   4915e:	4c42 0001      	remul %d2,%d1,%d0                           
    );                                                                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if (                                                                
   49162:	4a81           	tstl %d1                                    
   49164:	6600 00aa      	bnew 49210 <_Heap_Walk+0x142>               
                                                                      
    block = next_block;                                               
  } while ( block != first_block );                                   
                                                                      
  return true;                                                        
}                                                                     
   49168:	202b 0004      	movel %a3@(4),%d0                           
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   4916c:	7801           	moveq #1,%d4                                
   4916e:	c880           	andl %d0,%d4                                
    );                                                                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !_Heap_Is_prev_used( first_block ) ) {                         
   49170:	6700 00ba      	beqw 4922c <_Heap_Walk+0x15e>               
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   49174:	72fe           	moveq #-2,%d1                               
   49176:	c2ad 0004      	andl %a5@(4),%d1                            
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(                      
  const Heap_Block *block,                                            
  uintptr_t offset                                                    
)                                                                     
{                                                                     
  return (Heap_Block *) ((uintptr_t) block + offset);                 
   4917a:	41f5 1800      	lea %a5@(00000000,%d1:l),%a0                
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   4917e:	7201           	moveq #1,%d1                                
   49180:	c2a8 0004      	andl %a0@(4),%d1                            
    );                                                                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( _Heap_Is_free( last_block ) ) {                                
   49184:	6726           	beqs 491ac <_Heap_Walk+0xde>                
    );                                                                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if (                                                                
   49186:	b1cb           	cmpal %a3,%a0                               
   49188:	6700 00bc      	beqw 49246 <_Heap_Walk+0x178>               
    _Heap_Block_at( last_block, _Heap_Block_size( last_block ) ) != first_block
  ) {                                                                 
    (*printer)(                                                       
   4918c:	4879 0005 e3ec 	pea 5e3ec <_Copyright_Notice+0x1ee>         
   49192:	4878 0001      	pea 1 <ADD>                                 
   49196:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4919a:	4e94           	jsr %a4@                                    
   4919c:	4fef 000c      	lea %sp@(12),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   491a0:	4200           	clrb %d0                                    
                                                                      
    block = next_block;                                               
  } while ( block != first_block );                                   
                                                                      
  return true;                                                        
}                                                                     
   491a2:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   491a8:	4e5e           	unlk %fp                                    
   491aa:	4e75           	rts                                         
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( _Heap_Is_free( last_block ) ) {                                
    (*printer)(                                                       
   491ac:	4879 0005 e3d7 	pea 5e3d7 <_Copyright_Notice+0x1d9>         
   491b2:	4878 0001      	pea 1 <ADD>                                 
   491b6:	2f2e 000c      	movel %fp@(12),%sp@-                        
   491ba:	4e94           	jsr %a4@                                    
   491bc:	4fef 000c      	lea %sp@(12),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   491c0:	4200           	clrb %d0                                    
   491c2:	60de           	bras 491a2 <_Heap_Walk+0xd4>                
    first_block, last_block,                                          
    first_free_block, last_free_block                                 
  );                                                                  
                                                                      
  if ( page_size == 0 ) {                                             
    (*printer)( source, true, "page size is zero\n" );                
   491c4:	4879 0005 e323 	pea 5e323 <_Copyright_Notice+0x125>         
   491ca:	4878 0001      	pea 1 <ADD>                                 
   491ce:	2f2e 000c      	movel %fp@(12),%sp@-                        
   491d2:	4e94           	jsr %a4@                                    
   491d4:	4fef 000c      	lea %sp@(12),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   491d8:	4200           	clrb %d0                                    
   491da:	60c6           	bras 491a2 <_Heap_Walk+0xd4>                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !_Addresses_Is_aligned( (void *) page_size ) ) {               
    (*printer)(                                                       
   491dc:	2f02           	movel %d2,%sp@-                             
   491de:	4879 0005 e336 	pea 5e336 <_Copyright_Notice+0x138>         
   491e4:	4878 0001      	pea 1 <ADD>                                 
   491e8:	2f2e 000c      	movel %fp@(12),%sp@-                        
   491ec:	4e94           	jsr %a4@                                    
   491ee:	4fef 0010      	lea %sp@(16),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   491f2:	4200           	clrb %d0                                    
   491f4:	60ac           	bras 491a2 <_Heap_Walk+0xd4>                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !_Heap_Is_aligned( min_block_size, page_size ) ) {             
    (*printer)(                                                       
   491f6:	2f03           	movel %d3,%sp@-                             
   491f8:	4879 0005 e354 	pea 5e354 <_Copyright_Notice+0x156>         
   491fe:	4878 0001      	pea 1 <ADD>                                 
   49202:	2f2e 000c      	movel %fp@(12),%sp@-                        
   49206:	4e94           	jsr %a4@                                    
   49208:	4fef 0010      	lea %sp@(16),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   4920c:	4200           	clrb %d0                                    
   4920e:	6092           	bras 491a2 <_Heap_Walk+0xd4>                
  }                                                                   
                                                                      
  if (                                                                
    !_Heap_Is_aligned( _Heap_Alloc_area_of_block( first_block ), page_size )
  ) {                                                                 
    (*printer)(                                                       
   49210:	2f0b           	movel %a3,%sp@-                             
   49212:	4879 0005 e378 	pea 5e378 <_Copyright_Notice+0x17a>         
   49218:	4878 0001      	pea 1 <ADD>                                 
   4921c:	2f2e 000c      	movel %fp@(12),%sp@-                        
   49220:	4e94           	jsr %a4@                                    
   49222:	4fef 0010      	lea %sp@(16),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   49226:	4200           	clrb %d0                                    
   49228:	6000 ff78      	braw 491a2 <_Heap_Walk+0xd4>                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !_Heap_Is_prev_used( first_block ) ) {                         
    (*printer)(                                                       
   4922c:	4879 0005 e3a9 	pea 5e3a9 <_Copyright_Notice+0x1ab>         
   49232:	4878 0001      	pea 1 <ADD>                                 
   49236:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4923a:	4e94           	jsr %a4@                                    
   4923c:	4fef 000c      	lea %sp@(12),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   49240:	4200           	clrb %d0                                    
   49242:	6000 ff5e      	braw 491a2 <_Heap_Walk+0xd4>                
  int source,                                                         
  Heap_Walk_printer printer,                                          
  Heap_Control *heap                                                  
)                                                                     
{                                                                     
  uintptr_t const page_size = heap->page_size;                        
   49246:	222a 0010      	movel %a2@(16),%d1                          
   4924a:	2d41 fffc      	movel %d1,%fp@(-4)                          
  return &heap->free_list;                                            
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
{                                                                     
  return _Heap_Free_list_head(heap)->next;                            
   4924e:	206a 0008      	moveal %a2@(8),%a0                          
                                                                      
    block = next_block;                                               
  } while ( block != first_block );                                   
                                                                      
  return true;                                                        
}                                                                     
   49252:	222a 0020      	movel %a2@(32),%d1                          
  const Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );
  const Heap_Block *const first_free_block = _Heap_Free_list_first( heap );
  const Heap_Block *prev_block = free_list_tail;                      
  const Heap_Block *free_block = first_free_block;                    
                                                                      
  while ( free_block != free_list_tail ) {                            
   49256:	b1ca           	cmpal %a2,%a0                               
   49258:	6700 00c6      	beqw 49320 <_Heap_Walk+0x252>               
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   4925c:	b1c1           	cmpal %d1,%a0                               
   4925e:	6500 009c      	bcsw 492fc <_Heap_Walk+0x22e>               
   49262:	2a2a 0024      	movel %a2@(36),%d5                          
   49266:	2d45 fff0      	movel %d5,%fp@(-16)                         
   4926a:	b1c5           	cmpal %d5,%a0                               
   4926c:	6200 008e      	bhiw 492fc <_Heap_Walk+0x22e>               
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Alloc_area_of_block(             
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block + HEAP_BLOCK_HEADER_SIZE;                  
   49270:	43e8 0008      	lea %a0@(8),%a1                             
RTEMS_INLINE_ROUTINE bool _Heap_Is_aligned(                           
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return (value % alignment) == 0;                                    
   49274:	2c09           	movel %a1,%d6                               
   49276:	2e2e fffc      	movel %fp@(-4),%d7                          
   4927a:	4c47 6005      	remul %d7,%d5,%d6                           
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if (                                                              
   4927e:	4a85           	tstl %d5                                    
   49280:	6600 02b8      	bnew 4953a <_Heap_Walk+0x46c>               
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   49284:	7afe           	moveq #-2,%d5                               
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   49286:	7c01           	moveq #1,%d6                                
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   49288:	caa8 0004      	andl %a0@(4),%d5                            
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   4928c:	ccb0 5804      	andl %a0@(00000004,%d5:l),%d6               
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( _Heap_Is_used( free_block ) ) {                              
   49290:	664e           	bnes 492e0 <_Heap_Walk+0x212>               <== NEVER TAKEN
   49292:	2e2e fff0      	movel %fp@(-16),%d7                         
   49296:	224a           	moveal %a2,%a1                              
   49298:	2c08           	movel %a0,%d6                               
   4929a:	2d42 fff8      	movel %d2,%fp@(-8)                          
   4929e:	2d40 fff4      	movel %d0,%fp@(-12)                         
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( free_block->prev != prev_block ) {                           
   492a2:	2a28 000c      	movel %a0@(12),%d5                          
   492a6:	b3c5           	cmpal %d5,%a1                               
   492a8:	6600 02ac      	bnew 49556 <_Heap_Walk+0x488>               
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    prev_block = free_block;                                          
    free_block = free_block->next;                                    
   492ac:	2068 0008      	moveal %a0@(8),%a0                          
  const Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );
  const Heap_Block *const first_free_block = _Heap_Free_list_first( heap );
  const Heap_Block *prev_block = free_list_tail;                      
  const Heap_Block *free_block = first_free_block;                    
                                                                      
  while ( free_block != free_list_tail ) {                            
   492b0:	b1ca           	cmpal %a2,%a0                               
   492b2:	6764           	beqs 49318 <_Heap_Walk+0x24a>               
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   492b4:	b288           	cmpl %a0,%d1                                
   492b6:	6244           	bhis 492fc <_Heap_Walk+0x22e>               
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Alloc_area_of_block(             
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block + HEAP_BLOCK_HEADER_SIZE;                  
   492b8:	2408           	movel %a0,%d2                               
   492ba:	5082           	addql #8,%d2                                
   492bc:	2246           	moveal %d6,%a1                              
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   492be:	be88           	cmpl %a0,%d7                                
   492c0:	653a           	bcss 492fc <_Heap_Walk+0x22e>               <== NEVER TAKEN
RTEMS_INLINE_ROUTINE bool _Heap_Is_aligned(                           
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return (value % alignment) == 0;                                    
   492c2:	202e fffc      	movel %fp@(-4),%d0                          
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( _Heap_Is_used( free_block ) ) {                              
   492c6:	2c08           	movel %a0,%d6                               
   492c8:	4c40 2005      	remul %d0,%d5,%d2                           
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if (                                                              
   492cc:	4a85           	tstl %d5                                    
   492ce:	6600 026a      	bnew 4953a <_Heap_Walk+0x46c>               
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   492d2:	74fe           	moveq #-2,%d2                               
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   492d4:	7001           	moveq #1,%d0                                
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   492d6:	c4a8 0004      	andl %a0@(4),%d2                            
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   492da:	c0b0 2804      	andl %a0@(00000004,%d2:l),%d0               
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( _Heap_Is_used( free_block ) ) {                              
   492de:	67c2           	beqs 492a2 <_Heap_Walk+0x1d4>               
      (*printer)(                                                     
   492e0:	2f08           	movel %a0,%sp@-                             
   492e2:	4879 0005 e46b 	pea 5e46b <_Copyright_Notice+0x26d>         
   492e8:	4878 0001      	pea 1 <ADD>                                 
   492ec:	2f2e 000c      	movel %fp@(12),%sp@-                        
   492f0:	4e94           	jsr %a4@                                    
   492f2:	4fef 0010      	lea %sp@(16),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   492f6:	4200           	clrb %d0                                    
   492f8:	6000 fea8      	braw 491a2 <_Heap_Walk+0xd4>                
  const Heap_Block *prev_block = free_list_tail;                      
  const Heap_Block *free_block = first_free_block;                    
                                                                      
  while ( free_block != free_list_tail ) {                            
    if ( !_Heap_Is_block_in_heap( heap, free_block ) ) {              
      (*printer)(                                                     
   492fc:	2f08           	movel %a0,%sp@-                             
   492fe:	4879 0005 e41b 	pea 5e41b <_Copyright_Notice+0x21d>         
   49304:	4878 0001      	pea 1 <ADD>                                 
   49308:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4930c:	4e94           	jsr %a4@                                    
   4930e:	4fef 0010      	lea %sp@(16),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   49312:	4200           	clrb %d0                                    
   49314:	6000 fe8c      	braw 491a2 <_Heap_Walk+0xd4>                
   49318:	242e fff8      	movel %fp@(-8),%d2                          
   4931c:	202e fff4      	movel %fp@(-12),%d0                         
   49320:	2d42 fffc      	movel %d2,%fp@(-4)                          
   49324:	2e00           	movel %d0,%d7                               
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   49326:	74fe           	moveq #-2,%d2                               
   49328:	204d           	moveal %a5,%a0                              
   4932a:	2a4b           	moveal %a3,%a5                              
   4932c:	2a0b           	movel %a3,%d5                               
   4932e:	264a           	moveal %a2,%a3                              
   49330:	ce82           	andl %d2,%d7                                
   49332:	2d48 fff8      	movel %a0,%fp@(-8)                          
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(                      
  const Heap_Block *block,                                            
  uintptr_t offset                                                    
)                                                                     
{                                                                     
  return (Heap_Block *) ((uintptr_t) block + offset);                 
   49336:	45f5 7800      	lea %a5@(00000000,%d7:l),%a2                
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   4933a:	b5c1           	cmpal %d1,%a2                               
   4933c:	6568           	bcss 493a6 <_Heap_Walk+0x2d8>               <== NEVER TAKEN
   4933e:	b5eb 0024      	cmpal %a3@(36),%a2                          
   49342:	6262           	bhis 493a6 <_Heap_Walk+0x2d8>               
    uintptr_t const block_begin = (uintptr_t) block;                  
    uintptr_t const block_size = _Heap_Block_size( block );           
    bool const prev_used = _Heap_Is_prev_used( block );               
    Heap_Block *const next_block = _Heap_Block_at( block, block_size );
    uintptr_t const next_block_begin = (uintptr_t) next_block;        
    bool const is_not_last_block = block != last_block;               
   49344:	bbee fff8      	cmpal %fp@(-8),%a5                          
   49348:	56c0           	sne %d0                                     
RTEMS_INLINE_ROUTINE bool _Heap_Is_aligned(                           
  uintptr_t value,                                                    
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return (value % alignment) == 0;                                    
   4934a:	2c2e fffc      	movel %fp@(-4),%d6                          
   4934e:	2407           	movel %d7,%d2                               
   49350:	4480           	negl %d0                                    
   49352:	4c46 2001      	remul %d6,%d1,%d2                           
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( !_Heap_Is_aligned( block_size, page_size ) && is_not_last_block ) {
   49356:	4a81           	tstl %d1                                    
   49358:	6700 0084      	beqw 493de <_Heap_Walk+0x310>               
   4935c:	4a00           	tstb %d0                                    
   4935e:	6664           	bnes 493c4 <_Heap_Walk+0x2f6>               
  block->size_and_flag = size | flag;                                 
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE bool _Heap_Is_prev_used( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & HEAP_PREV_BLOCK_USED;                 
   49360:	7001           	moveq #1,%d0                                
   49362:	c0aa 0004      	andl %a2@(4),%d0                            
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( !_Heap_Is_prev_used( next_block ) ) {                        
   49366:	6700 00e8      	beqw 49450 <_Heap_Walk+0x382>               
      if ( !_Heap_Walk_check_free_block( source, printer, heap, block ) ) {
        return false;                                                 
      }                                                               
    } else if (prev_used) {                                           
   4936a:	4a84           	tstl %d4                                    
   4936c:	6700 00c6      	beqw 49434 <_Heap_Walk+0x366>               
      (*printer)(                                                     
   49370:	2f07           	movel %d7,%sp@-                             
   49372:	2f0d           	movel %a5,%sp@-                             
   49374:	4879 0005 e610 	pea 5e610 <_Copyright_Notice+0x412>         
   4937a:	42a7           	clrl %sp@-                                  
   4937c:	2f2e 000c      	movel %fp@(12),%sp@-                        
   49380:	4e94           	jsr %a4@                                    
   49382:	4fef 0014      	lea %sp@(20),%sp                            
        block->prev_size                                              
      );                                                              
    }                                                                 
                                                                      
    block = next_block;                                               
  } while ( block != first_block );                                   
   49386:	b5c5           	cmpal %d5,%a2                               
   49388:	6700 fd74      	beqw 490fe <_Heap_Walk+0x30>                
   4938c:	2e2a 0004      	movel %a2@(4),%d7                           
   49390:	7801           	moveq #1,%d4                                
    - HEAP_BLOCK_HEADER_SIZE);                                        
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE uintptr_t _Heap_Block_size( const Heap_Block *block )
{                                                                     
  return block->size_and_flag & ~HEAP_PREV_BLOCK_USED;                
   49392:	74fe           	moveq #-2,%d2                               
   49394:	2a4a           	moveal %a2,%a5                              
   49396:	c887           	andl %d7,%d4                                
   49398:	ce82           	andl %d2,%d7                                
   4939a:	222b 0020      	movel %a3@(32),%d1                          
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Block_at(                      
  const Heap_Block *block,                                            
  uintptr_t offset                                                    
)                                                                     
{                                                                     
  return (Heap_Block *) ((uintptr_t) block + offset);                 
   4939e:	45f5 7800      	lea %a5@(00000000,%d7:l),%a2                
  const Heap_Control *heap,                                           
  const Heap_Block *block                                             
)                                                                     
{                                                                     
  return (uintptr_t) block >= (uintptr_t) heap->first_block           
    && (uintptr_t) block <= (uintptr_t) heap->last_block;             
   493a2:	b5c1           	cmpal %d1,%a2                               
   493a4:	6498           	bccs 4933e <_Heap_Walk+0x270>               <== ALWAYS TAKEN
    Heap_Block *const next_block = _Heap_Block_at( block, block_size );
    uintptr_t const next_block_begin = (uintptr_t) next_block;        
    bool const is_not_last_block = block != last_block;               
                                                                      
    if ( !_Heap_Is_block_in_heap( heap, next_block ) ) {              
      (*printer)(                                                     
   493a6:	2f0a           	movel %a2,%sp@-                             
   493a8:	2f0d           	movel %a5,%sp@-                             
   493aa:	4879 0005 e4b9 	pea 5e4b9 <_Copyright_Notice+0x2bb>         
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( !_Heap_Is_aligned( block_size, page_size ) && is_not_last_block ) {
      (*printer)(                                                     
   493b0:	4878 0001      	pea 1 <ADD>                                 
   493b4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   493b8:	4e94           	jsr %a4@                                    
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   493ba:	4fef 0014      	lea %sp@(20),%sp                            
   493be:	4200           	clrb %d0                                    
   493c0:	6000 fde0      	braw 491a2 <_Heap_Walk+0xd4>                
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( !_Heap_Is_aligned( block_size, page_size ) && is_not_last_block ) {
      (*printer)(                                                     
   493c4:	2f07           	movel %d7,%sp@-                             
   493c6:	2f0d           	movel %a5,%sp@-                             
   493c8:	4879 0005 e4e6 	pea 5e4e6 <_Copyright_Notice+0x2e8>         
   493ce:	4878 0001      	pea 1 <ADD>                                 
   493d2:	2f2e 000c      	movel %fp@(12),%sp@-                        
   493d6:	4e94           	jsr %a4@                                    
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   493d8:	4fef 0014      	lea %sp@(20),%sp                            
   493dc:	60e0           	bras 493be <_Heap_Walk+0x2f0>               
    }                                                                 
                                                                      
    if ( block_size < min_block_size && is_not_last_block ) {         
   493de:	be83           	cmpl %d3,%d7                                
   493e0:	642c           	bccs 4940e <_Heap_Walk+0x340>               
   493e2:	4a00           	tstb %d0                                    
   493e4:	6700 ff7a      	beqw 49360 <_Heap_Walk+0x292>               
      (*printer)(                                                     
   493e8:	2f03           	movel %d3,%sp@-                             
   493ea:	2f07           	movel %d7,%sp@-                             
   493ec:	2f0d           	movel %a5,%sp@-                             
   493ee:	4879 0005 e514 	pea 5e514 <_Copyright_Notice+0x316>         
   493f4:	4878 0001      	pea 1 <ADD>                                 
   493f8:	2f2e 000c      	movel %fp@(12),%sp@-                        
   493fc:	4e94           	jsr %a4@                                    
        block,                                                        
        block_size,                                                   
        min_block_size                                                
      );                                                              
                                                                      
      return false;                                                   
   493fe:	4fef 0018      	lea %sp@(24),%sp                            
                                                                      
    block = next_block;                                               
  } while ( block != first_block );                                   
                                                                      
  return true;                                                        
}                                                                     
   49402:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
        block,                                                        
        block_size,                                                   
        min_block_size                                                
      );                                                              
                                                                      
      return false;                                                   
   49408:	4200           	clrb %d0                                    
                                                                      
    block = next_block;                                               
  } while ( block != first_block );                                   
                                                                      
  return true;                                                        
}                                                                     
   4940a:	4e5e           	unlk %fp                                    
   4940c:	4e75           	rts                                         
      );                                                              
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( next_block_begin <= block_begin && is_not_last_block ) {     
   4940e:	b5cd           	cmpal %a5,%a2                               
   49410:	6200 ff4e      	bhiw 49360 <_Heap_Walk+0x292>               
   49414:	4a00           	tstb %d0                                    
   49416:	6700 ff48      	beqw 49360 <_Heap_Walk+0x292>               
      (*printer)(                                                     
   4941a:	2f0a           	movel %a2,%sp@-                             
   4941c:	2f0d           	movel %a5,%sp@-                             
   4941e:	4879 0005 e53f 	pea 5e53f <_Copyright_Notice+0x341>         
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( !_Heap_Is_aligned( block_size, page_size ) && is_not_last_block ) {
      (*printer)(                                                     
   49424:	4878 0001      	pea 1 <ADD>                                 
   49428:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4942c:	4e94           	jsr %a4@                                    
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   4942e:	4fef 0014      	lea %sp@(20),%sp                            
   49432:	608a           	bras 493be <_Heap_Walk+0x2f0>               
        "block 0x%08x: size %u\n",                                    
        block,                                                        
        block_size                                                    
      );                                                              
    } else {                                                          
      (*printer)(                                                     
   49434:	2f15           	movel %a5@,%sp@-                            
   49436:	2f07           	movel %d7,%sp@-                             
   49438:	2f0d           	movel %a5,%sp@-                             
   4943a:	4879 0005 e627 	pea 5e627 <_Copyright_Notice+0x429>         
   49440:	42a7           	clrl %sp@-                                  
   49442:	2f2e 000c      	movel %fp@(12),%sp@-                        
   49446:	4e94           	jsr %a4@                                    
   49448:	4fef 0018      	lea %sp@(24),%sp                            
   4944c:	6000 ff38      	braw 49386 <_Heap_Walk+0x2b8>               
  return &heap->free_list;                                            
}                                                                     
                                                                      
RTEMS_INLINE_ROUTINE Heap_Block *_Heap_Free_list_first( Heap_Control *heap )
{                                                                     
  return _Heap_Free_list_head(heap)->next;                            
   49450:	206b 0008      	moveal %a3@(8),%a0                          
    block->prev,                                                      
    block->prev == first_free_block ?                                 
      " (= first free)"                                               
        : (block->prev == free_list_head ? " (= head)" : ""),         
    block->next,                                                      
    block->next == last_free_block ?                                  
   49454:	222d 0008      	movel %a5@(8),%d1                           
  Heap_Block *const last_free_block = _Heap_Free_list_last( heap );   
  bool const prev_used = _Heap_Is_prev_used( block );                 
  uintptr_t const block_size = _Heap_Block_size( block );             
  Heap_Block *const next_block = _Heap_Block_at( block, block_size ); 
                                                                      
  (*printer)(                                                         
   49458:	b2ab 000c      	cmpl %a3@(12),%d1                           
   4945c:	6700 00b6      	beqw 49514 <_Heap_Walk+0x446>               
      " (= first free)"                                               
        : (block->prev == free_list_head ? " (= head)" : ""),         
    block->next,                                                      
    block->next == last_free_block ?                                  
      " (= last free)"                                                
        : (block->next == free_list_tail ? " (= tail)" : "")          
   49460:	43f9 0005 e13e 	lea 5e13e <rtems_termios_baud_table+0x10a>,%a1
   49466:	b28b           	cmpl %a3,%d1                                
   49468:	676e           	beqs 494d8 <_Heap_Walk+0x40a>               
    false,                                                            
    "block 0x%08x: size %u, prev 0x%08x%s, next 0x%08x%s\n",          
    block,                                                            
    block_size,                                                       
    block->prev,                                                      
    block->prev == first_free_block ?                                 
   4946a:	202d 000c      	movel %a5@(12),%d0                          
  Heap_Block *const last_free_block = _Heap_Free_list_last( heap );   
  bool const prev_used = _Heap_Is_prev_used( block );                 
  uintptr_t const block_size = _Heap_Block_size( block );             
  Heap_Block *const next_block = _Heap_Block_at( block, block_size ); 
                                                                      
  (*printer)(                                                         
   4946e:	b088           	cmpl %a0,%d0                                
   49470:	6700 0098      	beqw 4950a <_Heap_Walk+0x43c>               
    block,                                                            
    block_size,                                                       
    block->prev,                                                      
    block->prev == first_free_block ?                                 
      " (= first free)"                                               
        : (block->prev == free_list_head ? " (= head)" : ""),         
   49474:	41f9 0005 e13e 	lea 5e13e <rtems_termios_baud_table+0x10a>,%a0
   4947a:	b08b           	cmpl %a3,%d0                                
   4947c:	6762           	beqs 494e0 <_Heap_Walk+0x412>               
  Heap_Block *const last_free_block = _Heap_Free_list_last( heap );   
  bool const prev_used = _Heap_Is_prev_used( block );                 
  uintptr_t const block_size = _Heap_Block_size( block );             
  Heap_Block *const next_block = _Heap_Block_at( block, block_size ); 
                                                                      
  (*printer)(                                                         
   4947e:	2f09           	movel %a1,%sp@-                             
   49480:	2f01           	movel %d1,%sp@-                             
   49482:	2f08           	movel %a0,%sp@-                             
   49484:	2f00           	movel %d0,%sp@-                             
   49486:	2f07           	movel %d7,%sp@-                             
   49488:	2f0d           	movel %a5,%sp@-                             
   4948a:	4879 0005 e573 	pea 5e573 <_Copyright_Notice+0x375>         
   49490:	42a7           	clrl %sp@-                                  
   49492:	2f2e 000c      	movel %fp@(12),%sp@-                        
   49496:	4e94           	jsr %a4@                                    
    block->next == last_free_block ?                                  
      " (= last free)"                                                
        : (block->next == free_list_tail ? " (= tail)" : "")          
  );                                                                  
                                                                      
  if ( block_size != next_block->prev_size ) {                        
   49498:	2012           	movel %a2@,%d0                              
   4949a:	4fef 0024      	lea %sp@(36),%sp                            
   4949e:	b087           	cmpl %d7,%d0                                
   494a0:	6646           	bnes 494e8 <_Heap_Walk+0x41a>               
    );                                                                
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !prev_used ) {                                                 
   494a2:	4a84           	tstl %d4                                    
   494a4:	6778           	beqs 4951e <_Heap_Walk+0x450>               
   494a6:	206b 0008      	moveal %a3@(8),%a0                          
)                                                                     
{                                                                     
  const Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );
  const Heap_Block *free_block = _Heap_Free_list_first( heap );       
                                                                      
  while ( free_block != free_list_tail ) {                            
   494aa:	b1cb           	cmpal %a3,%a0                               
   494ac:	670e           	beqs 494bc <_Heap_Walk+0x3ee>               <== NEVER TAKEN
    if ( free_block == block ) {                                      
   494ae:	b1cd           	cmpal %a5,%a0                               
   494b0:	6700 fed4      	beqw 49386 <_Heap_Walk+0x2b8>               
      return true;                                                    
    }                                                                 
    free_block = free_block->next;                                    
   494b4:	2068 0008      	moveal %a0@(8),%a0                          
)                                                                     
{                                                                     
  const Heap_Block *const free_list_tail = _Heap_Free_list_tail( heap );
  const Heap_Block *free_block = _Heap_Free_list_first( heap );       
                                                                      
  while ( free_block != free_list_tail ) {                            
   494b8:	b1cb           	cmpal %a3,%a0                               
   494ba:	66f2           	bnes 494ae <_Heap_Walk+0x3e0>               
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !_Heap_Walk_is_in_free_list( heap, block ) ) {                 
    (*printer)(                                                       
   494bc:	2f0d           	movel %a5,%sp@-                             
   494be:	4879 0005 e64c 	pea 5e64c <_Copyright_Notice+0x44e>         
   494c4:	4878 0001      	pea 1 <ADD>                                 
   494c8:	2f2e 000c      	movel %fp@(12),%sp@-                        
   494cc:	4e94           	jsr %a4@                                    
   494ce:	4fef 0010      	lea %sp@(16),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   494d2:	4200           	clrb %d0                                    
   494d4:	6000 fccc      	braw 491a2 <_Heap_Walk+0xd4>                
      " (= first free)"                                               
        : (block->prev == free_list_head ? " (= head)" : ""),         
    block->next,                                                      
    block->next == last_free_block ?                                  
      " (= last free)"                                                
        : (block->next == free_list_tail ? " (= tail)" : "")          
   494d8:	43f9 0005 e26e 	lea 5e26e <_Copyright_Notice+0x70>,%a1      
   494de:	608a           	bras 4946a <_Heap_Walk+0x39c>               
    block,                                                            
    block_size,                                                       
    block->prev,                                                      
    block->prev == first_free_block ?                                 
      " (= first free)"                                               
        : (block->prev == free_list_head ? " (= head)" : ""),         
   494e0:	41f9 0005 e288 	lea 5e288 <_Copyright_Notice+0x8a>,%a0      
   494e6:	6096           	bras 4947e <_Heap_Walk+0x3b0>               
      " (= last free)"                                                
        : (block->next == free_list_tail ? " (= tail)" : "")          
  );                                                                  
                                                                      
  if ( block_size != next_block->prev_size ) {                        
    (*printer)(                                                       
   494e8:	2f0a           	movel %a2,%sp@-                             
   494ea:	2f00           	movel %d0,%sp@-                             
   494ec:	2f07           	movel %d7,%sp@-                             
   494ee:	2f0d           	movel %a5,%sp@-                             
   494f0:	4879 0005 e5a8 	pea 5e5a8 <_Copyright_Notice+0x3aa>         
   494f6:	4878 0001      	pea 1 <ADD>                                 
   494fa:	2f2e 000c      	movel %fp@(12),%sp@-                        
   494fe:	4e94           	jsr %a4@                                    
   49500:	4fef 001c      	lea %sp@(28),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   49504:	4200           	clrb %d0                                    
   49506:	6000 fc9a      	braw 491a2 <_Heap_Walk+0xd4>                
  Heap_Block *const last_free_block = _Heap_Free_list_last( heap );   
  bool const prev_used = _Heap_Is_prev_used( block );                 
  uintptr_t const block_size = _Heap_Block_size( block );             
  Heap_Block *const next_block = _Heap_Block_at( block, block_size ); 
                                                                      
  (*printer)(                                                         
   4950a:	41f9 0005 e278 	lea 5e278 <_Copyright_Notice+0x7a>,%a0      
   49510:	6000 ff6c      	braw 4947e <_Heap_Walk+0x3b0>               
   49514:	43f9 0005 e25f 	lea 5e25f <_Copyright_Notice+0x61>,%a1      
   4951a:	6000 ff4e      	braw 4946a <_Heap_Walk+0x39c>               
                                                                      
    return false;                                                     
  }                                                                   
                                                                      
  if ( !prev_used ) {                                                 
    (*printer)(                                                       
   4951e:	2f0d           	movel %a5,%sp@-                             
   49520:	4879 0005 e5e1 	pea 5e5e1 <_Copyright_Notice+0x3e3>         
   49526:	4878 0001      	pea 1 <ADD>                                 
   4952a:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4952e:	4e94           	jsr %a4@                                    
   49530:	4fef 0010      	lea %sp@(16),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   49534:	4200           	clrb %d0                                    
   49536:	6000 fc6a      	braw 491a2 <_Heap_Walk+0xd4>                
    }                                                                 
                                                                      
    if (                                                              
      !_Heap_Is_aligned( _Heap_Alloc_area_of_block( free_block ), page_size )
    ) {                                                               
      (*printer)(                                                     
   4953a:	2f08           	movel %a0,%sp@-                             
   4953c:	4879 0005 e43b 	pea 5e43b <_Copyright_Notice+0x23d>         
   49542:	4878 0001      	pea 1 <ADD>                                 
   49546:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4954a:	4e94           	jsr %a4@                                    
   4954c:	4fef 0010      	lea %sp@(16),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   49550:	4200           	clrb %d0                                    
   49552:	6000 fc4e      	braw 491a2 <_Heap_Walk+0xd4>                
                                                                      
      return false;                                                   
    }                                                                 
                                                                      
    if ( free_block->prev != prev_block ) {                           
      (*printer)(                                                     
   49556:	2f05           	movel %d5,%sp@-                             
   49558:	2f08           	movel %a0,%sp@-                             
   4955a:	4879 0005 e487 	pea 5e487 <_Copyright_Notice+0x289>         
   49560:	4878 0001      	pea 1 <ADD>                                 
   49564:	2f2e 000c      	movel %fp@(12),%sp@-                        
   49568:	4e94           	jsr %a4@                                    
   4956a:	4fef 0014      	lea %sp@(20),%sp                            
        "block 0x%08x: block size %u not page aligned\n",             
        block,                                                        
        block_size                                                    
      );                                                              
                                                                      
      return false;                                                   
   4956e:	4200           	clrb %d0                                    
   49570:	6000 fc30      	braw 491a2 <_Heap_Walk+0xd4>                
                                                                      

00047d00 <_IO_Initialize_all_drivers>: void _IO_Initialize_all_drivers( void ) {
   47d00:	4e56 0000      	linkw %fp,#0                                
   47d04:	2f0a           	movel %a2,%sp@-                             
   47d06:	2f02           	movel %d2,%sp@-                             
   rtems_device_major_number major;                                   
                                                                      
   for ( major=0 ; major < _IO_Number_of_drivers ; major ++ )         
   47d08:	4ab9 0005 fbf8 	tstl 5fbf8 <_IO_Number_of_drivers>          
   47d0e:	671e           	beqs 47d2e <_IO_Initialize_all_drivers+0x2e><== NEVER TAKEN
   47d10:	4282           	clrl %d2                                    
   47d12:	45f9 0004 c53c 	lea 4c53c <rtems_io_initialize>,%a2         
     (void) rtems_io_initialize( major, 0, NULL );                    
   47d18:	42a7           	clrl %sp@-                                  
   47d1a:	42a7           	clrl %sp@-                                  
   47d1c:	2f02           	movel %d2,%sp@-                             
                                                                      
void _IO_Initialize_all_drivers( void )                               
{                                                                     
   rtems_device_major_number major;                                   
                                                                      
   for ( major=0 ; major < _IO_Number_of_drivers ; major ++ )         
   47d1e:	5282           	addql #1,%d2                                
     (void) rtems_io_initialize( major, 0, NULL );                    
   47d20:	4e92           	jsr %a2@                                    
                                                                      
void _IO_Initialize_all_drivers( void )                               
{                                                                     
   rtems_device_major_number major;                                   
                                                                      
   for ( major=0 ; major < _IO_Number_of_drivers ; major ++ )         
   47d22:	4fef 000c      	lea %sp@(12),%sp                            
   47d26:	b4b9 0005 fbf8 	cmpl 5fbf8 <_IO_Number_of_drivers>,%d2      
   47d2c:	65ea           	bcss 47d18 <_IO_Initialize_all_drivers+0x18>
     (void) rtems_io_initialize( major, 0, NULL );                    
}                                                                     
   47d2e:	242e fff8      	movel %fp@(-8),%d2                          
   47d32:	246e fffc      	moveal %fp@(-4),%a2                         
   47d36:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00047c60 <_IO_Manager_initialization>: #include <rtems/score/wkspace.h> #include <string.h> void _IO_Manager_initialization(void) {
   47c60:	4e56 fff0      	linkw %fp,#-16                              
   47c64:	48d7 003c      	moveml %d2-%d5,%sp@                         
  uint32_t                    index;                                  
  rtems_driver_address_table *driver_table;                           
  uint32_t                    drivers_in_table;                       
  uint32_t                    number_of_drivers;                      
                                                                      
  driver_table      = rtems_configuration_get_device_driver_table();  
   47c68:	2439 0005 c610 	movel 5c610 <Configuration+0x3c>,%d2        
  drivers_in_table  = rtems_configuration_get_number_of_device_drivers();
   47c6e:	2839 0005 c60c 	movel 5c60c <Configuration+0x38>,%d4        
  number_of_drivers = rtems_configuration_get_maximum_drivers();      
   47c74:	2639 0005 c608 	movel 5c608 <Configuration+0x34>,%d3        
                                                                      
  /*                                                                  
   *  If the user claims there are less drivers than are actually in  
   *  the table, then let's just go with the table's count.           
   */                                                                 
  if ( number_of_drivers <= drivers_in_table )                        
   47c7a:	b684           	cmpl %d4,%d3                                
   47c7c:	636c           	blss 47cea <_IO_Manager_initialization+0x8a>
   *  The application requested extra slots in the driver table, so we
   *  have to allocate a new driver table and copy theirs to it.      
   */                                                                 
                                                                      
  _IO_Driver_address_table = (rtems_driver_address_table *)           
      _Workspace_Allocate_or_fatal_error(                             
   47c7e:	2003           	movel %d3,%d0                               
   47c80:	2a03           	movel %d3,%d5                               
   47c82:	e788           	lsll #3,%d0                                 
   47c84:	eb8d           	lsll #5,%d5                                 
   47c86:	9a80           	subl %d0,%d5                                
   47c88:	2f05           	movel %d5,%sp@-                             
   47c8a:	4eb9 0004 ac2a 	jsr 4ac2a <_Workspace_Allocate_or_fatal_error>
        sizeof( rtems_driver_address_table ) * ( number_of_drivers )  
      );                                                              
  _IO_Number_of_drivers = number_of_drivers;                          
                                                                      
  memset(                                                             
   47c90:	2f05           	movel %d5,%sp@-                             
   47c92:	42a7           	clrl %sp@-                                  
  /*                                                                  
   *  The application requested extra slots in the driver table, so we
   *  have to allocate a new driver table and copy theirs to it.      
   */                                                                 
                                                                      
  _IO_Driver_address_table = (rtems_driver_address_table *)           
   47c94:	23c0 0005 fbfc 	movel %d0,5fbfc <_IO_Driver_address_table>  
      _Workspace_Allocate_or_fatal_error(                             
        sizeof( rtems_driver_address_table ) * ( number_of_drivers )  
      );                                                              
  _IO_Number_of_drivers = number_of_drivers;                          
                                                                      
  memset(                                                             
   47c9a:	2f00           	movel %d0,%sp@-                             
                                                                      
  _IO_Driver_address_table = (rtems_driver_address_table *)           
      _Workspace_Allocate_or_fatal_error(                             
        sizeof( rtems_driver_address_table ) * ( number_of_drivers )  
      );                                                              
  _IO_Number_of_drivers = number_of_drivers;                          
   47c9c:	23c3 0005 fbf8 	movel %d3,5fbf8 <_IO_Number_of_drivers>     
                                                                      
  memset(                                                             
   47ca2:	4eb9 0004 e9d4 	jsr 4e9d4 <memset>                          
    _IO_Driver_address_table, 0,                                      
    sizeof( rtems_driver_address_table ) * ( number_of_drivers )      
  );                                                                  
                                                                      
  for ( index = 0 ; index < drivers_in_table ; index++ )              
   47ca8:	4fef 0010      	lea %sp@(16),%sp                            
   47cac:	4a84           	tstl %d4                                    
   47cae:	6730           	beqs 47ce0 <_IO_Manager_initialization+0x80><== NEVER TAKEN
#include <rtems/score/thread.h>                                       
#include <rtems/score/wkspace.h>                                      
                                                                      
#include <string.h>                                                   
                                                                      
void _IO_Manager_initialization(void)                                 
   47cb0:	2a04           	movel %d4,%d5                               
   47cb2:	2204           	movel %d4,%d1                               
   47cb4:	4280           	clrl %d0                                    
   47cb6:	e78d           	lsll #3,%d5                                 
   47cb8:	eb89           	lsll #5,%d1                                 
   47cba:	2639 0005 fbfc 	movel 5fbfc <_IO_Driver_address_table>,%d3  
   47cc0:	9285           	subl %d5,%d1                                
    _IO_Driver_address_table, 0,                                      
    sizeof( rtems_driver_address_table ) * ( number_of_drivers )      
  );                                                                  
                                                                      
  for ( index = 0 ; index < drivers_in_table ; index++ )              
    _IO_Driver_address_table[index] = driver_table[index];            
   47cc2:	2242           	moveal %d2,%a1                              
   47cc4:	2043           	moveal %d3,%a0                              
   47cc6:	d3c0           	addal %d0,%a1                               
   47cc8:	d1c0           	addal %d0,%a0                               
   47cca:	0680 0000 0018 	addil #24,%d0                               
   47cd0:	20d9           	movel %a1@+,%a0@+                           
   47cd2:	20d9           	movel %a1@+,%a0@+                           
   47cd4:	20d9           	movel %a1@+,%a0@+                           
   47cd6:	20d9           	movel %a1@+,%a0@+                           
   47cd8:	20d9           	movel %a1@+,%a0@+                           
   47cda:	2091           	movel %a1@,%a0@                             
  memset(                                                             
    _IO_Driver_address_table, 0,                                      
    sizeof( rtems_driver_address_table ) * ( number_of_drivers )      
  );                                                                  
                                                                      
  for ( index = 0 ; index < drivers_in_table ; index++ )              
   47cdc:	b280           	cmpl %d0,%d1                                
   47cde:	66e2           	bnes 47cc2 <_IO_Manager_initialization+0x62>
    _IO_Driver_address_table[index] = driver_table[index];            
}                                                                     
   47ce0:	4cee 003c fff0 	moveml %fp@(-16),%d2-%d5                    
   47ce6:	4e5e           	unlk %fp                                    
   47ce8:	4e75           	rts                                         
   *  If the maximum number of driver is the same as the number in the
   *  table, then we do not have to copy the driver table.  They can't
   *  register any dynamically.                                       
   */                                                                 
  if ( number_of_drivers == drivers_in_table ) {                      
    _IO_Driver_address_table = driver_table;                          
   47cea:	23c2 0005 fbfc 	movel %d2,5fbfc <_IO_Driver_address_table>  
    _IO_Number_of_drivers = number_of_drivers;                        
   47cf0:	23c4 0005 fbf8 	movel %d4,5fbf8 <_IO_Number_of_drivers>     
    sizeof( rtems_driver_address_table ) * ( number_of_drivers )      
  );                                                                  
                                                                      
  for ( index = 0 ; index < drivers_in_table ; index++ )              
    _IO_Driver_address_table[index] = driver_table[index];            
}                                                                     
   47cf6:	4cee 003c fff0 	moveml %fp@(-16),%d2-%d5                    
   47cfc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004891c <_Internal_error_Occurred>: void _Internal_error_Occurred( Internal_errors_Source the_source, bool is_internal, Internal_errors_t the_error ) {
   4891c:	4e56 ffe8      	linkw %fp,#-24                              
   48920:	48d7 001c      	moveml %d2-%d4,%sp@                         
  Internal_errors_t      error                                        
)                                                                     
{                                                                     
  User_extensions_Fatal_context ctx = { source, is_internal, error }; 
                                                                      
  _User_extensions_Iterate( &ctx, _User_extensions_Fatal_visitor );   
   48924:	4879 0004 a788 	pea 4a788 <_User_extensions_Fatal_visitor>  
   4892a:	262e 0010      	movel %fp@(16),%d3                          
   4892e:	486e fff6      	pea %fp@(-10)                               
   48932:	282e 0008      	movel %fp@(8),%d4                           
   48936:	242e 000c      	movel %fp@(12),%d2                          
  Internal_errors_Source source,                                      
  bool                   is_internal,                                 
  Internal_errors_t      error                                        
)                                                                     
{                                                                     
  User_extensions_Fatal_context ctx = { source, is_internal, error }; 
   4893a:	2d44 fff6      	movel %d4,%fp@(-10)                         
   4893e:	1d42 fffa      	moveb %d2,%fp@(-6)                          
   48942:	2d43 fffc      	movel %d3,%fp@(-4)                          
                                                                      
  _User_extensions_Iterate( &ctx, _User_extensions_Fatal_visitor );   
   48946:	4eb9 0004 a7b8 	jsr 4a7b8 <_User_extensions_Iterate>        
  _User_extensions_Fatal( the_source, is_internal, the_error );       
                                                                      
  _Internal_errors_What_happened.the_source  = the_source;            
  _Internal_errors_What_happened.is_internal = is_internal;           
   4894c:	13c2 0005 fb66 	moveb %d2,5fb66 <_Internal_errors_What_happened+0x4><== NOT EXECUTED
  _Internal_errors_What_happened.the_error   = the_error;             
                                                                      
  _System_state_Set( SYSTEM_STATE_FAILED );                           
                                                                      
  _CPU_Fatal_halt( the_error );                                       
   48952:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   48954:	243c 0000 0700 	movel #1792,%d2                             <== NOT EXECUTED
  Internal_errors_t       the_error                                   
)                                                                     
{                                                                     
  _User_extensions_Fatal( the_source, is_internal, the_error );       
                                                                      
  _Internal_errors_What_happened.the_source  = the_source;            
   4895a:	23c4 0005 fb62 	movel %d4,5fb62 <_Internal_errors_What_happened><== NOT EXECUTED
  _Internal_errors_What_happened.is_internal = is_internal;           
  _Internal_errors_What_happened.the_error   = the_error;             
   48960:	23c3 0005 fb68 	movel %d3,5fb68 <_Internal_errors_What_happened+0x6><== NOT EXECUTED
                                                                      
  _System_state_Set( SYSTEM_STATE_FAILED );                           
                                                                      
  _CPU_Fatal_halt( the_error );                                       
   48966:	40c0           	movew %sr,%d0                               <== NOT EXECUTED
   48968:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   4896a:	46c0           	movew %d0,%sr                               <== NOT EXECUTED
   4896c:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   4896e:	223c dead beef 	movel #-559038737,%d1                       <== NOT EXECUTED
   48974:	4ac8           	halt                                        <== NOT EXECUTED
                                                                      
RTEMS_INLINE_ROUTINE void _System_state_Set (                         
  System_state_Codes state                                            
)                                                                     
{                                                                     
  _System_state_Current = state;                                      
   48976:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   48978:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4897a:	23c0 0005 fb6c 	movel %d0,5fb6c <_System_state_Current>     <== NOT EXECUTED
   48980:	60fe           	bras 48980 <_Internal_error_Occurred+0x64>  <== NOT EXECUTED
	...                                                                  
                                                                      

000489e4 <_Objects_Allocate>: #endif Objects_Control *_Objects_Allocate( Objects_Information *information ) {
   489e4:	4e56 fff0      	linkw %fp,#-16                              
   489e8:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   489ec:	246e 0008      	moveal %fp@(8),%a2                          
   *  If the application is using the optional manager stubs and      
   *  still attempts to create the object, the information block      
   *  should be all zeroed out because it is in the BSS.  So let's    
   *  check that code for this manager is even present.               
   */                                                                 
  if ( information->size == 0 )                                       
   489f0:	4aaa 0014      	tstl %a2@(20)                               
   489f4:	6770           	beqs 48a66 <_Objects_Allocate+0x82>         <== NEVER TAKEN
                                                                      
  /*                                                                  
   *  OK.  The manager should be initialized and configured to have objects.
   *  With any luck, it is safe to attempt to allocate an object.     
   */                                                                 
  the_object = (Objects_Control *) _Chain_Get( &information->Inactive );
   489f6:	240a           	movel %a2,%d2                               
   489f8:	0682 0000 001c 	addil #28,%d2                               
   489fe:	47f9 0004 7f74 	lea 47f74 <_Chain_Get>,%a3                  
   48a04:	2f02           	movel %d2,%sp@-                             
   48a06:	4e93           	jsr %a3@                                    
                                                                      
  if ( information->auto_extend ) {                                   
   48a08:	588f           	addql #4,%sp                                
   48a0a:	4a2a 0010      	tstb %a2@(16)                               
   48a0e:	673a           	beqs 48a4a <_Objects_Allocate+0x66>         
    /*                                                                
     *  If the list is empty then we are out of objects and need to   
     *  extend information base.                                      
     */                                                               
                                                                      
    if ( !the_object ) {                                              
   48a10:	4a80           	tstl %d0                                    
   48a12:	6740           	beqs 48a54 <_Objects_Allocate+0x70>         
    }                                                                 
                                                                      
    if ( the_object ) {                                               
      uint32_t   block;                                               
                                                                      
      block = (uint32_t) _Objects_Get_index( the_object->id ) -       
   48a14:	2040           	moveal %d0,%a0                              
              _Objects_Get_index( information->minimum_id );          
      block /= information->allocation_size;                          
   48a16:	4282           	clrl %d2                                    
    }                                                                 
                                                                      
    if ( the_object ) {                                               
      uint32_t   block;                                               
                                                                      
      block = (uint32_t) _Objects_Get_index( the_object->id ) -       
   48a18:	2228 0008      	movel %a0@(8),%d1                           
   48a1c:	262a 0006      	movel %a2@(6),%d3                           
   48a20:	0281 0000 ffff 	andil #65535,%d1                            
   48a26:	0283 0000 ffff 	andil #65535,%d3                            
              _Objects_Get_index( information->minimum_id );          
      block /= information->allocation_size;                          
   48a2c:	342a 0012      	movew %a2@(18),%d2                          
                                                                      
      information->inactive_per_block[ block ]--;                     
   48a30:	206a 002a      	moveal %a2@(42),%a0                         
    }                                                                 
                                                                      
    if ( the_object ) {                                               
      uint32_t   block;                                               
                                                                      
      block = (uint32_t) _Objects_Get_index( the_object->id ) -       
   48a34:	9283           	subl %d3,%d1                                
              _Objects_Get_index( information->minimum_id );          
      block /= information->allocation_size;                          
   48a36:	4c42 1001      	remul %d2,%d1,%d1                           
                                                                      
      information->inactive_per_block[ block ]--;                     
      information->inactive--;                                        
   48a3a:	326a 0028      	moveaw %a2@(40),%a1                         
                                                                      
      block = (uint32_t) _Objects_Get_index( the_object->id ) -       
              _Objects_Get_index( information->minimum_id );          
      block /= information->allocation_size;                          
                                                                      
      information->inactive_per_block[ block ]--;                     
   48a3e:	e589           	lsll #2,%d1                                 
      information->inactive--;                                        
   48a40:	5389           	subql #1,%a1                                
                                                                      
      block = (uint32_t) _Objects_Get_index( the_object->id ) -       
              _Objects_Get_index( information->minimum_id );          
      block /= information->allocation_size;                          
                                                                      
      information->inactive_per_block[ block ]--;                     
   48a42:	d1c1           	addal %d1,%a0                               
   48a44:	5390           	subql #1,%a0@                               
      information->inactive--;                                        
   48a46:	3549 0028      	movew %a1,%a2@(40)                          
    );                                                                
  }                                                                   
#endif                                                                
                                                                      
  return the_object;                                                  
}                                                                     
   48a4a:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   48a50:	4e5e           	unlk %fp                                    
   48a52:	4e75           	rts                                         
     *  If the list is empty then we are out of objects and need to   
     *  extend information base.                                      
     */                                                               
                                                                      
    if ( !the_object ) {                                              
      _Objects_Extend_information( information );                     
   48a54:	2f0a           	movel %a2,%sp@-                             
   48a56:	4eb9 0004 8aa0 	jsr 48aa0 <_Objects_Extend_information>     
      the_object =  (Objects_Control *) _Chain_Get( &information->Inactive );
   48a5c:	2f02           	movel %d2,%sp@-                             
   48a5e:	4e93           	jsr %a3@                                    
    }                                                                 
                                                                      
    if ( the_object ) {                                               
   48a60:	508f           	addql #8,%sp                                
   48a62:	4a80           	tstl %d0                                    
   48a64:	66ae           	bnes 48a14 <_Objects_Allocate+0x30>         
   *  still attempts to create the object, the information block      
   *  should be all zeroed out because it is in the BSS.  So let's    
   *  check that code for this manager is even present.               
   */                                                                 
  if ( information->size == 0 )                                       
    return NULL;                                                      
   48a66:	4280           	clrl %d0                                    
    );                                                                
  }                                                                   
#endif                                                                
                                                                      
  return the_object;                                                  
}                                                                     
   48a68:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   48a6e:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00048a74 <_Objects_Close>: void _Objects_Close( Objects_Information *information, Objects_Control *the_object ) {
   48a74:	4e56 0000      	linkw %fp,#0                                
   48a78:	226e 000c      	moveal %fp@(12),%a1                         
   48a7c:	206e 0008      	moveal %fp@(8),%a0                          
RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id(                     
  Objects_Information  *information,                                  
  Objects_Control      *the_object                                    
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
   48a80:	2029 0008      	movel %a1@(8),%d0                           
   48a84:	2f0a           	movel %a2,%sp@-                             
  #if defined(RTEMS_DEBUG)                                            
    if ( index > information->maximum )                               
      return;                                                         
  #endif                                                              
                                                                      
  information->local_table[ index ] = the_object;                     
   48a86:	2468 0018      	moveal %a0@(24),%a2                         
RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id(                     
  Objects_Information  *information,                                  
  Objects_Control      *the_object                                    
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
   48a8a:	0280 0000 ffff 	andil #65535,%d0                            
  #if defined(RTEMS_DEBUG)                                            
    if ( index > information->maximum )                               
      return;                                                         
  #endif                                                              
                                                                      
  information->local_table[ index ] = the_object;                     
   48a90:	42b2 0c00      	clrl %a2@(00000000,%d0:l:4)                 
  _Objects_Invalidate_Id( information, the_object );                  
                                                                      
  _Objects_Namespace_remove( information, the_object );               
}                                                                     
   48a94:	245f           	moveal %sp@+,%a2                            
   48a96:	4e5e           	unlk %fp                                    
  Objects_Control      *the_object                                    
)                                                                     
{                                                                     
  _Objects_Invalidate_Id( information, the_object );                  
                                                                      
  _Objects_Namespace_remove( information, the_object );               
   48a98:	4ef9 0004 9024 	jmp 49024 <_Objects_Namespace_remove>       
	...                                                                  
                                                                      

00048aa0 <_Objects_Extend_information>: */ void _Objects_Extend_information( Objects_Information *information ) {
   48aa0:	4e56 ffc8      	linkw %fp,#-56                              
   48aa4:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   48aa8:	246e 0008      	moveal %fp@(8),%a2                          
  /*                                                                  
   *  Search for a free block of indexes. If we do NOT need to allocate or
   *  extend the block table, then we will change do_extend.          
   */                                                                 
  do_extend     = true;                                               
  minimum_index = _Objects_Get_index( information->minimum_id );      
   48aac:	2a2a 0006      	movel %a2@(6),%d5                           
  index_base    = minimum_index;                                      
  block         = 0;                                                  
                                                                      
  /* if ( information->maximum < minimum_index ) */                   
  if ( information->object_blocks == NULL )                           
   48ab0:	206a 002e      	moveal %a2@(46),%a0                         
  /*                                                                  
   *  Search for a free block of indexes. If we do NOT need to allocate or
   *  extend the block table, then we will change do_extend.          
   */                                                                 
  do_extend     = true;                                               
  minimum_index = _Objects_Get_index( information->minimum_id );      
   48ab4:	0285 0000 ffff 	andil #65535,%d5                            
  index_base    = minimum_index;                                      
  block         = 0;                                                  
                                                                      
  /* if ( information->maximum < minimum_index ) */                   
  if ( information->object_blocks == NULL )                           
   48aba:	4a88           	tstl %a0                                    
   48abc:	6700 020c      	beqw 48cca <_Objects_Extend_information+0x22a>
    block_count = 0;                                                  
  else {                                                              
    block_count = information->maximum / information->allocation_size;
   48ac0:	3e2a 000e      	movew %a2@(14),%d7                          
   48ac4:	302a 0012      	movew %a2@(18),%d0                          
   48ac8:	3807           	movew %d7,%d4                               
   48aca:	0284 0000 ffff 	andil #65535,%d4                            
   48ad0:	88c0           	divuw %d0,%d4                               
   48ad2:	0284 0000 ffff 	andil #65535,%d4                            
                                                                      
    for ( ; block < block_count; block++ ) {                          
   48ad8:	6700 0260      	beqw 48d3a <_Objects_Extend_information+0x29a>
      if ( information->object_blocks[ block ] == NULL ) {            
   48adc:	4a90           	tstl %a0@                                   
   48ade:	6700 026c      	beqw 48d4c <_Objects_Extend_information+0x2ac>
 *    information     - object information table                      
 *                                                                    
 *  Output parameters:  NONE                                          
 */                                                                   
                                                                      
void _Objects_Extend_information(                                     
   48ae2:	5888           	addql #4,%a0                                
  /*                                                                  
   *  Search for a free block of indexes. If we do NOT need to allocate or
   *  extend the block table, then we will change do_extend.          
   */                                                                 
  do_extend     = true;                                               
  minimum_index = _Objects_Get_index( information->minimum_id );      
   48ae4:	2605           	movel %d5,%d3                               
  index_base    = minimum_index;                                      
  block         = 0;                                                  
   48ae6:	4282           	clrl %d2                                    
   48ae8:	0280 0000 ffff 	andil #65535,%d0                            
    for ( ; block < block_count; block++ ) {                          
      if ( information->object_blocks[ block ] == NULL ) {            
        do_extend = false;                                            
        break;                                                        
      } else                                                          
        index_base += information->allocation_size;                   
   48aee:	d680           	addl %d0,%d3                                
  if ( information->object_blocks == NULL )                           
    block_count = 0;                                                  
  else {                                                              
    block_count = information->maximum / information->allocation_size;
                                                                      
    for ( ; block < block_count; block++ ) {                          
   48af0:	5282           	addql #1,%d2                                
   48af2:	b484           	cmpl %d4,%d2                                
   48af4:	6400 01ac      	bccw 48ca2 <_Objects_Extend_information+0x202>
      if ( information->object_blocks[ block ] == NULL ) {            
   48af8:	4a98           	tstl %a0@+                                  
   48afa:	66f2           	bnes 48aee <_Objects_Extend_information+0x4e>
        do_extend = false;                                            
   48afc:	97cb           	subal %a3,%a3                               
      } else                                                          
        index_base += information->allocation_size;                   
    }                                                                 
  }                                                                   
                                                                      
  maximum = (uint32_t) information->maximum + information->allocation_size;
   48afe:	0287 0000 ffff 	andil #65535,%d7                            
   48b04:	de80           	addl %d0,%d7                                
  /*                                                                  
   *  We need to limit the number of objects to the maximum number    
   *  representable in the index portion of the object Id.  In the    
   *  case of 16-bit Ids, this is only 256 object instances.          
   */                                                                 
  if ( maximum > OBJECTS_ID_FINAL_INDEX ) {                           
   48b06:	0c87 0000 ffff 	cmpil #65535,%d7                            
   48b0c:	6200 018a      	bhiw 48c98 <_Objects_Extend_information+0x1f8>
                                                                      
  /*                                                                  
   * Allocate the name table, and the objects and if it fails either return or
   * generate a fatal error depending on auto-extending being active. 
   */                                                                 
  block_size = information->allocation_size * information->size;      
   48b10:	41ea 0014      	lea %a2@(20),%a0                            
   48b14:	4c10 0800      	mulsl %a0@,%d0                              
  if ( information->auto_extend ) {                                   
   48b18:	4a2a 0010      	tstb %a2@(16)                               
   48b1c:	6700 018c      	beqw 48caa <_Objects_Extend_information+0x20a>
    new_object_block = _Workspace_Allocate( block_size );             
   48b20:	2f00           	movel %d0,%sp@-                             
   48b22:	4eb9 0004 abf4 	jsr 4abf4 <_Workspace_Allocate>             
    if ( !new_object_block )                                          
   48b28:	588f           	addql #4,%sp                                
   * Allocate the name table, and the objects and if it fails either return or
   * generate a fatal error depending on auto-extending being active. 
   */                                                                 
  block_size = information->allocation_size * information->size;      
  if ( information->auto_extend ) {                                   
    new_object_block = _Workspace_Allocate( block_size );             
   48b2a:	2c00           	movel %d0,%d6                               
    if ( !new_object_block )                                          
   48b2c:	6700 016a      	beqw 48c98 <_Objects_Extend_information+0x1f8>
  }                                                                   
                                                                      
  /*                                                                  
   *  Do we need to grow the tables?                                  
   */                                                                 
  if ( do_extend ) {                                                  
   48b30:	300b           	movew %a3,%d0                               
   48b32:	4a00           	tstb %d0                                    
   48b34:	6700 00c4      	beqw 48bfa <_Objects_Extend_information+0x15a>
     */                                                               
                                                                      
    /*                                                                
     *  Up the block count and maximum                                
     */                                                               
    block_count++;                                                    
   48b38:	2844           	moveal %d4,%a4                              
   48b3a:	528c           	addql #1,%a4                                
    /*                                                                
     *  Allocate the tables and break it up.                          
     */                                                               
    block_size = block_count *                                        
           (sizeof(void *) + sizeof(uint32_t) + sizeof(Objects_Name *)) +
          ((maximum + minimum_index) * sizeof(Objects_Control *));    
   48b3c:	2007           	movel %d7,%d0                               
                                                                      
    /*                                                                
     *  Allocate the tables and break it up.                          
     */                                                               
    block_size = block_count *                                        
           (sizeof(void *) + sizeof(uint32_t) + sizeof(Objects_Name *)) +
   48b3e:	41f4 ca00      	lea %a4@(00000000,%a4:l:2),%a0              
          ((maximum + minimum_index) * sizeof(Objects_Control *));    
   48b42:	d088           	addl %a0,%d0                                
                                                                      
    /*                                                                
     *  Allocate the tables and break it up.                          
     */                                                               
    block_size = block_count *                                        
           (sizeof(void *) + sizeof(uint32_t) + sizeof(Objects_Name *)) +
   48b44:	d085           	addl %d5,%d0                                
    block_count++;                                                    
                                                                      
    /*                                                                
     *  Allocate the tables and break it up.                          
     */                                                               
    block_size = block_count *                                        
   48b46:	e588           	lsll #2,%d0                                 
           (sizeof(void *) + sizeof(uint32_t) + sizeof(Objects_Name *)) +
          ((maximum + minimum_index) * sizeof(Objects_Control *));    
    if ( information->auto_extend ) {                                 
   48b48:	4a2a 0010      	tstb %a2@(16)                               
   48b4c:	6700 016c      	beqw 48cba <_Objects_Extend_information+0x21a>
      object_blocks = _Workspace_Allocate( block_size );              
   48b50:	2f00           	movel %d0,%sp@-                             
   48b52:	4eb9 0004 abf4 	jsr 4abf4 <_Workspace_Allocate>             
      if ( !object_blocks ) {                                         
   48b58:	588f           	addql #4,%sp                                
     */                                                               
    block_size = block_count *                                        
           (sizeof(void *) + sizeof(uint32_t) + sizeof(Objects_Name *)) +
          ((maximum + minimum_index) * sizeof(Objects_Control *));    
    if ( information->auto_extend ) {                                 
      object_blocks = _Workspace_Allocate( block_size );              
   48b5a:	2640           	moveal %d0,%a3                              
      if ( !object_blocks ) {                                         
   48b5c:	4a80           	tstl %d0                                    
   48b5e:	6700 01c6      	beqw 48d26 <_Objects_Extend_information+0x286>
    }                                                                 
                                                                      
    /*                                                                
     *  Break the block into the various sections.                    
     */                                                               
    inactive_per_block = (uint32_t *) _Addresses_Add_offset(          
   48b62:	220c           	movel %a4,%d1                               
     *  Take the block count down. Saves all the (block_count - 1)    
     *  in the copies.                                                
     */                                                               
    block_count--;                                                    
                                                                      
    if ( information->maximum > minimum_index ) {                     
   48b64:	4280           	clrl %d0                                    
    }                                                                 
                                                                      
    /*                                                                
     *  Break the block into the various sections.                    
     */                                                               
    inactive_per_block = (uint32_t *) _Addresses_Add_offset(          
   48b66:	e589           	lsll #2,%d1                                 
     *  Take the block count down. Saves all the (block_count - 1)    
     *  in the copies.                                                
     */                                                               
    block_count--;                                                    
                                                                      
    if ( information->maximum > minimum_index ) {                     
   48b68:	302a 000e      	movew %a2@(14),%d0                          
   48b6c:	43f3 1800      	lea %a3@(00000000,%d1:l),%a1                
   48b70:	49f1 1800      	lea %a1@(00000000,%d1:l),%a4                
   48b74:	b085           	cmpl %d5,%d0                                
   48b76:	6200 016a      	bhiw 48ce2 <_Objects_Extend_information+0x242>
    } else {                                                          
                                                                      
      /*                                                              
       *  Deal with the special case of the 0 to minimum_index        
       */                                                             
      for ( index = 0; index < minimum_index; index++ ) {             
   48b7a:	4a85           	tstl %d5                                    
   48b7c:	670c           	beqs 48b8a <_Objects_Extend_information+0xea><== NEVER TAKEN
 *    information     - object information table                      
 *                                                                    
 *  Output parameters:  NONE                                          
 */                                                                   
                                                                      
void _Objects_Extend_information(                                     
   48b7e:	204c           	moveal %a4,%a0                              
   48b80:	4bf4 5c00      	lea %a4@(00000000,%d5:l:4),%a5              
                                                                      
      /*                                                              
       *  Deal with the special case of the 0 to minimum_index        
       */                                                             
      for ( index = 0; index < minimum_index; index++ ) {             
        local_table[ index ] = NULL;                                  
   48b84:	4298           	clrl %a0@+                                  
    } else {                                                          
                                                                      
      /*                                                              
       *  Deal with the special case of the 0 to minimum_index        
       */                                                             
      for ( index = 0; index < minimum_index; index++ ) {             
   48b86:	bbc8           	cmpal %a0,%a5                               
   48b88:	66fa           	bnes 48b84 <_Objects_Extend_information+0xe4><== NEVER TAKEN
   48b8a:	e58c           	lsll #2,%d4                                 
     */                                                               
    object_blocks[block_count] = NULL;                                
    inactive_per_block[block_count] = 0;                              
                                                                      
    for ( index=index_base ;                                          
          index < ( information->allocation_size + index_base );      
   48b8c:	4280           	clrl %d0                                    
   48b8e:	2203           	movel %d3,%d1                               
   48b90:	302a 0012      	movew %a2@(18),%d0                          
    }                                                                 
                                                                      
    /*                                                                
     *  Initialise the new entries in the table.                      
     */                                                               
    object_blocks[block_count] = NULL;                                
   48b94:	42b3 4800      	clrl %a3@(00000000,%d4:l)                   
    inactive_per_block[block_count] = 0;                              
                                                                      
    for ( index=index_base ;                                          
          index < ( information->allocation_size + index_base );      
   48b98:	d280           	addl %d0,%d1                                
                                                                      
    /*                                                                
     *  Initialise the new entries in the table.                      
     */                                                               
    object_blocks[block_count] = NULL;                                
    inactive_per_block[block_count] = 0;                              
   48b9a:	42b1 4800      	clrl %a1@(00000000,%d4:l)                   
                                                                      
    for ( index=index_base ;                                          
   48b9e:	b283           	cmpl %d3,%d1                                
   48ba0:	630e           	blss 48bb0 <_Objects_Extend_information+0x110><== NEVER TAKEN
 *    information     - object information table                      
 *                                                                    
 *  Output parameters:  NONE                                          
 */                                                                   
                                                                      
void _Objects_Extend_information(                                     
   48ba2:	4281           	clrl %d1                                    
   48ba4:	41f4 3c00      	lea %a4@(00000000,%d3:l:4),%a0              
    inactive_per_block[block_count] = 0;                              
                                                                      
    for ( index=index_base ;                                          
          index < ( information->allocation_size + index_base );      
          index++ ) {                                                 
      local_table[ index ] = NULL;                                    
   48ba8:	4298           	clrl %a0@+                                  
   48baa:	5281           	addql #1,%d1                                
     *  Initialise the new entries in the table.                      
     */                                                               
    object_blocks[block_count] = NULL;                                
    inactive_per_block[block_count] = 0;                              
                                                                      
    for ( index=index_base ;                                          
   48bac:	b081           	cmpl %d1,%d0                                
   48bae:	66f8           	bnes 48ba8 <_Objects_Extend_information+0x108>
          index < ( information->allocation_size + index_base );      
          index++ ) {                                                 
      local_table[ index ] = NULL;                                    
    }                                                                 
                                                                      
    _ISR_Disable( level );                                            
   48bb0:	203c 0000 0700 	movel #1792,%d0                             
   48bb6:	40c4           	movew %sr,%d4                               
   48bb8:	8084           	orl %d4,%d0                                 
   48bba:	46c0           	movew %d0,%sr                               
  uint32_t         the_class,                                         
  uint32_t         node,                                              
  uint32_t         index                                              
)                                                                     
{                                                                     
  return (( (Objects_Id) the_api )   << OBJECTS_API_START_BIT)   |    
   48bbc:	2012           	movel %a2@,%d0                              
   48bbe:	7a18           	moveq #24,%d5                               
                                                                      
    information->object_blocks = object_blocks;                       
    information->inactive_per_block = inactive_per_block;             
    information->local_table = local_table;                           
    information->maximum = (Objects_Maximum) maximum;                 
    information->maximum_id = _Objects_Build_id(                      
   48bc0:	4281           	clrl %d1                                    
   48bc2:	eba8           	lsll %d5,%d0                                
   48bc4:	322a 0004      	movew %a2@(4),%d1                           
         (( (Objects_Id) the_class ) << OBJECTS_CLASS_START_BIT) |    
   48bc8:	1a3c 001b      	moveb #27,%d5                               
  uint32_t         the_class,                                         
  uint32_t         node,                                              
  uint32_t         index                                              
)                                                                     
{                                                                     
  return (( (Objects_Id) the_api )   << OBJECTS_API_START_BIT)   |    
   48bcc:	08c0 0010      	bset #16,%d0                                
         (( (Objects_Id) the_class ) << OBJECTS_CLASS_START_BIT) |    
   48bd0:	eba9           	lsll %d5,%d1                                
      local_table[ index ] = NULL;                                    
    }                                                                 
                                                                      
    _ISR_Disable( level );                                            
                                                                      
    old_tables = information->object_blocks;                          
   48bd2:	206a 002e      	moveal %a2@(46),%a0                         
   48bd6:	8081           	orl %d1,%d0                                 
                                                                      
    information->object_blocks = object_blocks;                       
   48bd8:	254b 002e      	movel %a3,%a2@(46)                          
  uint32_t         the_class,                                         
  uint32_t         node,                                              
  uint32_t         index                                              
)                                                                     
{                                                                     
  return (( (Objects_Id) the_api )   << OBJECTS_API_START_BIT)   |    
   48bdc:	8087           	orl %d7,%d0                                 
    information->inactive_per_block = inactive_per_block;             
   48bde:	2549 002a      	movel %a1,%a2@(42)                          
    information->local_table = local_table;                           
    information->maximum = (Objects_Maximum) maximum;                 
   48be2:	3547 000e      	movew %d7,%a2@(14)                          
                                                                      
    old_tables = information->object_blocks;                          
                                                                      
    information->object_blocks = object_blocks;                       
    information->inactive_per_block = inactive_per_block;             
    information->local_table = local_table;                           
   48be6:	254c 0018      	movel %a4,%a2@(24)                          
   48bea:	2540 000a      	movel %d0,%a2@(10)                          
        information->the_class,                                       
        _Objects_Local_node,                                          
        information->maximum                                          
      );                                                              
                                                                      
    _ISR_Enable( level );                                             
   48bee:	46c4           	movew %d4,%sr                               
                                                                      
    _Workspace_Free( old_tables );                                    
   48bf0:	2f08           	movel %a0,%sp@-                             
   48bf2:	4eb9 0004 ac10 	jsr 4ac10 <_Workspace_Free>                 
   48bf8:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  /*                                                                  
   *  Assign the new object block to the object block table.          
   */                                                                 
  information->object_blocks[ block ] = new_object_block;             
   48bfa:	206a 002e      	moveal %a2@(46),%a0                         
                                                                      
  /*                                                                  
   *  Initialize objects .. add to a local chain first.               
   */                                                                 
  _Chain_Initialize(                                                  
   48bfe:	4280           	clrl %d0                                    
   48c00:	280e           	movel %fp,%d4                               
   48c02:	0684 ffff fff4 	addil #-12,%d4                              
   48c08:	47f9 0004 7f74 	lea 47f74 <_Chain_Get>,%a3                  
        information->the_class,                                       
        _Objects_Local_node,                                          
        index                                                         
      );                                                              
                                                                      
    _Chain_Append( &information->Inactive, &the_object->Node );       
   48c0e:	2a0a           	movel %a2,%d5                               
   48c10:	0685 0000 001c 	addil #28,%d5                               
   48c16:	49f9 0004 7f3c 	lea 47f3c <_Chain_Append>,%a4               
  }                                                                   
                                                                      
  /*                                                                  
   *  Assign the new object block to the object block table.          
   */                                                                 
  information->object_blocks[ block ] = new_object_block;             
   48c1c:	e58a           	lsll #2,%d2                                 
                                                                      
  /*                                                                  
   *  Initialize objects .. add to a local chain first.               
   */                                                                 
  _Chain_Initialize(                                                  
   48c1e:	302a 0012      	movew %a2@(18),%d0                          
  }                                                                   
                                                                      
  /*                                                                  
   *  Assign the new object block to the object block table.          
   */                                                                 
  information->object_blocks[ block ] = new_object_block;             
   48c22:	2186 2800      	movel %d6,%a0@(00000000,%d2:l)              
                                                                      
  /*                                                                  
   *  Initialize objects .. add to a local chain first.               
   */                                                                 
  _Chain_Initialize(                                                  
   48c26:	2f2a 0014      	movel %a2@(20),%sp@-                        
   48c2a:	206a 002e      	moveal %a2@(46),%a0                         
   48c2e:	2f00           	movel %d0,%sp@-                             
   48c30:	2f30 2800      	movel %a0@(00000000,%d2:l),%sp@-            
   48c34:	2f04           	movel %d4,%sp@-                             
   48c36:	4eb9 0004 7fb0 	jsr 47fb0 <_Chain_Initialize>               
  /*                                                                  
   *  Move from the local chain, initialise, then append to the inactive chain
   */                                                                 
  index = index_base;                                                 
                                                                      
  while ((the_object = (Objects_Control *) _Chain_Get( &Inactive )) != NULL ) {
   48c3c:	4fef 0010      	lea %sp@(16),%sp                            
   48c40:	2f04           	movel %d4,%sp@-                             
   48c42:	4e93           	jsr %a3@                                    
   48c44:	588f           	addql #4,%sp                                
   48c46:	4a80           	tstl %d0                                    
   48c48:	6734           	beqs 48c7e <_Objects_Extend_information+0x1de><== NEVER TAKEN
   48c4a:	2212           	movel %a2@,%d1                              
   48c4c:	7e18           	moveq #24,%d7                               
                                                                      
    the_object->id = _Objects_Build_id(                               
   48c4e:	4286           	clrl %d6                                    
   48c50:	2040           	moveal %d0,%a0                              
   48c52:	3c2a 0004      	movew %a2@(4),%d6                           
   48c56:	efa9           	lsll %d7,%d1                                
         (( (Objects_Id) the_class ) << OBJECTS_CLASS_START_BIT) |    
   48c58:	1e3c 001b      	moveb #27,%d7                               
  uint32_t         the_class,                                         
  uint32_t         node,                                              
  uint32_t         index                                              
)                                                                     
{                                                                     
  return (( (Objects_Id) the_api )   << OBJECTS_API_START_BIT)   |    
   48c5c:	08c1 0010      	bset #16,%d1                                
         (( (Objects_Id) the_class ) << OBJECTS_CLASS_START_BIT) |    
   48c60:	efae           	lsll %d7,%d6                                
   48c62:	8286           	orl %d6,%d1                                 
  uint32_t         the_class,                                         
  uint32_t         node,                                              
  uint32_t         index                                              
)                                                                     
{                                                                     
  return (( (Objects_Id) the_api )   << OBJECTS_API_START_BIT)   |    
   48c64:	8283           	orl %d3,%d1                                 
        index                                                         
      );                                                              
                                                                      
    _Chain_Append( &information->Inactive, &the_object->Node );       
                                                                      
    index++;                                                          
   48c66:	5283           	addql #1,%d3                                
   48c68:	2141 0008      	movel %d1,%a0@(8)                           
        information->the_class,                                       
        _Objects_Local_node,                                          
        index                                                         
      );                                                              
                                                                      
    _Chain_Append( &information->Inactive, &the_object->Node );       
   48c6c:	2f00           	movel %d0,%sp@-                             
   48c6e:	2f05           	movel %d5,%sp@-                             
   48c70:	4e94           	jsr %a4@                                    
                                                                      
    index++;                                                          
   48c72:	508f           	addql #8,%sp                                
  /*                                                                  
   *  Move from the local chain, initialise, then append to the inactive chain
   */                                                                 
  index = index_base;                                                 
                                                                      
  while ((the_object = (Objects_Control *) _Chain_Get( &Inactive )) != NULL ) {
   48c74:	2f04           	movel %d4,%sp@-                             
   48c76:	4e93           	jsr %a3@                                    
   48c78:	588f           	addql #4,%sp                                
   48c7a:	4a80           	tstl %d0                                    
   48c7c:	66cc           	bnes 48c4a <_Objects_Extend_information+0x1aa>
    _Chain_Append( &information->Inactive, &the_object->Node );       
                                                                      
    index++;                                                          
  }                                                                   
                                                                      
  information->inactive_per_block[ block ] = information->allocation_size;
   48c7e:	4281           	clrl %d1                                    
   48c80:	302a 0012      	movew %a2@(18),%d0                          
  information->inactive =                                             
    (Objects_Maximum)(information->inactive + information->allocation_size);
   48c84:	326a 0028      	moveaw %a2@(40),%a1                         
    _Chain_Append( &information->Inactive, &the_object->Node );       
                                                                      
    index++;                                                          
  }                                                                   
                                                                      
  information->inactive_per_block[ block ] = information->allocation_size;
   48c88:	206a 002a      	moveal %a2@(42),%a0                         
   48c8c:	3200           	movew %d0,%d1                               
  information->inactive =                                             
    (Objects_Maximum)(information->inactive + information->allocation_size);
   48c8e:	d089           	addl %a1,%d0                                
    _Chain_Append( &information->Inactive, &the_object->Node );       
                                                                      
    index++;                                                          
  }                                                                   
                                                                      
  information->inactive_per_block[ block ] = information->allocation_size;
   48c90:	2181 2800      	movel %d1,%a0@(00000000,%d2:l)              
  information->inactive =                                             
   48c94:	3540 0028      	movew %d0,%a2@(40)                          
    (Objects_Maximum)(information->inactive + information->allocation_size);
}                                                                     
   48c98:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   48c9e:	4e5e           	unlk %fp                                    
   48ca0:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  Search for a free block of indexes. If we do NOT need to allocate or
   *  extend the block table, then we will change do_extend.          
   */                                                                 
  do_extend     = true;                                               
   48ca2:	367c 0001      	moveaw #1,%a3                               
   48ca6:	6000 fe56      	braw 48afe <_Objects_Extend_information+0x5e>
  if ( information->auto_extend ) {                                   
    new_object_block = _Workspace_Allocate( block_size );             
    if ( !new_object_block )                                          
      return;                                                         
  } else {                                                            
    new_object_block = _Workspace_Allocate_or_fatal_error( block_size );
   48caa:	2f00           	movel %d0,%sp@-                             
   48cac:	4eb9 0004 ac2a 	jsr 4ac2a <_Workspace_Allocate_or_fatal_error>
   48cb2:	588f           	addql #4,%sp                                
   48cb4:	2c00           	movel %d0,%d6                               
   48cb6:	6000 fe78      	braw 48b30 <_Objects_Extend_information+0x90>
      if ( !object_blocks ) {                                         
        _Workspace_Free( new_object_block );                          
        return;                                                       
      }                                                               
    } else {                                                          
      object_blocks = _Workspace_Allocate_or_fatal_error( block_size );
   48cba:	2f00           	movel %d0,%sp@-                             
   48cbc:	4eb9 0004 ac2a 	jsr 4ac2a <_Workspace_Allocate_or_fatal_error>
   48cc2:	588f           	addql #4,%sp                                
   48cc4:	2640           	moveal %d0,%a3                              
   48cc6:	6000 fe9a      	braw 48b62 <_Objects_Extend_information+0xc2>
   48cca:	4280           	clrl %d0                                    
  /*                                                                  
   *  Search for a free block of indexes. If we do NOT need to allocate or
   *  extend the block table, then we will change do_extend.          
   */                                                                 
  do_extend     = true;                                               
  minimum_index = _Objects_Get_index( information->minimum_id );      
   48ccc:	2605           	movel %d5,%d3                               
  index_base    = minimum_index;                                      
  block         = 0;                                                  
   48cce:	4282           	clrl %d2                                    
                                                                      
  /* if ( information->maximum < minimum_index ) */                   
  if ( information->object_blocks == NULL )                           
    block_count = 0;                                                  
   48cd0:	4284           	clrl %d4                                    
   48cd2:	3e2a 000e      	movew %a2@(14),%d7                          
   48cd6:	302a 0012      	movew %a2@(18),%d0                          
                                                                      
  /*                                                                  
   *  Search for a free block of indexes. If we do NOT need to allocate or
   *  extend the block table, then we will change do_extend.          
   */                                                                 
  do_extend     = true;                                               
   48cda:	367c 0001      	moveaw #1,%a3                               
   48cde:	6000 fe1e      	braw 48afe <_Objects_Extend_information+0x5e>
      /*                                                              
       *  Copy each section of the table over. This has to be performed as
       *  separate parts as size of each block has changed.           
       */                                                             
                                                                      
      memcpy( object_blocks,                                          
   48ce2:	4bf9 0004 e964 	lea 4e964 <memcpy>,%a5                      
   48ce8:	e58c           	lsll #2,%d4                                 
   48cea:	2f04           	movel %d4,%sp@-                             
   48cec:	2f2a 002e      	movel %a2@(46),%sp@-                        
   48cf0:	2d49 fff0      	movel %a1,%fp@(-16)                         
   48cf4:	2f0b           	movel %a3,%sp@-                             
   48cf6:	4e95           	jsr %a5@                                    
              information->object_blocks,                             
              block_count * sizeof(void*) );                          
      memcpy( inactive_per_block,                                     
   48cf8:	226e fff0      	moveal %fp@(-16),%a1                        
   48cfc:	2f04           	movel %d4,%sp@-                             
   48cfe:	2f2a 002a      	movel %a2@(42),%sp@-                        
   48d02:	2f09           	movel %a1,%sp@-                             
   48d04:	4e95           	jsr %a5@                                    
              information->inactive_per_block,                        
              block_count * sizeof(uint32_t) );                       
      memcpy( local_table,                                            
              information->local_table,                               
              (information->maximum + minimum_index) * sizeof(Objects_Control *) );
   48d06:	4280           	clrl %d0                                    
   48d08:	302a 000e      	movew %a2@(14),%d0                          
   48d0c:	da80           	addl %d0,%d5                                
              information->object_blocks,                             
              block_count * sizeof(void*) );                          
      memcpy( inactive_per_block,                                     
              information->inactive_per_block,                        
              block_count * sizeof(uint32_t) );                       
      memcpy( local_table,                                            
   48d0e:	e58d           	lsll #2,%d5                                 
   48d10:	2f05           	movel %d5,%sp@-                             
   48d12:	2f2a 0018      	movel %a2@(24),%sp@-                        
   48d16:	2f0c           	movel %a4,%sp@-                             
   48d18:	4e95           	jsr %a5@                                    
   48d1a:	226e fff0      	moveal %fp@(-16),%a1                        
   48d1e:	4fef 0024      	lea %sp@(36),%sp                            
   48d22:	6000 fe68      	braw 48b8c <_Objects_Extend_information+0xec>
           (sizeof(void *) + sizeof(uint32_t) + sizeof(Objects_Name *)) +
          ((maximum + minimum_index) * sizeof(Objects_Control *));    
    if ( information->auto_extend ) {                                 
      object_blocks = _Workspace_Allocate( block_size );              
      if ( !object_blocks ) {                                         
        _Workspace_Free( new_object_block );                          
   48d26:	2f06           	movel %d6,%sp@-                             
   48d28:	4eb9 0004 ac10 	jsr 4ac10 <_Workspace_Free>                 
   48d2e:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  information->inactive_per_block[ block ] = information->allocation_size;
  information->inactive =                                             
    (Objects_Maximum)(information->inactive + information->allocation_size);
}                                                                     
   48d30:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   48d36:	4e5e           	unlk %fp                                    
   48d38:	4e75           	rts                                         
  /*                                                                  
   *  Search for a free block of indexes. If we do NOT need to allocate or
   *  extend the block table, then we will change do_extend.          
   */                                                                 
  do_extend     = true;                                               
  minimum_index = _Objects_Get_index( information->minimum_id );      
   48d3a:	2605           	movel %d5,%d3                               <== NOT EXECUTED
  index_base    = minimum_index;                                      
  block         = 0;                                                  
   48d3c:	4282           	clrl %d2                                    <== NOT EXECUTED
   48d3e:	0280 0000 ffff 	andil #65535,%d0                            <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Search for a free block of indexes. If we do NOT need to allocate or
   *  extend the block table, then we will change do_extend.          
   */                                                                 
  do_extend     = true;                                               
   48d44:	367c 0001      	moveaw #1,%a3                               <== NOT EXECUTED
   48d48:	6000 fdb4      	braw 48afe <_Objects_Extend_information+0x5e><== NOT EXECUTED
  minimum_index = _Objects_Get_index( information->minimum_id );      
   48d4c:	2605           	movel %d5,%d3                               <== NOT EXECUTED
  index_base    = minimum_index;                                      
  block         = 0;                                                  
   48d4e:	4282           	clrl %d2                                    <== NOT EXECUTED
   48d50:	0280 0000 ffff 	andil #65535,%d0                            <== NOT EXECUTED
  else {                                                              
    block_count = information->maximum / information->allocation_size;
                                                                      
    for ( ; block < block_count; block++ ) {                          
      if ( information->object_blocks[ block ] == NULL ) {            
        do_extend = false;                                            
   48d56:	97cb           	subal %a3,%a3                               <== NOT EXECUTED
   48d58:	6000 fda4      	braw 48afe <_Objects_Extend_information+0x5e><== NOT EXECUTED
                                                                      

00048e14 <_Objects_Get_information>: Objects_Information *_Objects_Get_information( Objects_APIs the_api, uint16_t the_class ) {
   48e14:	4e56 0000      	linkw %fp,#0                                
   48e18:	2f03           	movel %d3,%sp@-                             
   48e1a:	262e 0008      	movel %fp@(8),%d3                           
   48e1e:	2f02           	movel %d2,%sp@-                             
   48e20:	342e 000e      	movew %fp@(14),%d2                          
  Objects_Information *info;                                          
  int the_class_api_maximum;                                          
                                                                      
  if ( !the_class )                                                   
   48e24:	6740           	beqs 48e66 <_Objects_Get_information+0x52>  
                                                                      
  /*                                                                  
   *  This call implicitly validates the_api so we do not call        
   *  _Objects_Is_api_valid above here.                               
   */                                                                 
  the_class_api_maximum = _Objects_API_maximum_class( the_api );      
   48e26:	2f03           	movel %d3,%sp@-                             
   48e28:	4eb9 0004 c9d0 	jsr 4c9d0 <_Objects_API_maximum_class>      
  if ( the_class_api_maximum == 0 )                                   
   48e2e:	588f           	addql #4,%sp                                
   48e30:	4a80           	tstl %d0                                    
   48e32:	6732           	beqs 48e66 <_Objects_Get_information+0x52>  
    return NULL;                                                      
                                                                      
  if ( the_class > (uint32_t) the_class_api_maximum )                 
   48e34:	0282 0000 ffff 	andil #65535,%d2                            
   48e3a:	b480           	cmpl %d0,%d2                                
   48e3c:	6228           	bhis 48e66 <_Objects_Get_information+0x52>  
    return NULL;                                                      
                                                                      
  if ( !_Objects_Information_table[ the_api ] )                       
   48e3e:	41f9 0005 f9c2 	lea 5f9c2 <_Objects_Information_table>,%a0  
   48e44:	2070 3c00      	moveal %a0@(00000000,%d3:l:4),%a0           
   48e48:	4a88           	tstl %a0                                    
   48e4a:	671a           	beqs 48e66 <_Objects_Get_information+0x52>  <== NEVER TAKEN
    return NULL;                                                      
                                                                      
  info = _Objects_Information_table[ the_api ][ the_class ];          
   48e4c:	2030 2c00      	movel %a0@(00000000,%d2:l:4),%d0            
  if ( !info )                                                        
   48e50:	6714           	beqs 48e66 <_Objects_Get_information+0x52>  <== NEVER TAKEN
   *  In a multprocessing configuration, we may access remote objects.
   *  Thus we may have 0 local instances and still have a valid object
   *  pointer.                                                        
   */                                                                 
  #if !defined(RTEMS_MULTIPROCESSING)                                 
    if ( info->maximum == 0 )                                         
   48e52:	2040           	moveal %d0,%a0                              
   48e54:	4a68 000e      	tstw %a0@(14)                               
   48e58:	670c           	beqs 48e66 <_Objects_Get_information+0x52>  
      return NULL;                                                    
  #endif                                                              
                                                                      
  return info;                                                        
}                                                                     
   48e5a:	242e fff8      	movel %fp@(-8),%d2                          
   48e5e:	262e fffc      	movel %fp@(-4),%d3                          
   48e62:	4e5e           	unlk %fp                                    
   48e64:	4e75           	rts                                         
   48e66:	242e fff8      	movel %fp@(-8),%d2                          
{                                                                     
  Objects_Information *info;                                          
  int the_class_api_maximum;                                          
                                                                      
  if ( !the_class )                                                   
    return NULL;                                                      
   48e6a:	4280           	clrl %d0                                    
    if ( info->maximum == 0 )                                         
      return NULL;                                                    
  #endif                                                              
                                                                      
  return info;                                                        
}                                                                     
   48e6c:	262e fffc      	movel %fp@(-4),%d3                          
   48e70:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005598c <_Objects_Get_name_as_string>: char *_Objects_Get_name_as_string( Objects_Id id, size_t length, char *name ) {
   5598c:	4e56 ffdc      	linkw %fp,#-36                              
   55990:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
   55994:	242e 000c      	movel %fp@(12),%d2                          
   55998:	262e 0010      	movel %fp@(16),%d3                          
  char                   lname[5];                                    
  Objects_Control       *the_object;                                  
  Objects_Locations      location;                                    
  Objects_Id             tmpId;                                       
                                                                      
  if ( length == 0 )                                                  
   5599c:	4a82           	tstl %d2                                    
   5599e:	6700 00c6      	beqw 55a66 <_Objects_Get_name_as_string+0xda>
    return NULL;                                                      
                                                                      
  if ( name == NULL )                                                 
   559a2:	4a83           	tstl %d3                                    
   559a4:	6700 00c0      	beqw 55a66 <_Objects_Get_name_as_string+0xda>
    return NULL;                                                      
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
   559a8:	4aae 0008      	tstl %fp@(8)                                
   559ac:	6600 00b0      	bnew 55a5e <_Objects_Get_name_as_string+0xd2>
   559b0:	2079 0006 df62 	moveal 6df62 <_Per_CPU_Information+0xe>,%a0 
   559b6:	2468 0008      	moveal %a0@(8),%a2                          
                                                                      
  information = _Objects_Get_information_id( tmpId );                 
   559ba:	2f0a           	movel %a2,%sp@-                             
   559bc:	4eb9 0004 eac4 	jsr 4eac4 <_Objects_Get_information_id>     
  if ( !information )                                                 
   559c2:	588f           	addql #4,%sp                                
   559c4:	4a80           	tstl %d0                                    
   559c6:	6700 009e      	beqw 55a66 <_Objects_Get_name_as_string+0xda>
    return NULL;                                                      
                                                                      
  the_object = _Objects_Get( information, tmpId, &location );         
   559ca:	486e fff6      	pea %fp@(-10)                               
   559ce:	2f0a           	movel %a2,%sp@-                             
   559d0:	2f00           	movel %d0,%sp@-                             
   559d2:	4eb9 0004 ebb8 	jsr 4ebb8 <_Objects_Get>                    
  switch ( location ) {                                               
   559d8:	4fef 000c      	lea %sp@(12),%sp                            
   559dc:	4aae fff6      	tstl %fp@(-10)                              
   559e0:	6600 0084      	bnew 55a66 <_Objects_Get_name_as_string+0xda>
        if ( information->is_string ) {                               
          s = the_object->name.name_p;                                
        } else                                                        
      #endif                                                          
      {                                                               
        uint32_t  u32_name = (uint32_t) the_object->name.name_u32;    
   559e4:	2040           	moveal %d0,%a0                              
                                                                      
        lname[ 0 ] = (u32_name >> 24) & 0xff;                         
   559e6:	7818           	moveq #24,%d4                               
        if ( information->is_string ) {                               
          s = the_object->name.name_p;                                
        } else                                                        
      #endif                                                          
      {                                                               
        uint32_t  u32_name = (uint32_t) the_object->name.name_u32;    
   559e8:	2028 000c      	movel %a0@(12),%d0                          
                                                                      
        lname[ 0 ] = (u32_name >> 24) & 0xff;                         
   559ec:	2200           	movel %d0,%d1                               
   559ee:	e8a9           	lsrl %d4,%d1                                
        lname[ 1 ] = (u32_name >> 16) & 0xff;                         
        lname[ 2 ] = (u32_name >>  8) & 0xff;                         
   559f0:	2800           	movel %d0,%d4                               
      #endif                                                          
      {                                                               
        uint32_t  u32_name = (uint32_t) the_object->name.name_u32;    
                                                                      
        lname[ 0 ] = (u32_name >> 24) & 0xff;                         
        lname[ 1 ] = (u32_name >> 16) & 0xff;                         
   559f2:	2a00           	movel %d0,%d5                               
        lname[ 2 ] = (u32_name >>  8) & 0xff;                         
   559f4:	e08c           	lsrl #8,%d4                                 
        lname[ 3 ] = (u32_name >>  0) & 0xff;                         
   559f6:	1d40 fffe      	moveb %d0,%fp@(-2)                          
      #endif                                                          
      {                                                               
        uint32_t  u32_name = (uint32_t) the_object->name.name_u32;    
                                                                      
        lname[ 0 ] = (u32_name >> 24) & 0xff;                         
        lname[ 1 ] = (u32_name >> 16) & 0xff;                         
   559fa:	4245           	clrw %d5                                    
   559fc:	4845           	swap %d5                                    
        lname[ 2 ] = (u32_name >>  8) & 0xff;                         
        lname[ 3 ] = (u32_name >>  0) & 0xff;                         
        lname[ 4 ] = '\0';                                            
   559fe:	4200           	clrb %d0                                    
      {                                                               
        uint32_t  u32_name = (uint32_t) the_object->name.name_u32;    
                                                                      
        lname[ 0 ] = (u32_name >> 24) & 0xff;                         
        lname[ 1 ] = (u32_name >> 16) & 0xff;                         
        lname[ 2 ] = (u32_name >>  8) & 0xff;                         
   55a00:	1d44 fffd      	moveb %d4,%fp@(-3)                          
        s = lname;                                                    
      }                                                               
                                                                      
      d = name;                                                       
      if ( s ) {                                                      
        for ( i=0 ; i<(length-1) && *s ; i++, s++, d++ ) {            
   55a04:	7801           	moveq #1,%d4                                
        } else                                                        
      #endif                                                          
      {                                                               
        uint32_t  u32_name = (uint32_t) the_object->name.name_u32;    
                                                                      
        lname[ 0 ] = (u32_name >> 24) & 0xff;                         
   55a06:	1d41 fffb      	moveb %d1,%fp@(-5)                          
        lname[ 1 ] = (u32_name >> 16) & 0xff;                         
   55a0a:	1d45 fffc      	moveb %d5,%fp@(-4)                          
        lname[ 2 ] = (u32_name >>  8) & 0xff;                         
        lname[ 3 ] = (u32_name >>  0) & 0xff;                         
        lname[ 4 ] = '\0';                                            
   55a0e:	1d40 ffff      	moveb %d0,%fp@(-1)                          
        s = lname;                                                    
      }                                                               
                                                                      
      d = name;                                                       
      if ( s ) {                                                      
        for ( i=0 ; i<(length-1) && *s ; i++, s++, d++ ) {            
   55a12:	b882           	cmpl %d2,%d4                                
   55a14:	675e           	beqs 55a74 <_Objects_Get_name_as_string+0xe8><== NEVER TAKEN
   55a16:	4a01           	tstb %d1                                    
   55a18:	675a           	beqs 55a74 <_Objects_Get_name_as_string+0xe8>
 *  This method objects the name of an object and returns its name    
 *  in the form of a C string.  It attempts to be careful about       
 *  overflowing the user's string and about returning unprintable characters.
 */                                                                   
                                                                      
char *_Objects_Get_name_as_string(                                    
   55a1a:	43ee fffc      	lea %fp@(-4),%a1                            
   55a1e:	2043           	moveal %d3,%a0                              
   55a20:	47f6 28fa      	lea %fp@(fffffffa,%d2:l),%a3                
      }                                                               
                                                                      
      d = name;                                                       
      if ( s ) {                                                      
        for ( i=0 ; i<(length-1) && *s ; i++, s++, d++ ) {            
          *d = (isprint((unsigned char)*s)) ? *s : '*';               
   55a24:	4282           	clrl %d2                                    
   55a26:	1401           	moveb %d1,%d2                               
   55a28:	2479 0006 c074 	moveal 6c074 <__ctype_ptr__>,%a2            
   55a2e:	1432 2801      	moveb %a2@(00000001,%d2:l),%d2              
   55a32:	49c2           	extbl %d2                                   
   55a34:	0282 0000 0097 	andil #151,%d2                              
   55a3a:	6602           	bnes 55a3e <_Objects_Get_name_as_string+0xb2>
   55a3c:	722a           	moveq #42,%d1                               
   55a3e:	10c1           	moveb %d1,%a0@+                             
        s = lname;                                                    
      }                                                               
                                                                      
      d = name;                                                       
      if ( s ) {                                                      
        for ( i=0 ; i<(length-1) && *s ; i++, s++, d++ ) {            
   55a40:	2448           	moveal %a0,%a2                              
   55a42:	b7c9           	cmpal %a1,%a3                               
   55a44:	6704           	beqs 55a4a <_Objects_Get_name_as_string+0xbe>
   55a46:	1219           	moveb %a1@+,%d1                             
   55a48:	66da           	bnes 55a24 <_Objects_Get_name_as_string+0x98>
          *d = (isprint((unsigned char)*s)) ? *s : '*';               
        }                                                             
      }                                                               
      *d = '\0';                                                      
   55a4a:	4212           	clrb %a2@                                   
                                                                      
      _Thread_Enable_dispatch();                                      
   55a4c:	4eb9 0004 f9a8 	jsr 4f9a8 <_Thread_Enable_dispatch>         
      return name;                                                    
  }                                                                   
  return NULL;                  /* unreachable path */                
}                                                                     
   55a52:	2003           	movel %d3,%d0                               
   55a54:	4cee 0c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a3            
   55a5a:	4e5e           	unlk %fp                                    
   55a5c:	4e75           	rts                                         
    return NULL;                                                      
                                                                      
  if ( name == NULL )                                                 
    return NULL;                                                      
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
   55a5e:	246e 0008      	moveal %fp@(8),%a2                          
   55a62:	6000 ff56      	braw 559ba <_Objects_Get_name_as_string+0x2e>
#if defined(RTEMS_MULTIPROCESSING)                                    
    case OBJECTS_REMOTE:                                              
      /* not supported */                                             
#endif                                                                
    case OBJECTS_ERROR:                                               
      return NULL;                                                    
   55a66:	4283           	clrl %d3                                    
                                                                      
      _Thread_Enable_dispatch();                                      
      return name;                                                    
  }                                                                   
  return NULL;                  /* unreachable path */                
}                                                                     
   55a68:	2003           	movel %d3,%d0                               
   55a6a:	4cee 0c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a3            
   55a70:	4e5e           	unlk %fp                                    
   55a72:	4e75           	rts                                         
        s = lname;                                                    
      }                                                               
                                                                      
      d = name;                                                       
      if ( s ) {                                                      
        for ( i=0 ; i<(length-1) && *s ; i++, s++, d++ ) {            
   55a74:	2443           	moveal %d3,%a2                              
          *d = (isprint((unsigned char)*s)) ? *s : '*';               
        }                                                             
      }                                                               
      *d = '\0';                                                      
   55a76:	4212           	clrb %a2@                                   
                                                                      
      _Thread_Enable_dispatch();                                      
   55a78:	4eb9 0004 f9a8 	jsr 4f9a8 <_Thread_Enable_dispatch>         
   55a7e:	60d2           	bras 55a52 <_Objects_Get_name_as_string+0xc6>
                                                                      

0005a440 <_Objects_Get_no_protection>: /* * You can't just extract the index portion or you can get tricked * by a value between 1 and maximum. */ index = id - information->minimum_id + 1;
   5a440:	7001           	moveq #1,%d0                                
                                                                      
  if ( information->maximum >= index ) {                              
   5a442:	4281           	clrl %d1                                    
Objects_Control *_Objects_Get_no_protection(                          
  Objects_Information *information,                                   
  Objects_Id           id,                                            
  Objects_Locations   *location                                       
)                                                                     
{                                                                     
   5a444:	4e56 0000      	linkw %fp,#0                                
   5a448:	206e 0008      	moveal %fp@(8),%a0                          
                                                                      
  /*                                                                  
   * You can't just extract the index portion or you can get tricked  
   * by a value between 1 and maximum.                                
   */                                                                 
  index = id - information->minimum_id + 1;                           
   5a44c:	90a8 0006      	subl %a0@(6),%d0                            
   5a450:	d0ae 000c      	addl %fp@(12),%d0                           
                                                                      
  if ( information->maximum >= index ) {                              
   5a454:	3228 000e      	movew %a0@(14),%d1                          
   5a458:	b280           	cmpl %d0,%d1                                
   5a45a:	6514           	bcss 5a470 <_Objects_Get_no_protection+0x30>
    if ( (the_object = information->local_table[ index ]) != NULL ) { 
   5a45c:	2068 0018      	moveal %a0@(24),%a0                         
   5a460:	2030 0c00      	movel %a0@(00000000,%d0:l:4),%d0            
   5a464:	670a           	beqs 5a470 <_Objects_Get_no_protection+0x30><== NEVER TAKEN
      *location = OBJECTS_LOCAL;                                      
   5a466:	206e 0010      	moveal %fp@(16),%a0                         
   *  This isn't supported or required yet for Global objects so      
   *  if it isn't local, we don't find it.                            
   */                                                                 
  *location = OBJECTS_ERROR;                                          
  return NULL;                                                        
}                                                                     
   5a46a:	4e5e           	unlk %fp                                    
   */                                                                 
  index = id - information->minimum_id + 1;                           
                                                                      
  if ( information->maximum >= index ) {                              
    if ( (the_object = information->local_table[ index ]) != NULL ) { 
      *location = OBJECTS_LOCAL;                                      
   5a46c:	4290           	clrl %a0@                                   
   *  This isn't supported or required yet for Global objects so      
   *  if it isn't local, we don't find it.                            
   */                                                                 
  *location = OBJECTS_ERROR;                                          
  return NULL;                                                        
}                                                                     
   5a46e:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  This isn't supported or required yet for Global objects so      
   *  if it isn't local, we don't find it.                            
   */                                                                 
  *location = OBJECTS_ERROR;                                          
   5a470:	226e 0010      	moveal %fp@(16),%a1                         
   5a474:	7001           	moveq #1,%d0                                
  return NULL;                                                        
}                                                                     
   5a476:	4e5e           	unlk %fp                                    
                                                                      
  /*                                                                  
   *  This isn't supported or required yet for Global objects so      
   *  if it isn't local, we don't find it.                            
   */                                                                 
  *location = OBJECTS_ERROR;                                          
   5a478:	2280           	movel %d0,%a1@                              
  return NULL;                                                        
   5a47a:	4280           	clrl %d0                                    
}                                                                     
	...                                                                  
                                                                      

0004ec20 <_Objects_Id_to_name>: Objects_Name_or_id_lookup_errors _Objects_Id_to_name ( Objects_Id id, Objects_Name *name ) {
   4ec20:	4e56 fffc      	linkw %fp,#-4                               
   4ec24:	202e 0008      	movel %fp@(8),%d0                           
   4ec28:	2f02           	movel %d2,%sp@-                             
                                                                      
  /*                                                                  
   *  Caller is trusted for name != NULL.                             
   */                                                                 
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
   4ec2a:	4a80           	tstl %d0                                    
   4ec2c:	6676           	bnes 4eca4 <_Objects_Id_to_name+0x84>       
   4ec2e:	2079 0006 df62 	moveal 6df62 <_Per_CPU_Information+0xe>,%a0 
   4ec34:	2228 0008      	movel %a0@(8),%d1                           
   4ec38:	7418           	moveq #24,%d2                               
   4ec3a:	2001           	movel %d1,%d0                               
   4ec3c:	e4a8           	lsrl %d2,%d0                                
   4ec3e:	143c 0007      	moveb #7,%d2                                
   4ec42:	c082           	andl %d2,%d0                                
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Objects_Is_api_valid(                      
  uint32_t   the_api                                                  
)                                                                     
{                                                                     
  if ( !the_api || the_api > OBJECTS_APIS_LAST )                      
   4ec44:	143c 0002      	moveb #2,%d2                                
   4ec48:	2040           	moveal %d0,%a0                              
   4ec4a:	5388           	subql #1,%a0                                
   4ec4c:	b488           	cmpl %a0,%d2                                
   4ec4e:	654a           	bcss 4ec9a <_Objects_Id_to_name+0x7a>       
                                                                      
  the_api = _Objects_Get_API( tmpId );                                
  if ( !_Objects_Is_api_valid( the_api ) )                            
    return OBJECTS_INVALID_ID;                                        
                                                                      
  if ( !_Objects_Information_table[ the_api ] )                       
   4ec50:	41f9 0006 dd6e 	lea 6dd6e <_Objects_Information_table>,%a0  
   4ec56:	2070 0c00      	moveal %a0@(00000000,%d0:l:4),%a0           
   4ec5a:	4a88           	tstl %a0                                    
   4ec5c:	673c           	beqs 4ec9a <_Objects_Id_to_name+0x7a>       
 */                                                                   
RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_class(                     
  Objects_Id id                                                       
)                                                                     
{                                                                     
  return (uint32_t)                                                   
   4ec5e:	2001           	movel %d1,%d0                               
   4ec60:	741b           	moveq #27,%d2                               
   4ec62:	e4a8           	lsrl %d2,%d0                                
    return OBJECTS_INVALID_ID;                                        
                                                                      
  the_class = _Objects_Get_class( tmpId );                            
                                                                      
  information = _Objects_Information_table[ the_api ][ the_class ];   
   4ec64:	2030 0c00      	movel %a0@(00000000,%d0:l:4),%d0            
  if ( !information )                                                 
   4ec68:	6730           	beqs 4ec9a <_Objects_Id_to_name+0x7a>       <== NEVER TAKEN
  #if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES)                 
    if ( information->is_string )                                     
      return OBJECTS_INVALID_ID;                                      
  #endif                                                              
                                                                      
  the_object = _Objects_Get( information, tmpId, &ignored_location ); 
   4ec6a:	486e fffc      	pea %fp@(-4)                                
   4ec6e:	2f01           	movel %d1,%sp@-                             
   4ec70:	2f00           	movel %d0,%sp@-                             
   4ec72:	4eb9 0004 ebb8 	jsr 4ebb8 <_Objects_Get>                    
  if ( !the_object )                                                  
   4ec78:	4fef 000c      	lea %sp@(12),%sp                            
   4ec7c:	4a80           	tstl %d0                                    
   4ec7e:	671a           	beqs 4ec9a <_Objects_Id_to_name+0x7a>       
    return OBJECTS_INVALID_ID;                                        
                                                                      
  *name = the_object->name;                                           
   4ec80:	206e 000c      	moveal %fp@(12),%a0                         
   4ec84:	2240           	moveal %d0,%a1                              
   4ec86:	20a9 000c      	movel %a1@(12),%a0@                         
  _Thread_Enable_dispatch();                                          
   4ec8a:	4eb9 0004 f9a8 	jsr 4f9a8 <_Thread_Enable_dispatch>         
  return OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL;                        
}                                                                     
   4ec90:	242e fff8      	movel %fp@(-8),%d2                          
  if ( !the_object )                                                  
    return OBJECTS_INVALID_ID;                                        
                                                                      
  *name = the_object->name;                                           
  _Thread_Enable_dispatch();                                          
  return OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL;                        
   4ec94:	4280           	clrl %d0                                    
}                                                                     
   4ec96:	4e5e           	unlk %fp                                    
   4ec98:	4e75           	rts                                         
   4ec9a:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
                                                                      
  the_api = _Objects_Get_API( tmpId );                                
  if ( !_Objects_Is_api_valid( the_api ) )                            
    return OBJECTS_INVALID_ID;                                        
   4ec9e:	7003           	moveq #3,%d0                                
    return OBJECTS_INVALID_ID;                                        
                                                                      
  *name = the_object->name;                                           
  _Thread_Enable_dispatch();                                          
  return OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL;                        
}                                                                     
   4eca0:	4e5e           	unlk %fp                                    
   4eca2:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  Caller is trusted for name != NULL.                             
   */                                                                 
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
   4eca4:	2200           	movel %d0,%d1                               
   4eca6:	6090           	bras 4ec38 <_Objects_Id_to_name+0x18>       
                                                                      

00048f44 <_Objects_Initialize_information>: , bool supports_global, Objects_Thread_queue_Extract_callout extract #endif ) {
   48f44:	4e56 ffec      	linkw %fp,#-20                              
   48f48:	202e 000c      	movel %fp@(12),%d0                          
   48f4c:	48d7 043c      	moveml %d2-%d5/%a2,%sp@                     
  information->maximum = 0;                                           
                                                                      
  /*                                                                  
   *  Register this Object Class in the Object Information Table.     
   */                                                                 
  _Objects_Information_table[ the_api ][ the_class ] = information;   
   48f50:	45f9 0005 f9c2 	lea 5f9c2 <_Objects_Information_table>,%a2  
  ,                                                                   
  bool                 supports_global,                               
  Objects_Thread_queue_Extract_callout extract                        
#endif                                                                
)                                                                     
{                                                                     
   48f56:	4282           	clrl %d2                                    
  information->maximum = 0;                                           
                                                                      
  /*                                                                  
   *  Register this Object Class in the Object Information Table.     
   */                                                                 
  _Objects_Information_table[ the_api ][ the_class ] = information;   
   48f58:	4283           	clrl %d3                                    
   48f5a:	2472 0c00      	moveal %a2@(00000000,%d0:l:4),%a2           
  ,                                                                   
  bool                 supports_global,                               
  Objects_Thread_queue_Extract_callout extract                        
#endif                                                                
)                                                                     
{                                                                     
   48f5e:	206e 0008      	moveal %fp@(8),%a0                          
   48f62:	342e 001a      	movew %fp@(26),%d2                          
   48f66:	226e 0010      	moveal %fp@(16),%a1                         
    uint32_t              index;                                      
  #endif                                                              
                                                                      
  information->the_api            = the_api;                          
  information->the_class          = the_class;                        
  information->size               = size;                             
   48f6a:	2142 0014      	movel %d2,%a0@(20)                          
  ,                                                                   
  bool                 supports_global,                               
  Objects_Thread_queue_Extract_callout extract                        
#endif                                                                
)                                                                     
{                                                                     
   48f6e:	222e 0014      	movel %fp@(20),%d1                          
  information->the_class          = the_class;                        
  information->size               = size;                             
  information->local_table        = 0;                                
  information->inactive_per_block = 0;                                
  information->object_blocks      = 0;                                
  information->inactive           = 0;                                
   48f72:	4242           	clrw %d2                                    
  information->maximum = 0;                                           
                                                                      
  /*                                                                  
   *  Register this Object Class in the Object Information Table.     
   */                                                                 
  _Objects_Information_table[ the_api ][ the_class ] = information;   
   48f74:	3609           	movew %a1,%d3                               
  Objects_Maximum         maximum_per_allocation;                     
  #if defined(RTEMS_MULTIPROCESSING)                                  
    uint32_t              index;                                      
  #endif                                                              
                                                                      
  information->the_api            = the_api;                          
   48f76:	2080           	movel %d0,%a0@                              
  ,                                                                   
  bool                 supports_global,                               
  Objects_Thread_queue_Extract_callout extract                        
#endif                                                                
)                                                                     
{                                                                     
   48f78:	282e 0020      	movel %fp@(32),%d4                          
  information->the_class          = the_class;                        
  information->size               = size;                             
  information->local_table        = 0;                                
  information->inactive_per_block = 0;                                
  information->object_blocks      = 0;                                
  information->inactive           = 0;                                
   48f7c:	3142 0028      	movew %d2,%a0@(40)                          
                                                                      
  /*                                                                  
   *  Set the maximum value to 0. It will be updated when objects are 
   *  added to the inactive set from _Objects_Extend_information()    
   */                                                                 
  information->maximum = 0;                                           
   48f80:	3142 000e      	movew %d2,%a0@(14)                          
 *  @retval true Unlimited objects are available.                     
 *  @retval false The object count is fixed.                          
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Objects_Is_unlimited( uint32_t maximum )   
{                                                                     
  return (maximum & OBJECTS_UNLIMITED_OBJECTS) != 0;                  
   48f84:	2401           	movel %d1,%d2                               
  #endif                                                              
                                                                      
  information->the_api            = the_api;                          
  information->the_class          = the_class;                        
  information->size               = size;                             
  information->local_table        = 0;                                
   48f86:	42a8 0018      	clrl %a0@(24)                               
  #if defined(RTEMS_MULTIPROCESSING)                                  
    uint32_t              index;                                      
  #endif                                                              
                                                                      
  information->the_api            = the_api;                          
  information->the_class          = the_class;                        
   48f8a:	3149 0004      	movew %a1,%a0@(4)                           
  information->size               = size;                             
  information->local_table        = 0;                                
  information->inactive_per_block = 0;                                
   48f8e:	42a8 002a      	clrl %a0@(42)                               
   48f92:	d482           	addl %d2,%d2                                
   48f94:	9582           	subxl %d2,%d2                               
   48f96:	4482           	negl %d2                                    
  information->object_blocks      = 0;                                
   48f98:	42a8 002e      	clrl %a0@(46)                               
  information->maximum = 0;                                           
                                                                      
  /*                                                                  
   *  Register this Object Class in the Object Information Table.     
   */                                                                 
  _Objects_Information_table[ the_api ][ the_class ] = information;   
   48f9c:	2588 3c00      	movel %a0,%a2@(00000000,%d3:l:4)            
                                                                      
  /*                                                                  
   *  Are we operating in limited or unlimited (e.g. auto-extend) mode.
   */                                                                 
  information->auto_extend = _Objects_Is_unlimited( maximum );        
   48fa0:	1142 0010      	moveb %d2,%a0@(16)                          
  maximum_per_allocation = _Objects_Maximum_per_allocation( maximum );
                                                                      
  /*                                                                  
   *  Unlimited and maximum of zero is illogical.                     
   */                                                                 
  if ( information->auto_extend && maximum_per_allocation == 0) {     
   48fa4:	4a82           	tstl %d2                                    
   48fa6:	6704           	beqs 48fac <_Objects_Initialize_information+0x68>
   48fa8:	4a41           	tstw %d1                                    
   48faa:	6766           	beqs 49012 <_Objects_Initialize_information+0xce>
  uint32_t         the_class,                                         
  uint32_t         node,                                              
  uint32_t         index                                              
)                                                                     
{                                                                     
  return (( (Objects_Id) the_api )   << OBJECTS_API_START_BIT)   |    
   48fac:	7a18           	moveq #24,%d5                               
  information->local_table = &null_local_table;                       
                                                                      
  /*                                                                  
   *  Calculate minimum and maximum Id's                              
   */                                                                 
  minimum_index = (maximum_per_allocation == 0) ? 0 : 1;              
   48fae:	4a41           	tstw %d1                                    
   48fb0:	56c2           	sne %d2                                     
   48fb2:	eba8           	lsll %d5,%d0                                
         (( (Objects_Id) the_class ) << OBJECTS_CLASS_START_BIT) |    
   48fb4:	1a3c 001b      	moveb #27,%d5                               
  information->allocation_size = maximum_per_allocation;              
                                                                      
  /*                                                                  
   *  Provide a null local table entry for the case of any empty table.
   */                                                                 
  information->local_table = &null_local_table;                       
   48fb8:	43f9 0005 f200 	lea 5f200 <null_local_table.3490>,%a1       
                                                                      
  /*                                                                  
   *  Calculate minimum and maximum Id's                              
   */                                                                 
  minimum_index = (maximum_per_allocation == 0) ? 0 : 1;              
   48fbe:	4482           	negl %d2                                    
   48fc0:	ebab           	lsll %d5,%d3                                
  uint32_t         the_class,                                         
  uint32_t         node,                                              
  uint32_t         index                                              
)                                                                     
{                                                                     
  return (( (Objects_Id) the_api )   << OBJECTS_API_START_BIT)   |    
   48fc2:	08c0 0010      	bset #16,%d0                                
  information->allocation_size = maximum_per_allocation;              
                                                                      
  /*                                                                  
   *  Provide a null local table entry for the case of any empty table.
   */                                                                 
  information->local_table = &null_local_table;                       
   48fc6:	2149 0018      	movel %a1,%a0@(24)                          
                                                                      
  /*                                                                  
   *  Calculate minimum and maximum Id's                              
   */                                                                 
  minimum_index = (maximum_per_allocation == 0) ? 0 : 1;              
   48fca:	4285           	clrl %d5                                    
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   48fcc:	43e8 0020      	lea %a0@(32),%a1                            
   48fd0:	1a02           	moveb %d2,%d5                               
         (( (Objects_Id) the_class ) << OBJECTS_CLASS_START_BIT) |    
   48fd2:	8083           	orl %d3,%d0                                 
   48fd4:	2149 001c      	movel %a1,%a0@(28)                          
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   48fd8:	43e8 001c      	lea %a0@(28),%a1                            
  uint32_t         the_class,                                         
  uint32_t         node,                                              
  uint32_t         index                                              
)                                                                     
{                                                                     
  return (( (Objects_Id) the_api )   << OBJECTS_API_START_BIT)   |    
   48fdc:	8085           	orl %d5,%d0                                 
  }                                                                   
                                                                      
  /*                                                                  
   *  The allocation unit is the maximum value                        
   */                                                                 
  information->allocation_size = maximum_per_allocation;              
   48fde:	3141 0012      	movew %d1,%a0@(18)                          
   *  NOTE: Either 4 bytes for Classic API names or an arbitrary      
   *        number for POSIX names which are strings that may be      
   *        an odd number of bytes.                                   
   */                                                                 
                                                                      
  information->name_length = maximum_name_length;                     
   48fe2:	3144 0032      	movew %d4,%a0@(50)                          
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   48fe6:	42a8 0020      	clrl %a0@(32)                               
   48fea:	2140 0006      	movel %d0,%a0@(6)                           
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   48fee:	2149 0024      	movel %a1,%a0@(36)                          
  _Chain_Initialize_empty( &information->Inactive );                  
                                                                      
  /*                                                                  
   *  Initialize objects .. if there are any                          
   */                                                                 
  if ( maximum_per_allocation ) {                                     
   48ff2:	4a02           	tstb %d2                                    
   48ff4:	660a           	bnes 49000 <_Objects_Initialize_information+0xbc>
        _Chain_Initialize_empty( &information->global_table[ index ] );
     }                                                                
     else                                                             
       information->global_table = NULL;                              
  #endif                                                              
}                                                                     
   48ff6:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                
   48ffc:	4e5e           	unlk %fp                                    
   48ffe:	4e75           	rts                                         
    /*                                                                
     *  Always have the maximum size available so the current performance
     *  figures are create are met.  If the user moves past the maximum
     *  number then a performance hit is taken.                       
     */                                                               
    _Objects_Extend_information( information );                       
   49000:	2d48 0008      	movel %a0,%fp@(8)                           
        _Chain_Initialize_empty( &information->global_table[ index ] );
     }                                                                
     else                                                             
       information->global_table = NULL;                              
  #endif                                                              
}                                                                     
   49004:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                
   4900a:	4e5e           	unlk %fp                                    
    /*                                                                
     *  Always have the maximum size available so the current performance
     *  figures are create are met.  If the user moves past the maximum
     *  number then a performance hit is taken.                       
     */                                                               
    _Objects_Extend_information( information );                       
   4900c:	4ef9 0004 8aa0 	jmp 48aa0 <_Objects_Extend_information>     
                                                                      
  /*                                                                  
   *  Unlimited and maximum of zero is illogical.                     
   */                                                                 
  if ( information->auto_extend && maximum_per_allocation == 0) {     
    _Internal_error_Occurred(                                         
   49012:	4878 0013      	pea 13 <INVALID_OPERATION+0x3>              
   49016:	4878 0001      	pea 1 <ADD>                                 
   4901a:	42a7           	clrl %sp@-                                  
   4901c:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
	...                                                                  
                                                                      

000490b4 <_Objects_Shrink_information>: /* * Search the list to find block or chunk with all objects inactive. */ index_base = _Objects_Get_index( information->minimum_id ); block_count = (information->maximum - index_base) /
   490b4:	4281           	clrl %d1                                    
#include <rtems/score/isr.h>                                          
                                                                      
void _Objects_Shrink_information(                                     
  Objects_Information *information                                    
)                                                                     
{                                                                     
   490b6:	4e56 ffec      	linkw %fp,#-20                              
   490ba:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
   490be:	246e 0008      	moveal %fp@(8),%a2                          
  /*                                                                  
   * Search the list to find block or chunk with all objects inactive.
   */                                                                 
                                                                      
  index_base = _Objects_Get_index( information->minimum_id );         
  block_count = (information->maximum - index_base) /                 
   490c2:	4283           	clrl %d3                                    
                                                                      
  /*                                                                  
   * Search the list to find block or chunk with all objects inactive.
   */                                                                 
                                                                      
  index_base = _Objects_Get_index( information->minimum_id );         
   490c4:	242a 0006      	movel %a2@(6),%d2                           
  block_count = (information->maximum - index_base) /                 
   490c8:	362a 000e      	movew %a2@(14),%d3                          
                                                                      
  /*                                                                  
   * Search the list to find block or chunk with all objects inactive.
   */                                                                 
                                                                      
  index_base = _Objects_Get_index( information->minimum_id );         
   490cc:	0282 0000 ffff 	andil #65535,%d2                            
  block_count = (information->maximum - index_base) /                 
   490d2:	322a 0012      	movew %a2@(18),%d1                          
   490d6:	9682           	subl %d2,%d3                                
   490d8:	4c41 3003      	remul %d1,%d3,%d3                           
                 information->allocation_size;                        
                                                                      
  for ( block = 0; block < block_count; block++ ) {                   
   490dc:	6778           	beqs 49156 <_Objects_Shrink_information+0xa2><== NEVER TAKEN
    if ( information->inactive_per_block[ block ] ==                  
   490de:	206a 002a      	moveal %a2@(42),%a0                         
   490e2:	b290           	cmpl %a0@,%d1                               
   490e4:	6700 0088      	beqw 4916e <_Objects_Shrink_information+0xba>
#include <rtems/score/thread.h>                                       
#include <rtems/score/wkspace.h>                                      
#include <rtems/score/sysstate.h>                                     
#include <rtems/score/isr.h>                                          
                                                                      
void _Objects_Shrink_information(                                     
   490e8:	5888           	addql #4,%a0                                
                                                                      
  index_base = _Objects_Get_index( information->minimum_id );         
  block_count = (information->maximum - index_base) /                 
                 information->allocation_size;                        
                                                                      
  for ( block = 0; block < block_count; block++ ) {                   
   490ea:	4280           	clrl %d0                                    
   490ec:	5280           	addql #1,%d0                                
      information->inactive -= information->allocation_size;          
                                                                      
      return;                                                         
    }                                                                 
                                                                      
    index_base += information->allocation_size;                       
   490ee:	d481           	addl %d1,%d2                                
                                                                      
  index_base = _Objects_Get_index( information->minimum_id );         
  block_count = (information->maximum - index_base) /                 
                 information->allocation_size;                        
                                                                      
  for ( block = 0; block < block_count; block++ ) {                   
   490f0:	b680           	cmpl %d0,%d3                                
   490f2:	6762           	beqs 49156 <_Objects_Shrink_information+0xa2>
#include <rtems/score/thread.h>                                       
#include <rtems/score/wkspace.h>                                      
#include <rtems/score/sysstate.h>                                     
#include <rtems/score/isr.h>                                          
                                                                      
void _Objects_Shrink_information(                                     
   490f4:	2800           	movel %d0,%d4                               
   490f6:	e58c           	lsll #2,%d4                                 
  index_base = _Objects_Get_index( information->minimum_id );         
  block_count = (information->maximum - index_base) /                 
                 information->allocation_size;                        
                                                                      
  for ( block = 0; block < block_count; block++ ) {                   
    if ( information->inactive_per_block[ block ] ==                  
   490f8:	b298           	cmpl %a0@+,%d1                              
   490fa:	66f0           	bnes 490ec <_Objects_Shrink_information+0x38>
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   490fc:	206a 001c      	moveal %a2@(28),%a0                         
          */                                                          
         extract_me = the_object;                                     
         the_object = (Objects_Control *) the_object->Node.next;      
         if ((index >= index_base) &&                                 
             (index < (index_base + information->allocation_size))) { 
           _Chain_Extract( &extract_me->Node );                       
   49100:	47f9 0004 c584 	lea 4c584 <_Chain_Extract>,%a3              
       *  Assume the Inactive chain is never empty at this point      
       */                                                             
      the_object = (Objects_Control *) _Chain_First( &information->Inactive );
                                                                      
      do {                                                            
         index = _Objects_Get_index( the_object->id );                
   49106:	2028 0008      	movel %a0@(8),%d0                           
   4910a:	0280 0000 ffff 	andil #65535,%d0                            
         /*                                                           
          *  Get the next node before the node is extracted           
          */                                                          
         extract_me = the_object;                                     
         the_object = (Objects_Control *) the_object->Node.next;      
   49110:	2610           	movel %a0@,%d3                              
         if ((index >= index_base) &&                                 
   49112:	b480           	cmpl %d0,%d2                                
   49114:	620c           	bhis 49122 <_Objects_Shrink_information+0x6e>
             (index < (index_base + information->allocation_size))) { 
   49116:	4281           	clrl %d1                                    
   49118:	322a 0012      	movew %a2@(18),%d1                          
   4911c:	d282           	addl %d2,%d1                                
         /*                                                           
          *  Get the next node before the node is extracted           
          */                                                          
         extract_me = the_object;                                     
         the_object = (Objects_Control *) the_object->Node.next;      
         if ((index >= index_base) &&                                 
   4911e:	b280           	cmpl %d0,%d1                                
   49120:	623e           	bhis 49160 <_Objects_Shrink_information+0xac>
         index = _Objects_Get_index( the_object->id );                
         /*                                                           
          *  Get the next node before the node is extracted           
          */                                                          
         extract_me = the_object;                                     
         the_object = (Objects_Control *) the_object->Node.next;      
   49122:	2043           	moveal %d3,%a0                              
         if ((index >= index_base) &&                                 
             (index < (index_base + information->allocation_size))) { 
           _Chain_Extract( &extract_me->Node );                       
         }                                                            
       }                                                              
       while ( the_object );                                          
   49124:	4a83           	tstl %d3                                    
   49126:	66de           	bnes 49106 <_Objects_Shrink_information+0x52>
      /*                                                              
       *  Free the memory and reset the structures in the object' information
       */                                                             
                                                                      
      _Workspace_Free( information->object_blocks[ block ] );         
   49128:	206a 002e      	moveal %a2@(46),%a0                         
   4912c:	2f30 4800      	movel %a0@(00000000,%d4:l),%sp@-            
   49130:	4eb9 0004 ac10 	jsr 4ac10 <_Workspace_Free>                 
      information->object_blocks[ block ] = NULL;                     
   49136:	206a 002e      	moveal %a2@(46),%a0                         
      information->inactive_per_block[ block ] = 0;                   
                                                                      
      information->inactive -= information->allocation_size;          
                                                                      
      return;                                                         
   4913a:	588f           	addql #4,%sp                                
      /*                                                              
       *  Free the memory and reset the structures in the object' information
       */                                                             
                                                                      
      _Workspace_Free( information->object_blocks[ block ] );         
      information->object_blocks[ block ] = NULL;                     
   4913c:	42b0 4800      	clrl %a0@(00000000,%d4:l)                   
      information->inactive_per_block[ block ] = 0;                   
   49140:	206a 002a      	moveal %a2@(42),%a0                         
                                                                      
      information->inactive -= information->allocation_size;          
   49144:	302a 0028      	movew %a2@(40),%d0                          
   49148:	322a 0012      	movew %a2@(18),%d1                          
       *  Free the memory and reset the structures in the object' information
       */                                                             
                                                                      
      _Workspace_Free( information->object_blocks[ block ] );         
      information->object_blocks[ block ] = NULL;                     
      information->inactive_per_block[ block ] = 0;                   
   4914c:	42b0 4800      	clrl %a0@(00000000,%d4:l)                   
                                                                      
      information->inactive -= information->allocation_size;          
   49150:	9081           	subl %d1,%d0                                
   49152:	3540 0028      	movew %d0,%a2@(40)                          
      return;                                                         
    }                                                                 
                                                                      
    index_base += information->allocation_size;                       
  }                                                                   
}                                                                     
   49156:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   4915c:	4e5e           	unlk %fp                                    
   4915e:	4e75           	rts                                         
          */                                                          
         extract_me = the_object;                                     
         the_object = (Objects_Control *) the_object->Node.next;      
         if ((index >= index_base) &&                                 
             (index < (index_base + information->allocation_size))) { 
           _Chain_Extract( &extract_me->Node );                       
   49160:	2f08           	movel %a0,%sp@-                             
   49162:	4e93           	jsr %a3@                                    
   49164:	588f           	addql #4,%sp                                
         index = _Objects_Get_index( the_object->id );                
         /*                                                           
          *  Get the next node before the node is extracted           
          */                                                          
         extract_me = the_object;                                     
         the_object = (Objects_Control *) the_object->Node.next;      
   49166:	2043           	moveal %d3,%a0                              
         if ((index >= index_base) &&                                 
             (index < (index_base + information->allocation_size))) { 
           _Chain_Extract( &extract_me->Node );                       
         }                                                            
       }                                                              
       while ( the_object );                                          
   49168:	4a83           	tstl %d3                                    
   4916a:	669a           	bnes 49106 <_Objects_Shrink_information+0x52>
   4916c:	60ba           	bras 49128 <_Objects_Shrink_information+0x74>
   4916e:	206a 001c      	moveal %a2@(28),%a0                         <== NOT EXECUTED
  index_base = _Objects_Get_index( information->minimum_id );         
  block_count = (information->maximum - index_base) /                 
                 information->allocation_size;                        
                                                                      
  for ( block = 0; block < block_count; block++ ) {                   
    if ( information->inactive_per_block[ block ] ==                  
   49172:	4284           	clrl %d4                                    <== NOT EXECUTED
          */                                                          
         extract_me = the_object;                                     
         the_object = (Objects_Control *) the_object->Node.next;      
         if ((index >= index_base) &&                                 
             (index < (index_base + information->allocation_size))) { 
           _Chain_Extract( &extract_me->Node );                       
   49174:	47f9 0004 c584 	lea 4c584 <_Chain_Extract>,%a3              <== NOT EXECUTED
   4917a:	608a           	bras 49106 <_Objects_Shrink_information+0x52><== NOT EXECUTED
                                                                      

0004e298 <_Protected_heap_Walk>: bool _Protected_heap_Walk( Heap_Control *the_heap, int source, bool do_dump ) {
   4e298:	4e56 fff0      	linkw %fp,#-16                              
   * This routine returns true if thread dispatch indicates           
   * that we are in a critical section.                               
   */                                                                 
  RTEMS_INLINE_ROUTINE bool _Thread_Dispatch_in_critical_section(void)
  {                                                                   
     if (  _Thread_Dispatch_disable_level == 0 )                      
   4e29c:	2039 0006 5fd2 	movel 65fd2 <_Thread_Dispatch_disable_level>,%d0
   4e2a2:	48d7 001c      	moveml %d2-%d4,%sp@                         
   4e2a6:	262e 0008      	movel %fp@(8),%d3                           
   4e2aa:	282e 000c      	movel %fp@(12),%d4                          
   4e2ae:	142e 0013      	moveb %fp@(19),%d2                          
   4e2b2:	4a80           	tstl %d0                                    
   4e2b4:	6640           	bnes 4e2f6 <_Protected_heap_Walk+0x5e>      
   * a critical section, it should be safe to walk it unlocked.       
   *                                                                  
   * NOTE: Dispatching is also disabled during initialization.        
   */                                                                 
  if ( _Thread_Dispatch_in_critical_section() == false ) {            
    _RTEMS_Lock_allocator();                                          
   4e2b6:	2f39 0006 6056 	movel 66056 <_RTEMS_Allocator_Mutex>,%sp@-  
      status = _Heap_Walk( the_heap, source, do_dump );               
   4e2bc:	0282 0000 00ff 	andil #255,%d2                              
   * a critical section, it should be safe to walk it unlocked.       
   *                                                                  
   * NOTE: Dispatching is also disabled during initialization.        
   */                                                                 
  if ( _Thread_Dispatch_in_critical_section() == false ) {            
    _RTEMS_Lock_allocator();                                          
   4e2c2:	4eb9 0004 c2a8 	jsr 4c2a8 <_API_Mutex_Lock>                 
      status = _Heap_Walk( the_heap, source, do_dump );               
   4e2c8:	2f02           	movel %d2,%sp@-                             
   4e2ca:	2f04           	movel %d4,%sp@-                             
   4e2cc:	2f03           	movel %d3,%sp@-                             
   4e2ce:	4eb9 0004 d3b2 	jsr 4d3b2 <_Heap_Walk>                      
    _RTEMS_Unlock_allocator();                                        
   4e2d4:	2f39 0006 6056 	movel 66056 <_RTEMS_Allocator_Mutex>,%sp@-  
   4e2da:	2d40 fffc      	movel %d0,%fp@(-4)                          
   4e2de:	4eb9 0004 c308 	jsr 4c308 <_API_Mutex_Unlock>               
   4e2e4:	202e fffc      	movel %fp@(-4),%d0                          
   4e2e8:	4fef 0014      	lea %sp@(20),%sp                            
  } else {                                                            
    status = _Heap_Walk( the_heap, source, do_dump );                 
  }                                                                   
  return status;                                                      
}                                                                     
   4e2ec:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    
   4e2f2:	4e5e           	unlk %fp                                    
   4e2f4:	4e75           	rts                                         
  if ( _Thread_Dispatch_in_critical_section() == false ) {            
    _RTEMS_Lock_allocator();                                          
      status = _Heap_Walk( the_heap, source, do_dump );               
    _RTEMS_Unlock_allocator();                                        
  } else {                                                            
    status = _Heap_Walk( the_heap, source, do_dump );                 
   4e2f6:	2d44 000c      	movel %d4,%fp@(12)                          
   4e2fa:	0282 0000 00ff 	andil #255,%d2                              
   4e300:	2d43 0008      	movel %d3,%fp@(8)                           
   4e304:	2d42 0010      	movel %d2,%fp@(16)                          
  }                                                                   
  return status;                                                      
}                                                                     
   4e308:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    
   4e30e:	4e5e           	unlk %fp                                    
  if ( _Thread_Dispatch_in_critical_section() == false ) {            
    _RTEMS_Lock_allocator();                                          
      status = _Heap_Walk( the_heap, source, do_dump );               
    _RTEMS_Unlock_allocator();                                        
  } else {                                                            
    status = _Heap_Walk( the_heap, source, do_dump );                 
   4e310:	4ef9 0004 d3b2 	jmp 4d3b2 <_Heap_Walk>                      
	...                                                                  
                                                                      

00049f3a <_RBTree_Extract_unprotected>: */ void _RBTree_Extract_unprotected( RBTree_Control *the_rbtree, RBTree_Node *the_node ) {
   49f3a:	4e56 ffec      	linkw %fp,#-20                              
   49f3e:	48d7 3c04      	moveml %d2/%a2-%a5,%sp@                     
   49f42:	2a6e 0008      	moveal %fp@(8),%a5                          
   49f46:	266e 000c      	moveal %fp@(12),%a3                         
  RBTree_Node *leaf, *target;                                         
  RBTree_Color victim_color;                                          
  RBTree_Direction dir;                                               
                                                                      
  if (!the_node) return;                                              
   49f4a:	4a8b           	tstl %a3                                    
   49f4c:	6700 00b0      	beqw 49ffe <_RBTree_Extract_unprotected+0xc4>
                                                                      
  /* check if min needs to be updated */                              
  if (the_node == the_rbtree->first[RBT_LEFT]) {                      
   49f50:	b7ed 0008      	cmpal %a5@(8),%a3                           
   49f54:	6700 00d2      	beqw 4a028 <_RBTree_Extract_unprotected+0xee>
    the_rbtree->first[RBT_LEFT] = next;                               
  }                                                                   
                                                                      
  /* Check if max needs to be updated. min=max for 1 element trees so 
   * do not use else if here. */                                      
  if (the_node == the_rbtree->first[RBT_RIGHT]) {                     
   49f58:	b7ed 000c      	cmpal %a5@(12),%a3                          
   49f5c:	6700 00e4      	beqw 4a042 <_RBTree_Extract_unprotected+0x108>
   * either max in node->child[RBT_LEFT] or min in node->child[RBT_RIGHT],
   * and replace the_node with the target node. This maintains the binary
   * search tree property, but may violate the red-black properties.  
   */                                                                 
                                                                      
  if (the_node->child[RBT_LEFT] && the_node->child[RBT_RIGHT]) {      
   49f60:	246b 0004      	moveal %a3@(4),%a2                          
   49f64:	4a8a           	tstl %a2                                    
   49f66:	6700 00f4      	beqw 4a05c <_RBTree_Extract_unprotected+0x122>
   49f6a:	4aab 0008      	tstl %a3@(8)                                
   49f6e:	6700 0098      	beqw 4a008 <_RBTree_Extract_unprotected+0xce>
    target = the_node->child[RBT_LEFT]; /* find max in node->child[RBT_LEFT] */
    while (target->child[RBT_RIGHT]) target = target->child[RBT_RIGHT];
   49f72:	202a 0008      	movel %a2@(8),%d0                           
   49f76:	6708           	beqs 49f80 <_RBTree_Extract_unprotected+0x46>
   49f78:	2440           	moveal %d0,%a2                              
   49f7a:	202a 0008      	movel %a2@(8),%d0                           
   49f7e:	66f8           	bnes 49f78 <_RBTree_Extract_unprotected+0x3e>
     * target's position (target is the right child of target->parent)
     * when target vacates it. if there is no child, then target->parent
     * should become NULL. This may cause the coloring to be violated.
     * For now we store the color of the node being deleted in victim_color.
     */                                                               
    leaf = target->child[RBT_LEFT];                                   
   49f80:	286a 0004      	moveal %a2@(4),%a4                          
    if(leaf) {                                                        
   49f84:	4a8c           	tstl %a4                                    
   49f86:	6700 00fc      	beqw 4a084 <_RBTree_Extract_unprotected+0x14a>
      leaf->parent = target->parent;                                  
   49f8a:	2892           	movel %a2@,%a4@                             
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(target);                   
    }                                                                 
    victim_color = target->color;                                     
    dir = target != target->parent->child[0];                         
   49f8c:	2252           	moveal %a2@,%a1                             
   49f8e:	b5e9 0004      	cmpal %a1@(4),%a2                           
   49f92:	56c0           	sne %d0                                     
    target->parent->child[dir] = leaf;                                
   49f94:	7201           	moveq #1,%d1                                
                                                                      
    /* now replace the_node with target */                            
    dir = the_node != the_node->parent->child[0];                     
    the_node->parent->child[dir] = target;                            
   49f96:	7401           	moveq #1,%d2                                
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(target);                   
    }                                                                 
    victim_color = target->color;                                     
    dir = target != target->parent->child[0];                         
   49f98:	49c0           	extbl %d0                                   
    target->parent->child[dir] = leaf;                                
   49f9a:	9280           	subl %d0,%d1                                
                                                                      
    /* now replace the_node with target */                            
    dir = the_node != the_node->parent->child[0];                     
   49f9c:	2053           	moveal %a3@,%a0                             
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(target);                   
    }                                                                 
    victim_color = target->color;                                     
    dir = target != target->parent->child[0];                         
    target->parent->child[dir] = leaf;                                
   49f9e:	238c 1c00      	movel %a4,%a1@(00000000,%d1:l:4)            
                                                                      
    /* now replace the_node with target */                            
    dir = the_node != the_node->parent->child[0];                     
   49fa2:	b7e8 0004      	cmpal %a0@(4),%a3                           
   49fa6:	56c1           	sne %d1                                     
      leaf->parent = target->parent;                                  
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(target);                   
    }                                                                 
    victim_color = target->color;                                     
   49fa8:	202a 000c      	movel %a2@(12),%d0                          
    dir = target != target->parent->child[0];                         
    target->parent->child[dir] = leaf;                                
                                                                      
    /* now replace the_node with target */                            
    dir = the_node != the_node->parent->child[0];                     
   49fac:	49c1           	extbl %d1                                   
    the_node->parent->child[dir] = target;                            
   49fae:	9481           	subl %d1,%d2                                
   49fb0:	218a 2c00      	movel %a2,%a0@(00000000,%d2:l:4)            
                                                                      
    /* set target's new children to the original node's children */   
    target->child[RBT_RIGHT] = the_node->child[RBT_RIGHT];            
   49fb4:	256b 0008 0008 	movel %a3@(8),%a2@(8)                       
    if (the_node->child[RBT_RIGHT])                                   
   49fba:	206b 0008      	moveal %a3@(8),%a0                          
   49fbe:	4a88           	tstl %a0                                    
   49fc0:	6702           	beqs 49fc4 <_RBTree_Extract_unprotected+0x8a><== NEVER TAKEN
      the_node->child[RBT_RIGHT]->parent = target;                    
   49fc2:	208a           	movel %a2,%a0@                              
    target->child[RBT_LEFT] = the_node->child[RBT_LEFT];              
   49fc4:	256b 0004 0004 	movel %a3@(4),%a2@(4)                       
    if (the_node->child[RBT_LEFT])                                    
   49fca:	206b 0004      	moveal %a3@(4),%a0                          
   49fce:	4a88           	tstl %a0                                    
   49fd0:	6702           	beqs 49fd4 <_RBTree_Extract_unprotected+0x9a>
      the_node->child[RBT_LEFT]->parent = target;                     
   49fd2:	208a           	movel %a2,%a0@                              
    /* finally, update the parent node and recolor. target has completely
     * replaced the_node, and target's child has moved up the tree if needed.
     * the_node is no longer part of the tree, although it has valid pointers
     * still.                                                         
     */                                                               
    target->parent = the_node->parent;                                
   49fd4:	2493           	movel %a3@,%a2@                             
    target->color = the_node->color;                                  
   49fd6:	256b 000c 000c 	movel %a3@(12),%a2@(12)                     
  /* fix coloring. leaf has moved up the tree. The color of the deleted
   * node is in victim_color. There are two cases:                    
   *   1. Deleted a red node, its child must be black. Nothing must be done.
   *   2. Deleted a black node, its child must be red. Paint child black.
   */                                                                 
  if (victim_color == RBT_BLACK) { /* eliminate case 1 */             
   49fdc:	4a80           	tstl %d0                                    
   49fde:	6608           	bnes 49fe8 <_RBTree_Extract_unprotected+0xae>
    if (leaf) {                                                       
   49fe0:	4a8c           	tstl %a4                                    
   49fe2:	6704           	beqs 49fe8 <_RBTree_Extract_unprotected+0xae>
      leaf->color = RBT_BLACK; /* case 2 */                           
   49fe4:	42ac 000c      	clrl %a4@(12)                               
                                                                      
  /* Wipe the_node */                                                 
  _RBTree_Set_off_rbtree(the_node);                                   
                                                                      
  /* set root to black, if it exists */                               
  if (the_rbtree->root) the_rbtree->root->color = RBT_BLACK;          
   49fe8:	206d 0004      	moveal %a5@(4),%a0                          
 */                                                                   
RTEMS_INLINE_ROUTINE void _RBTree_Set_off_rbtree(                     
    RBTree_Node *node                                                 
    )                                                                 
{                                                                     
  node->parent = node->child[RBT_LEFT] = node->child[RBT_RIGHT] = NULL;
   49fec:	42ab 0008      	clrl %a3@(8)                                
   49ff0:	42ab 0004      	clrl %a3@(4)                                
   49ff4:	4293           	clrl %a3@                                   
   49ff6:	4a88           	tstl %a0                                    
   49ff8:	6704           	beqs 49ffe <_RBTree_Extract_unprotected+0xc4>
   49ffa:	42a8 000c      	clrl %a0@(12)                               
}                                                                     
   49ffe:	4cee 3c04 ffec 	moveml %fp@(-20),%d2/%a2-%a5                
   4a004:	4e5e           	unlk %fp                                    
   4a006:	4e75           	rts                                         
   * either max in node->child[RBT_LEFT] or min in node->child[RBT_RIGHT],
   * and replace the_node with the target node. This maintains the binary
   * search tree property, but may violate the red-black properties.  
   */                                                                 
                                                                      
  if (the_node->child[RBT_LEFT] && the_node->child[RBT_RIGHT]) {      
   4a008:	284a           	moveal %a2,%a4                              
     * For now we store the color of the node being deleted in victim_color.
     */                                                               
    leaf = the_node->child[RBT_LEFT] ?                                
              the_node->child[RBT_LEFT] : the_node->child[RBT_RIGHT]; 
    if( leaf ) {                                                      
      leaf->parent = the_node->parent;                                
   4a00a:	2893           	movel %a3@,%a4@                             
    }                                                                 
    victim_color = the_node->color;                                   
                                                                      
    /* remove the_node from the tree */                               
    dir = the_node != the_node->parent->child[0];                     
    the_node->parent->child[dir] = leaf;                              
   4a00c:	7401           	moveq #1,%d2                                
      _RBTree_Extract_validate_unprotected(the_node);                 
    }                                                                 
    victim_color = the_node->color;                                   
                                                                      
    /* remove the_node from the tree */                               
    dir = the_node != the_node->parent->child[0];                     
   4a00e:	2053           	moveal %a3@,%a0                             
   4a010:	b7e8 0004      	cmpal %a0@(4),%a3                           
   4a014:	56c1           	sne %d1                                     
      leaf->parent = the_node->parent;                                
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(the_node);                 
    }                                                                 
    victim_color = the_node->color;                                   
   4a016:	202b 000c      	movel %a3@(12),%d0                          
                                                                      
    /* remove the_node from the tree */                               
    dir = the_node != the_node->parent->child[0];                     
   4a01a:	49c1           	extbl %d1                                   
    the_node->parent->child[dir] = leaf;                              
   4a01c:	9481           	subl %d1,%d2                                
   4a01e:	218c 2c00      	movel %a4,%a0@(00000000,%d2:l:4)            
  /* fix coloring. leaf has moved up the tree. The color of the deleted
   * node is in victim_color. There are two cases:                    
   *   1. Deleted a red node, its child must be black. Nothing must be done.
   *   2. Deleted a black node, its child must be red. Paint child black.
   */                                                                 
  if (victim_color == RBT_BLACK) { /* eliminate case 1 */             
   4a022:	4a80           	tstl %d0                                    
   4a024:	66c2           	bnes 49fe8 <_RBTree_Extract_unprotected+0xae>
   4a026:	60b8           	bras 49fe0 <_RBTree_Extract_unprotected+0xa6>
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Successor_unprotected(      
  const RBTree_Node *node                                             
)                                                                     
{                                                                     
  return _RBTree_Next_unprotected( node, RBT_RIGHT );                 
   4a028:	4878 0001      	pea 1 <ADD>                                 
   4a02c:	2f0b           	movel %a3,%sp@-                             
   4a02e:	4eb9 0004 a33c 	jsr 4a33c <_RBTree_Next_unprotected>        
                                                                      
  /* check if min needs to be updated */                              
  if (the_node == the_rbtree->first[RBT_LEFT]) {                      
    RBTree_Node *next;                                                
    next = _RBTree_Successor_unprotected(the_node);                   
    the_rbtree->first[RBT_LEFT] = next;                               
   4a034:	508f           	addql #8,%sp                                
   4a036:	2b40 0008      	movel %d0,%a5@(8)                           
  }                                                                   
                                                                      
  /* Check if max needs to be updated. min=max for 1 element trees so 
   * do not use else if here. */                                      
  if (the_node == the_rbtree->first[RBT_RIGHT]) {                     
   4a03a:	b7ed 000c      	cmpal %a5@(12),%a3                          
   4a03e:	6600 ff20      	bnew 49f60 <_RBTree_Extract_unprotected+0x26>
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Predecessor_unprotected(    
  const RBTree_Node *node                                             
)                                                                     
{                                                                     
  return _RBTree_Next_unprotected( node, RBT_LEFT );                  
   4a042:	42a7           	clrl %sp@-                                  
   4a044:	2f0b           	movel %a3,%sp@-                             
   4a046:	4eb9 0004 a33c 	jsr 4a33c <_RBTree_Next_unprotected>        
   * either max in node->child[RBT_LEFT] or min in node->child[RBT_RIGHT],
   * and replace the_node with the target node. This maintains the binary
   * search tree property, but may violate the red-black properties.  
   */                                                                 
                                                                      
  if (the_node->child[RBT_LEFT] && the_node->child[RBT_RIGHT]) {      
   4a04c:	246b 0004      	moveal %a3@(4),%a2                          
  /* Check if max needs to be updated. min=max for 1 element trees so 
   * do not use else if here. */                                      
  if (the_node == the_rbtree->first[RBT_RIGHT]) {                     
    RBTree_Node *previous;                                            
    previous = _RBTree_Predecessor_unprotected(the_node);             
    the_rbtree->first[RBT_RIGHT] = previous;                          
   4a050:	508f           	addql #8,%sp                                
   4a052:	2b40 000c      	movel %d0,%a5@(12)                          
   * either max in node->child[RBT_LEFT] or min in node->child[RBT_RIGHT],
   * and replace the_node with the target node. This maintains the binary
   * search tree property, but may violate the red-black properties.  
   */                                                                 
                                                                      
  if (the_node->child[RBT_LEFT] && the_node->child[RBT_RIGHT]) {      
   4a056:	4a8a           	tstl %a2                                    
   4a058:	6600 ff10      	bnew 49f6a <_RBTree_Extract_unprotected+0x30>
     * the_node's location in the tree. This may cause the coloring to be
     * violated. We will fix it later.                                
     * For now we store the color of the node being deleted in victim_color.
     */                                                               
    leaf = the_node->child[RBT_LEFT] ?                                
              the_node->child[RBT_LEFT] : the_node->child[RBT_RIGHT]; 
   4a05c:	286b 0008      	moveal %a3@(8),%a4                          
    if( leaf ) {                                                      
   4a060:	4a8c           	tstl %a4                                    
   4a062:	66a6           	bnes 4a00a <_RBTree_Extract_unprotected+0xd0>
      leaf->parent = the_node->parent;                                
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(the_node);                 
   4a064:	2f0b           	movel %a3,%sp@-                             
    }                                                                 
    victim_color = the_node->color;                                   
                                                                      
    /* remove the_node from the tree */                               
    dir = the_node != the_node->parent->child[0];                     
    the_node->parent->child[dir] = leaf;                              
   4a066:	7401           	moveq #1,%d2                                
              the_node->child[RBT_LEFT] : the_node->child[RBT_RIGHT]; 
    if( leaf ) {                                                      
      leaf->parent = the_node->parent;                                
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(the_node);                 
   4a068:	4eba fcc2      	jsr %pc@(49d2c <_RBTree_Extract_validate_unprotected>)
    }                                                                 
    victim_color = the_node->color;                                   
                                                                      
    /* remove the_node from the tree */                               
    dir = the_node != the_node->parent->child[0];                     
   4a06c:	2053           	moveal %a3@,%a0                             
   4a06e:	b7e8 0004      	cmpal %a0@(4),%a3                           
   4a072:	56c1           	sne %d1                                     
      leaf->parent = the_node->parent;                                
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(the_node);                 
    }                                                                 
    victim_color = the_node->color;                                   
   4a074:	202b 000c      	movel %a3@(12),%d0                          
                                                                      
    /* remove the_node from the tree */                               
    dir = the_node != the_node->parent->child[0];                     
   4a078:	49c1           	extbl %d1                                   
    the_node->parent->child[dir] = leaf;                              
   4a07a:	9481           	subl %d1,%d2                                
              the_node->child[RBT_LEFT] : the_node->child[RBT_RIGHT]; 
    if( leaf ) {                                                      
      leaf->parent = the_node->parent;                                
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(the_node);                 
   4a07c:	588f           	addql #4,%sp                                
    }                                                                 
    victim_color = the_node->color;                                   
                                                                      
    /* remove the_node from the tree */                               
    dir = the_node != the_node->parent->child[0];                     
    the_node->parent->child[dir] = leaf;                              
   4a07e:	218c 2c00      	movel %a4,%a0@(00000000,%d2:l:4)            
   4a082:	609e           	bras 4a022 <_RBTree_Extract_unprotected+0xe8>
    leaf = target->child[RBT_LEFT];                                   
    if(leaf) {                                                        
      leaf->parent = target->parent;                                  
    } else {                                                          
      /* fix the tree here if the child is a null leaf. */            
      _RBTree_Extract_validate_unprotected(target);                   
   4a084:	2f0a           	movel %a2,%sp@-                             
   4a086:	4eba fca4      	jsr %pc@(49d2c <_RBTree_Extract_validate_unprotected>)
   4a08a:	588f           	addql #4,%sp                                
   4a08c:	6000 fefe      	braw 49f8c <_RBTree_Extract_unprotected+0x52>
                                                                      

00049d2c <_RBTree_Extract_validate_unprotected>: * of the extract operation. */ static void _RBTree_Extract_validate_unprotected( RBTree_Node *the_node ) {
   49d2c:	4e56 ffec      	linkw %fp,#-20                              
   49d30:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 
   49d34:	266e 0008      	moveal %fp@(8),%a3                          
  RBTree_Node *parent, *sibling;                                      
  RBTree_Direction dir;                                               
                                                                      
  parent = the_node->parent;                                          
   49d38:	2053           	moveal %a3@,%a0                             
  if(!parent->parent) return;                                         
   49d3a:	4a90           	tstl %a0@                                   
   49d3c:	677e           	beqs 49dbc <_RBTree_Extract_validate_unprotected+0x90>
{                                                                     
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
  if(!(the_node->parent->parent)) return NULL;                        
                                                                      
  if(the_node == the_node->parent->child[RBT_LEFT])                   
   49d3e:	2268 0004      	moveal %a0@(4),%a1                          
   49d42:	b3cb           	cmpal %a3,%a1                               
   49d44:	6700 01de      	beqw 49f24 <_RBTree_Extract_validate_unprotected+0x1f8>
 */                                                                   
RTEMS_INLINE_ROUTINE bool _RBTree_Is_red(                             
    const RBTree_Node *the_node                                       
    )                                                                 
{                                                                     
  return (the_node && the_node->color == RBT_RED);                    
   49d48:	7401           	moveq #1,%d2                                
   49d4a:	b4ab 000c      	cmpl %a3@(12),%d2                           
   49d4e:	6764           	beqs 49db4 <_RBTree_Extract_validate_unprotected+0x88>
                                                                      
  sibling = _RBTree_Sibling(the_node);                                
                                                                      
  /* continue to correct tree as long as the_node is black and not the root */
  while (!_RBTree_Is_red(the_node) && parent->parent) {               
   49d50:	4a90           	tstl %a0@                                   
   49d52:	6760           	beqs 49db4 <_RBTree_Extract_validate_unprotected+0x88>
   49d54:	4a89           	tstl %a1                                    
   49d56:	670a           	beqs 49d62 <_RBTree_Extract_validate_unprotected+0x36><== NEVER TAKEN
   49d58:	7001           	moveq #1,%d0                                
   49d5a:	b0a9 000c      	cmpl %a1@(12),%d0                           
   49d5e:	6700 011c      	beqw 49e7c <_RBTree_Extract_validate_unprotected+0x150>
      _RBTree_Rotate(parent, dir);                                    
      sibling = parent->child[_RBTree_Opposite_direction(dir)];       
    }                                                                 
                                                                      
    /* sibling is black, see if both of its children are also black. */
    if (!_RBTree_Is_red(sibling->child[RBT_RIGHT]) &&                 
   49d62:	2469 0008      	moveal %a1@(8),%a2                          
   49d66:	4a8a           	tstl %a2                                    
   49d68:	6708           	beqs 49d72 <_RBTree_Extract_validate_unprotected+0x46>
   49d6a:	7601           	moveq #1,%d3                                
   49d6c:	b6aa 000c      	cmpl %a2@(12),%d3                           
   49d70:	6752           	beqs 49dc4 <_RBTree_Extract_validate_unprotected+0x98>
        !_RBTree_Is_red(sibling->child[RBT_LEFT])) {                  
   49d72:	2469 0004      	moveal %a1@(4),%a2                          
   49d76:	4a8a           	tstl %a2                                    
   49d78:	6708           	beqs 49d82 <_RBTree_Extract_validate_unprotected+0x56>
   49d7a:	7001           	moveq #1,%d0                                
   49d7c:	b0aa 000c      	cmpl %a2@(12),%d0                           
   49d80:	6742           	beqs 49dc4 <_RBTree_Extract_validate_unprotected+0x98>
        sibling->color = RBT_RED;                                     
   49d82:	7001           	moveq #1,%d0                                
   49d84:	2340 000c      	movel %d0,%a1@(12)                          
   49d88:	b0a8 000c      	cmpl %a0@(12),%d0                           
   49d8c:	6700 019e      	beqw 49f2c <_RBTree_Extract_validate_unprotected+0x200>
        if (_RBTree_Is_red(parent)) {                                 
          parent->color = RBT_BLACK;                                  
          break;                                                      
        }                                                             
        the_node = parent; /* done if parent is red */                
        parent = the_node->parent;                                    
   49d90:	2450           	moveal %a0@,%a2                             
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Sibling(                    
  const RBTree_Node *the_node                                         
)                                                                     
{                                                                     
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
   49d92:	4a8a           	tstl %a2                                    
   49d94:	6700 0154      	beqw 49eea <_RBTree_Extract_validate_unprotected+0x1be>
  if(!(the_node->parent->parent)) return NULL;                        
   49d98:	4a92           	tstl %a2@                                   
   49d9a:	6700 014e      	beqw 49eea <_RBTree_Extract_validate_unprotected+0x1be>
                                                                      
  if(the_node == the_node->parent->child[RBT_LEFT])                   
   49d9e:	226a 0004      	moveal %a2@(4),%a1                          
   49da2:	b3c8           	cmpal %a0,%a1                               
   49da4:	6700 0138      	beqw 49ede <_RBTree_Extract_validate_unprotected+0x1b2>
   49da8:	2648           	moveal %a0,%a3                              
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Sibling(                    
  const RBTree_Node *the_node                                         
)                                                                     
{                                                                     
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
   49daa:	204a           	moveal %a2,%a0                              
 */                                                                   
RTEMS_INLINE_ROUTINE bool _RBTree_Is_red(                             
    const RBTree_Node *the_node                                       
    )                                                                 
{                                                                     
  return (the_node && the_node->color == RBT_RED);                    
   49dac:	7401           	moveq #1,%d2                                
   49dae:	b4ab 000c      	cmpl %a3@(12),%d2                           
   49db2:	669c           	bnes 49d50 <_RBTree_Extract_validate_unprotected+0x24><== ALWAYS TAKEN
      sibling->child[_RBTree_Opposite_direction(dir)]->color = RBT_BLACK;
      _RBTree_Rotate(parent, dir);                                    
      break; /* done */                                               
    }                                                                 
  } /* while */                                                       
  if(!the_node->parent->parent) the_node->color = RBT_BLACK;          
   49db4:	2053           	moveal %a3@,%a0                             
   49db6:	4a90           	tstl %a0@                                   
   49db8:	6700 0140      	beqw 49efa <_RBTree_Extract_validate_unprotected+0x1ce>
}                                                                     
   49dbc:	4cd7 1c0c      	moveml %sp@,%d2-%d3/%a2-%a4                 
   49dc0:	4e5e           	unlk %fp                                    
   49dc2:	4e75           	rts                                         
       * cases, either the_node is to the left or the right of the parent.
       * In both cases, first check if one of sibling's children is black,
       * and if so rotate in the proper direction and update sibling pointer.
       * Then switch the sibling and parent colors, and rotate through parent.
       */                                                             
      dir = the_node != parent->child[0];                             
   49dc4:	b7e8 0004      	cmpal %a0@(4),%a3                           
   49dc8:	56c0           	sne %d0                                     
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(     
  RBTree_Direction the_dir                                            
)                                                                     
{                                                                     
  return (RBTree_Direction) !((int) the_dir);                         
   49dca:	7201           	moveq #1,%d1                                
   49dcc:	4480           	negl %d0                                    
   49dce:	b181           	eorl %d0,%d1                                
   49dd0:	0280 0000 00ff 	andil #255,%d0                              
   49dd6:	0281 0000 00ff 	andil #255,%d1                              
      if (!_RBTree_Is_red(sibling->child[_RBTree_Opposite_direction(dir)])) {
   49ddc:	5281           	addql #1,%d1                                
   49dde:	2471 1c00      	moveal %a1@(00000000,%d1:l:4),%a2           
 */                                                                   
RTEMS_INLINE_ROUTINE bool _RBTree_Is_red(                             
    const RBTree_Node *the_node                                       
    )                                                                 
{                                                                     
  return (the_node && the_node->color == RBT_RED);                    
   49de2:	4a8a           	tstl %a2                                    
   49de4:	670a           	beqs 49df0 <_RBTree_Extract_validate_unprotected+0xc4>
   49de6:	7401           	moveq #1,%d2                                
   49de8:	b4aa 000c      	cmpl %a2@(12),%d2                           
   49dec:	6700 0118      	beqw 49f06 <_RBTree_Extract_validate_unprotected+0x1da>
        sibling->color = RBT_RED;                                     
        sibling->child[dir]->color = RBT_BLACK;                       
   49df0:	5280           	addql #1,%d0                                
       * and if so rotate in the proper direction and update sibling pointer.
       * Then switch the sibling and parent colors, and rotate through parent.
       */                                                             
      dir = the_node != parent->child[0];                             
      if (!_RBTree_Is_red(sibling->child[_RBTree_Opposite_direction(dir)])) {
        sibling->color = RBT_RED;                                     
   49df2:	7401           	moveq #1,%d2                                
        sibling->child[dir]->color = RBT_BLACK;                       
   49df4:	2471 0c00      	moveal %a1@(00000000,%d0:l:4),%a2           
       * and if so rotate in the proper direction and update sibling pointer.
       * Then switch the sibling and parent colors, and rotate through parent.
       */                                                             
      dir = the_node != parent->child[0];                             
      if (!_RBTree_Is_red(sibling->child[_RBTree_Opposite_direction(dir)])) {
        sibling->color = RBT_RED;                                     
   49df8:	2342 000c      	movel %d2,%a1@(12)                          
        sibling->child[dir]->color = RBT_BLACK;                       
   49dfc:	42aa 000c      	clrl %a2@(12)                               
    RBTree_Direction dir                                              
    )                                                                 
{                                                                     
  RBTree_Node *c;                                                     
  if (the_node == NULL) return;                                       
  if (the_node->child[_RBTree_Opposite_direction(dir)] == NULL) return;
   49e00:	4a8a           	tstl %a2                                    
   49e02:	672c           	beqs 49e30 <_RBTree_Extract_validate_unprotected+0x104><== NEVER TAKEN
                                                                      
  c = the_node->child[_RBTree_Opposite_direction(dir)];               
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
   49e04:	49f2 1c00      	lea %a2@(00000000,%d1:l:4),%a4              
   49e08:	2394 0c00      	movel %a4@,%a1@(00000000,%d0:l:4)           
                                                                      
  if (c->child[dir])                                                  
   49e0c:	2872 1c00      	moveal %a2@(00000000,%d1:l:4),%a4           
   49e10:	4a8c           	tstl %a4                                    
   49e12:	6702           	beqs 49e16 <_RBTree_Extract_validate_unprotected+0xea>
    c->child[dir]->parent = the_node;                                 
   49e14:	2889           	movel %a1,%a4@                              
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49e16:	2851           	moveal %a1@,%a4                             
   49e18:	7601           	moveq #1,%d3                                
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
                                                                      
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
   49e1a:	2589 1c00      	movel %a1,%a2@(00000000,%d1:l:4)            
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49e1e:	b3ec 0004      	cmpal %a4@(4),%a1                           
   49e22:	56c2           	sne %d2                                     
                                                                      
  c->parent = the_node->parent;                                       
   49e24:	248c           	movel %a4,%a2@                              
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49e26:	49c2           	extbl %d2                                   
   49e28:	9682           	subl %d2,%d3                                
   49e2a:	298a 3c00      	movel %a2,%a4@(00000000,%d3:l:4)            
                                                                      
  c->parent = the_node->parent;                                       
  the_node->parent = c;                                               
   49e2e:	228a           	movel %a2,%a1@                              
        _RBTree_Rotate(sibling, _RBTree_Opposite_direction(dir));     
        sibling = parent->child[_RBTree_Opposite_direction(dir)];     
   49e30:	2870 1c00      	moveal %a0@(00000000,%d1:l:4),%a4           
      }                                                               
      sibling->color = parent->color;                                 
   49e34:	2968 000c 000c 	movel %a0@(12),%a4@(12)                     
   49e3a:	2274 1c00      	moveal %a4@(00000000,%d1:l:4),%a1           
      parent->color = RBT_BLACK;                                      
   49e3e:	42a8 000c      	clrl %a0@(12)                               
      sibling->child[_RBTree_Opposite_direction(dir)]->color = RBT_BLACK;
   49e42:	42a9 000c      	clrl %a1@(12)                               
  RBTree_Node *c;                                                     
  if (the_node == NULL) return;                                       
  if (the_node->child[_RBTree_Opposite_direction(dir)] == NULL) return;
                                                                      
  c = the_node->child[_RBTree_Opposite_direction(dir)];               
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
   49e46:	43f4 0c00      	lea %a4@(00000000,%d0:l:4),%a1              
   49e4a:	2191 1c00      	movel %a1@,%a0@(00000000,%d1:l:4)           
                                                                      
  if (c->child[dir])                                                  
   49e4e:	2274 0c00      	moveal %a4@(00000000,%d0:l:4),%a1           
   49e52:	4a89           	tstl %a1                                    
   49e54:	6702           	beqs 49e58 <_RBTree_Extract_validate_unprotected+0x12c>
    c->child[dir]->parent = the_node;                                 
   49e56:	2288           	movel %a0,%a1@                              
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49e58:	2250           	moveal %a0@,%a1                             
   49e5a:	7201           	moveq #1,%d1                                
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
                                                                      
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
   49e5c:	2988 0c00      	movel %a0,%a4@(00000000,%d0:l:4)            
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49e60:	b1e9 0004      	cmpal %a1@(4),%a0                           
   49e64:	56c0           	sne %d0                                     
                                                                      
  c->parent = the_node->parent;                                       
   49e66:	2889           	movel %a1,%a4@                              
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49e68:	49c0           	extbl %d0                                   
   49e6a:	9280           	subl %d0,%d1                                
                                                                      
  c->parent = the_node->parent;                                       
  the_node->parent = c;                                               
   49e6c:	208c           	movel %a4,%a0@                              
      _RBTree_Rotate(parent, dir);                                    
      break; /* done */                                               
    }                                                                 
  } /* while */                                                       
  if(!the_node->parent->parent) the_node->color = RBT_BLACK;          
   49e6e:	2053           	moveal %a3@,%a0                             
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49e70:	238c 1c00      	movel %a4,%a1@(00000000,%d1:l:4)            
   49e74:	4a90           	tstl %a0@                                   
   49e76:	6600 ff44      	bnew 49dbc <_RBTree_Extract_validate_unprotected+0x90>
   49e7a:	607e           	bras 49efa <_RBTree_Extract_validate_unprotected+0x1ce><== NOT EXECUTED
     * update sibling pointer.                                        
     */                                                               
    if (_RBTree_Is_red(sibling)) {                                    
      parent->color = RBT_RED;                                        
      sibling->color = RBT_BLACK;                                     
      dir = the_node != parent->child[0];                             
   49e7c:	b7e8 0004      	cmpal %a0@(4),%a3                           
   49e80:	56c1           	sne %d1                                     
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(     
  RBTree_Direction the_dir                                            
)                                                                     
{                                                                     
  return (RBTree_Direction) !((int) the_dir);                         
   49e82:	7001           	moveq #1,%d0                                
     * then rotate parent left, making the sibling be the_node's grandparent.
     * Now the_node has a black sibling and red parent. After rotation,
     * update sibling pointer.                                        
     */                                                               
    if (_RBTree_Is_red(sibling)) {                                    
      parent->color = RBT_RED;                                        
   49e84:	7601           	moveq #1,%d3                                
      sibling->color = RBT_BLACK;                                     
      dir = the_node != parent->child[0];                             
   49e86:	4481           	negl %d1                                    
   49e88:	b380           	eorl %d1,%d0                                
     * then rotate parent left, making the sibling be the_node's grandparent.
     * Now the_node has a black sibling and red parent. After rotation,
     * update sibling pointer.                                        
     */                                                               
    if (_RBTree_Is_red(sibling)) {                                    
      parent->color = RBT_RED;                                        
   49e8a:	2143 000c      	movel %d3,%a0@(12)                          
   49e8e:	0280 0000 00ff 	andil #255,%d0                              
      sibling->color = RBT_BLACK;                                     
   49e94:	42a9 000c      	clrl %a1@(12)                               
    RBTree_Direction dir                                              
    )                                                                 
{                                                                     
  RBTree_Node *c;                                                     
  if (the_node == NULL) return;                                       
  if (the_node->child[_RBTree_Opposite_direction(dir)] == NULL) return;
   49e98:	5280           	addql #1,%d0                                
   49e9a:	2470 0c00      	moveal %a0@(00000000,%d0:l:4),%a2           
      dir = the_node != parent->child[0];                             
   49e9e:	0281 0000 00ff 	andil #255,%d1                              
   49ea4:	4a8a           	tstl %a2                                    
   49ea6:	674c           	beqs 49ef4 <_RBTree_Extract_validate_unprotected+0x1c8><== NEVER TAKEN
                                                                      
  c = the_node->child[_RBTree_Opposite_direction(dir)];               
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
   49ea8:	5281           	addql #1,%d1                                
   49eaa:	43f2 1c00      	lea %a2@(00000000,%d1:l:4),%a1              
   49eae:	2191 0c00      	movel %a1@,%a0@(00000000,%d0:l:4)           
                                                                      
  if (c->child[dir])                                                  
   49eb2:	2272 1c00      	moveal %a2@(00000000,%d1:l:4),%a1           
   49eb6:	4a89           	tstl %a1                                    
   49eb8:	6702           	beqs 49ebc <_RBTree_Extract_validate_unprotected+0x190><== NEVER TAKEN
    c->child[dir]->parent = the_node;                                 
   49eba:	2288           	movel %a0,%a1@                              
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49ebc:	2250           	moveal %a0@,%a1                             
   49ebe:	7401           	moveq #1,%d2                                
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
                                                                      
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
   49ec0:	2588 1c00      	movel %a0,%a2@(00000000,%d1:l:4)            
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49ec4:	b1e9 0004      	cmpal %a1@(4),%a0                           
   49ec8:	56c1           	sne %d1                                     
                                                                      
  c->parent = the_node->parent;                                       
   49eca:	2489           	movel %a1,%a2@                              
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   49ecc:	49c1           	extbl %d1                                   
   49ece:	9481           	subl %d1,%d2                                
   49ed0:	238a 2c00      	movel %a2,%a1@(00000000,%d2:l:4)            
   49ed4:	2270 0c00      	moveal %a0@(00000000,%d0:l:4),%a1           
                                                                      
  c->parent = the_node->parent;                                       
  the_node->parent = c;                                               
   49ed8:	208a           	movel %a2,%a0@                              
   49eda:	6000 fe86      	braw 49d62 <_RBTree_Extract_validate_unprotected+0x36>
   49ede:	2648           	moveal %a0,%a3                              
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Sibling(                    
  const RBTree_Node *the_node                                         
)                                                                     
{                                                                     
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
   49ee0:	204a           	moveal %a2,%a0                              
  if(!(the_node->parent->parent)) return NULL;                        
                                                                      
  if(the_node == the_node->parent->child[RBT_LEFT])                   
    return the_node->parent->child[RBT_RIGHT];                        
   49ee2:	226a 0008      	moveal %a2@(8),%a1                          
   49ee6:	6000 fec4      	braw 49dac <_RBTree_Extract_validate_unprotected+0x80>
   49eea:	2648           	moveal %a0,%a3                              
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Sibling(                    
  const RBTree_Node *the_node                                         
)                                                                     
{                                                                     
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
   49eec:	93c9           	subal %a1,%a1                               
   49eee:	204a           	moveal %a2,%a0                              
   49ef0:	6000 feba      	braw 49dac <_RBTree_Extract_validate_unprotected+0x80>
    RBTree_Direction dir                                              
    )                                                                 
{                                                                     
  RBTree_Node *c;                                                     
  if (the_node == NULL) return;                                       
  if (the_node->child[_RBTree_Opposite_direction(dir)] == NULL) return;
   49ef4:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
   49ef6:	6000 fe6a      	braw 49d62 <_RBTree_Extract_validate_unprotected+0x36><== NOT EXECUTED
      sibling->child[_RBTree_Opposite_direction(dir)]->color = RBT_BLACK;
      _RBTree_Rotate(parent, dir);                                    
      break; /* done */                                               
    }                                                                 
  } /* while */                                                       
  if(!the_node->parent->parent) the_node->color = RBT_BLACK;          
   49efa:	42ab 000c      	clrl %a3@(12)                               
}                                                                     
   49efe:	4cd7 1c0c      	moveml %sp@,%d2-%d3/%a2-%a4                 
   49f02:	4e5e           	unlk %fp                                    
   49f04:	4e75           	rts                                         
   49f06:	2870 1c00      	moveal %a0@(00000000,%d1:l:4),%a4           
        sibling->color = RBT_RED;                                     
        sibling->child[dir]->color = RBT_BLACK;                       
        _RBTree_Rotate(sibling, _RBTree_Opposite_direction(dir));     
        sibling = parent->child[_RBTree_Opposite_direction(dir)];     
      }                                                               
      sibling->color = parent->color;                                 
   49f0a:	2368 000c 000c 	movel %a0@(12),%a1@(12)                     
      parent->color = RBT_BLACK;                                      
   49f10:	42a8 000c      	clrl %a0@(12)                               
      sibling->child[_RBTree_Opposite_direction(dir)]->color = RBT_BLACK;
   49f14:	42aa 000c      	clrl %a2@(12)                               
   49f18:	4a8c           	tstl %a4                                    
   49f1a:	6700 fe98      	beqw 49db4 <_RBTree_Extract_validate_unprotected+0x88>
   49f1e:	5280           	addql #1,%d0                                
   49f20:	6000 ff24      	braw 49e46 <_RBTree_Extract_validate_unprotected+0x11a>
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
  if(!(the_node->parent->parent)) return NULL;                        
                                                                      
  if(the_node == the_node->parent->child[RBT_LEFT])                   
    return the_node->parent->child[RBT_RIGHT];                        
   49f24:	2268 0008      	moveal %a0@(8),%a1                          
   49f28:	6000 fe1e      	braw 49d48 <_RBTree_Extract_validate_unprotected+0x1c>
    /* sibling is black, see if both of its children are also black. */
    if (!_RBTree_Is_red(sibling->child[RBT_RIGHT]) &&                 
        !_RBTree_Is_red(sibling->child[RBT_LEFT])) {                  
        sibling->color = RBT_RED;                                     
        if (_RBTree_Is_red(parent)) {                                 
          parent->color = RBT_BLACK;                                  
   49f2c:	42a8 000c      	clrl %a0@(12)                               
      sibling->child[_RBTree_Opposite_direction(dir)]->color = RBT_BLACK;
      _RBTree_Rotate(parent, dir);                                    
      break; /* done */                                               
    }                                                                 
  } /* while */                                                       
  if(!the_node->parent->parent) the_node->color = RBT_BLACK;          
   49f30:	2053           	moveal %a3@,%a0                             
   49f32:	4a90           	tstl %a0@                                   
   49f34:	6600 fe86      	bnew 49dbc <_RBTree_Extract_validate_unprotected+0x90>
   49f38:	60c0           	bras 49efa <_RBTree_Extract_validate_unprotected+0x1ce><== NOT EXECUTED
                                                                      

0004a59c <_RBTree_Find>: { ISR_Level level; RBTree_Node *return_node; return_node = NULL; _ISR_Disable( level );
   4a59c:	203c 0000 0700 	movel #1792,%d0                             
                                                                      
RBTree_Node *_RBTree_Find(                                            
  RBTree_Control *the_rbtree,                                         
  RBTree_Node *search_node                                            
)                                                                     
{                                                                     
   4a5a2:	4e56 ffec      	linkw %fp,#-20                              
   4a5a6:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
   4a5aa:	266e 0008      	moveal %fp@(8),%a3                          
   4a5ae:	242e 000c      	movel %fp@(12),%d2                          
  ISR_Level          level;                                           
  RBTree_Node *return_node;                                           
                                                                      
  return_node = NULL;                                                 
  _ISR_Disable( level );                                              
   4a5b2:	40c4           	movew %sr,%d4                               
   4a5b4:	8084           	orl %d4,%d0                                 
   4a5b6:	46c0           	movew %d0,%sr                               
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Find_unprotected(           
    RBTree_Control *the_rbtree,                                       
    RBTree_Node *the_node                                             
    )                                                                 
{                                                                     
  RBTree_Node* iter_node = the_rbtree->root;                          
   4a5b8:	246b 0004      	moveal %a3@(4),%a2                          
  RBTree_Node* found = NULL;                                          
  int compare_result;                                                 
  while (iter_node) {                                                 
   4a5bc:	4283           	clrl %d3                                    
   4a5be:	4a8a           	tstl %a2                                    
   4a5c0:	672a           	beqs 4a5ec <_RBTree_Find+0x50>              <== NEVER TAKEN
    compare_result = the_rbtree->compare_function(the_node, iter_node);
   4a5c2:	2f0a           	movel %a2,%sp@-                             
   4a5c4:	206b 0010      	moveal %a3@(16),%a0                         
   4a5c8:	2f02           	movel %d2,%sp@-                             
   4a5ca:	4e90           	jsr %a0@                                    
    if ( _RBTree_Is_equal( compare_result ) ) {                       
   4a5cc:	508f           	addql #8,%sp                                
   4a5ce:	4a80           	tstl %d0                                    
   4a5d0:	6608           	bnes 4a5da <_RBTree_Find+0x3e>              
      found = iter_node;                                              
      if ( the_rbtree->is_unique )                                    
   4a5d2:	260a           	movel %a2,%d3                               
   4a5d4:	4a2b 0014      	tstb %a3@(20)                               
   4a5d8:	6612           	bnes 4a5ec <_RBTree_Find+0x50>              
                                                                      
RTEMS_INLINE_ROUTINE bool _RBTree_Is_greater(                         
  int compare_result                                                  
)                                                                     
{                                                                     
  return compare_result > 0;                                          
   4a5da:	4a80           	tstl %d0                                    
   4a5dc:	5ec1           	sgt %d1                                     
        break;                                                        
    }                                                                 
                                                                      
    RBTree_Direction dir =                                            
      (RBTree_Direction) _RBTree_Is_greater( compare_result );        
    iter_node = iter_node->child[dir];                                
   4a5de:	7001           	moveq #1,%d0                                
                                                                      
RTEMS_INLINE_ROUTINE bool _RBTree_Is_greater(                         
  int compare_result                                                  
)                                                                     
{                                                                     
  return compare_result > 0;                                          
   4a5e0:	49c1           	extbl %d1                                   
        break;                                                        
    }                                                                 
                                                                      
    RBTree_Direction dir =                                            
      (RBTree_Direction) _RBTree_Is_greater( compare_result );        
    iter_node = iter_node->child[dir];                                
   4a5e2:	9081           	subl %d1,%d0                                
   4a5e4:	2472 0c00      	moveal %a2@(00000000,%d0:l:4),%a2           
    )                                                                 
{                                                                     
  RBTree_Node* iter_node = the_rbtree->root;                          
  RBTree_Node* found = NULL;                                          
  int compare_result;                                                 
  while (iter_node) {                                                 
   4a5e8:	4a8a           	tstl %a2                                    
   4a5ea:	66d6           	bnes 4a5c2 <_RBTree_Find+0x26>              
      return_node = _RBTree_Find_unprotected( the_rbtree, search_node );
  _ISR_Enable( level );                                               
   4a5ec:	46c4           	movew %d4,%sr                               
  return return_node;                                                 
}                                                                     
   4a5ee:	2003           	movel %d3,%d0                               
   4a5f0:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   4a5f6:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004a55c <_RBTree_Find_header>: { ISR_Level level; RBTree_Control *return_header; return_header = NULL; _ISR_Disable( level );
   4a55c:	203c 0000 0700 	movel #1792,%d0                             
#include <rtems/score/isr.h>                                          
                                                                      
RBTree_Control *_RBTree_Find_header(                                  
  RBTree_Node *the_node                                               
)                                                                     
{                                                                     
   4a562:	4e56 0000      	linkw %fp,#0                                
   4a566:	206e 0008      	moveal %fp@(8),%a0                          
   4a56a:	2f02           	movel %d2,%sp@-                             
  ISR_Level          level;                                           
  RBTree_Control *return_header;                                      
                                                                      
  return_header = NULL;                                               
  _ISR_Disable( level );                                              
   4a56c:	40c2           	movew %sr,%d2                               
   4a56e:	8082           	orl %d2,%d0                                 
   4a570:	46c0           	movew %d0,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Control *_RBTree_Find_header_unprotected( 
    RBTree_Node *the_node                                             
    )                                                                 
{                                                                     
  if(!the_node) return NULL;                                          
   4a572:	4a88           	tstl %a0                                    
   4a574:	671a           	beqs 4a590 <_RBTree_Find_header+0x34>       
  if(!(the_node->parent)) return NULL;                                
   4a576:	2050           	moveal %a0@,%a0                             
   4a578:	4a88           	tstl %a0                                    
   4a57a:	670a           	beqs 4a586 <_RBTree_Find_header+0x2a>       
   4a57c:	2210           	movel %a0@,%d1                              
  while(the_node->parent) the_node = the_node->parent;                
   4a57e:	6706           	beqs 4a586 <_RBTree_Find_header+0x2a>       <== NEVER TAKEN
   4a580:	2041           	moveal %d1,%a0                              
   4a582:	2210           	movel %a0@,%d1                              
   4a584:	66fa           	bnes 4a580 <_RBTree_Find_header+0x24>       
      return_header = _RBTree_Find_header_unprotected( the_node );    
  _ISR_Enable( level );                                               
   4a586:	46c2           	movew %d2,%sr                               
  return return_header;                                               
}                                                                     
   4a588:	241f           	movel %sp@+,%d2                             
   4a58a:	2008           	movel %a0,%d0                               
   4a58c:	4e5e           	unlk %fp                                    
   4a58e:	4e75           	rts                                         
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Control *_RBTree_Find_header_unprotected( 
    RBTree_Node *the_node                                             
    )                                                                 
{                                                                     
  if(!the_node) return NULL;                                          
   4a590:	91c8           	subal %a0,%a0                               
  RBTree_Control *return_header;                                      
                                                                      
  return_header = NULL;                                               
  _ISR_Disable( level );                                              
      return_header = _RBTree_Find_header_unprotected( the_node );    
  _ISR_Enable( level );                                               
   4a592:	46c2           	movew %d2,%sr                               
  return return_header;                                               
}                                                                     
   4a594:	241f           	movel %sp@+,%d2                             
   4a596:	2008           	movel %a0,%d0                               
   4a598:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004a8f0 <_RBTree_Initialize>: void *starting_address, size_t number_nodes, size_t node_size, bool is_unique ) {
   4a8f0:	4e56 ffec      	linkw %fp,#-20                              
   4a8f4:	202e 001c      	movel %fp@(28),%d0                          
   4a8f8:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
   4a8fc:	246e 0008      	moveal %fp@(8),%a2                          
   4a900:	242e 0014      	movel %fp@(20),%d2                          
   4a904:	282e 0018      	movel %fp@(24),%d4                          
  size_t      count;                                                  
  RBTree_Node *next;                                                  
                                                                      
  /* TODO: Error message? */                                          
  if (!the_rbtree) return;                                            
   4a908:	4a8a           	tstl %a2                                    
   4a90a:	6736           	beqs 4a942 <_RBTree_Initialize+0x52>        <== NEVER TAKEN
    RBTree_Control          *the_rbtree,                              
    RBTree_Compare_function  compare_function,                        
    bool                     is_unique                                
    )                                                                 
{                                                                     
  the_rbtree->permanent_null   = NULL;                                
   4a90c:	4292           	clrl %a2@                                   
  the_rbtree->root             = NULL;                                
  the_rbtree->first[0]         = NULL;                                
  the_rbtree->first[1]         = NULL;                                
  the_rbtree->compare_function = compare_function;                    
   4a90e:	256e 000c 0010 	movel %fp@(12),%a2@(16)                     
  the_rbtree->is_unique        = is_unique;                           
   4a914:	1540 0014      	moveb %d0,%a2@(20)                          
    RBTree_Compare_function  compare_function,                        
    bool                     is_unique                                
    )                                                                 
{                                                                     
  the_rbtree->permanent_null   = NULL;                                
  the_rbtree->root             = NULL;                                
   4a918:	42aa 0004      	clrl %a2@(4)                                
  the_rbtree->first[0]         = NULL;                                
   4a91c:	42aa 0008      	clrl %a2@(8)                                
  the_rbtree->first[1]         = NULL;                                
   4a920:	42aa 000c      	clrl %a2@(12)                               
  /* could do sanity checks here */                                   
  _RBTree_Initialize_empty(the_rbtree, compare_function, is_unique);  
                                                                      
  count = number_nodes;                                               
  next  = starting_address;                                           
  while ( count-- ) {                                                 
   4a924:	4a82           	tstl %d2                                    
   4a926:	671a           	beqs 4a942 <_RBTree_Initialize+0x52>        <== NEVER TAKEN
   4a928:	262e 0010      	movel %fp@(16),%d3                          
   4a92c:	47f9 0004 a638 	lea 4a638 <_RBTree_Insert_unprotected>,%a3  
    _RBTree_Insert_unprotected(the_rbtree, next);                     
   4a932:	2f03           	movel %d3,%sp@-                             
#include <rtems/system.h>                                             
#include <rtems/score/address.h>                                      
#include <rtems/score/rbtree.h>                                       
#include <rtems/score/isr.h>                                          
                                                                      
void _RBTree_Initialize(                                              
   4a934:	d684           	addl %d4,%d3                                
   4a936:	5382           	subql #1,%d2                                
  _RBTree_Initialize_empty(the_rbtree, compare_function, is_unique);  
                                                                      
  count = number_nodes;                                               
  next  = starting_address;                                           
  while ( count-- ) {                                                 
    _RBTree_Insert_unprotected(the_rbtree, next);                     
   4a938:	2f0a           	movel %a2,%sp@-                             
   4a93a:	4e93           	jsr %a3@                                    
  /* could do sanity checks here */                                   
  _RBTree_Initialize_empty(the_rbtree, compare_function, is_unique);  
                                                                      
  count = number_nodes;                                               
  next  = starting_address;                                           
  while ( count-- ) {                                                 
   4a93c:	508f           	addql #8,%sp                                
   4a93e:	4a82           	tstl %d2                                    
   4a940:	66f0           	bnes 4a932 <_RBTree_Initialize+0x42>        
    _RBTree_Insert_unprotected(the_rbtree, next);                     
    next           = (RBTree_Node *)                                  
                        _Addresses_Add_offset( (void *) next, node_size );
  }                                                                   
}                                                                     
   4a942:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   4a948:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004a0bc <_RBTree_Insert_unprotected>: */ RBTree_Node *_RBTree_Insert_unprotected( RBTree_Control *the_rbtree, RBTree_Node *the_node ) {
   4a0bc:	4e56 ffe4      	linkw %fp,#-28                              
   4a0c0:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
   4a0c4:	286e 0008      	moveal %fp@(8),%a4                          
   4a0c8:	266e 000c      	moveal %fp@(12),%a3                         
  if(!the_node) return (RBTree_Node*)-1;                              
   4a0cc:	4a8b           	tstl %a3                                    
   4a0ce:	6700 01b6      	beqw 4a286 <_RBTree_Insert_unprotected+0x1ca>
                                                                      
  RBTree_Node *iter_node = the_rbtree->root;                          
   4a0d2:	246c 0004      	moveal %a4@(4),%a2                          
  int compare_result;                                                 
                                                                      
  if (!iter_node) { /* special case: first node inserted */           
   4a0d6:	4a8a           	tstl %a2                                    
   4a0d8:	6700 01ba      	beqw 4a294 <_RBTree_Insert_unprotected+0x1d8>
    the_node->parent = (RBTree_Node *) the_rbtree;                    
    the_node->child[RBT_LEFT] = the_node->child[RBT_RIGHT] = NULL;    
  } else {                                                            
    /* typical binary search tree insert, descend tree to leaf and insert */
    while (iter_node) {                                               
      compare_result = the_rbtree->compare_function(the_node, iter_node);
   4a0dc:	2f0a           	movel %a2,%sp@-                             
   4a0de:	206c 0010      	moveal %a4@(16),%a0                         
   4a0e2:	2f0b           	movel %a3,%sp@-                             
   4a0e4:	4e90           	jsr %a0@                                    
      if ( the_rbtree->is_unique && _RBTree_Is_equal( compare_result ) )
   4a0e6:	508f           	addql #8,%sp                                
        return iter_node;                                             
      RBTree_Direction dir = !_RBTree_Is_lesser( compare_result );    
   4a0e8:	2400           	movel %d0,%d2                               
   4a0ea:	4682           	notl %d2                                    
    the_node->child[RBT_LEFT] = the_node->child[RBT_RIGHT] = NULL;    
  } else {                                                            
    /* typical binary search tree insert, descend tree to leaf and insert */
    while (iter_node) {                                               
      compare_result = the_rbtree->compare_function(the_node, iter_node);
      if ( the_rbtree->is_unique && _RBTree_Is_equal( compare_result ) )
   4a0ec:	4a2c 0014      	tstb %a4@(20)                               
   4a0f0:	6706           	beqs 4a0f8 <_RBTree_Insert_unprotected+0x3c>
   4a0f2:	4a80           	tstl %d0                                    
   4a0f4:	6700 0182      	beqw 4a278 <_RBTree_Insert_unprotected+0x1bc>
        return iter_node;                                             
      RBTree_Direction dir = !_RBTree_Is_lesser( compare_result );    
   4a0f8:	d482           	addl %d2,%d2                                
   4a0fa:	9582           	subxl %d2,%d2                               
   4a0fc:	4482           	negl %d2                                    
      if (!iter_node->child[dir]) {                                   
   4a0fe:	2202           	movel %d2,%d1                               
   4a100:	5281           	addql #1,%d1                                
   4a102:	2632 1c00      	movel %a2@(00000000,%d1:l:4),%d3            
   4a106:	6704           	beqs 4a10c <_RBTree_Insert_unprotected+0x50>
              (dir && _RBTree_Is_greater(compare_result)) ) {         
          the_rbtree->first[dir] = the_node;                          
        }                                                             
        break;                                                        
      } else {                                                        
        iter_node = iter_node->child[dir];                            
   4a108:	2443           	moveal %d3,%a2                              
   4a10a:	60d0           	bras 4a0dc <_RBTree_Insert_unprotected+0x20>
        the_node->child[RBT_LEFT] = the_node->child[RBT_RIGHT] = NULL;
        the_node->color = RBT_RED;                                    
        iter_node->child[dir] = the_node;                             
        the_node->parent = iter_node;                                 
        /* update min/max */                                          
        compare_result = the_rbtree->compare_function(                
   4a10c:	206c 0010      	moveal %a4@(16),%a0                         
      if ( the_rbtree->is_unique && _RBTree_Is_equal( compare_result ) )
        return iter_node;                                             
      RBTree_Direction dir = !_RBTree_Is_lesser( compare_result );    
      if (!iter_node->child[dir]) {                                   
        the_node->child[RBT_LEFT] = the_node->child[RBT_RIGHT] = NULL;
        the_node->color = RBT_RED;                                    
   4a110:	7001           	moveq #1,%d0                                
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_First(                      
  const RBTree_Control *the_rbtree,                                   
  RBTree_Direction dir                                                
)                                                                     
{                                                                     
  return the_rbtree->first[dir];                                      
   4a112:	2a42           	moveal %d2,%a5                              
   4a114:	548d           	addql #2,%a5                                
      compare_result = the_rbtree->compare_function(the_node, iter_node);
      if ( the_rbtree->is_unique && _RBTree_Is_equal( compare_result ) )
        return iter_node;                                             
      RBTree_Direction dir = !_RBTree_Is_lesser( compare_result );    
      if (!iter_node->child[dir]) {                                   
        the_node->child[RBT_LEFT] = the_node->child[RBT_RIGHT] = NULL;
   4a116:	42ab 0008      	clrl %a3@(8)                                
   4a11a:	42ab 0004      	clrl %a3@(4)                                
        the_node->color = RBT_RED;                                    
        iter_node->child[dir] = the_node;                             
   4a11e:	258b 1c00      	movel %a3,%a2@(00000000,%d1:l:4)            
      if ( the_rbtree->is_unique && _RBTree_Is_equal( compare_result ) )
        return iter_node;                                             
      RBTree_Direction dir = !_RBTree_Is_lesser( compare_result );    
      if (!iter_node->child[dir]) {                                   
        the_node->child[RBT_LEFT] = the_node->child[RBT_RIGHT] = NULL;
        the_node->color = RBT_RED;                                    
   4a122:	2740 000c      	movel %d0,%a3@(12)                          
        iter_node->child[dir] = the_node;                             
        the_node->parent = iter_node;                                 
   4a126:	268a           	movel %a2,%a3@                              
        /* update min/max */                                          
        compare_result = the_rbtree->compare_function(                
   4a128:	2f34 dc00      	movel %a4@(00000000,%a5:l:4),%sp@-          
   4a12c:	2f0b           	movel %a3,%sp@-                             
   4a12e:	4e90           	jsr %a0@                                    
            the_node,                                                 
            _RBTree_First(the_rbtree, dir)                            
        );                                                            
        if ( (!dir && _RBTree_Is_lesser(compare_result)) ||           
   4a130:	508f           	addql #8,%sp                                
   4a132:	4a82           	tstl %d2                                    
   4a134:	6600 0124      	bnew 4a25a <_RBTree_Insert_unprotected+0x19e>
   4a138:	4a80           	tstl %d0                                    
   4a13a:	6d00 0124      	bltw 4a260 <_RBTree_Insert_unprotected+0x1a4>
                                                                      
  _ISR_Disable( level );                                              
  return_node = _RBTree_Insert_unprotected( tree, node );             
  _ISR_Enable( level );                                               
  return return_node;                                                 
}                                                                     
   4a13e:	2053           	moveal %a3@,%a0                             
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent(                     
  const RBTree_Node *the_node                                         
)                                                                     
{                                                                     
  if (!the_node->parent->parent) return NULL;                         
   4a140:	2250           	moveal %a0@,%a1                             
   4a142:	2449           	moveal %a1,%a2                              
   4a144:	4a89           	tstl %a1                                    
   4a146:	6700 00ee      	beqw 4a236 <_RBTree_Insert_unprotected+0x17a>
 */                                                                   
RTEMS_INLINE_ROUTINE bool _RBTree_Is_red(                             
    const RBTree_Node *the_node                                       
    )                                                                 
{                                                                     
  return (the_node && the_node->color == RBT_RED);                    
   4a14a:	7801           	moveq #1,%d4                                
   4a14c:	b8a8 000c      	cmpl %a0@(12),%d4                           
   4a150:	670c           	beqs 4a15e <_RBTree_Insert_unprotected+0xa2>
                                                                      
    /* verify red-black properties */                                 
    _RBTree_Validate_insert_unprotected(the_node);                    
  }                                                                   
  return (RBTree_Node*)0;                                             
}                                                                     
   4a152:	2003           	movel %d3,%d0                               
   4a154:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   4a15a:	4e5e           	unlk %fp                                    
   4a15c:	4e75           	rts                                         
)                                                                     
{                                                                     
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
  if(!(the_node->parent->parent)) return NULL;                        
  if(!(the_node->parent->parent->parent)) return NULL;                
   4a15e:	4a91           	tstl %a1@                                   
   4a160:	6700 0106      	beqw 4a268 <_RBTree_Insert_unprotected+0x1ac>
{                                                                     
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
  if(!(the_node->parent->parent)) return NULL;                        
                                                                      
  if(the_node == the_node->parent->child[RBT_LEFT])                   
   4a164:	2229 0004      	movel %a1@(4),%d1                           
   4a168:	b288           	cmpl %a0,%d1                                
   4a16a:	6700 0104      	beqw 4a270 <_RBTree_Insert_unprotected+0x1b4>
   4a16e:	2841           	moveal %d1,%a4                              
 */                                                                   
RTEMS_INLINE_ROUTINE bool _RBTree_Is_red(                             
    const RBTree_Node *the_node                                       
    )                                                                 
{                                                                     
  return (the_node && the_node->color == RBT_RED);                    
   4a170:	4a8c           	tstl %a4                                    
   4a172:	670a           	beqs 4a17e <_RBTree_Insert_unprotected+0xc2>
   4a174:	7401           	moveq #1,%d2                                
   4a176:	b4ac 000c      	cmpl %a4@(12),%d2                           
   4a17a:	6700 00ca      	beqw 4a246 <_RBTree_Insert_unprotected+0x18a>
      the_node->parent->color = RBT_BLACK;                            
      u->color = RBT_BLACK;                                           
      g->color = RBT_RED;                                             
      the_node = g;                                                   
    } else { /* if uncle is black */                                  
      RBTree_Direction dir = the_node != the_node->parent->child[0];  
   4a17e:	b7e8 0004      	cmpal %a0@(4),%a3                           
   4a182:	56c2           	sne %d2                                     
      RBTree_Direction pdir = the_node->parent != g->child[0];        
   4a184:	b288           	cmpl %a0,%d1                                
   4a186:	56c1           	sne %d1                                     
      the_node->parent->color = RBT_BLACK;                            
      u->color = RBT_BLACK;                                           
      g->color = RBT_RED;                                             
      the_node = g;                                                   
    } else { /* if uncle is black */                                  
      RBTree_Direction dir = the_node != the_node->parent->child[0];  
   4a188:	49c2           	extbl %d2                                   
      RBTree_Direction pdir = the_node->parent != g->child[0];        
   4a18a:	49c1           	extbl %d1                                   
      the_node->parent->color = RBT_BLACK;                            
      u->color = RBT_BLACK;                                           
      g->color = RBT_RED;                                             
      the_node = g;                                                   
    } else { /* if uncle is black */                                  
      RBTree_Direction dir = the_node != the_node->parent->child[0];  
   4a18c:	2001           	movel %d1,%d0                               
   4a18e:	4480           	negl %d0                                    
      RBTree_Direction pdir = the_node->parent != g->child[0];        
                                                                      
      /* ensure node is on the same branch direction as parent */     
      if (dir != pdir) {                                              
   4a190:	b282           	cmpl %d2,%d1                                
   4a192:	6748           	beqs 4a1dc <_RBTree_Insert_unprotected+0x120>
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(     
  RBTree_Direction the_dir                                            
)                                                                     
{                                                                     
  return (RBTree_Direction) !((int) the_dir);                         
   4a194:	4a80           	tstl %d0                                    
   4a196:	57c2           	seq %d2                                     
    RBTree_Direction dir                                              
    )                                                                 
{                                                                     
  RBTree_Node *c;                                                     
  if (the_node == NULL) return;                                       
  if (the_node->child[_RBTree_Opposite_direction(dir)] == NULL) return;
   4a198:	7801           	moveq #1,%d4                                
   4a19a:	2200           	movel %d0,%d1                               
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(     
  RBTree_Direction the_dir                                            
)                                                                     
{                                                                     
  return (RBTree_Direction) !((int) the_dir);                         
   4a19c:	49c2           	extbl %d2                                   
    RBTree_Direction dir                                              
    )                                                                 
{                                                                     
  RBTree_Node *c;                                                     
  if (the_node == NULL) return;                                       
  if (the_node->child[_RBTree_Opposite_direction(dir)] == NULL) return;
   4a19e:	9882           	subl %d2,%d4                                
   4a1a0:	5281           	addql #1,%d1                                
   4a1a2:	2870 4c00      	moveal %a0@(00000000,%d4:l:4),%a4           
   4a1a6:	4a8c           	tstl %a4                                    
   4a1a8:	672c           	beqs 4a1d6 <_RBTree_Insert_unprotected+0x11a><== NEVER TAKEN
                                                                      
  c = the_node->child[_RBTree_Opposite_direction(dir)];               
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
   4a1aa:	4bf4 1c00      	lea %a4@(00000000,%d1:l:4),%a5              
   4a1ae:	2195 4c00      	movel %a5@,%a0@(00000000,%d4:l:4)           
                                                                      
  if (c->child[dir])                                                  
   4a1b2:	2a74 1c00      	moveal %a4@(00000000,%d1:l:4),%a5           
   4a1b6:	4a8d           	tstl %a5                                    
   4a1b8:	6704           	beqs 4a1be <_RBTree_Insert_unprotected+0x102>
    c->child[dir]->parent = the_node;                                 
   4a1ba:	2a88           	movel %a0,%a5@                              
   4a1bc:	2250           	moveal %a0@,%a1                             
                                                                      
  c->child[dir] = the_node;                                           
   4a1be:	2988 1c00      	movel %a0,%a4@(00000000,%d1:l:4)            
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   4a1c2:	7801           	moveq #1,%d4                                
   4a1c4:	b1e9 0004      	cmpal %a1@(4),%a0                           
   4a1c8:	56c2           	sne %d2                                     
                                                                      
  c->parent = the_node->parent;                                       
   4a1ca:	2889           	movel %a1,%a4@                              
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   4a1cc:	49c2           	extbl %d2                                   
   4a1ce:	9882           	subl %d2,%d4                                
   4a1d0:	238c 4c00      	movel %a4,%a1@(00000000,%d4:l:4)            
                                                                      
  c->parent = the_node->parent;                                       
  the_node->parent = c;                                               
   4a1d4:	208c           	movel %a4,%a0@                              
        _RBTree_Rotate(the_node->parent, pdir);                       
        the_node = the_node->child[pdir];                             
   4a1d6:	2673 1c00      	moveal %a3@(00000000,%d1:l:4),%a3           
   4a1da:	2053           	moveal %a3@,%a0                             
      }                                                               
      the_node->parent->color = RBT_BLACK;                            
      g->color = RBT_RED;                                             
                                                                      
      /* now rotate grandparent in the other branch direction (toward uncle) */
      _RBTree_Rotate(g, (1-pdir));                                    
   4a1dc:	7201           	moveq #1,%d1                                
   4a1de:	9280           	subl %d0,%d1                                
   4a1e0:	2001           	movel %d1,%d0                               
   4a1e2:	7201           	moveq #1,%d1                                
      if (dir != pdir) {                                              
        _RBTree_Rotate(the_node->parent, pdir);                       
        the_node = the_node->child[pdir];                             
      }                                                               
      the_node->parent->color = RBT_BLACK;                            
      g->color = RBT_RED;                                             
   4a1e4:	7401           	moveq #1,%d2                                
   4a1e6:	b181           	eorl %d0,%d1                                
      /* ensure node is on the same branch direction as parent */     
      if (dir != pdir) {                                              
        _RBTree_Rotate(the_node->parent, pdir);                       
        the_node = the_node->child[pdir];                             
      }                                                               
      the_node->parent->color = RBT_BLACK;                            
   4a1e8:	42a8 000c      	clrl %a0@(12)                               
    RBTree_Direction dir                                              
    )                                                                 
{                                                                     
  RBTree_Node *c;                                                     
  if (the_node == NULL) return;                                       
  if (the_node->child[_RBTree_Opposite_direction(dir)] == NULL) return;
   4a1ec:	5281           	addql #1,%d1                                
   4a1ee:	2072 1c00      	moveal %a2@(00000000,%d1:l:4),%a0           
      g->color = RBT_RED;                                             
   4a1f2:	2542 000c      	movel %d2,%a2@(12)                          
   4a1f6:	4a88           	tstl %a0                                    
   4a1f8:	6700 ff44      	beqw 4a13e <_RBTree_Insert_unprotected+0x82>
                                                                      
  c = the_node->child[_RBTree_Opposite_direction(dir)];               
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
   4a1fc:	5280           	addql #1,%d0                                
   4a1fe:	43f0 0c00      	lea %a0@(00000000,%d0:l:4),%a1              
   4a202:	2591 1c00      	movel %a1@,%a2@(00000000,%d1:l:4)           
                                                                      
  if (c->child[dir])                                                  
   4a206:	2270 0c00      	moveal %a0@(00000000,%d0:l:4),%a1           
   4a20a:	4a89           	tstl %a1                                    
   4a20c:	6702           	beqs 4a210 <_RBTree_Insert_unprotected+0x154>
    c->child[dir]->parent = the_node;                                 
   4a20e:	228a           	movel %a2,%a1@                              
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   4a210:	2252           	moveal %a2@,%a1                             
   4a212:	7201           	moveq #1,%d1                                
  the_node->child[_RBTree_Opposite_direction(dir)] = c->child[dir];   
                                                                      
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
   4a214:	218a 0c00      	movel %a2,%a0@(00000000,%d0:l:4)            
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   4a218:	b5e9 0004      	cmpal %a1@(4),%a2                           
   4a21c:	56c0           	sne %d0                                     
                                                                      
  c->parent = the_node->parent;                                       
   4a21e:	2089           	movel %a1,%a0@                              
  if (c->child[dir])                                                  
    c->child[dir]->parent = the_node;                                 
                                                                      
  c->child[dir] = the_node;                                           
                                                                      
  the_node->parent->child[the_node != the_node->parent->child[0]] = c;
   4a220:	49c0           	extbl %d0                                   
   4a222:	9280           	subl %d0,%d1                                
   4a224:	2388 1c00      	movel %a0,%a1@(00000000,%d1:l:4)            
                                                                      
  c->parent = the_node->parent;                                       
  the_node->parent = c;                                               
   4a228:	2488           	movel %a0,%a2@                              
                                                                      
  _ISR_Disable( level );                                              
  return_node = _RBTree_Insert_unprotected( tree, node );             
  _ISR_Enable( level );                                               
  return return_node;                                                 
}                                                                     
   4a22a:	2053           	moveal %a3@,%a0                             
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Parent(                     
  const RBTree_Node *the_node                                         
)                                                                     
{                                                                     
  if (!the_node->parent->parent) return NULL;                         
   4a22c:	2250           	moveal %a0@,%a1                             
   4a22e:	2449           	moveal %a1,%a2                              
   4a230:	4a89           	tstl %a1                                    
   4a232:	6600 ff16      	bnew 4a14a <_RBTree_Insert_unprotected+0x8e>
                                                                      
    /* verify red-black properties */                                 
    _RBTree_Validate_insert_unprotected(the_node);                    
  }                                                                   
  return (RBTree_Node*)0;                                             
}                                                                     
   4a236:	2003           	movel %d3,%d0                               
                                                                      
      /* now rotate grandparent in the other branch direction (toward uncle) */
      _RBTree_Rotate(g, (1-pdir));                                    
    }                                                                 
  }                                                                   
  if(!the_node->parent->parent) the_node->color = RBT_BLACK;          
   4a238:	42ab 000c      	clrl %a3@(12)                               
                                                                      
    /* verify red-black properties */                                 
    _RBTree_Validate_insert_unprotected(the_node);                    
  }                                                                   
  return (RBTree_Node*)0;                                             
}                                                                     
   4a23c:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   4a242:	4e5e           	unlk %fp                                    
   4a244:	4e75           	rts                                         
    u = _RBTree_Parent_sibling(the_node);                             
    g = the_node->parent->parent;                                     
                                                                      
    /* if uncle is red, repaint uncle/parent black and grandparent red */
    if(_RBTree_Is_red(u)) {                                           
      the_node->parent->color = RBT_BLACK;                            
   4a246:	42a8 000c      	clrl %a0@(12)                               
      u->color = RBT_BLACK;                                           
      g->color = RBT_RED;                                             
   4a24a:	7401           	moveq #1,%d2                                
   4a24c:	2649           	moveal %a1,%a3                              
    g = the_node->parent->parent;                                     
                                                                      
    /* if uncle is red, repaint uncle/parent black and grandparent red */
    if(_RBTree_Is_red(u)) {                                           
      the_node->parent->color = RBT_BLACK;                            
      u->color = RBT_BLACK;                                           
   4a24e:	42ac 000c      	clrl %a4@(12)                               
      g->color = RBT_RED;                                             
   4a252:	2342 000c      	movel %d2,%a1@(12)                          
   4a256:	6000 fee6      	braw 4a13e <_RBTree_Insert_unprotected+0x82>
        compare_result = the_rbtree->compare_function(                
            the_node,                                                 
            _RBTree_First(the_rbtree, dir)                            
        );                                                            
        if ( (!dir && _RBTree_Is_lesser(compare_result)) ||           
              (dir && _RBTree_Is_greater(compare_result)) ) {         
   4a25a:	4a80           	tstl %d0                                    
   4a25c:	6f00 fee0      	blew 4a13e <_RBTree_Insert_unprotected+0x82>
          the_rbtree->first[dir] = the_node;                          
   4a260:	298b dc00      	movel %a3,%a4@(00000000,%a5:l:4)            
   4a264:	6000 fed8      	braw 4a13e <_RBTree_Insert_unprotected+0x82>
   4a268:	2229 0004      	movel %a1@(4),%d1                           <== NOT EXECUTED
   4a26c:	6000 ff10      	braw 4a17e <_RBTree_Insert_unprotected+0xc2><== NOT EXECUTED
  if(!the_node) return NULL;                                          
  if(!(the_node->parent)) return NULL;                                
  if(!(the_node->parent->parent)) return NULL;                        
                                                                      
  if(the_node == the_node->parent->child[RBT_LEFT])                   
    return the_node->parent->child[RBT_RIGHT];                        
   4a270:	2869 0008      	moveal %a1@(8),%a4                          
   4a274:	6000 fefa      	braw 4a170 <_RBTree_Insert_unprotected+0xb4>
    the_node->child[RBT_LEFT] = the_node->child[RBT_RIGHT] = NULL;    
  } else {                                                            
    /* typical binary search tree insert, descend tree to leaf and insert */
    while (iter_node) {                                               
      compare_result = the_rbtree->compare_function(the_node, iter_node);
      if ( the_rbtree->is_unique && _RBTree_Is_equal( compare_result ) )
   4a278:	260a           	movel %a2,%d3                               
                                                                      
    /* verify red-black properties */                                 
    _RBTree_Validate_insert_unprotected(the_node);                    
  }                                                                   
  return (RBTree_Node*)0;                                             
}                                                                     
   4a27a:	2003           	movel %d3,%d0                               
   4a27c:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   4a282:	4e5e           	unlk %fp                                    
   4a284:	4e75           	rts                                         
RBTree_Node *_RBTree_Insert_unprotected(                              
    RBTree_Control *the_rbtree,                                       
    RBTree_Node *the_node                                             
    )                                                                 
{                                                                     
  if(!the_node) return (RBTree_Node*)-1;                              
   4a286:	76ff           	moveq #-1,%d3                               
                                                                      
    /* verify red-black properties */                                 
    _RBTree_Validate_insert_unprotected(the_node);                    
  }                                                                   
  return (RBTree_Node*)0;                                             
}                                                                     
   4a288:	2003           	movel %d3,%d0                               
   4a28a:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   4a290:	4e5e           	unlk %fp                                    
   4a292:	4e75           	rts                                         
                                                                      
  RBTree_Node *iter_node = the_rbtree->root;                          
  int compare_result;                                                 
                                                                      
  if (!iter_node) { /* special case: first node inserted */           
    the_node->color = RBT_BLACK;                                      
   4a294:	42ab 000c      	clrl %a3@(12)                               
    } /* while(iter_node) */                                          
                                                                      
    /* verify red-black properties */                                 
    _RBTree_Validate_insert_unprotected(the_node);                    
  }                                                                   
  return (RBTree_Node*)0;                                             
   4a298:	4283           	clrl %d3                                    
}                                                                     
   4a29a:	2003           	movel %d3,%d0                               
  RBTree_Node *iter_node = the_rbtree->root;                          
  int compare_result;                                                 
                                                                      
  if (!iter_node) { /* special case: first node inserted */           
    the_node->color = RBT_BLACK;                                      
    the_rbtree->root = the_node;                                      
   4a29c:	294b 0004      	movel %a3,%a4@(4)                           
    the_rbtree->first[0] = the_rbtree->first[1] = the_node;           
   4a2a0:	294b 000c      	movel %a3,%a4@(12)                          
   4a2a4:	294b 0008      	movel %a3,%a4@(8)                           
    the_node->parent = (RBTree_Node *) the_rbtree;                    
   4a2a8:	268c           	movel %a4,%a3@                              
    the_node->child[RBT_LEFT] = the_node->child[RBT_RIGHT] = NULL;    
   4a2aa:	42ab 0008      	clrl %a3@(8)                                
   4a2ae:	42ab 0004      	clrl %a3@(4)                                
                                                                      
    /* verify red-black properties */                                 
    _RBTree_Validate_insert_unprotected(the_node);                    
  }                                                                   
  return (RBTree_Node*)0;                                             
}                                                                     
   4a2b2:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   4a2b8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004a2e8 <_RBTree_Iterate_unprotected>: RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_First( const RBTree_Control *the_rbtree, RBTree_Direction dir ) { return the_rbtree->first[dir];
   4a2e8:	7202           	moveq #2,%d1                                
  const RBTree_Control *rbtree,                                       
  RBTree_Direction dir,                                               
  RBTree_Visitor visitor,                                             
  void *visitor_arg                                                   
)                                                                     
{                                                                     
   4a2ea:	4e56 ffe8      	linkw %fp,#-24                              
   4a2ee:	206e 0008      	moveal %fp@(8),%a0                          
   4a2f2:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
   4a2f6:	262e 000c      	movel %fp@(12),%d3                          
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(     
  RBTree_Direction the_dir                                            
)                                                                     
{                                                                     
  return (RBTree_Direction) !((int) the_dir);                         
   4a2fa:	57c0           	seq %d0                                     
   4a2fc:	246e 0010      	moveal %fp@(16),%a2                         
   4a300:	49c0           	extbl %d0                                   
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_First(                      
  const RBTree_Control *the_rbtree,                                   
  RBTree_Direction dir                                                
)                                                                     
{                                                                     
  return the_rbtree->first[dir];                                      
   4a302:	9280           	subl %d0,%d1                                
   4a304:	47f9 0004 a33c 	lea 4a33c <_RBTree_Next_unprotected>,%a3    
   4a30a:	2430 1c00      	movel %a0@(00000000,%d1:l:4),%d2            
   4a30e:	2a2e 0014      	movel %fp@(20),%d5                          
  RBTree_Direction opp_dir = _RBTree_Opposite_direction( dir );       
  const RBTree_Node *current = _RBTree_First( rbtree, opp_dir );      
  bool stop = false;                                                  
                                                                      
  while ( !stop && current != NULL ) {                                
   4a312:	4a82           	tstl %d2                                    
   4a314:	671a           	beqs 4a330 <_RBTree_Iterate_unprotected+0x48>
    stop = (*visitor)( current, dir, visitor_arg );                   
   4a316:	2f05           	movel %d5,%sp@-                             
   4a318:	2f03           	movel %d3,%sp@-                             
   4a31a:	2f02           	movel %d2,%sp@-                             
   4a31c:	4e92           	jsr %a2@                                    
                                                                      
    current = _RBTree_Next_unprotected( current, dir );               
   4a31e:	2f03           	movel %d3,%sp@-                             
  RBTree_Direction opp_dir = _RBTree_Opposite_direction( dir );       
  const RBTree_Node *current = _RBTree_First( rbtree, opp_dir );      
  bool stop = false;                                                  
                                                                      
  while ( !stop && current != NULL ) {                                
    stop = (*visitor)( current, dir, visitor_arg );                   
   4a320:	1800           	moveb %d0,%d4                               
                                                                      
    current = _RBTree_Next_unprotected( current, dir );               
   4a322:	2f02           	movel %d2,%sp@-                             
   4a324:	4e93           	jsr %a3@                                    
{                                                                     
  RBTree_Direction opp_dir = _RBTree_Opposite_direction( dir );       
  const RBTree_Node *current = _RBTree_First( rbtree, opp_dir );      
  bool stop = false;                                                  
                                                                      
  while ( !stop && current != NULL ) {                                
   4a326:	4fef 0014      	lea %sp@(20),%sp                            
    stop = (*visitor)( current, dir, visitor_arg );                   
                                                                      
    current = _RBTree_Next_unprotected( current, dir );               
   4a32a:	2400           	movel %d0,%d2                               
{                                                                     
  RBTree_Direction opp_dir = _RBTree_Opposite_direction( dir );       
  const RBTree_Node *current = _RBTree_First( rbtree, opp_dir );      
  bool stop = false;                                                  
                                                                      
  while ( !stop && current != NULL ) {                                
   4a32c:	4a04           	tstb %d4                                    
   4a32e:	67e2           	beqs 4a312 <_RBTree_Iterate_unprotected+0x2a><== ALWAYS TAKEN
    stop = (*visitor)( current, dir, visitor_arg );                   
                                                                      
    current = _RBTree_Next_unprotected( current, dir );               
  }                                                                   
}                                                                     
   4a330:	4cee 0c3c ffe8 	moveml %fp@(-24),%d2-%d5/%a2-%a3            
   4a336:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004a33c <_RBTree_Next_unprotected>: RBTree_Node *_RBTree_Next_unprotected( const RBTree_Node *node, RBTree_Direction dir ) {
   4a33c:	4e56 0000      	linkw %fp,#0                                
   4a340:	222e 000c      	movel %fp@(12),%d1                          
 */                                                                   
RTEMS_INLINE_ROUTINE RBTree_Direction _RBTree_Opposite_direction(     
  RBTree_Direction the_dir                                            
)                                                                     
{                                                                     
  return (RBTree_Direction) !((int) the_dir);                         
   4a344:	57c0           	seq %d0                                     
   4a346:	226e 0008      	moveal %fp@(8),%a1                          
  RBTree_Direction opp_dir = _RBTree_Opposite_direction( dir );       
  RBTree_Node *current = node->child [dir];                           
   4a34a:	5281           	addql #1,%d1                                
   4a34c:	49c0           	extbl %d0                                   
   4a34e:	4480           	negl %d0                                    
   4a350:	2071 1c00      	moveal %a1@(00000000,%d1:l:4),%a0           
                                                                      
RBTree_Node *_RBTree_Next_unprotected(                                
  const RBTree_Node *node,                                            
  RBTree_Direction dir                                                
)                                                                     
{                                                                     
   4a354:	2f0a           	movel %a2,%sp@-                             
  RBTree_Direction opp_dir = _RBTree_Opposite_direction( dir );       
  RBTree_Node *current = node->child [dir];                           
  RBTree_Node *next = NULL;                                           
                                                                      
  if ( current != NULL ) {                                            
   4a356:	4a88           	tstl %a0                                    
   4a358:	6718           	beqs 4a372 <_RBTree_Next_unprotected+0x36>  
   4a35a:	5280           	addql #1,%d0                                
    next = current;                                                   
    while ( (current = current->child [opp_dir]) != NULL ) {          
   4a35c:	2230 0c00      	movel %a0@(00000000,%d0:l:4),%d1            
   4a360:	6708           	beqs 4a36a <_RBTree_Next_unprotected+0x2e>  
   4a362:	2041           	moveal %d1,%a0                              
   4a364:	2230 0c00      	movel %a0@(00000000,%d0:l:4),%d1            
   4a368:	66f8           	bnes 4a362 <_RBTree_Next_unprotected+0x26>  <== NEVER TAKEN
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return next;                                                        
}                                                                     
   4a36a:	245f           	moveal %sp@+,%a2                            
    RBTree_Node *parent = node->parent;                               
                                                                      
    if ( parent->parent && node == parent->child [opp_dir] ) {        
      next = parent;                                                  
    } else {                                                          
      while ( parent->parent && node == parent->child [dir] ) {       
   4a36c:	2008           	movel %a0,%d0                               
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return next;                                                        
}                                                                     
   4a36e:	4e5e           	unlk %fp                                    
   4a370:	4e75           	rts                                         
    next = current;                                                   
    while ( (current = current->child [opp_dir]) != NULL ) {          
      next = current;                                                 
    }                                                                 
  } else {                                                            
    RBTree_Node *parent = node->parent;                               
   4a372:	2051           	moveal %a1@,%a0                             
                                                                      
    if ( parent->parent && node == parent->child [opp_dir] ) {        
   4a374:	2450           	moveal %a0@,%a2                             
   4a376:	4a8a           	tstl %a2                                    
   4a378:	6706           	beqs 4a380 <_RBTree_Next_unprotected+0x44>  
   4a37a:	b3f0 0c04      	cmpal %a0@(00000004,%d0:l:4),%a1            
   4a37e:	67ea           	beqs 4a36a <_RBTree_Next_unprotected+0x2e>  
      next = parent;                                                  
    } else {                                                          
      while ( parent->parent && node == parent->child [dir] ) {       
   4a380:	4a8a           	tstl %a2                                    
   4a382:	670e           	beqs 4a392 <_RBTree_Next_unprotected+0x56>  
   4a384:	b3f0 1c00      	cmpal %a0@(00000000,%d1:l:4),%a1            
   4a388:	66e0           	bnes 4a36a <_RBTree_Next_unprotected+0x2e>  
   4a38a:	2248           	moveal %a0,%a1                              
   4a38c:	204a           	moveal %a2,%a0                              
   4a38e:	2452           	moveal %a2@,%a2                             
   4a390:	60ee           	bras 4a380 <_RBTree_Next_unprotected+0x44>  
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return next;                                                        
}                                                                     
   4a392:	245f           	moveal %sp@+,%a2                            
  RBTree_Direction dir                                                
)                                                                     
{                                                                     
  RBTree_Direction opp_dir = _RBTree_Opposite_direction( dir );       
  RBTree_Node *current = node->child [dir];                           
  RBTree_Node *next = NULL;                                           
   4a394:	4280           	clrl %d0                                    
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return next;                                                        
}                                                                     
   4a396:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000486cc <_RTEMS_signal_Post_switch_hook>: #include <rtems/score/thread.h> #include <rtems/score/apiext.h> #include <rtems/rtems/tasks.h> static void _RTEMS_signal_Post_switch_hook( Thread_Control *executing ) {
   486cc:	4e56 ffec      	linkw %fp,#-20                              
   486d0:	206e 0008      	moveal %fp@(8),%a0                          
   486d4:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
  RTEMS_API_Control *api;                                             
  ASR_Information   *asr;                                             
  rtems_signal_set   signal_set;                                      
  Modes_Control      prev_mode;                                       
                                                                      
  api = executing->API_Extensions[ THREAD_API_RTEMS ];                
   486d8:	2468 00f8      	moveal %a0@(248),%a2                        
  if ( !api )                                                         
   486dc:	4a8a           	tstl %a2                                    
   486de:	671a           	beqs 486fa <_RTEMS_signal_Post_switch_hook+0x2e><== NEVER TAKEN
   *  Signal Processing                                               
   */                                                                 
                                                                      
  asr = &api->Signal;                                                 
                                                                      
  _ISR_Disable( level );                                              
   486e0:	203c 0000 0700 	movel #1792,%d0                             
   486e6:	40c1           	movew %sr,%d1                               
   486e8:	8081           	orl %d1,%d0                                 
   486ea:	46c0           	movew %d0,%sr                               
    signal_set = asr->signals_posted;                                 
   486ec:	242a 0012      	movel %a2@(18),%d2                          
    asr->signals_posted = 0;                                          
   486f0:	42aa 0012      	clrl %a2@(18)                               
  _ISR_Enable( level );                                               
   486f4:	46c1           	movew %d1,%sr                               
                                                                      
                                                                      
  if ( !signal_set ) /* similar to _ASR_Are_signals_pending( asr ) */ 
   486f6:	4a82           	tstl %d2                                    
   486f8:	660a           	bnes 48704 <_RTEMS_signal_Post_switch_hook+0x38>
  (*asr->handler)( signal_set );                                      
                                                                      
  asr->nest_level -= 1;                                               
  rtems_task_mode( prev_mode, RTEMS_ALL_MODE_MASKS, &prev_mode );     
                                                                      
}                                                                     
   486fa:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            
   48700:	4e5e           	unlk %fp                                    
   48702:	4e75           	rts                                         
                                                                      
                                                                      
  if ( !signal_set ) /* similar to _ASR_Are_signals_pending( asr ) */ 
    return;                                                           
                                                                      
  asr->nest_level += 1;                                               
   48704:	52aa 001a      	addql #1,%a2@(26)                           
  rtems_task_mode( asr->mode_set, RTEMS_ALL_MODE_MASKS, &prev_mode ); 
   48708:	260e           	movel %fp,%d3                               
   4870a:	5983           	subql #4,%d3                                
   4870c:	47f9 0004 8b5c 	lea 48b5c <rtems_task_mode>,%a3             
   48712:	2f03           	movel %d3,%sp@-                             
   48714:	2f3c 0000 ffff 	movel #65535,%sp@-                          
   4871a:	2f2a 000e      	movel %a2@(14),%sp@-                        
   4871e:	4e93           	jsr %a3@                                    
                                                                      
  (*asr->handler)( signal_set );                                      
   48720:	2f02           	movel %d2,%sp@-                             
   48722:	206a 000a      	moveal %a2@(10),%a0                         
   48726:	4e90           	jsr %a0@                                    
                                                                      
  asr->nest_level -= 1;                                               
   48728:	53aa 001a      	subql #1,%a2@(26)                           
  rtems_task_mode( prev_mode, RTEMS_ALL_MODE_MASKS, &prev_mode );     
   4872c:	2f03           	movel %d3,%sp@-                             
   4872e:	2f3c 0000 ffff 	movel #65535,%sp@-                          
   48734:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   48738:	4e93           	jsr %a3@                                    
   4873a:	4fef 001c      	lea %sp@(28),%sp                            
                                                                      
}                                                                     
   4873e:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            
   48744:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004c3d6 <_RTEMS_tasks_Create_extension>: static bool _RTEMS_tasks_Create_extension( Thread_Control *executing, Thread_Control *created ) {
   4c3d6:	4e56 0000      	linkw %fp,#0                                
   4c3da:	2f0a           	movel %a2,%sp@-                             
   4c3dc:	246e 000c      	moveal %fp@(12),%a2                         
  /*                                                                  
   *  Notepads must be the last entry in the structure and they       
   *  can be left off if disabled in the configuration.               
   */                                                                 
  to_allocate = sizeof( RTEMS_API_Control );                          
  if ( !rtems_configuration_get_notepads_enabled() )                  
   4c3e0:	4a39 0005 e1a6 	tstb 5e1a6 <Configuration_RTEMS_API+0x4>    
   4c3e6:	675c           	beqs 4c444 <_RTEMS_tasks_Create_extension+0x6e>
                                                                      
  /*                                                                  
   *  Notepads must be the last entry in the structure and they       
   *  can be left off if disabled in the configuration.               
   */                                                                 
  to_allocate = sizeof( RTEMS_API_Control );                          
   4c3e8:	705e           	moveq #94,%d0                               
  if ( !rtems_configuration_get_notepads_enabled() )                  
    to_allocate -= (RTEMS_NUMBER_NOTEPADS * sizeof(uint32_t));        
                                                                      
  api = _Workspace_Allocate( to_allocate );                           
   4c3ea:	2f00           	movel %d0,%sp@-                             
   4c3ec:	4eb9 0004 abf4 	jsr 4abf4 <_Workspace_Allocate>             
                                                                      
  if ( !api )                                                         
   4c3f2:	588f           	addql #4,%sp                                
   */                                                                 
  to_allocate = sizeof( RTEMS_API_Control );                          
  if ( !rtems_configuration_get_notepads_enabled() )                  
    to_allocate -= (RTEMS_NUMBER_NOTEPADS * sizeof(uint32_t));        
                                                                      
  api = _Workspace_Allocate( to_allocate );                           
   4c3f4:	2040           	moveal %d0,%a0                              
                                                                      
  if ( !api )                                                         
   4c3f6:	4a80           	tstl %d0                                    
   4c3f8:	675c           	beqs 4c456 <_RTEMS_tasks_Create_extension+0x80>
    return false;                                                     
                                                                      
  created->API_Extensions[ THREAD_API_RTEMS ] = api;                  
   4c3fa:	2540 00f8      	movel %d0,%a2@(248)                         
 */                                                                   
RTEMS_INLINE_ROUTINE void _ASR_Initialize (                           
  ASR_Information *information                                        
)                                                                     
{                                                                     
  information->is_enabled      = false;                               
   4c3fe:	4200           	clrb %d0                                    
   4c400:	4290           	clrl %a0@                                   
   4c402:	1140 0008      	moveb %d0,%a0@(8)                           
   4c406:	42a8 0004      	clrl %a0@(4)                                
  information->handler         = NULL;                                
   4c40a:	42a8 000a      	clrl %a0@(10)                               
  information->mode_set        = RTEMS_DEFAULT_MODES;                 
   4c40e:	42a8 000e      	clrl %a0@(14)                               
  information->signals_posted  = 0;                                   
   4c412:	42a8 0012      	clrl %a0@(18)                               
  information->signals_pending = 0;                                   
   4c416:	42a8 0016      	clrl %a0@(22)                               
  information->nest_level      = 0;                                   
   4c41a:	42a8 001a      	clrl %a0@(26)                               
                                                                      
  _Event_Initialize( &api->Event );                                   
  _Event_Initialize( &api->System_event );                            
  _ASR_Initialize( &api->Signal );                                    
  created->task_variables = NULL;                                     
   4c41e:	42aa 0104      	clrl %a2@(260)                              
                                                                      
  if ( rtems_configuration_get_notepads_enabled() ) {                 
   4c422:	4a39 0005 e1a6 	tstb 5e1a6 <Configuration_RTEMS_API+0x4>    
   4c428:	6710           	beqs 4c43a <_RTEMS_tasks_Create_extension+0x64>
 *  task is created via another API, then this routine is invoked     
 *  and this API given the opportunity to initialize its extension    
 *  area.                                                             
 */                                                                   
                                                                      
static bool _RTEMS_tasks_Create_extension(                            
   4c42a:	41e8 001e      	lea %a0@(30),%a0                            
   4c42e:	4280           	clrl %d0                                    
  _ASR_Initialize( &api->Signal );                                    
  created->task_variables = NULL;                                     
                                                                      
  if ( rtems_configuration_get_notepads_enabled() ) {                 
    for (i=0; i < RTEMS_NUMBER_NOTEPADS; i++)                         
      api->Notepads[i] = 0;                                           
   4c430:	4298           	clrl %a0@+                                  
  _Event_Initialize( &api->System_event );                            
  _ASR_Initialize( &api->Signal );                                    
  created->task_variables = NULL;                                     
                                                                      
  if ( rtems_configuration_get_notepads_enabled() ) {                 
    for (i=0; i < RTEMS_NUMBER_NOTEPADS; i++)                         
   4c432:	5280           	addql #1,%d0                                
   4c434:	7210           	moveq #16,%d1                               
   4c436:	b280           	cmpl %d0,%d1                                
   4c438:	66f6           	bnes 4c430 <_RTEMS_tasks_Create_extension+0x5a>
      api->Notepads[i] = 0;                                           
  }                                                                   
                                                                      
  return true;                                                        
}                                                                     
   4c43a:	246e fffc      	moveal %fp@(-4),%a2                         
   4c43e:	4e5e           	unlk %fp                                    
  if ( rtems_configuration_get_notepads_enabled() ) {                 
    for (i=0; i < RTEMS_NUMBER_NOTEPADS; i++)                         
      api->Notepads[i] = 0;                                           
  }                                                                   
                                                                      
  return true;                                                        
   4c440:	7001           	moveq #1,%d0                                
}                                                                     
   4c442:	4e75           	rts                                         
   *  Notepads must be the last entry in the structure and they       
   *  can be left off if disabled in the configuration.               
   */                                                                 
  to_allocate = sizeof( RTEMS_API_Control );                          
  if ( !rtems_configuration_get_notepads_enabled() )                  
    to_allocate -= (RTEMS_NUMBER_NOTEPADS * sizeof(uint32_t));        
   4c444:	701e           	moveq #30,%d0                               
                                                                      
  api = _Workspace_Allocate( to_allocate );                           
   4c446:	2f00           	movel %d0,%sp@-                             
   4c448:	4eb9 0004 abf4 	jsr 4abf4 <_Workspace_Allocate>             
                                                                      
  if ( !api )                                                         
   4c44e:	588f           	addql #4,%sp                                
   */                                                                 
  to_allocate = sizeof( RTEMS_API_Control );                          
  if ( !rtems_configuration_get_notepads_enabled() )                  
    to_allocate -= (RTEMS_NUMBER_NOTEPADS * sizeof(uint32_t));        
                                                                      
  api = _Workspace_Allocate( to_allocate );                           
   4c450:	2040           	moveal %d0,%a0                              
                                                                      
  if ( !api )                                                         
   4c452:	4a80           	tstl %d0                                    
   4c454:	66a4           	bnes 4c3fa <_RTEMS_tasks_Create_extension+0x24><== ALWAYS TAKEN
    for (i=0; i < RTEMS_NUMBER_NOTEPADS; i++)                         
      api->Notepads[i] = 0;                                           
  }                                                                   
                                                                      
  return true;                                                        
}                                                                     
   4c456:	246e fffc      	moveal %fp@(-4),%a2                         
   4c45a:	4e5e           	unlk %fp                                    
    to_allocate -= (RTEMS_NUMBER_NOTEPADS * sizeof(uint32_t));        
                                                                      
  api = _Workspace_Allocate( to_allocate );                           
                                                                      
  if ( !api )                                                         
    return false;                                                     
   4c45c:	4200           	clrb %d0                                    <== NOT EXECUTED
    for (i=0; i < RTEMS_NUMBER_NOTEPADS; i++)                         
      api->Notepads[i] = 0;                                           
  }                                                                   
                                                                      
  return true;                                                        
}                                                                     
                                                                      

00047908 <_RTEMS_tasks_Initialize_user_tasks_body>: * * Output parameters: NONE */ void _RTEMS_tasks_Initialize_user_tasks_body( void ) {
   47908:	4e56 ffe4      	linkw %fp,#-28                              
   4790c:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
  rtems_initialization_tasks_table *user_tasks;                       
                                                                      
  /*                                                                  
   *  Move information into local variables                           
   */                                                                 
  user_tasks = Configuration_RTEMS_API.User_initialization_tasks_table;
   47910:	2479 0005 e1cc 	moveal 5e1cc <Configuration_RTEMS_API+0x2a>,%a2
  maximum    = Configuration_RTEMS_API.number_of_initialization_tasks;
   47916:	2639 0005 e1c8 	movel 5e1c8 <Configuration_RTEMS_API+0x26>,%d3
                                                                      
  /*                                                                  
   *  Verify that we have a set of user tasks to iterate              
   */                                                                 
  if ( !user_tasks )                                                  
   4791c:	4a8a           	tstl %a2                                    
   4791e:	6754           	beqs 47974 <_RTEMS_tasks_Initialize_user_tasks_body+0x6c>
    return;                                                           
                                                                      
  /*                                                                  
   *  Now iterate over the initialization tasks and create/start them.
   */                                                                 
  for ( index=0 ; index < maximum ; index++ ) {                       
   47920:	4a83           	tstl %d3                                    
   47922:	6750           	beqs 47974 <_RTEMS_tasks_Initialize_user_tasks_body+0x6c><== NEVER TAKEN
   47924:	280e           	movel %fp,%d4                               
   47926:	4282           	clrl %d2                                    
   47928:	5984           	subql #4,%d4                                
   4792a:	47f9 0004 76c4 	lea 476c4 <rtems_task_create>,%a3           
      &id                                                             
    );                                                                
    if ( !rtems_is_status_successful( return_value ) )                
      _Internal_error_Occurred( INTERNAL_ERROR_RTEMS_API, true, return_value );
                                                                      
    return_value = rtems_task_start(                                  
   47930:	49f9 0004 7990 	lea 47990 <rtems_task_start>,%a4            
                                                                      
  /*                                                                  
   *  Now iterate over the initialization tasks and create/start them.
   */                                                                 
  for ( index=0 ; index < maximum ; index++ ) {                       
    return_value = rtems_task_create(                                 
   47936:	2f04           	movel %d4,%sp@-                             
   47938:	2f2a 000c      	movel %a2@(12),%sp@-                        
   4793c:	2f2a 0014      	movel %a2@(20),%sp@-                        
   47940:	2f2a 0004      	movel %a2@(4),%sp@-                         
   47944:	2f2a 0008      	movel %a2@(8),%sp@-                         
   47948:	2f12           	movel %a2@,%sp@-                            
   4794a:	4e93           	jsr %a3@                                    
      user_tasks[ index ].stack_size,                                 
      user_tasks[ index ].mode_set,                                   
      user_tasks[ index ].attribute_set,                              
      &id                                                             
    );                                                                
    if ( !rtems_is_status_successful( return_value ) )                
   4794c:	4fef 0018      	lea %sp@(24),%sp                            
   47950:	4a80           	tstl %d0                                    
   47952:	662a           	bnes 4797e <_RTEMS_tasks_Initialize_user_tasks_body+0x76>
      _Internal_error_Occurred( INTERNAL_ERROR_RTEMS_API, true, return_value );
                                                                      
    return_value = rtems_task_start(                                  
   47954:	2f2a 0018      	movel %a2@(24),%sp@-                        
   47958:	2f2a 0010      	movel %a2@(16),%sp@-                        
   4795c:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   47960:	4e94           	jsr %a4@                                    
      id,                                                             
      user_tasks[ index ].entry_point,                                
      user_tasks[ index ].argument                                    
    );                                                                
    if ( !rtems_is_status_successful( return_value ) )                
   47962:	4fef 000c      	lea %sp@(12),%sp                            
   47966:	4a80           	tstl %d0                                    
   47968:	6614           	bnes 4797e <_RTEMS_tasks_Initialize_user_tasks_body+0x76>
    return;                                                           
                                                                      
  /*                                                                  
   *  Now iterate over the initialization tasks and create/start them.
   */                                                                 
  for ( index=0 ; index < maximum ; index++ ) {                       
   4796a:	5282           	addql #1,%d2                                
   4796c:	45ea 001c      	lea %a2@(28),%a2                            
   47970:	b682           	cmpl %d2,%d3                                
   47972:	66c2           	bnes 47936 <_RTEMS_tasks_Initialize_user_tasks_body+0x2e><== NEVER TAKEN
      user_tasks[ index ].argument                                    
    );                                                                
    if ( !rtems_is_status_successful( return_value ) )                
      _Internal_error_Occurred( INTERNAL_ERROR_RTEMS_API, true, return_value );
  }                                                                   
}                                                                     
   47974:	4cee 1c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a4            
   4797a:	4e5e           	unlk %fp                                    
   4797c:	4e75           	rts                                         
      id,                                                             
      user_tasks[ index ].entry_point,                                
      user_tasks[ index ].argument                                    
    );                                                                
    if ( !rtems_is_status_successful( return_value ) )                
      _Internal_error_Occurred( INTERNAL_ERROR_RTEMS_API, true, return_value );
   4797e:	2f00           	movel %d0,%sp@-                             
   47980:	4878 0001      	pea 1 <ADD>                                 
   47984:	4878 0001      	pea 1 <ADD>                                 
   47988:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
	...                                                                  
                                                                      

0004c336 <_RTEMS_tasks_Switch_extension>: static void _RTEMS_tasks_Switch_extension( Thread_Control *executing, Thread_Control *heir ) {
   4c336:	4e56 0000      	linkw %fp,#0                                
   4c33a:	206e 0008      	moveal %fp@(8),%a0                          
                                                                      
  /*                                                                  
   *  Per Task Variables                                              
   */                                                                 
                                                                      
  tvp = executing->task_variables;                                    
   4c33e:	2068 0104      	moveal %a0@(260),%a0                        
  while (tvp) {                                                       
   4c342:	4a88           	tstl %a0                                    
   4c344:	6712           	beqs 4c358 <_RTEMS_tasks_Switch_extension+0x22>
    tvp->tval = *tvp->ptr;                                            
   4c346:	2268 0004      	moveal %a0@(4),%a1                          
   4c34a:	2151 000c      	movel %a1@,%a0@(12)                         
    *tvp->ptr = tvp->gval;                                            
   4c34e:	22a8 0008      	movel %a0@(8),%a1@                          
    tvp = (rtems_task_variable_t *)tvp->next;                         
   4c352:	2050           	moveal %a0@,%a0                             
  /*                                                                  
   *  Per Task Variables                                              
   */                                                                 
                                                                      
  tvp = executing->task_variables;                                    
  while (tvp) {                                                       
   4c354:	4a88           	tstl %a0                                    
   4c356:	66ee           	bnes 4c346 <_RTEMS_tasks_Switch_extension+0x10><== NEVER TAKEN
    tvp->tval = *tvp->ptr;                                            
    *tvp->ptr = tvp->gval;                                            
    tvp = (rtems_task_variable_t *)tvp->next;                         
  }                                                                   
                                                                      
  tvp = heir->task_variables;                                         
   4c358:	206e 000c      	moveal %fp@(12),%a0                         
   4c35c:	2068 0104      	moveal %a0@(260),%a0                        
  while (tvp) {                                                       
   4c360:	4a88           	tstl %a0                                    
   4c362:	6712           	beqs 4c376 <_RTEMS_tasks_Switch_extension+0x40>
    tvp->gval = *tvp->ptr;                                            
   4c364:	2268 0004      	moveal %a0@(4),%a1                          
   4c368:	2151 0008      	movel %a1@,%a0@(8)                          
    *tvp->ptr = tvp->tval;                                            
   4c36c:	22a8 000c      	movel %a0@(12),%a1@                         
    tvp = (rtems_task_variable_t *)tvp->next;                         
   4c370:	2050           	moveal %a0@,%a0                             
    *tvp->ptr = tvp->gval;                                            
    tvp = (rtems_task_variable_t *)tvp->next;                         
  }                                                                   
                                                                      
  tvp = heir->task_variables;                                         
  while (tvp) {                                                       
   4c372:	4a88           	tstl %a0                                    
   4c374:	66ee           	bnes 4c364 <_RTEMS_tasks_Switch_extension+0x2e><== NEVER TAKEN
    tvp->gval = *tvp->ptr;                                            
    *tvp->ptr = tvp->tval;                                            
    tvp = (rtems_task_variable_t *)tvp->next;                         
  }                                                                   
}                                                                     
   4c376:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00073c48 <_Rate_monotonic_Timeout>: void _Rate_monotonic_Timeout( Objects_Id id, void *ignored ) {
   73c48:	4e56 fffc      	linkw %fp,#-4                               
   73c4c:	2f0a           	movel %a2,%sp@-                             
   73c4e:	486e fffc      	pea %fp@(-4)                                
   73c52:	2f2e 0008      	movel %fp@(8),%sp@-                         
   73c56:	4879 000a 01c0 	pea a01c0 <_Rate_monotonic_Information>     
   73c5c:	4eb9 0004 8c00 	jsr 48c00 <_Objects_Get>                    
  /*                                                                  
   *  When we get here, the Timer is already off the chain so we do not
   *  have to worry about that -- hence no _Watchdog_Remove().        
   */                                                                 
  the_period = _Rate_monotonic_Get( id, &location );                  
  switch ( location ) {                                               
   73c62:	4fef 000c      	lea %sp@(12),%sp                            
   73c66:	2440           	moveal %d0,%a2                              
   73c68:	4aae fffc      	tstl %fp@(-4)                               
   73c6c:	6636           	bnes 73ca4 <_Rate_monotonic_Timeout+0x5c>   <== NEVER TAKEN
                                                                      
    case OBJECTS_LOCAL:                                               
      the_thread = the_period->owner;                                 
   73c6e:	206a 0040      	moveal %a2@(64),%a0                         
 */                                                                   
RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_period (             
  States_Control the_states                                           
)                                                                     
{                                                                     
   return (the_states & STATES_WAITING_FOR_PERIOD);                   
   73c72:	2028 0010      	movel %a0@(16),%d0                          
   73c76:	0280 0000 4000 	andil #16384,%d0                            
      if ( _States_Is_waiting_for_period( the_thread->current_state ) &&
   73c7c:	670a           	beqs 73c88 <_Rate_monotonic_Timeout+0x40>   
   73c7e:	202a 0008      	movel %a2@(8),%d0                           
   73c82:	b0a8 0020      	cmpl %a0@(32),%d0                           
   73c86:	675e           	beqs 73ce6 <_Rate_monotonic_Timeout+0x9e>   
        _Thread_Unblock( the_thread );                                
                                                                      
        _Rate_monotonic_Initiate_statistics( the_period );            
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, the_period->next_length );
      } else if ( the_period->state == RATE_MONOTONIC_OWNER_IS_BLOCKING ) {
   73c88:	7001           	moveq #1,%d0                                
   73c8a:	b0aa 0038      	cmpl %a2@(56),%d0                           
   73c8e:	671c           	beqs 73cac <_Rate_monotonic_Timeout+0x64>   
                                                                      
        _Rate_monotonic_Initiate_statistics( the_period );            
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, the_period->next_length );
      } else                                                          
        the_period->state = RATE_MONOTONIC_EXPIRED;                   
   73c90:	7004           	moveq #4,%d0                                
   73c92:	2540 0038      	movel %d0,%a2@(56)                          
   *                                                                  
   * This routine decrements the thread dispatch level.               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   73c96:	2039 0009 fe7a 	movel 9fe7a <_Thread_Dispatch_disable_level>,%d0
                                                                      
    --level;                                                          
   73c9c:	5380           	subql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   73c9e:	23c0 0009 fe7a 	movel %d0,9fe7a <_Thread_Dispatch_disable_level>
    case OBJECTS_REMOTE:  /* impossible */                            
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
}                                                                     
   73ca4:	246e fff8      	moveal %fp@(-8),%a2                         
   73ca8:	4e5e           	unlk %fp                                    
   73caa:	4e75           	rts                                         
                                                                      
        _Rate_monotonic_Initiate_statistics( the_period );            
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, the_period->next_length );
      } else if ( the_period->state == RATE_MONOTONIC_OWNER_IS_BLOCKING ) {
        the_period->state = RATE_MONOTONIC_EXPIRED_WHILE_BLOCKING;    
   73cac:	103c 0003      	moveb #3,%d0                                
   73cb0:	2540 0038      	movel %d0,%a2@(56)                          
                                                                      
        _Rate_monotonic_Initiate_statistics( the_period );            
   73cb4:	2f0a           	movel %a2,%sp@-                             
   73cb6:	4eb9 0007 3984 	jsr 73984 <_Rate_monotonic_Initiate_statistics>
  Watchdog_Control      *the_watchdog,                                
  Watchdog_Interval      units                                        
)                                                                     
{                                                                     
                                                                      
  the_watchdog->initial = units;                                      
   73cbc:	256a 003c 001c 	movel %a2@(60),%a2@(28)                     
                                                                      
  _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog );           
   73cc2:	486a 0010      	pea %a2@(16)                                
   73cc6:	4879 0009 ff16 	pea 9ff16 <_Watchdog_Ticks_chain>           
   73ccc:	4eb9 0004 a548 	jsr 4a548 <_Watchdog_Insert>                
   73cd2:	4fef 000c      	lea %sp@(12),%sp                            
   *                                                                  
   * This routine decrements the thread dispatch level.               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   73cd6:	2039 0009 fe7a 	movel 9fe7a <_Thread_Dispatch_disable_level>,%d0
                                                                      
    --level;                                                          
   73cdc:	5380           	subql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   73cde:	23c0 0009 fe7a 	movel %d0,9fe7a <_Thread_Dispatch_disable_level>
   73ce4:	60be           	bras 73ca4 <_Rate_monotonic_Timeout+0x5c>   
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_Unblock (                           
  Thread_Control *the_thread                                          
)                                                                     
{                                                                     
  _Thread_Clear_state( the_thread, STATES_BLOCKED );                  
   73ce6:	2f3c 1007 fff8 	movel #268959736,%sp@-                      
   73cec:	2f08           	movel %a0,%sp@-                             
   73cee:	4eb9 0004 94e8 	jsr 494e8 <_Thread_Clear_state>             
      the_thread = the_period->owner;                                 
      if ( _States_Is_waiting_for_period( the_thread->current_state ) &&
            the_thread->Wait.id == the_period->Object.id ) {          
        _Thread_Unblock( the_thread );                                
                                                                      
        _Rate_monotonic_Initiate_statistics( the_period );            
   73cf4:	2f0a           	movel %a2,%sp@-                             
   73cf6:	4eb9 0007 3984 	jsr 73984 <_Rate_monotonic_Initiate_statistics>
  Watchdog_Control      *the_watchdog,                                
  Watchdog_Interval      units                                        
)                                                                     
{                                                                     
                                                                      
  the_watchdog->initial = units;                                      
   73cfc:	256a 003c 001c 	movel %a2@(60),%a2@(28)                     
                                                                      
  _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog );           
   73d02:	486a 0010      	pea %a2@(16)                                
   73d06:	4879 0009 ff16 	pea 9ff16 <_Watchdog_Ticks_chain>           
   73d0c:	4eb9 0004 a548 	jsr 4a548 <_Watchdog_Insert>                
   73d12:	4fef 0014      	lea %sp@(20),%sp                            
   *                                                                  
   * This routine decrements the thread dispatch level.               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   73d16:	2039 0009 fe7a 	movel 9fe7a <_Thread_Dispatch_disable_level>,%d0
                                                                      
    --level;                                                          
   73d1c:	5380           	subql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   73d1e:	23c0 0009 fe7a 	movel %d0,9fe7a <_Thread_Dispatch_disable_level>
   73d24:	6000 ff7e      	braw 73ca4 <_Rate_monotonic_Timeout+0x5c>   
                                                                      

00049bc0 <_Scheduler_CBS_Allocate>: #include <rtems/score/wkspace.h> void *_Scheduler_CBS_Allocate( Thread_Control *the_thread ) {
   49bc0:	4e56 0000      	linkw %fp,#0                                
   49bc4:	2f0a           	movel %a2,%sp@-                             
  void *sched;                                                        
  Scheduler_CBS_Per_thread *schinfo;                                  
                                                                      
  sched = _Workspace_Allocate(sizeof(Scheduler_CBS_Per_thread));      
   49bc6:	4878 001c      	pea 1c <OPER2+0x8>                          
#include <rtems/score/wkspace.h>                                      
                                                                      
void *_Scheduler_CBS_Allocate(                                        
  Thread_Control      *the_thread                                     
)                                                                     
{                                                                     
   49bca:	246e 0008      	moveal %fp@(8),%a2                          
  void *sched;                                                        
  Scheduler_CBS_Per_thread *schinfo;                                  
                                                                      
  sched = _Workspace_Allocate(sizeof(Scheduler_CBS_Per_thread));      
   49bce:	4eb9 0004 b5e8 	jsr 4b5e8 <_Workspace_Allocate>             
  if ( sched ) {                                                      
   49bd4:	588f           	addql #4,%sp                                
   49bd6:	4a80           	tstl %d0                                    
   49bd8:	6712           	beqs 49bec <_Scheduler_CBS_Allocate+0x2c>   <== NEVER TAKEN
    the_thread->scheduler_info = sched;                               
   49bda:	2540 0086      	movel %d0,%a2@(134)                         
    schinfo = (Scheduler_CBS_Per_thread *)(the_thread->scheduler_info);
    schinfo->edf_per_thread.thread = the_thread;                      
   49bde:	2040           	moveal %d0,%a0                              
    schinfo->edf_per_thread.queue_state = SCHEDULER_EDF_QUEUE_STATE_NEVER_HAS_BEEN;
   49be0:	7202           	moveq #2,%d1                                
                                                                      
  sched = _Workspace_Allocate(sizeof(Scheduler_CBS_Per_thread));      
  if ( sched ) {                                                      
    the_thread->scheduler_info = sched;                               
    schinfo = (Scheduler_CBS_Per_thread *)(the_thread->scheduler_info);
    schinfo->edf_per_thread.thread = the_thread;                      
   49be2:	208a           	movel %a2,%a0@                              
    schinfo->edf_per_thread.queue_state = SCHEDULER_EDF_QUEUE_STATE_NEVER_HAS_BEEN;
   49be4:	2141 0014      	movel %d1,%a0@(20)                          
    schinfo->cbs_server = NULL;                                       
   49be8:	42a8 0018      	clrl %a0@(24)                               
  }                                                                   
                                                                      
  return sched;                                                       
}                                                                     
   49bec:	246e fffc      	moveal %fp@(-4),%a2                         
   49bf0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004b2f8 <_Scheduler_CBS_Budget_callout>: Scheduler_CBS_Server **_Scheduler_CBS_Server_list; void _Scheduler_CBS_Budget_callout( Thread_Control *the_thread ) {
   4b2f8:	4e56 fffc      	linkw %fp,#-4                               
   4b2fc:	2f0a           	movel %a2,%sp@-                             
   4b2fe:	246e 0008      	moveal %fp@(8),%a2                          
  Priority_Control          new_priority;                             
  Scheduler_CBS_Per_thread *sched_info;                               
  Scheduler_CBS_Server_id   server_id;                                
                                                                      
  /* Put violating task to background until the end of period. */     
  new_priority = the_thread->Start.initial_priority;                  
   4b302:	202a 00a8      	movel %a2@(168),%d0                         
  if ( the_thread->real_priority != new_priority )                    
   4b306:	b0aa 0018      	cmpl %a2@(24),%d0                           
   4b30a:	6704           	beqs 4b310 <_Scheduler_CBS_Budget_callout+0x18><== NEVER TAKEN
    the_thread->real_priority = new_priority;                         
   4b30c:	2540 0018      	movel %d0,%a2@(24)                          
  if ( the_thread->current_priority != new_priority )                 
   4b310:	b0aa 0014      	cmpl %a2@(20),%d0                           
   4b314:	6712           	beqs 4b328 <_Scheduler_CBS_Budget_callout+0x30><== NEVER TAKEN
    _Thread_Change_priority(the_thread, new_priority, true);          
   4b316:	4878 0001      	pea 1 <ADD>                                 
   4b31a:	2f00           	movel %d0,%sp@-                             
   4b31c:	2f0a           	movel %a2,%sp@-                             
   4b31e:	4eb9 0004 b8d0 	jsr 4b8d0 <_Thread_Change_priority>         
   4b324:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
  /* Invoke callback function if any. */                              
  sched_info = (Scheduler_CBS_Per_thread *) the_thread->scheduler_info;
   4b328:	246a 0086      	moveal %a2@(134),%a2                        
  if ( sched_info->cbs_server->cbs_budget_overrun ) {                 
   4b32c:	206a 0018      	moveal %a2@(24),%a0                         
   4b330:	4aa8 000c      	tstl %a0@(12)                               
   4b334:	671e           	beqs 4b354 <_Scheduler_CBS_Budget_callout+0x5c>
    _Scheduler_CBS_Get_server_id(                                     
   4b336:	486e fffc      	pea %fp@(-4)                                
   4b33a:	2f10           	movel %a0@,%sp@-                            
   4b33c:	4eb9 0004 b2b4 	jsr 4b2b4 <_Scheduler_CBS_Get_server_id>    
        sched_info->cbs_server->task_id,                              
        &server_id                                                    
    );                                                                
    sched_info->cbs_server->cbs_budget_overrun( server_id );          
   4b342:	206a 0018      	moveal %a2@(24),%a0                         
   4b346:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   4b34a:	2068 000c      	moveal %a0@(12),%a0                         
   4b34e:	4e90           	jsr %a0@                                    
   4b350:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
}                                                                     
   4b354:	246e fff8      	moveal %fp@(-8),%a2                         
   4b358:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004aeb0 <_Scheduler_CBS_Cleanup>: #include <rtems/config.h> #include <rtems/score/scheduler.h> #include <rtems/score/schedulercbs.h> int _Scheduler_CBS_Cleanup (void) {
   4aeb0:	4e56 0000      	linkw %fp,#0                                
   4aeb4:	2079 0006 32d2 	moveal 632d2 <_Scheduler_CBS_Server_list>,%a0
   4aeba:	2f0a           	movel %a2,%sp@-                             
   4aebc:	2f02           	movel %d2,%sp@-                             
  unsigned int i;                                                     
                                                                      
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
   4aebe:	4ab9 0006 18fc 	tstl 618fc <_Scheduler_CBS_Maximum_servers> 
   4aec4:	6724           	beqs 4aeea <_Scheduler_CBS_Cleanup+0x3a>    <== NEVER TAKEN
   4aec6:	4282           	clrl %d2                                    
    if ( _Scheduler_CBS_Server_list[ i ] )                            
      _Scheduler_CBS_Destroy_server( i );                             
   4aec8:	45f9 0004 afb8 	lea 4afb8 <_Scheduler_CBS_Destroy_server>,%a2
int _Scheduler_CBS_Cleanup (void)                                     
{                                                                     
  unsigned int i;                                                     
                                                                      
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
    if ( _Scheduler_CBS_Server_list[ i ] )                            
   4aece:	4ab0 2c00      	tstl %a0@(00000000,%d2:l:4)                 
   4aed2:	670c           	beqs 4aee0 <_Scheduler_CBS_Cleanup+0x30>    
      _Scheduler_CBS_Destroy_server( i );                             
   4aed4:	2f02           	movel %d2,%sp@-                             
   4aed6:	4e92           	jsr %a2@                                    
   4aed8:	2079 0006 32d2 	moveal 632d2 <_Scheduler_CBS_Server_list>,%a0
   4aede:	588f           	addql #4,%sp                                
                                                                      
int _Scheduler_CBS_Cleanup (void)                                     
{                                                                     
  unsigned int i;                                                     
                                                                      
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
   4aee0:	5282           	addql #1,%d2                                
   4aee2:	b4b9 0006 18fc 	cmpl 618fc <_Scheduler_CBS_Maximum_servers>,%d2
   4aee8:	65e4           	bcss 4aece <_Scheduler_CBS_Cleanup+0x1e>    
    if ( _Scheduler_CBS_Server_list[ i ] )                            
      _Scheduler_CBS_Destroy_server( i );                             
  }                                                                   
  _Workspace_Free( _Scheduler_CBS_Server_list );                      
   4aeea:	2f08           	movel %a0,%sp@-                             
   4aeec:	4eb9 0004 cd80 	jsr 4cd80 <_Workspace_Free>                 
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4aef2:	242e fff8      	movel %fp@(-8),%d2                          
   4aef6:	4280           	clrl %d0                                    
   4aef8:	246e fffc      	moveal %fp@(-4),%a2                         
   4aefc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004af00 <_Scheduler_CBS_Create_server>: int _Scheduler_CBS_Create_server ( Scheduler_CBS_Parameters *params, Scheduler_CBS_Budget_overrun budget_overrun_callback, rtems_id *server_id ) {
   4af00:	4e56 fff0      	linkw %fp,#-16                              
   4af04:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
   4af08:	266e 0008      	moveal %fp@(8),%a3                          
   4af0c:	246e 0010      	moveal %fp@(16),%a2                         
  unsigned int i;                                                     
  Scheduler_CBS_Server *the_server;                                   
                                                                      
  if ( params->budget <= 0 ||                                         
   4af10:	4aab 0004      	tstl %a3@(4)                                
   4af14:	6f00 0088      	blew 4af9e <_Scheduler_CBS_Create_server+0x9e>
   4af18:	4a93           	tstl %a3@                                   
   4af1a:	6f00 0082      	blew 4af9e <_Scheduler_CBS_Create_server+0x9e>
       params->deadline <= 0 ||                                       
       params->budget >= SCHEDULER_EDF_PRIO_MSB ||                    
       params->deadline >= SCHEDULER_EDF_PRIO_MSB )                   
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
                                                                      
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
   4af1e:	2239 0006 18fc 	movel 618fc <_Scheduler_CBS_Maximum_servers>,%d1
   4af24:	6766           	beqs 4af8c <_Scheduler_CBS_Create_server+0x8c><== NEVER TAKEN
    if ( !_Scheduler_CBS_Server_list[i] )                             
   4af26:	2279 0006 32d2 	moveal 632d2 <_Scheduler_CBS_Server_list>,%a1
   4af2c:	4a91           	tstl %a1@                                   
   4af2e:	6768           	beqs 4af98 <_Scheduler_CBS_Create_server+0x98>
#include <rtems/system.h>                                             
#include <rtems/config.h>                                             
#include <rtems/score/scheduler.h>                                    
#include <rtems/score/schedulercbs.h>                                 
                                                                      
int _Scheduler_CBS_Create_server (                                    
   4af30:	41e9 0004      	lea %a1@(4),%a0                             
   4af34:	4280           	clrl %d0                                    
       params->deadline <= 0 ||                                       
       params->budget >= SCHEDULER_EDF_PRIO_MSB ||                    
       params->deadline >= SCHEDULER_EDF_PRIO_MSB )                   
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
                                                                      
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
   4af36:	5280           	addql #1,%d0                                
   4af38:	b280           	cmpl %d0,%d1                                
   4af3a:	6750           	beqs 4af8c <_Scheduler_CBS_Create_server+0x8c>
    if ( !_Scheduler_CBS_Server_list[i] )                             
   4af3c:	4a98           	tstl %a0@+                                  
   4af3e:	66f6           	bnes 4af36 <_Scheduler_CBS_Create_server+0x36>
   4af40:	2200           	movel %d0,%d1                               
   4af42:	e589           	lsll #2,%d1                                 
  if ( i == _Scheduler_CBS_Maximum_servers )                          
    return SCHEDULER_CBS_ERROR_FULL;                                  
                                                                      
  *server_id = i;                                                     
  _Scheduler_CBS_Server_list[*server_id] = (Scheduler_CBS_Server *)   
    _Workspace_Allocate( sizeof(Scheduler_CBS_Server) );              
   4af44:	4878 0010      	pea 10 <INVALID_OPERATION>                  
                                                                      
  if ( i == _Scheduler_CBS_Maximum_servers )                          
    return SCHEDULER_CBS_ERROR_FULL;                                  
                                                                      
  *server_id = i;                                                     
  _Scheduler_CBS_Server_list[*server_id] = (Scheduler_CBS_Server *)   
   4af48:	49f1 1800      	lea %a1@(00000000,%d1:l),%a4                
  }                                                                   
                                                                      
  if ( i == _Scheduler_CBS_Maximum_servers )                          
    return SCHEDULER_CBS_ERROR_FULL;                                  
                                                                      
  *server_id = i;                                                     
   4af4c:	2480           	movel %d0,%a2@                              
  _Scheduler_CBS_Server_list[*server_id] = (Scheduler_CBS_Server *)   
    _Workspace_Allocate( sizeof(Scheduler_CBS_Server) );              
   4af4e:	4eb9 0004 cd64 	jsr 4cd64 <_Workspace_Allocate>             
  the_server = _Scheduler_CBS_Server_list[*server_id];                
   4af54:	2212           	movel %a2@,%d1                              
  if ( !the_server )                                                  
   4af56:	588f           	addql #4,%sp                                
                                                                      
  if ( i == _Scheduler_CBS_Maximum_servers )                          
    return SCHEDULER_CBS_ERROR_FULL;                                  
                                                                      
  *server_id = i;                                                     
  _Scheduler_CBS_Server_list[*server_id] = (Scheduler_CBS_Server *)   
   4af58:	2880           	movel %d0,%a4@                              
    _Workspace_Allocate( sizeof(Scheduler_CBS_Server) );              
  the_server = _Scheduler_CBS_Server_list[*server_id];                
   4af5a:	2079 0006 32d2 	moveal 632d2 <_Scheduler_CBS_Server_list>,%a0
   4af60:	2070 1c00      	moveal %a0@(00000000,%d1:l:4),%a0           
  if ( !the_server )                                                  
   4af64:	4a88           	tstl %a0                                    
   4af66:	6742           	beqs 4afaa <_Scheduler_CBS_Create_server+0xaa><== NEVER TAKEN
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
                                                                      
  the_server->parameters = *params;                                   
  the_server->task_id = -1;                                           
  the_server->cbs_budget_overrun = budget_overrun_callback;           
  return SCHEDULER_CBS_OK;                                            
   4af68:	4280           	clrl %d0                                    
    _Workspace_Allocate( sizeof(Scheduler_CBS_Server) );              
  the_server = _Scheduler_CBS_Server_list[*server_id];                
  if ( !the_server )                                                  
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
                                                                      
  the_server->parameters = *params;                                   
   4af6a:	2213           	movel %a3@,%d1                              
   4af6c:	242b 0004      	movel %a3@(4),%d2                           
  the_server->task_id = -1;                                           
  the_server->cbs_budget_overrun = budget_overrun_callback;           
   4af70:	216e 000c 000c 	movel %fp@(12),%a0@(12)                     
    _Workspace_Allocate( sizeof(Scheduler_CBS_Server) );              
  the_server = _Scheduler_CBS_Server_list[*server_id];                
  if ( !the_server )                                                  
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
                                                                      
  the_server->parameters = *params;                                   
   4af76:	2141 0004      	movel %d1,%a0@(4)                           
   4af7a:	2142 0008      	movel %d2,%a0@(8)                           
  the_server->task_id = -1;                                           
   4af7e:	72ff           	moveq #-1,%d1                               
  the_server->cbs_budget_overrun = budget_overrun_callback;           
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4af80:	4cee 1c04 fff0 	moveml %fp@(-16),%d2/%a2-%a4                
  the_server = _Scheduler_CBS_Server_list[*server_id];                
  if ( !the_server )                                                  
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
                                                                      
  the_server->parameters = *params;                                   
  the_server->task_id = -1;                                           
   4af86:	2081           	movel %d1,%a0@                              
  the_server->cbs_budget_overrun = budget_overrun_callback;           
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4af88:	4e5e           	unlk %fp                                    
   4af8a:	4e75           	rts                                         
    if ( !_Scheduler_CBS_Server_list[i] )                             
      break;                                                          
  }                                                                   
                                                                      
  if ( i == _Scheduler_CBS_Maximum_servers )                          
    return SCHEDULER_CBS_ERROR_FULL;                                  
   4af8c:	70e6           	moveq #-26,%d0                              
                                                                      
  the_server->parameters = *params;                                   
  the_server->task_id = -1;                                           
  the_server->cbs_budget_overrun = budget_overrun_callback;           
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4af8e:	4cee 1c04 fff0 	moveml %fp@(-16),%d2/%a2-%a4                
   4af94:	4e5e           	unlk %fp                                    
   4af96:	4e75           	rts                                         
       params->budget >= SCHEDULER_EDF_PRIO_MSB ||                    
       params->deadline >= SCHEDULER_EDF_PRIO_MSB )                   
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
                                                                      
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
    if ( !_Scheduler_CBS_Server_list[i] )                             
   4af98:	4281           	clrl %d1                                    
   4af9a:	4280           	clrl %d0                                    
   4af9c:	60a6           	bras 4af44 <_Scheduler_CBS_Create_server+0x44>
                                                                      
  if ( params->budget <= 0 ||                                         
       params->deadline <= 0 ||                                       
       params->budget >= SCHEDULER_EDF_PRIO_MSB ||                    
       params->deadline >= SCHEDULER_EDF_PRIO_MSB )                   
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
   4af9e:	70ee           	moveq #-18,%d0                              
                                                                      
  the_server->parameters = *params;                                   
  the_server->task_id = -1;                                           
  the_server->cbs_budget_overrun = budget_overrun_callback;           
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4afa0:	4cee 1c04 fff0 	moveml %fp@(-16),%d2/%a2-%a4                
   4afa6:	4e5e           	unlk %fp                                    
   4afa8:	4e75           	rts                                         
  *server_id = i;                                                     
  _Scheduler_CBS_Server_list[*server_id] = (Scheduler_CBS_Server *)   
    _Workspace_Allocate( sizeof(Scheduler_CBS_Server) );              
  the_server = _Scheduler_CBS_Server_list[*server_id];                
  if ( !the_server )                                                  
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
   4afaa:	70ef           	moveq #-17,%d0                              <== NOT EXECUTED
                                                                      
  the_server->parameters = *params;                                   
  the_server->task_id = -1;                                           
  the_server->cbs_budget_overrun = budget_overrun_callback;           
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4afac:	4cee 1c04 fff0 	moveml %fp@(-16),%d2/%a2-%a4                <== NOT EXECUTED
   4afb2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

0004b058 <_Scheduler_CBS_Detach_thread>: int _Scheduler_CBS_Detach_thread ( Scheduler_CBS_Server_id server_id, rtems_id task_id ) {
   4b058:	4e56 fff0      	linkw %fp,#-16                              
   4b05c:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
  Objects_Locations location;                                         
  Thread_Control *the_thread;                                         
  Scheduler_CBS_Per_thread *sched_info;                               
                                                                      
  the_thread = _Thread_Get(task_id, &location);                       
   4b060:	486e fffc      	pea %fp@(-4)                                
                                                                      
int _Scheduler_CBS_Detach_thread (                                    
  Scheduler_CBS_Server_id server_id,                                  
  rtems_id                task_id                                     
)                                                                     
{                                                                     
   4b064:	242e 000c      	movel %fp@(12),%d2                          
   4b068:	262e 0008      	movel %fp@(8),%d3                           
  Objects_Locations location;                                         
  Thread_Control *the_thread;                                         
  Scheduler_CBS_Per_thread *sched_info;                               
                                                                      
  the_thread = _Thread_Get(task_id, &location);                       
   4b06c:	2f02           	movel %d2,%sp@-                             
   4b06e:	4eb9 0004 bdd4 	jsr 4bdd4 <_Thread_Get>                     
  /* The routine _Thread_Get may disable dispatch and not enable again. */
  if ( the_thread ) {                                                 
   4b074:	508f           	addql #8,%sp                                
{                                                                     
  Objects_Locations location;                                         
  Thread_Control *the_thread;                                         
  Scheduler_CBS_Per_thread *sched_info;                               
                                                                      
  the_thread = _Thread_Get(task_id, &location);                       
   4b076:	2440           	moveal %d0,%a2                              
  /* The routine _Thread_Get may disable dispatch and not enable again. */
  if ( the_thread ) {                                                 
   4b078:	4a80           	tstl %d0                                    
   4b07a:	674a           	beqs 4b0c6 <_Scheduler_CBS_Detach_thread+0x6e>
    _Thread_Enable_dispatch();                                        
   4b07c:	4eb9 0004 bdb4 	jsr 4bdb4 <_Thread_Enable_dispatch>         
  }                                                                   
                                                                      
  if ( server_id >= _Scheduler_CBS_Maximum_servers )                  
   4b082:	b6b9 0006 18fc 	cmpl 618fc <_Scheduler_CBS_Maximum_servers>,%d3
   4b088:	643c           	bccs 4b0c6 <_Scheduler_CBS_Detach_thread+0x6e>
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
  if ( !the_thread )                                                  
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
  /* Server is not valid. */                                          
  if ( !_Scheduler_CBS_Server_list[server_id] )                       
   4b08a:	2079 0006 32d2 	moveal 632d2 <_Scheduler_CBS_Server_list>,%a0
   4b090:	2070 3c00      	moveal %a0@(00000000,%d3:l:4),%a0           
   4b094:	4a88           	tstl %a0                                    
   4b096:	673a           	beqs 4b0d2 <_Scheduler_CBS_Detach_thread+0x7a>
    return SCHEDULER_CBS_ERROR_NOSERVER;                              
  /* Thread and server are not attached. */                           
  if ( _Scheduler_CBS_Server_list[server_id]->task_id != task_id )    
   4b098:	b490           	cmpl %a0@,%d2                               
   4b09a:	662a           	bnes 4b0c6 <_Scheduler_CBS_Detach_thread+0x6e><== NEVER TAKEN
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
                                                                      
  _Scheduler_CBS_Server_list[server_id]->task_id = -1;                
   4b09c:	70ff           	moveq #-1,%d0                               
   4b09e:	2080           	movel %d0,%a0@                              
  sched_info = (Scheduler_CBS_Per_thread *) the_thread->scheduler_info;
  sched_info->cbs_server = NULL;                                      
   4b0a0:	206a 0086      	moveal %a2@(134),%a0                        
                                                                      
  the_thread->budget_algorithm = the_thread->Start.budget_algorithm;  
  the_thread->budget_callout   = the_thread->Start.budget_callout;    
  the_thread->is_preemptible   = the_thread->Start.is_preemptible;    
                                                                      
  return SCHEDULER_CBS_OK;                                            
   4b0a4:	4280           	clrl %d0                                    
  if ( _Scheduler_CBS_Server_list[server_id]->task_id != task_id )    
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
                                                                      
  _Scheduler_CBS_Server_list[server_id]->task_id = -1;                
  sched_info = (Scheduler_CBS_Per_thread *) the_thread->scheduler_info;
  sched_info->cbs_server = NULL;                                      
   4b0a6:	42a8 0018      	clrl %a0@(24)                               
                                                                      
  the_thread->budget_algorithm = the_thread->Start.budget_algorithm;  
   4b0aa:	256a 009c 0076 	movel %a2@(156),%a2@(118)                   
  the_thread->budget_callout   = the_thread->Start.budget_callout;    
   4b0b0:	256a 00a0 007a 	movel %a2@(160),%a2@(122)                   
  the_thread->is_preemptible   = the_thread->Start.is_preemptible;    
   4b0b6:	156a 009a 0070 	moveb %a2@(154),%a2@(112)                   
                                                                      
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4b0bc:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                
   4b0c2:	4e5e           	unlk %fp                                    
   4b0c4:	4e75           	rts                                         
  if ( the_thread ) {                                                 
    _Thread_Enable_dispatch();                                        
  }                                                                   
                                                                      
  if ( server_id >= _Scheduler_CBS_Maximum_servers )                  
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
   4b0c6:	70ee           	moveq #-18,%d0                              
  the_thread->budget_algorithm = the_thread->Start.budget_algorithm;  
  the_thread->budget_callout   = the_thread->Start.budget_callout;    
  the_thread->is_preemptible   = the_thread->Start.is_preemptible;    
                                                                      
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4b0c8:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                
   4b0ce:	4e5e           	unlk %fp                                    
   4b0d0:	4e75           	rts                                         
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
  if ( !the_thread )                                                  
    return SCHEDULER_CBS_ERROR_INVALID_PARAMETER;                     
  /* Server is not valid. */                                          
  if ( !_Scheduler_CBS_Server_list[server_id] )                       
    return SCHEDULER_CBS_ERROR_NOSERVER;                              
   4b0d2:	70e7           	moveq #-25,%d0                              
  the_thread->budget_algorithm = the_thread->Start.budget_algorithm;  
  the_thread->budget_callout   = the_thread->Start.budget_callout;    
  the_thread->is_preemptible   = the_thread->Start.is_preemptible;    
                                                                      
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4b0d4:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                
   4b0da:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004b2b4 <_Scheduler_CBS_Get_server_id>: int _Scheduler_CBS_Get_server_id ( rtems_id task_id, Scheduler_CBS_Server_id *server_id ) {
   4b2b4:	4e56 0000      	linkw %fp,#0                                
  unsigned int i;                                                     
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
   4b2b8:	2239 0006 18fc 	movel 618fc <_Scheduler_CBS_Maximum_servers>,%d1
                                                                      
int _Scheduler_CBS_Get_server_id (                                    
  rtems_id                 task_id,                                   
  Scheduler_CBS_Server_id *server_id                                  
)                                                                     
{                                                                     
   4b2be:	2f02           	movel %d2,%sp@-                             
   4b2c0:	242e 0008      	movel %fp@(8),%d2                           
  unsigned int i;                                                     
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
   4b2c4:	4a81           	tstl %d1                                    
   4b2c6:	6718           	beqs 4b2e0 <_Scheduler_CBS_Get_server_id+0x2c><== NEVER TAKEN
   4b2c8:	2279 0006 32d2 	moveal 632d2 <_Scheduler_CBS_Server_list>,%a1
   4b2ce:	4280           	clrl %d0                                    
    if ( _Scheduler_CBS_Server_list[i] &&                             
   4b2d0:	2059           	moveal %a1@+,%a0                            
   4b2d2:	4a88           	tstl %a0                                    
   4b2d4:	6704           	beqs 4b2da <_Scheduler_CBS_Get_server_id+0x26>
   4b2d6:	b490           	cmpl %a0@,%d2                               
   4b2d8:	670e           	beqs 4b2e8 <_Scheduler_CBS_Get_server_id+0x34>
  rtems_id                 task_id,                                   
  Scheduler_CBS_Server_id *server_id                                  
)                                                                     
{                                                                     
  unsigned int i;                                                     
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
   4b2da:	5280           	addql #1,%d0                                
   4b2dc:	b280           	cmpl %d0,%d1                                
   4b2de:	66f0           	bnes 4b2d0 <_Scheduler_CBS_Get_server_id+0x1c>
      *server_id = i;                                                 
      return SCHEDULER_CBS_OK;                                        
    }                                                                 
  }                                                                   
  return SCHEDULER_CBS_ERROR_NOSERVER;                                
}                                                                     
   4b2e0:	241f           	movel %sp@+,%d2                             
         _Scheduler_CBS_Server_list[i]->task_id == task_id ) {        
      *server_id = i;                                                 
      return SCHEDULER_CBS_OK;                                        
    }                                                                 
  }                                                                   
  return SCHEDULER_CBS_ERROR_NOSERVER;                                
   4b2e2:	70e7           	moveq #-25,%d0                              
}                                                                     
   4b2e4:	4e5e           	unlk %fp                                    
   4b2e6:	4e75           	rts                                         
{                                                                     
  unsigned int i;                                                     
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
    if ( _Scheduler_CBS_Server_list[i] &&                             
         _Scheduler_CBS_Server_list[i]->task_id == task_id ) {        
      *server_id = i;                                                 
   4b2e8:	206e 000c      	moveal %fp@(12),%a0                         
      return SCHEDULER_CBS_OK;                                        
    }                                                                 
  }                                                                   
  return SCHEDULER_CBS_ERROR_NOSERVER;                                
}                                                                     
   4b2ec:	241f           	movel %sp@+,%d2                             
   4b2ee:	4e5e           	unlk %fp                                    
{                                                                     
  unsigned int i;                                                     
  for ( i = 0; i<_Scheduler_CBS_Maximum_servers; i++ ) {              
    if ( _Scheduler_CBS_Server_list[i] &&                             
         _Scheduler_CBS_Server_list[i]->task_id == task_id ) {        
      *server_id = i;                                                 
   4b2f0:	2080           	movel %d0,%a0@                              
      return SCHEDULER_CBS_OK;                                        
   4b2f2:	4280           	clrl %d0                                    
    }                                                                 
  }                                                                   
  return SCHEDULER_CBS_ERROR_NOSERVER;                                
}                                                                     
	...                                                                  
                                                                      

0004b35c <_Scheduler_CBS_Initialize>: int _Scheduler_CBS_Initialize(void) {
   4b35c:	4e56 0000      	linkw %fp,#0                                
  unsigned int i;                                                     
  _Scheduler_CBS_Server_list = (Scheduler_CBS_Server **) _Workspace_Allocate(
   4b360:	2039 0006 18fc 	movel 618fc <_Scheduler_CBS_Maximum_servers>,%d0
   4b366:	e588           	lsll #2,%d0                                 
   4b368:	2f00           	movel %d0,%sp@-                             
   4b36a:	4eb9 0004 cd64 	jsr 4cd64 <_Workspace_Allocate>             
      _Scheduler_CBS_Maximum_servers * sizeof(Scheduler_CBS_Server*) );
  if ( !_Scheduler_CBS_Server_list )                                  
   4b370:	588f           	addql #4,%sp                                
}                                                                     
                                                                      
int _Scheduler_CBS_Initialize(void)                                   
{                                                                     
  unsigned int i;                                                     
  _Scheduler_CBS_Server_list = (Scheduler_CBS_Server **) _Workspace_Allocate(
   4b372:	2040           	moveal %d0,%a0                              
   4b374:	23c0 0006 32d2 	movel %d0,632d2 <_Scheduler_CBS_Server_list>
      _Scheduler_CBS_Maximum_servers * sizeof(Scheduler_CBS_Server*) );
  if ( !_Scheduler_CBS_Server_list )                                  
   4b37a:	672c           	beqs 4b3a8 <_Scheduler_CBS_Initialize+0x4c> <== NEVER TAKEN
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
  for (i = 0; i<_Scheduler_CBS_Maximum_servers; i++) {                
   4b37c:	2039 0006 18fc 	movel 618fc <_Scheduler_CBS_Maximum_servers>,%d0
   4b382:	4281           	clrl %d1                                    
   4b384:	4a80           	tstl %d0                                    
   4b386:	671a           	beqs 4b3a2 <_Scheduler_CBS_Initialize+0x46> <== NEVER TAKEN
    _Scheduler_CBS_Server_list[i] = NULL;                             
   4b388:	42b0 1c00      	clrl %a0@(00000000,%d1:l:4)                 
  unsigned int i;                                                     
  _Scheduler_CBS_Server_list = (Scheduler_CBS_Server **) _Workspace_Allocate(
      _Scheduler_CBS_Maximum_servers * sizeof(Scheduler_CBS_Server*) );
  if ( !_Scheduler_CBS_Server_list )                                  
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
  for (i = 0; i<_Scheduler_CBS_Maximum_servers; i++) {                
   4b38c:	5281           	addql #1,%d1                                
   4b38e:	b081           	cmpl %d1,%d0                                
   4b390:	6710           	beqs 4b3a2 <_Scheduler_CBS_Initialize+0x46> <== NEVER TAKEN
   4b392:	2079 0006 32d2 	moveal 632d2 <_Scheduler_CBS_Server_list>,%a0
    _Scheduler_CBS_Server_list[i] = NULL;                             
   4b398:	42b0 1c00      	clrl %a0@(00000000,%d1:l:4)                 
  unsigned int i;                                                     
  _Scheduler_CBS_Server_list = (Scheduler_CBS_Server **) _Workspace_Allocate(
      _Scheduler_CBS_Maximum_servers * sizeof(Scheduler_CBS_Server*) );
  if ( !_Scheduler_CBS_Server_list )                                  
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
  for (i = 0; i<_Scheduler_CBS_Maximum_servers; i++) {                
   4b39c:	5281           	addql #1,%d1                                
   4b39e:	b081           	cmpl %d1,%d0                                
   4b3a0:	66f0           	bnes 4b392 <_Scheduler_CBS_Initialize+0x36> 
    _Scheduler_CBS_Server_list[i] = NULL;                             
  }                                                                   
  return SCHEDULER_CBS_OK;                                            
   4b3a2:	4280           	clrl %d0                                    
}                                                                     
   4b3a4:	4e5e           	unlk %fp                                    
   4b3a6:	4e75           	rts                                         
{                                                                     
  unsigned int i;                                                     
  _Scheduler_CBS_Server_list = (Scheduler_CBS_Server **) _Workspace_Allocate(
      _Scheduler_CBS_Maximum_servers * sizeof(Scheduler_CBS_Server*) );
  if ( !_Scheduler_CBS_Server_list )                                  
    return SCHEDULER_CBS_ERROR_NO_MEMORY;                             
   4b3a8:	70ef           	moveq #-17,%d0                              <== NOT EXECUTED
  for (i = 0; i<_Scheduler_CBS_Maximum_servers; i++) {                
    _Scheduler_CBS_Server_list[i] = NULL;                             
  }                                                                   
  return SCHEDULER_CBS_OK;                                            
}                                                                     
   4b3aa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

00049bf4 <_Scheduler_CBS_Release_job>: void _Scheduler_CBS_Release_job( Thread_Control *the_thread, uint32_t deadline ) {
   49bf4:	4e56 0000      	linkw %fp,#0                                
   49bf8:	206e 0008      	moveal %fp@(8),%a0                          
  Priority_Control new_priority;                                      
  Scheduler_CBS_Per_thread *sched_info =                              
    (Scheduler_CBS_Per_thread *) the_thread->scheduler_info;          
  Scheduler_CBS_Server *serv_info =                                   
    (Scheduler_CBS_Server *) sched_info->cbs_server;                  
   49bfc:	2268 0086      	moveal %a0@(134),%a1                        
)                                                                     
{                                                                     
  Priority_Control new_priority;                                      
  Scheduler_CBS_Per_thread *sched_info =                              
    (Scheduler_CBS_Per_thread *) the_thread->scheduler_info;          
  Scheduler_CBS_Server *serv_info =                                   
   49c00:	2269 0018      	moveal %a1@(24),%a1                         
    (Scheduler_CBS_Server *) sched_info->cbs_server;                  
                                                                      
  if (deadline) {                                                     
   49c04:	4aae 000c      	tstl %fp@(12)                               
   49c08:	6732           	beqs 49c3c <_Scheduler_CBS_Release_job+0x48>
    /* Initializing or shifting deadline. */                          
    if (serv_info)                                                    
      new_priority = (_Watchdog_Ticks_since_boot + serv_info->parameters.deadline)
   49c0a:	2039 0006 13a2 	movel 613a2 <_Watchdog_Ticks_since_boot>,%d0
  Scheduler_CBS_Server *serv_info =                                   
    (Scheduler_CBS_Server *) sched_info->cbs_server;                  
                                                                      
  if (deadline) {                                                     
    /* Initializing or shifting deadline. */                          
    if (serv_info)                                                    
   49c10:	4a89           	tstl %a1                                    
   49c12:	6738           	beqs 49c4c <_Scheduler_CBS_Release_job+0x58><== NEVER TAKEN
      new_priority = (_Watchdog_Ticks_since_boot + serv_info->parameters.deadline)
   49c14:	d0a9 0004      	addl %a1@(4),%d0                            
   49c18:	0880 001f      	bclr #31,%d0                                
    new_priority = the_thread->Start.initial_priority;                
  }                                                                   
                                                                      
  /* Budget replenishment for the next job. */                        
  if (serv_info)                                                      
    the_thread->cpu_time_budget = serv_info->parameters.budget;       
   49c1c:	2169 0008 0072 	movel %a1@(8),%a0@(114)                     
                                                                      
  the_thread->real_priority = new_priority;                           
  _Thread_Change_priority(the_thread, new_priority, true);            
   49c22:	4878 0001      	pea 1 <ADD>                                 
   49c26:	2f00           	movel %d0,%sp@-                             
                                                                      
  /* Budget replenishment for the next job. */                        
  if (serv_info)                                                      
    the_thread->cpu_time_budget = serv_info->parameters.budget;       
                                                                      
  the_thread->real_priority = new_priority;                           
   49c28:	2140 0018      	movel %d0,%a0@(24)                          
  _Thread_Change_priority(the_thread, new_priority, true);            
   49c2c:	2f08           	movel %a0,%sp@-                             
   49c2e:	4eb9 0004 a0c0 	jsr 4a0c0 <_Thread_Change_priority>         
   49c34:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   49c38:	4e5e           	unlk %fp                                    
   49c3a:	4e75           	rts                                         
      new_priority = (_Watchdog_Ticks_since_boot + deadline)          
        & ~SCHEDULER_EDF_PRIO_MSB;                                    
  }                                                                   
  else {                                                              
    /* Switch back to background priority. */                         
    new_priority = the_thread->Start.initial_priority;                
   49c3c:	2028 00a8      	movel %a0@(168),%d0                         
  }                                                                   
                                                                      
  /* Budget replenishment for the next job. */                        
  if (serv_info)                                                      
   49c40:	4a89           	tstl %a1                                    
   49c42:	67de           	beqs 49c22 <_Scheduler_CBS_Release_job+0x2e><== NEVER TAKEN
    the_thread->cpu_time_budget = serv_info->parameters.budget;       
   49c44:	2169 0008 0072 	movel %a1@(8),%a0@(114)                     
   49c4a:	60d6           	bras 49c22 <_Scheduler_CBS_Release_job+0x2e>
    /* Initializing or shifting deadline. */                          
    if (serv_info)                                                    
      new_priority = (_Watchdog_Ticks_since_boot + serv_info->parameters.deadline)
        & ~SCHEDULER_EDF_PRIO_MSB;                                    
    else                                                              
      new_priority = (_Watchdog_Ticks_since_boot + deadline)          
   49c4c:	d0ae 000c      	addl %fp@(12),%d0                           
  /* Budget replenishment for the next job. */                        
  if (serv_info)                                                      
    the_thread->cpu_time_budget = serv_info->parameters.budget;       
                                                                      
  the_thread->real_priority = new_priority;                           
  _Thread_Change_priority(the_thread, new_priority, true);            
   49c50:	4878 0001      	pea 1 <ADD>                                 
    /* Initializing or shifting deadline. */                          
    if (serv_info)                                                    
      new_priority = (_Watchdog_Ticks_since_boot + serv_info->parameters.deadline)
        & ~SCHEDULER_EDF_PRIO_MSB;                                    
    else                                                              
      new_priority = (_Watchdog_Ticks_since_boot + deadline)          
   49c54:	0880 001f      	bclr #31,%d0                                
  /* Budget replenishment for the next job. */                        
  if (serv_info)                                                      
    the_thread->cpu_time_budget = serv_info->parameters.budget;       
                                                                      
  the_thread->real_priority = new_priority;                           
  _Thread_Change_priority(the_thread, new_priority, true);            
   49c58:	2f00           	movel %d0,%sp@-                             
                                                                      
  /* Budget replenishment for the next job. */                        
  if (serv_info)                                                      
    the_thread->cpu_time_budget = serv_info->parameters.budget;       
                                                                      
  the_thread->real_priority = new_priority;                           
   49c5a:	2140 0018      	movel %d0,%a0@(24)                          
  _Thread_Change_priority(the_thread, new_priority, true);            
   49c5e:	2f08           	movel %a0,%sp@-                             
   49c60:	4eb9 0004 a0c0 	jsr 4a0c0 <_Thread_Change_priority>         
   49c66:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   49c6a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00049c70 <_Scheduler_CBS_Unblock>: #include <rtems/score/schedulercbs.h> void _Scheduler_CBS_Unblock( Thread_Control *the_thread ) {
   49c70:	4e56 0000      	linkw %fp,#0                                
   49c74:	2f0a           	movel %a2,%sp@-                             
   49c76:	246e 0008      	moveal %fp@(8),%a2                          
   49c7a:	2f02           	movel %d2,%sp@-                             
  Scheduler_CBS_Per_thread *sched_info;                               
  Scheduler_CBS_Server *serv_info;                                    
  Priority_Control new_priority;                                      
                                                                      
  _Scheduler_EDF_Enqueue(the_thread);                                 
   49c7c:	2f0a           	movel %a2,%sp@-                             
   49c7e:	4eb9 0004 9d94 	jsr 49d94 <_Scheduler_EDF_Enqueue>          
  /* TODO: flash critical section? */                                 
                                                                      
  sched_info = (Scheduler_CBS_Per_thread *) the_thread->scheduler_info;
  serv_info = (Scheduler_CBS_Server *) sched_info->cbs_server;        
   49c84:	206a 0086      	moveal %a2@(134),%a0                        
   * Late unblock rule for deadline-driven tasks. The remaining time to
   * deadline must be sufficient to serve the remaining computation time
   * without increased utilization of this task. It might cause a deadline
   * miss of another task.                                            
   */                                                                 
  if (serv_info) {                                                    
   49c88:	588f           	addql #4,%sp                                
                                                                      
  _Scheduler_EDF_Enqueue(the_thread);                                 
  /* TODO: flash critical section? */                                 
                                                                      
  sched_info = (Scheduler_CBS_Per_thread *) the_thread->scheduler_info;
  serv_info = (Scheduler_CBS_Server *) sched_info->cbs_server;        
   49c8a:	2068 0018      	moveal %a0@(24),%a0                         
   * Late unblock rule for deadline-driven tasks. The remaining time to
   * deadline must be sufficient to serve the remaining computation time
   * without increased utilization of this task. It might cause a deadline
   * miss of another task.                                            
   */                                                                 
  if (serv_info) {                                                    
   49c8e:	4a88           	tstl %a0                                    
   49c90:	6700 0094      	beqw 49d26 <_Scheduler_CBS_Unblock+0xb6>    
    time_t deadline = serv_info->parameters.deadline;                 
    time_t budget = serv_info->parameters.budget;                     
    time_t deadline_left = the_thread->cpu_time_budget;               
    time_t budget_left = the_thread->real_priority -                  
   49c94:	222a 0018      	movel %a2@(24),%d1                          
   49c98:	2401           	movel %d1,%d2                               
                           _Watchdog_Ticks_since_boot;                
                                                                      
    if ( deadline*budget_left > budget*deadline_left ) {              
   49c9a:	43e8 0004      	lea %a0@(4),%a1                             
   */                                                                 
  if (serv_info) {                                                    
    time_t deadline = serv_info->parameters.deadline;                 
    time_t budget = serv_info->parameters.budget;                     
    time_t deadline_left = the_thread->cpu_time_budget;               
    time_t budget_left = the_thread->real_priority -                  
   49c9e:	2039 0006 13a2 	movel 613a2 <_Watchdog_Ticks_since_boot>,%d0
   49ca4:	9480           	subl %d0,%d2                                
   49ca6:	2002           	movel %d2,%d0                               
                           _Watchdog_Ticks_since_boot;                
                                                                      
    if ( deadline*budget_left > budget*deadline_left ) {              
   49ca8:	4c11 0800      	mulsl %a1@,%d0                              
   49cac:	43ea 0072      	lea %a2@(114),%a1                           
   49cb0:	2428 0008      	movel %a0@(8),%d2                           
   49cb4:	4c11 2800      	mulsl %a1@,%d2                              
   49cb8:	b480           	cmpl %d0,%d2                                
   49cba:	6c6a           	bges 49d26 <_Scheduler_CBS_Unblock+0xb6>    
      /* Put late unblocked task to background until the end of period. */
      new_priority = the_thread->Start.initial_priority;              
   49cbc:	206a 00a8      	moveal %a2@(168),%a0                        
      if ( the_thread->real_priority != new_priority )                
   49cc0:	b1c1           	cmpal %d1,%a0                               
   49cc2:	6704           	beqs 49cc8 <_Scheduler_CBS_Unblock+0x58>    
        the_thread->real_priority = new_priority;                     
   49cc4:	2548 0018      	movel %a0,%a2@(24)                          
      if ( the_thread->current_priority != new_priority )             
   49cc8:	202a 0014      	movel %a2@(20),%d0                          
   49ccc:	b1c0           	cmpal %d0,%a0                               
   49cce:	6716           	beqs 49ce6 <_Scheduler_CBS_Unblock+0x76>    
        _Thread_Change_priority(the_thread, new_priority, true);      
   49cd0:	4878 0001      	pea 1 <ADD>                                 
   49cd4:	2f08           	movel %a0,%sp@-                             
   49cd6:	2f0a           	movel %a2,%sp@-                             
   49cd8:	4eb9 0004 a0c0 	jsr 4a0c0 <_Thread_Change_priority>         
   49cde:	202a 0014      	movel %a2@(20),%d0                          
   49ce2:	4fef 000c      	lea %sp@(12),%sp                            
   *    a context switch.                                             
   *  Pseudo-ISR case:                                                
   *    Even if the thread isn't preemptible, if the new heir is      
   *    a pseudo-ISR system task, we need to do a context switch.     
   */                                                                 
  if ( _Scheduler_Is_priority_higher_than( the_thread->current_priority,
   49ce6:	2079 0006 143a 	moveal 6143a <_Per_CPU_Information+0x12>,%a0
   49cec:	2f28 0014      	movel %a0@(20),%sp@-                        
   49cf0:	2079 0005 faa0 	moveal 5faa0 <_Scheduler+0x30>,%a0          
   49cf6:	2f00           	movel %d0,%sp@-                             
   49cf8:	4e90           	jsr %a0@                                    
   49cfa:	508f           	addql #8,%sp                                
   49cfc:	4a80           	tstl %d0                                    
   49cfe:	6f1a           	bles 49d1a <_Scheduler_CBS_Unblock+0xaa>    
       _Thread_Heir->current_priority)) {                             
    _Thread_Heir = the_thread;                                        
    if ( _Thread_Executing->is_preemptible ||                         
   49d00:	2079 0006 1436 	moveal 61436 <_Per_CPU_Information+0xe>,%a0 
   *    Even if the thread isn't preemptible, if the new heir is      
   *    a pseudo-ISR system task, we need to do a context switch.     
   */                                                                 
  if ( _Scheduler_Is_priority_higher_than( the_thread->current_priority,
       _Thread_Heir->current_priority)) {                             
    _Thread_Heir = the_thread;                                        
   49d06:	23ca 0006 143a 	movel %a2,6143a <_Per_CPU_Information+0x12> 
    if ( _Thread_Executing->is_preemptible ||                         
   49d0c:	4a28 0070      	tstb %a0@(112)                              
   49d10:	671a           	beqs 49d2c <_Scheduler_CBS_Unblock+0xbc>    
         the_thread->current_priority == 0 )                          
      _Thread_Dispatch_necessary = true;                              
   49d12:	7001           	moveq #1,%d0                                
   49d14:	13c0 0006 1434 	moveb %d0,61434 <_Per_CPU_Information+0xc>  
  }                                                                   
}                                                                     
   49d1a:	242e fff8      	movel %fp@(-8),%d2                          
   49d1e:	246e fffc      	moveal %fp@(-4),%a2                         
   49d22:	4e5e           	unlk %fp                                    
   49d24:	4e75           	rts                                         
   49d26:	202a 0014      	movel %a2@(20),%d0                          
   49d2a:	60ba           	bras 49ce6 <_Scheduler_CBS_Unblock+0x76>    
   *    a pseudo-ISR system task, we need to do a context switch.     
   */                                                                 
  if ( _Scheduler_Is_priority_higher_than( the_thread->current_priority,
       _Thread_Heir->current_priority)) {                             
    _Thread_Heir = the_thread;                                        
    if ( _Thread_Executing->is_preemptible ||                         
   49d2c:	4aaa 0014      	tstl %a2@(20)                               
   49d30:	66e8           	bnes 49d1a <_Scheduler_CBS_Unblock+0xaa>    <== ALWAYS TAKEN
         the_thread->current_priority == 0 )                          
      _Thread_Dispatch_necessary = true;                              
   49d32:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   49d34:	13c0 0006 1434 	moveb %d0,61434 <_Per_CPU_Information+0xc>  <== NOT EXECUTED
   49d3a:	60de           	bras 49d1a <_Scheduler_CBS_Unblock+0xaa>    <== NOT EXECUTED
                                                                      

00049bc0 <_Scheduler_EDF_Allocate>: #include <rtems/score/wkspace.h> void *_Scheduler_EDF_Allocate( Thread_Control *the_thread ) {
   49bc0:	4e56 0000      	linkw %fp,#0                                
   49bc4:	2f0a           	movel %a2,%sp@-                             
  void *sched;                                                        
  Scheduler_EDF_Per_thread *schinfo;                                  
                                                                      
  sched = _Workspace_Allocate( sizeof(Scheduler_EDF_Per_thread) );    
   49bc6:	4878 0018      	pea 18 <OPER2+0x4>                          
#include <rtems/score/wkspace.h>                                      
                                                                      
void *_Scheduler_EDF_Allocate(                                        
  Thread_Control      *the_thread                                     
)                                                                     
{                                                                     
   49bca:	246e 0008      	moveal %fp@(8),%a2                          
  void *sched;                                                        
  Scheduler_EDF_Per_thread *schinfo;                                  
                                                                      
  sched = _Workspace_Allocate( sizeof(Scheduler_EDF_Per_thread) );    
   49bce:	4eb9 0004 b55c 	jsr 4b55c <_Workspace_Allocate>             
                                                                      
  if ( sched ) {                                                      
   49bd4:	588f           	addql #4,%sp                                
   49bd6:	4a80           	tstl %d0                                    
   49bd8:	670e           	beqs 49be8 <_Scheduler_EDF_Allocate+0x28>   <== NEVER TAKEN
    the_thread->scheduler_info = sched;                               
   49bda:	2540 0086      	movel %d0,%a2@(134)                         
    schinfo = (Scheduler_EDF_Per_thread *)(the_thread->scheduler_info);
    schinfo->thread = the_thread;                                     
   49bde:	2040           	moveal %d0,%a0                              
    schinfo->queue_state = SCHEDULER_EDF_QUEUE_STATE_NEVER_HAS_BEEN;  
   49be0:	7202           	moveq #2,%d1                                
  sched = _Workspace_Allocate( sizeof(Scheduler_EDF_Per_thread) );    
                                                                      
  if ( sched ) {                                                      
    the_thread->scheduler_info = sched;                               
    schinfo = (Scheduler_EDF_Per_thread *)(the_thread->scheduler_info);
    schinfo->thread = the_thread;                                     
   49be2:	208a           	movel %a2,%a0@                              
    schinfo->queue_state = SCHEDULER_EDF_QUEUE_STATE_NEVER_HAS_BEEN;  
   49be4:	2141 0014      	movel %d1,%a0@(20)                          
  }                                                                   
                                                                      
  return sched;                                                       
}                                                                     
   49be8:	246e fffc      	moveal %fp@(-4),%a2                         
   49bec:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00049d3c <_Scheduler_EDF_Block>: #include <rtems/score/thread.h> void _Scheduler_EDF_Block( Thread_Control *the_thread ) {
   49d3c:	4e56 0000      	linkw %fp,#0                                
   49d40:	2f02           	movel %d2,%sp@-                             
   49d42:	242e 0008      	movel %fp@(8),%d2                           
  _Scheduler_EDF_Extract( the_thread );                               
   49d46:	2f02           	movel %d2,%sp@-                             
   49d48:	4eb9 0004 9dc4 	jsr 49dc4 <_Scheduler_EDF_Extract>          
                                                                      
  /* TODO: flash critical section? */                                 
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
   49d4e:	588f           	addql #4,%sp                                
   49d50:	b4b9 0006 143a 	cmpl 6143a <_Per_CPU_Information+0x12>,%d2  
   49d56:	6720           	beqs 49d78 <_Scheduler_EDF_Block+0x3c>      
    _Scheduler_EDF_Schedule();                                        
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
   49d58:	b4b9 0006 1436 	cmpl 61436 <_Per_CPU_Information+0xe>,%d2   
   49d5e:	6708           	beqs 49d68 <_Scheduler_EDF_Block+0x2c>      <== NEVER TAKEN
    _Thread_Dispatch_necessary = true;                                
}                                                                     
   49d60:	242e fffc      	movel %fp@(-4),%d2                          
   49d64:	4e5e           	unlk %fp                                    
   49d66:	4e75           	rts                                         
   49d68:	242e fffc      	movel %fp@(-4),%d2                          
   49d6c:	4e5e           	unlk %fp                                    
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
    _Scheduler_EDF_Schedule();                                        
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
    _Thread_Dispatch_necessary = true;                                
   49d6e:	7001           	moveq #1,%d0                                
   49d70:	13c0 0006 1434 	moveb %d0,61434 <_Per_CPU_Information+0xc>  
}                                                                     
   49d76:	4e75           	rts                                         
  _Scheduler_EDF_Extract( the_thread );                               
                                                                      
  /* TODO: flash critical section? */                                 
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
    _Scheduler_EDF_Schedule();                                        
   49d78:	4eb9 0004 9ea4 	jsr 49ea4 <_Scheduler_EDF_Schedule>         
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
   49d7e:	b4b9 0006 1436 	cmpl 61436 <_Per_CPU_Information+0xe>,%d2   
   49d84:	66da           	bnes 49d60 <_Scheduler_EDF_Block+0x24>      <== NEVER TAKEN
   49d86:	60e0           	bras 49d68 <_Scheduler_EDF_Block+0x2c>      
                                                                      

00049df0 <_Scheduler_EDF_Free>: #include <rtems/score/wkspace.h> void _Scheduler_EDF_Free( Thread_Control *the_thread ) {
   49df0:	4e56 0000      	linkw %fp,#0                                
   49df4:	206e 0008      	moveal %fp@(8),%a0                          
  _Workspace_Free( the_thread->scheduler_info );                      
   49df8:	2d68 0086 0008 	movel %a0@(134),%fp@(8)                     
}                                                                     
   49dfe:	4e5e           	unlk %fp                                    
                                                                      
void _Scheduler_EDF_Free(                                             
  Thread_Control      *the_thread                                     
)                                                                     
{                                                                     
  _Workspace_Free( the_thread->scheduler_info );                      
   49e00:	4ef9 0004 b604 	jmp 4b604 <_Workspace_Free>                 
	...                                                                  
                                                                      

00049dc4 <_Scheduler_EDF_Unblock>: #include <rtems/score/scheduleredf.h> void _Scheduler_EDF_Unblock( Thread_Control *the_thread ) {
   49dc4:	4e56 0000      	linkw %fp,#0                                
   49dc8:	2f0a           	movel %a2,%sp@-                             
   49dca:	246e 0008      	moveal %fp@(8),%a2                          
  _Scheduler_EDF_Enqueue(the_thread);                                 
   49dce:	2f0a           	movel %a2,%sp@-                             
   49dd0:	4eb9 0004 9c48 	jsr 49c48 <_Scheduler_EDF_Enqueue>          
   49dd6:	2f2a 0014      	movel %a2@(20),%sp@-                        
   *    a context switch.                                             
   *  Pseudo-ISR case:                                                
   *    Even if the thread isn't preemptible, if the new heir is      
   *    a pseudo-ISR system task, we need to do a context switch.     
   */                                                                 
  if ( _Scheduler_Is_priority_lower_than(                             
   49dda:	2079 0006 13ba 	moveal 613ba <_Per_CPU_Information+0x12>,%a0
   49de0:	2f28 0014      	movel %a0@(20),%sp@-                        
   49de4:	2079 0005 fa20 	moveal 5fa20 <_Scheduler+0x30>,%a0          
   49dea:	4e90           	jsr %a0@                                    
   49dec:	4fef 000c      	lea %sp@(12),%sp                            
   49df0:	4a80           	tstl %d0                                    
   49df2:	6d08           	blts 49dfc <_Scheduler_EDF_Unblock+0x38>    
    _Thread_Heir = the_thread;                                        
    if ( _Thread_Executing->is_preemptible ||                         
         the_thread->current_priority == 0 )                          
      _Thread_Dispatch_necessary = true;                              
  }                                                                   
}                                                                     
   49df4:	246e fffc      	moveal %fp@(-4),%a2                         
   49df8:	4e5e           	unlk %fp                                    
   49dfa:	4e75           	rts                                         
   */                                                                 
  if ( _Scheduler_Is_priority_lower_than(                             
         _Thread_Heir->current_priority,                              
         the_thread->current_priority )) {                            
    _Thread_Heir = the_thread;                                        
    if ( _Thread_Executing->is_preemptible ||                         
   49dfc:	2079 0006 13b6 	moveal 613b6 <_Per_CPU_Information+0xe>,%a0 
   *    a pseudo-ISR system task, we need to do a context switch.     
   */                                                                 
  if ( _Scheduler_Is_priority_lower_than(                             
         _Thread_Heir->current_priority,                              
         the_thread->current_priority )) {                            
    _Thread_Heir = the_thread;                                        
   49e02:	23ca 0006 13ba 	movel %a2,613ba <_Per_CPU_Information+0x12> 
    if ( _Thread_Executing->is_preemptible ||                         
   49e08:	4a28 0070      	tstb %a0@(112)                              
   49e0c:	6710           	beqs 49e1e <_Scheduler_EDF_Unblock+0x5a>    
         the_thread->current_priority == 0 )                          
      _Thread_Dispatch_necessary = true;                              
   49e0e:	7001           	moveq #1,%d0                                
   49e10:	13c0 0006 13b4 	moveb %d0,613b4 <_Per_CPU_Information+0xc>  
  }                                                                   
}                                                                     
   49e16:	246e fffc      	moveal %fp@(-4),%a2                         
   49e1a:	4e5e           	unlk %fp                                    
   49e1c:	4e75           	rts                                         
   */                                                                 
  if ( _Scheduler_Is_priority_lower_than(                             
         _Thread_Heir->current_priority,                              
         the_thread->current_priority )) {                            
    _Thread_Heir = the_thread;                                        
    if ( _Thread_Executing->is_preemptible ||                         
   49e1e:	4aaa 0014      	tstl %a2@(20)                               
   49e22:	66d0           	bnes 49df4 <_Scheduler_EDF_Unblock+0x30>    <== ALWAYS TAKEN
         the_thread->current_priority == 0 )                          
      _Thread_Dispatch_necessary = true;                              
   49e24:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   49e26:	13c0 0006 13b4 	moveb %d0,613b4 <_Per_CPU_Information+0xc>  <== NOT EXECUTED
   49e2c:	60e8           	bras 49e16 <_Scheduler_EDF_Unblock+0x52>    <== NOT EXECUTED
	...                                                                  
                                                                      

00049204 <_Scheduler_Handler_initialization>: #include <rtems/system.h> #include <rtems/config.h> #include <rtems/score/scheduler.h> void _Scheduler_Handler_initialization(void) {
   49204:	4e56 0000      	linkw %fp,#0                                
  (*_Scheduler.Operations.initialize)();                              
}                                                                     
   49208:	4e5e           	unlk %fp                                    
#include <rtems/config.h>                                             
#include <rtems/score/scheduler.h>                                    
                                                                      
void _Scheduler_Handler_initialization(void)                          
{                                                                     
  (*_Scheduler.Operations.initialize)();                              
   4920a:	2279 0005 e224 	moveal 5e224 <_Scheduler+0x4>,%a1           
   49210:	4ed1           	jmp %a1@                                    
	...                                                                  
                                                                      

00049230 <_Scheduler_priority_Block>: #include <rtems/score/thread.h> void _Scheduler_priority_Block( Thread_Control *the_thread ) {
   49230:	4e56 0000      	linkw %fp,#0                                
   49234:	206e 0008      	moveal %fp@(8),%a0                          
   49238:	2f0b           	movel %a3,%sp@-                             
   4923a:	2f0a           	movel %a2,%sp@-                             
)                                                                     
{                                                                     
  Scheduler_priority_Per_thread *sched_info;                          
  Chain_Control                 *ready;                               
                                                                      
  sched_info = (Scheduler_priority_Per_thread *) the_thread->scheduler_info;
   4923c:	2468 0086      	moveal %a0@(134),%a2                        
  ready      = sched_info->ready_chain;                               
   49240:	2252           	moveal %a2@,%a1                             
                                                                      
  if ( _Chain_Has_only_one_node( ready ) ) {                          
   49242:	2029 0008      	movel %a1@(8),%d0                           
   49246:	b091           	cmpl %a1@,%d0                               
   49248:	6700 0088      	beqw 492d2 <_Scheduler_priority_Block+0xa2> 
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   4924c:	2450           	moveal %a0@,%a2                             
  previous       = the_node->previous;                                
   4924e:	2268 0004      	moveal %a0@(4),%a1                          
  next->previous = previous;                                          
   49252:	2549 0004      	movel %a1,%a2@(4)                           
  previous->next = next;                                              
   49256:	228a           	movel %a2,%a1@                              
  _Scheduler_priority_Ready_queue_extract( the_thread );              
                                                                      
  /* TODO: flash critical section? */                                 
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
   49258:	b1f9 0005 fb82 	cmpal 5fb82 <_Per_CPU_Information+0x12>,%a0 
   4925e:	6720           	beqs 49280 <_Scheduler_priority_Block+0x50> 
     _Scheduler_priority_Schedule_body();                             
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
   49260:	b1f9 0005 fb7e 	cmpal 5fb7e <_Per_CPU_Information+0xe>,%a0  
   49266:	6708           	beqs 49270 <_Scheduler_priority_Block+0x40> 
    _Thread_Dispatch_necessary = true;                                
                                                                      
}                                                                     
   49268:	245f           	moveal %sp@+,%a2                            
   4926a:	265f           	moveal %sp@+,%a3                            
   4926c:	4e5e           	unlk %fp                                    
   4926e:	4e75           	rts                                         
   49270:	245f           	moveal %sp@+,%a2                            
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
     _Scheduler_priority_Schedule_body();                             
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
    _Thread_Dispatch_necessary = true;                                
   49272:	7001           	moveq #1,%d0                                
                                                                      
}                                                                     
   49274:	265f           	moveal %sp@+,%a3                            
   49276:	4e5e           	unlk %fp                                    
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
     _Scheduler_priority_Schedule_body();                             
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
    _Thread_Dispatch_necessary = true;                                
   49278:	13c0 0005 fb7c 	moveb %d0,5fb7c <_Per_CPU_Information+0xc>  
                                                                      
}                                                                     
   4927e:	4e75           	rts                                         
RTEMS_INLINE_ROUTINE Priority_Control _Priority_bit_map_Get_highest( void )
{                                                                     
  Priority_bit_map_Control minor;                                     
  Priority_bit_map_Control major;                                     
                                                                      
  _Bitfield_Find_first_bit( _Priority_Major_bit_map, major );         
   49280:	3039 0005 fb94 	movew 5fb94 <_Priority_Major_bit_map>,%d0   
   49286:	4840           	swap %d0                                    
   49288:	04c0           	ff1 %d0                                     
  _Bitfield_Find_first_bit( _Priority_Bit_map[major], minor );        
   4928a:	43f9 0005 fb98 	lea 5fb98 <_Priority_Bit_map>,%a1           
   49290:	0280 0000 ffff 	andil #65535,%d0                            
   49296:	3231 0a00      	movew %a1@(00000000,%d0:l:2),%d1            
   4929a:	4841           	swap %d1                                    
   4929c:	04c1           	ff1 %d1                                     
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4929e:	2279 0005 e220 	moveal 5e220 <_Scheduler>,%a1               
                                                                      
  return (_Priority_Bits_index( major ) << 4) +                       
   492a4:	0281 0000 ffff 	andil #65535,%d1                            
   492aa:	e988           	lsll #4,%d0                                 
   492ac:	d081           	addl %d1,%d0                                
  Chain_Control       *the_ready_queue                                
)                                                                     
{                                                                     
  Priority_Control index = _Priority_bit_map_Get_highest();           
                                                                      
  if ( !_Chain_Is_empty( &the_ready_queue[ index ] ) )                
   492ae:	2200           	movel %d0,%d1                               
   492b0:	e988           	lsll #4,%d0                                 
   492b2:	e589           	lsll #2,%d1                                 
   492b4:	9081           	subl %d1,%d0                                
   492b6:	d3c0           	addal %d0,%a1                               
   492b8:	2019           	movel %a1@+,%d0                             
    return (Thread_Control *) _Chain_First( &the_ready_queue[ index ] );
                                                                      
  return NULL;                                                        
   492ba:	b3c0           	cmpal %d0,%a1                               
   492bc:	56c1           	sne %d1                                     
   492be:	49c1           	extbl %d1                                   
 *                                                                    
 *  @param[in] the_thread  - pointer to thread                        
 */                                                                   
RTEMS_INLINE_ROUTINE void _Scheduler_priority_Schedule_body(void)     
{                                                                     
  _Thread_Heir = _Scheduler_priority_Ready_queue_first(               
   492c0:	c081           	andl %d1,%d0                                
   492c2:	23c0 0005 fb82 	movel %d0,5fb82 <_Per_CPU_Information+0x12> 
  /* TODO: flash critical section? */                                 
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
     _Scheduler_priority_Schedule_body();                             
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
   492c8:	b1f9 0005 fb7e 	cmpal 5fb7e <_Per_CPU_Information+0xe>,%a0  
   492ce:	6698           	bnes 49268 <_Scheduler_priority_Block+0x38> 
   492d0:	609e           	bras 49270 <_Scheduler_priority_Block+0x40> 
                                                                      
RTEMS_INLINE_ROUTINE void _Priority_bit_map_Remove (                  
  Priority_bit_map_Information *the_priority_map                      
)                                                                     
{                                                                     
  *the_priority_map->minor &= the_priority_map->block_minor;          
   492d2:	266a 0004      	moveal %a2@(4),%a3                          
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   492d6:	2209           	movel %a1,%d1                               
   492d8:	5881           	addql #4,%d1                                
   492da:	2281           	movel %d1,%a1@                              
   492dc:	3013           	movew %a3@,%d0                              
   492de:	322a 000e      	movew %a2@(14),%d1                          
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   492e2:	42a9 0004      	clrl %a1@(4)                                
   492e6:	c081           	andl %d1,%d0                                
  tail->previous = head;                                              
   492e8:	2349 0008      	movel %a1,%a1@(8)                           
   492ec:	3680           	movew %d0,%a3@                              
  if ( *the_priority_map->minor == 0 )                                
   492ee:	6600 ff68      	bnew 49258 <_Scheduler_priority_Block+0x28> 
    _Priority_Major_bit_map &= the_priority_map->block_major;         
   492f2:	3239 0005 fb94 	movew 5fb94 <_Priority_Major_bit_map>,%d1   
   492f8:	302a 000c      	movew %a2@(12),%d0                          
   492fc:	c081           	andl %d1,%d0                                
   492fe:	33c0 0005 fb94 	movew %d0,5fb94 <_Priority_Major_bit_map>   
{                                                                     
  _Scheduler_priority_Ready_queue_extract( the_thread );              
                                                                      
  /* TODO: flash critical section? */                                 
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
   49304:	b1f9 0005 fb82 	cmpal 5fb82 <_Per_CPU_Information+0x12>,%a0 
   4930a:	6600 ff54      	bnew 49260 <_Scheduler_priority_Block+0x30> 
   4930e:	6000 ff70      	braw 49280 <_Scheduler_priority_Block+0x50> 
	...                                                                  
                                                                      

00049408 <_Scheduler_priority_Free>: #include <rtems/score/wkspace.h> void _Scheduler_priority_Free ( Thread_Control *the_thread ) {
   49408:	4e56 0000      	linkw %fp,#0                                
   4940c:	206e 0008      	moveal %fp@(8),%a0                          
  _Workspace_Free( the_thread->scheduler_info );                      
   49410:	2d68 0086 0008 	movel %a0@(134),%fp@(8)                     
}                                                                     
   49416:	4e5e           	unlk %fp                                    
                                                                      
void _Scheduler_priority_Free (                                       
  Thread_Control    *the_thread                                       
)                                                                     
{                                                                     
  _Workspace_Free( the_thread->scheduler_info );                      
   49418:	4ef9 0004 ac10 	jmp 4ac10 <_Workspace_Free>                 
	...                                                                  
                                                                      

00049c1c <_Scheduler_simple_Block>: #include <rtems/score/schedulersimple.h> void _Scheduler_simple_Block( Thread_Control *the_thread ) {
   49c1c:	4e56 0000      	linkw %fp,#0                                
   49c20:	2f02           	movel %d2,%sp@-                             
   49c22:	242e 0008      	movel %fp@(8),%d2                           
  _Scheduler_simple_Extract(the_thread);                              
   49c26:	2f02           	movel %d2,%sp@-                             
   49c28:	4eb9 0004 9c80 	jsr 49c80 <_Scheduler_simple_Extract>       
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
   49c2e:	588f           	addql #4,%sp                                
   49c30:	b4b9 0006 0aca 	cmpl 60aca <_Per_CPU_Information+0x12>,%d2  
   49c36:	6720           	beqs 49c58 <_Scheduler_simple_Block+0x3c>   
    _Scheduler_simple_Schedule();                                     
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
   49c38:	b4b9 0006 0ac6 	cmpl 60ac6 <_Per_CPU_Information+0xe>,%d2   
   49c3e:	6708           	beqs 49c48 <_Scheduler_simple_Block+0x2c>   <== NEVER TAKEN
    _Thread_Dispatch_necessary = true;                                
}                                                                     
   49c40:	242e fffc      	movel %fp@(-4),%d2                          
   49c44:	4e5e           	unlk %fp                                    
   49c46:	4e75           	rts                                         
   49c48:	242e fffc      	movel %fp@(-4),%d2                          
   49c4c:	4e5e           	unlk %fp                                    
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
    _Scheduler_simple_Schedule();                                     
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
    _Thread_Dispatch_necessary = true;                                
   49c4e:	7001           	moveq #1,%d0                                
   49c50:	13c0 0006 0ac4 	moveb %d0,60ac4 <_Per_CPU_Information+0xc>  
}                                                                     
   49c56:	4e75           	rts                                         
)                                                                     
{                                                                     
  _Scheduler_simple_Extract(the_thread);                              
                                                                      
  if ( _Thread_Is_heir( the_thread ) )                                
    _Scheduler_simple_Schedule();                                     
   49c58:	4eb9 0004 9d7c 	jsr 49d7c <_Scheduler_simple_Schedule>      
                                                                      
  if ( _Thread_Is_executing( the_thread ) )                           
   49c5e:	b4b9 0006 0ac6 	cmpl 60ac6 <_Per_CPU_Information+0xe>,%d2   
   49c64:	66da           	bnes 49c40 <_Scheduler_simple_Block+0x24>   <== NEVER TAKEN
   49c66:	60e0           	bras 49c48 <_Scheduler_simple_Block+0x2c>   
                                                                      

00049bfc <_TOD_Set_with_timestamp>: #include <rtems/score/watchdog.h> void _TOD_Set_with_timestamp( const Timestamp_Control *tod ) {
   49bfc:	4e56 ffec      	linkw %fp,#-20                              
   49c00:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
   49c04:	246e 0008      	moveal %fp@(8),%a2                          
                                                                      
static inline uint32_t _Timestamp64_implementation_Get_seconds(       
  const Timestamp64_Control *_time                                    
)                                                                     
{                                                                     
  return (uint32_t) (*_time / 1000000000L);                           
   49c08:	47f9 0005 c83c 	lea 5c83c <__divdi3>,%a3                    
  _TOD.seconds_trigger = nanoseconds;                                 
  _TOD.is_set = true;                                                 
                                                                      
  _TOD_Activate();                                                    
  _Thread_Enable_dispatch();                                          
}                                                                     
   49c0e:	2412           	movel %a2@,%d2                              
   49c10:	262a 0004      	movel %a2@(4),%d3                           
                                                                      
static inline uint32_t _Timestamp64_implementation_Get_nanoseconds(   
  const Timestamp64_Control *_time                                    
)                                                                     
{                                                                     
  return (uint32_t) (*_time % 1000000000L);                           
   49c14:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     
   49c1a:	42a7           	clrl %sp@-                                  
   49c1c:	2f03           	movel %d3,%sp@-                             
   49c1e:	2f02           	movel %d2,%sp@-                             
   49c20:	4eb9 0005 cc9c 	jsr 5cc9c <__moddi3>                        
   49c26:	4fef 0010      	lea %sp@(16),%sp                            
   49c2a:	2801           	movel %d1,%d4                               
                                                                      
static inline uint32_t _Timestamp64_implementation_Get_seconds(       
  const Timestamp64_Control *_time                                    
)                                                                     
{                                                                     
  return (uint32_t) (*_time / 1000000000L);                           
   49c2c:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     
   49c32:	42a7           	clrl %sp@-                                  
   49c34:	2f03           	movel %d3,%sp@-                             
   49c36:	2f02           	movel %d2,%sp@-                             
   49c38:	4e93           	jsr %a3@                                    
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   49c3a:	2039 0006 24a6 	movel 624a6 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   49c40:	5280           	addql #1,%d0                                
   49c42:	4fef 0010      	lea %sp@(16),%sp                            
   49c46:	2401           	movel %d1,%d2                               
    _Thread_Dispatch_disable_level = level;                           
   49c48:	23c0 0006 24a6 	movel %d0,624a6 <_Thread_Dispatch_disable_level>
   49c4e:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     
   49c54:	42a7           	clrl %sp@-                                  
   49c56:	2f39 0006 244c 	movel 6244c <_TOD+0x4>,%sp@-                
   49c5c:	2f39 0006 2448 	movel 62448 <_TOD>,%sp@-                    
   49c62:	4e93           	jsr %a3@                                    
   49c64:	4fef 0010      	lea %sp@(16),%sp                            
  _Thread_Disable_dispatch();                                         
  _TOD_Deactivate();                                                  
                                                                      
  seconds_now = _TOD_Seconds_since_epoch();                           
                                                                      
  if ( seconds_next < seconds_now )                                   
   49c68:	b282           	cmpl %d2,%d1                                
   49c6a:	6244           	bhis 49cb0 <_TOD_Set_with_timestamp+0xb4>   
  Watchdog_Adjust_directions direction,                               
  Watchdog_Interval          units                                    
)                                                                     
{                                                                     
                                                                      
  _Watchdog_Adjust( &_Watchdog_Seconds_chain, direction, units );     
   49c6c:	9481           	subl %d1,%d2                                
   49c6e:	2f02           	movel %d2,%sp@-                             
   49c70:	42a7           	clrl %sp@-                                  
   49c72:	4879 0006 2536 	pea 62536 <_Watchdog_Seconds_chain>         
   49c78:	4eb9 0004 c28c 	jsr 4c28c <_Watchdog_Adjust>                
   49c7e:	4fef 000c      	lea %sp@(12),%sp                            
    _Watchdog_Adjust_seconds( WATCHDOG_BACKWARD, seconds_now - seconds_next );
  else                                                                
    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
                                                                      
  _TOD.now = *tod;                                                    
   49c82:	2012           	movel %a2@,%d0                              
   49c84:	222a 0004      	movel %a2@(4),%d1                           
  _TOD.seconds_trigger = nanoseconds;                                 
   49c88:	23c4 0006 2458 	movel %d4,62458 <_TOD+0x10>                 
  if ( seconds_next < seconds_now )                                   
    _Watchdog_Adjust_seconds( WATCHDOG_BACKWARD, seconds_now - seconds_next );
  else                                                                
    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
                                                                      
  _TOD.now = *tod;                                                    
   49c8e:	23c0 0006 2448 	movel %d0,62448 <_TOD>                      
   49c94:	23c1 0006 244c 	movel %d1,6244c <_TOD+0x4>                  
  _TOD.seconds_trigger = nanoseconds;                                 
  _TOD.is_set = true;                                                 
                                                                      
  _TOD_Activate();                                                    
  _Thread_Enable_dispatch();                                          
}                                                                     
   49c9a:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
  else                                                                
    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
                                                                      
  _TOD.now = *tod;                                                    
  _TOD.seconds_trigger = nanoseconds;                                 
  _TOD.is_set = true;                                                 
   49ca0:	7201           	moveq #1,%d1                                
                                                                      
  _TOD_Activate();                                                    
  _Thread_Enable_dispatch();                                          
}                                                                     
   49ca2:	4e5e           	unlk %fp                                    
  else                                                                
    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
                                                                      
  _TOD.now = *tod;                                                    
  _TOD.seconds_trigger = nanoseconds;                                 
  _TOD.is_set = true;                                                 
   49ca4:	13c1 0006 245c 	moveb %d1,6245c <_TOD+0x14>                 
                                                                      
  _TOD_Activate();                                                    
  _Thread_Enable_dispatch();                                          
   49caa:	4ef9 0004 b54c 	jmp 4b54c <_Thread_Enable_dispatch>         
   49cb0:	9282           	subl %d2,%d1                                
   49cb2:	2f01           	movel %d1,%sp@-                             
   49cb4:	4878 0001      	pea 1 <ADD>                                 
   49cb8:	4879 0006 2536 	pea 62536 <_Watchdog_Seconds_chain>         
   49cbe:	4eb9 0004 c28c 	jsr 4c28c <_Watchdog_Adjust>                
   49cc4:	4fef 000c      	lea %sp@(12),%sp                            
  if ( seconds_next < seconds_now )                                   
    _Watchdog_Adjust_seconds( WATCHDOG_BACKWARD, seconds_now - seconds_next );
  else                                                                
    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
                                                                      
  _TOD.now = *tod;                                                    
   49cc8:	2012           	movel %a2@,%d0                              
   49cca:	222a 0004      	movel %a2@(4),%d1                           
  _TOD.seconds_trigger = nanoseconds;                                 
   49cce:	23c4 0006 2458 	movel %d4,62458 <_TOD+0x10>                 
  if ( seconds_next < seconds_now )                                   
    _Watchdog_Adjust_seconds( WATCHDOG_BACKWARD, seconds_now - seconds_next );
  else                                                                
    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
                                                                      
  _TOD.now = *tod;                                                    
   49cd4:	23c0 0006 2448 	movel %d0,62448 <_TOD>                      
   49cda:	23c1 0006 244c 	movel %d1,6244c <_TOD+0x4>                  
  _TOD.seconds_trigger = nanoseconds;                                 
  _TOD.is_set = true;                                                 
                                                                      
  _TOD_Activate();                                                    
  _Thread_Enable_dispatch();                                          
}                                                                     
   49ce0:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
  else                                                                
    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
                                                                      
  _TOD.now = *tod;                                                    
  _TOD.seconds_trigger = nanoseconds;                                 
  _TOD.is_set = true;                                                 
   49ce6:	7201           	moveq #1,%d1                                
                                                                      
  _TOD_Activate();                                                    
  _Thread_Enable_dispatch();                                          
}                                                                     
   49ce8:	4e5e           	unlk %fp                                    
  else                                                                
    _Watchdog_Adjust_seconds( WATCHDOG_FORWARD, seconds_next - seconds_now );
                                                                      
  _TOD.now = *tod;                                                    
  _TOD.seconds_trigger = nanoseconds;                                 
  _TOD.is_set = true;                                                 
   49cea:	13c1 0006 245c 	moveb %d1,6245c <_TOD+0x14>                 
                                                                      
  _TOD_Activate();                                                    
  _Thread_Enable_dispatch();                                          
   49cf0:	4ef9 0004 b54c 	jmp 4b54c <_Thread_Enable_dispatch>         
	...                                                                  
                                                                      

00048218 <_TOD_Validate>: ) { uint32_t days_in_month; uint32_t ticks_per_second; ticks_per_second = TOD_MICROSECONDS_PER_SECOND /
   48218:	43f9 0005 e70e 	lea 5e70e <Configuration+0xc>,%a1           
};                                                                    
                                                                      
bool _TOD_Validate(                                                   
  const rtems_time_of_day *the_tod                                    
)                                                                     
{                                                                     
   4821e:	4e56 0000      	linkw %fp,#0                                
  uint32_t   days_in_month;                                           
  uint32_t   ticks_per_second;                                        
                                                                      
  ticks_per_second = TOD_MICROSECONDS_PER_SECOND /                    
   48222:	203c 000f 4240 	movel #1000000,%d0                          
};                                                                    
                                                                      
bool _TOD_Validate(                                                   
  const rtems_time_of_day *the_tod                                    
)                                                                     
{                                                                     
   48228:	206e 0008      	moveal %fp@(8),%a0                          
   4822c:	2f02           	movel %d2,%sp@-                             
  uint32_t   days_in_month;                                           
  uint32_t   ticks_per_second;                                        
                                                                      
  ticks_per_second = TOD_MICROSECONDS_PER_SECOND /                    
   4822e:	4c51 0000      	remul %a1@,%d0,%d0                          
	    rtems_configuration_get_microseconds_per_tick();                 
  if ((!the_tod)                                  ||                  
   48232:	4a88           	tstl %a0                                    
   48234:	6758           	beqs 4828e <_TOD_Validate+0x76>             <== NEVER TAKEN
   48236:	b0a8 0018      	cmpl %a0@(24),%d0                           
   4823a:	6352           	blss 4828e <_TOD_Validate+0x76>             
      (the_tod->ticks  >= ticks_per_second)       ||                  
   4823c:	703b           	moveq #59,%d0                               
   4823e:	b0a8 0014      	cmpl %a0@(20),%d0                           
   48242:	654a           	bcss 4828e <_TOD_Validate+0x76>             
      (the_tod->second >= TOD_SECONDS_PER_MINUTE) ||                  
   48244:	b0a8 0010      	cmpl %a0@(16),%d0                           
   48248:	6544           	bcss 4828e <_TOD_Validate+0x76>             
      (the_tod->minute >= TOD_MINUTES_PER_HOUR)   ||                  
   4824a:	7217           	moveq #23,%d1                               
   4824c:	b2a8 000c      	cmpl %a0@(12),%d1                           
   48250:	653c           	bcss 4828e <_TOD_Validate+0x76>             
      (the_tod->hour   >= TOD_HOURS_PER_DAY)      ||                  
      (the_tod->month  == 0)                      ||                  
   48252:	2028 0004      	movel %a0@(4),%d0                           
	    rtems_configuration_get_microseconds_per_tick();                 
  if ((!the_tod)                                  ||                  
      (the_tod->ticks  >= ticks_per_second)       ||                  
      (the_tod->second >= TOD_SECONDS_PER_MINUTE) ||                  
      (the_tod->minute >= TOD_MINUTES_PER_HOUR)   ||                  
      (the_tod->hour   >= TOD_HOURS_PER_DAY)      ||                  
   48256:	6736           	beqs 4828e <_TOD_Validate+0x76>             <== NEVER TAKEN
      (the_tod->month  == 0)                      ||                  
   48258:	740c           	moveq #12,%d2                               
   4825a:	b480           	cmpl %d0,%d2                                
   4825c:	6530           	bcss 4828e <_TOD_Validate+0x76>             
      (the_tod->month  >  TOD_MONTHS_PER_YEAR)    ||                  
      (the_tod->year   <  TOD_BASE_YEAR)          ||                  
   4825e:	2210           	movel %a0@,%d1                              
      (the_tod->ticks  >= ticks_per_second)       ||                  
      (the_tod->second >= TOD_SECONDS_PER_MINUTE) ||                  
      (the_tod->minute >= TOD_MINUTES_PER_HOUR)   ||                  
      (the_tod->hour   >= TOD_HOURS_PER_DAY)      ||                  
      (the_tod->month  == 0)                      ||                  
      (the_tod->month  >  TOD_MONTHS_PER_YEAR)    ||                  
   48260:	0c81 0000 07c3 	cmpil #1987,%d1                             
   48266:	6326           	blss 4828e <_TOD_Validate+0x76>             
      (the_tod->year   <  TOD_BASE_YEAR)          ||                  
      (the_tod->day    == 0) )                                        
   48268:	2068 0008      	moveal %a0@(8),%a0                          
      (the_tod->second >= TOD_SECONDS_PER_MINUTE) ||                  
      (the_tod->minute >= TOD_MINUTES_PER_HOUR)   ||                  
      (the_tod->hour   >= TOD_HOURS_PER_DAY)      ||                  
      (the_tod->month  == 0)                      ||                  
      (the_tod->month  >  TOD_MONTHS_PER_YEAR)    ||                  
      (the_tod->year   <  TOD_BASE_YEAR)          ||                  
   4826c:	4a88           	tstl %a0                                    
   4826e:	671e           	beqs 4828e <_TOD_Validate+0x76>             <== NEVER TAKEN
      (the_tod->day    == 0) )                                        
     return false;                                                    
                                                                      
  if ( (the_tod->year % 4) == 0 )                                     
   48270:	143c 0003      	moveb #3,%d2                                
    days_in_month = _TOD_Days_per_month[ 1 ][ the_tod->month ];       
   48274:	43f9 0005 fa98 	lea 5fa98 <_TOD_Days_per_month>,%a1         
      (the_tod->month  >  TOD_MONTHS_PER_YEAR)    ||                  
      (the_tod->year   <  TOD_BASE_YEAR)          ||                  
      (the_tod->day    == 0) )                                        
     return false;                                                    
                                                                      
  if ( (the_tod->year % 4) == 0 )                                     
   4827a:	c282           	andl %d2,%d1                                
   4827c:	6618           	bnes 48296 <_TOD_Validate+0x7e>             
    days_in_month = _TOD_Days_per_month[ 1 ][ the_tod->month ];       
   4827e:	2031 0c34      	movel %a1@(00000034,%d0:l:4),%d0            
  else                                                                
    days_in_month = _TOD_Days_per_month[ 0 ][ the_tod->month ];       
                                                                      
  if ( the_tod->day > days_in_month )                                 
   48282:	b1c0           	cmpal %d0,%a0                               
   48284:	53c0           	sls %d0                                     
   48286:	4480           	negl %d0                                    
    return false;                                                     
                                                                      
  return true;                                                        
}                                                                     
   48288:	241f           	movel %sp@+,%d2                             
   4828a:	4e5e           	unlk %fp                                    
   4828c:	4e75           	rts                                         
   4828e:	241f           	movel %sp@+,%d2                             
   48290:	4e5e           	unlk %fp                                    
      (the_tod->hour   >= TOD_HOURS_PER_DAY)      ||                  
      (the_tod->month  == 0)                      ||                  
      (the_tod->month  >  TOD_MONTHS_PER_YEAR)    ||                  
      (the_tod->year   <  TOD_BASE_YEAR)          ||                  
      (the_tod->day    == 0) )                                        
     return false;                                                    
   48292:	4200           	clrb %d0                                    
                                                                      
  if ( the_tod->day > days_in_month )                                 
    return false;                                                     
                                                                      
  return true;                                                        
}                                                                     
   48294:	4e75           	rts                                         
     return false;                                                    
                                                                      
  if ( (the_tod->year % 4) == 0 )                                     
    days_in_month = _TOD_Days_per_month[ 1 ][ the_tod->month ];       
  else                                                                
    days_in_month = _TOD_Days_per_month[ 0 ][ the_tod->month ];       
   48296:	2031 0c00      	movel %a1@(00000000,%d0:l:4),%d0            
                                                                      
  if ( the_tod->day > days_in_month )                                 
   4829a:	b1c0           	cmpal %d0,%a0                               
   4829c:	53c0           	sls %d0                                     
   4829e:	4480           	negl %d0                                    
   482a0:	60e6           	bras 48288 <_TOD_Validate+0x70>             
	...                                                                  
                                                                      

00049760 <_Thread_Change_priority>: void _Thread_Change_priority( Thread_Control *the_thread, Priority_Control new_priority, bool prepend_it ) {
   49760:	4e56 fff0      	linkw %fp,#-16                              
   49764:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
   49768:	246e 0008      	moveal %fp@(8),%a2                          
  States_Control state, original_state;                               
                                                                      
  /*                                                                  
   * Save original state                                              
   */                                                                 
  original_state = the_thread->current_state;                         
   4976c:	262a 0010      	movel %a2@(16),%d3                          
void _Thread_Change_priority(                                         
  Thread_Control   *the_thread,                                       
  Priority_Control  new_priority,                                     
  bool              prepend_it                                        
)                                                                     
{                                                                     
   49770:	242e 000c      	movel %fp@(12),%d2                          
  /*                                                                  
   * Set a transient state for the thread so it is pulled off the Ready chains.
   * This will prevent it from being scheduled no matter what happens in an
   * ISR.                                                             
   */                                                                 
  _Thread_Set_transient( the_thread );                                
   49774:	2f0a           	movel %a2,%sp@-                             
void _Thread_Change_priority(                                         
  Thread_Control   *the_thread,                                       
  Priority_Control  new_priority,                                     
  bool              prepend_it                                        
)                                                                     
{                                                                     
   49776:	182e 0013      	moveb %fp@(19),%d4                          
  /*                                                                  
   * Set a transient state for the thread so it is pulled off the Ready chains.
   * This will prevent it from being scheduled no matter what happens in an
   * ISR.                                                             
   */                                                                 
  _Thread_Set_transient( the_thread );                                
   4977a:	4eb9 0004 a58c 	jsr 4a58c <_Thread_Set_transient>           
                                                                      
  /*                                                                  
   *  Do not bother recomputing all the priority related information if
   *  we are not REALLY changing priority.                            
   */                                                                 
 if ( the_thread->current_priority != new_priority )                  
   49780:	588f           	addql #4,%sp                                
   49782:	b4aa 0014      	cmpl %a2@(20),%d2                           
   49786:	670c           	beqs 49794 <_Thread_Change_priority+0x34>   
    _Thread_Set_priority( the_thread, new_priority );                 
   49788:	2f02           	movel %d2,%sp@-                             
   4978a:	2f0a           	movel %a2,%sp@-                             
   4978c:	4eb9 0004 a528 	jsr 4a528 <_Thread_Set_priority>            
   49792:	508f           	addql #8,%sp                                
                                                                      
  _ISR_Disable( level );                                              
   49794:	203c 0000 0700 	movel #1792,%d0                             
   4979a:	40c2           	movew %sr,%d2                               
   4979c:	8082           	orl %d2,%d0                                 
   4979e:	46c0           	movew %d0,%sr                               
                                                                      
  /*                                                                  
   *  If the thread has more than STATES_TRANSIENT set, then it is blocked,
   *  If it is blocked on a thread queue, then we need to requeue it. 
   */                                                                 
  state = the_thread->current_state;                                  
   497a0:	202a 0010      	movel %a2@(16),%d0                          
  if ( state != STATES_TRANSIENT ) {                                  
   497a4:	7204           	moveq #4,%d1                                
   497a6:	b280           	cmpl %d0,%d1                                
   497a8:	6738           	beqs 497e2 <_Thread_Change_priority+0x82>   
    /* Only clear the transient state if it wasn't set already */     
    if ( ! _States_Is_transient( original_state ) )                   
   497aa:	44c3           	movew %d3,%ccr                              
   497ac:	6708           	beqs 497b6 <_Thread_Change_priority+0x56>   <== NEVER TAKEN
RTEMS_INLINE_ROUTINE States_Control _States_Clear (                   
  States_Control states_to_clear,                                     
  States_Control current_state                                        
)                                                                     
{                                                                     
   return (current_state & ~states_to_clear);                         
   497ae:	72fb           	moveq #-5,%d1                               
   497b0:	c280           	andl %d0,%d1                                
   497b2:	2541 0010      	movel %d1,%a2@(16)                          
      the_thread->current_state = _States_Clear( STATES_TRANSIENT, state );
    _ISR_Enable( level );                                             
   497b6:	46c2           	movew %d2,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE bool _States_Is_waiting_on_thread_queue (        
  States_Control the_states                                           
)                                                                     
{                                                                     
   return (the_states & STATES_WAITING_ON_THREAD_QUEUE);              
   497b8:	0280 0003 bee0 	andil #245472,%d0                           
    if ( _States_Is_waiting_on_thread_queue( state ) ) {              
   497be:	660a           	bnes 497ca <_Thread_Change_priority+0x6a>   
                                                                      
  if ( !_Thread_Is_executing_also_the_heir() &&                       
       _Thread_Executing->is_preemptible )                            
    _Thread_Dispatch_necessary = true;                                
  _ISR_Enable( level );                                               
}                                                                     
   497c0:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   497c6:	4e5e           	unlk %fp                                    
   497c8:	4e75           	rts                                         
    /* Only clear the transient state if it wasn't set already */     
    if ( ! _States_Is_transient( original_state ) )                   
      the_thread->current_state = _States_Clear( STATES_TRANSIENT, state );
    _ISR_Enable( level );                                             
    if ( _States_Is_waiting_on_thread_queue( state ) ) {              
      _Thread_queue_Requeue( the_thread->Wait.queue, the_thread );    
   497ca:	2d4a 000c      	movel %a2,%fp@(12)                          
   497ce:	2d6a 0044 0008 	movel %a2@(68),%fp@(8)                      
                                                                      
  if ( !_Thread_Is_executing_also_the_heir() &&                       
       _Thread_Executing->is_preemptible )                            
    _Thread_Dispatch_necessary = true;                                
  _ISR_Enable( level );                                               
}                                                                     
   497d4:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   497da:	4e5e           	unlk %fp                                    
    /* Only clear the transient state if it wasn't set already */     
    if ( ! _States_Is_transient( original_state ) )                   
      the_thread->current_state = _States_Clear( STATES_TRANSIENT, state );
    _ISR_Enable( level );                                             
    if ( _States_Is_waiting_on_thread_queue( state ) ) {              
      _Thread_queue_Requeue( the_thread->Wait.queue, the_thread );    
   497dc:	4ef9 0004 a478 	jmp 4a478 <_Thread_queue_Requeue>           
    }                                                                 
    return;                                                           
  }                                                                   
                                                                      
  /* Only clear the transient state if it wasn't set already */       
  if ( ! _States_Is_transient( original_state ) ) {                   
   497e2:	44c3           	movew %d3,%ccr                              
   497e4:	6714           	beqs 497fa <_Thread_Change_priority+0x9a>   <== NEVER TAKEN
     *  Interrupts are STILL disabled.                                
     *  We now know the thread will be in the READY state when we remove
     *  the TRANSIENT state.  So we have to place it on the appropriate
     *  Ready Queue with interrupts off.                              
     */                                                               
    the_thread->current_state = _States_Clear( STATES_TRANSIENT, state );
   497e6:	42aa 0010      	clrl %a2@(16)                               
                                                                      
    if ( prepend_it )                                                 
   497ea:	4a04           	tstb %d4                                    
   497ec:	6748           	beqs 49836 <_Thread_Change_priority+0xd6>   
 */                                                                   
RTEMS_INLINE_ROUTINE void _Scheduler_Enqueue_first(                   
  Thread_Control    *the_thread                                       
)                                                                     
{                                                                     
  _Scheduler.Operations.enqueue_first( the_thread );                  
   497ee:	2f0a           	movel %a2,%sp@-                             
   497f0:	2079 0005 e248 	moveal 5e248 <_Scheduler+0x28>,%a0          
   497f6:	4e90           	jsr %a0@                                    
   497f8:	588f           	addql #4,%sp                                
      _Scheduler_Enqueue_first( the_thread );                         
    else                                                              
      _Scheduler_Enqueue( the_thread );                               
  }                                                                   
                                                                      
  _ISR_Flash( level );                                                
   497fa:	203c 0000 0700 	movel #1792,%d0                             
   49800:	46c2           	movew %d2,%sr                               
   49802:	8082           	orl %d2,%d0                                 
   49804:	46c0           	movew %d0,%sr                               
 *  This kernel routine implements the scheduling decision logic for  
 *  the scheduler. It does NOT dispatch.                              
 */                                                                   
RTEMS_INLINE_ROUTINE void _Scheduler_Schedule( void )                 
{                                                                     
  _Scheduler.Operations.schedule();                                   
   49806:	2079 0005 e228 	moveal 5e228 <_Scheduler+0x8>,%a0           
   4980c:	4e90           	jsr %a0@                                    
 *  is also the heir thread, and false otherwise.                     
 */                                                                   
                                                                      
RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_also_the_heir( void )  
{                                                                     
  return ( _Thread_Executing == _Thread_Heir );                       
   4980e:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
   *  We altered the set of thread priorities.  So let's figure out   
   *  who is the heir and if we need to switch to them.               
   */                                                                 
  _Scheduler_Schedule();                                              
                                                                      
  if ( !_Thread_Is_executing_also_the_heir() &&                       
   49814:	b1f9 0005 fb82 	cmpal 5fb82 <_Per_CPU_Information+0x12>,%a0 
   4981a:	670e           	beqs 4982a <_Thread_Change_priority+0xca>   
   4981c:	4a28 0070      	tstb %a0@(112)                              
   49820:	6708           	beqs 4982a <_Thread_Change_priority+0xca>   
       _Thread_Executing->is_preemptible )                            
    _Thread_Dispatch_necessary = true;                                
   49822:	7001           	moveq #1,%d0                                
   49824:	13c0 0005 fb7c 	moveb %d0,5fb7c <_Per_CPU_Information+0xc>  
  _ISR_Enable( level );                                               
   4982a:	46c2           	movew %d2,%sr                               
}                                                                     
   4982c:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   49832:	4e5e           	unlk %fp                                    
   49834:	4e75           	rts                                         
 */                                                                   
RTEMS_INLINE_ROUTINE void _Scheduler_Enqueue(                         
  Thread_Control    *the_thread                                       
)                                                                     
{                                                                     
  _Scheduler.Operations.enqueue( the_thread );                        
   49836:	2f0a           	movel %a2,%sp@-                             
   49838:	2079 0005 e244 	moveal 5e244 <_Scheduler+0x24>,%a0          
   4983e:	4e90           	jsr %a0@                                    
   49840:	588f           	addql #4,%sp                                
   49842:	60b6           	bras 497fa <_Thread_Change_priority+0x9a>   
                                                                      

000498a0 <_Thread_Close>: void _Thread_Close( Objects_Information *information, Thread_Control *the_thread ) {
   498a0:	4e56 0000      	linkw %fp,#0                                
   498a4:	2f0b           	movel %a3,%sp@-                             
   498a6:	266e 0008      	moveal %fp@(8),%a3                          
   498aa:	2f0a           	movel %a2,%sp@-                             
   498ac:	246e 000c      	moveal %fp@(12),%a2                         
RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id(                     
  Objects_Information  *information,                                  
  Objects_Control      *the_object                                    
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
   498b0:	202a 0008      	movel %a2@(8),%d0                           
  #if defined(RTEMS_DEBUG)                                            
    if ( index > information->maximum )                               
      return;                                                         
  #endif                                                              
                                                                      
  information->local_table[ index ] = the_object;                     
   498b4:	206b 0018      	moveal %a3@(24),%a0                         
RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id(                     
  Objects_Information  *information,                                  
  Objects_Control      *the_object                                    
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
   498b8:	0280 0000 ffff 	andil #65535,%d0                            
  #if defined(RTEMS_DEBUG)                                            
    if ( index > information->maximum )                               
      return;                                                         
  #endif                                                              
                                                                      
  information->local_table[ index ] = the_object;                     
   498be:	42b0 0c00      	clrl %a0@(00000000,%d0:l:4)                 
  return ctx.ok;                                                      
}                                                                     
                                                                      
static inline void _User_extensions_Thread_delete( Thread_Control *deleted )
{                                                                     
  _User_extensions_Iterate(                                           
   498c2:	4879 0004 a710 	pea 4a710 <_User_extensions_Thread_delete_visitor>
   *                                                                  
   * This routine decrements the thread dispatch level.               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   498c8:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    --level;                                                          
   498ce:	5380           	subql #1,%d0                                
   498d0:	2f0a           	movel %a2,%sp@-                             
    _Thread_Dispatch_disable_level = level;                           
   498d2:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
   498d8:	4eb9 0004 a7b8 	jsr 4a7b8 <_User_extensions_Iterate>        
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   498de:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   498e4:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   498e6:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
  /*                                                                  
   *  Now we are in a dispatching critical section again and we       
   *  can take the thread OUT of the published set.  It is invalid    
   *  to use this thread's Id OR name after this call.                
   */                                                                 
  _Objects_Close( information, &the_thread->Object );                 
   498ec:	2f0a           	movel %a2,%sp@-                             
   498ee:	2f0b           	movel %a3,%sp@-                             
   498f0:	4eb9 0004 8a74 	jsr 48a74 <_Objects_Close>                  
                                                                      
  /*                                                                  
   *  By setting the dormant state, the thread will not be considered 
   *  for scheduling when we remove any blocking states.              
   */                                                                 
  _Thread_Set_state( the_thread, STATES_DORMANT );                    
   498f6:	4878 0001      	pea 1 <ADD>                                 
   498fa:	2f0a           	movel %a2,%sp@-                             
   498fc:	4eb9 0004 a540 	jsr 4a540 <_Thread_Set_state>               
                                                                      
  if ( !_Thread_queue_Extract_with_proxy( the_thread ) ) {            
   49902:	2f0a           	movel %a2,%sp@-                             
   49904:	4eb9 0004 a384 	jsr 4a384 <_Thread_queue_Extract_with_proxy>
   4990a:	4fef 001c      	lea %sp@(28),%sp                            
   4990e:	4a00           	tstb %d0                                    
   49910:	660a           	bnes 4991c <_Thread_Close+0x7c>             
    if ( _Watchdog_Is_active( &the_thread->Timer ) )                  
   49912:	7002           	moveq #2,%d0                                
   49914:	b0aa 0050      	cmpl %a2@(80),%d0                           
   49918:	6700 0088      	beqw 499a2 <_Thread_Close+0x102>            
 */                                                                   
RTEMS_INLINE_ROUTINE void _Scheduler_Free(                            
  Thread_Control    *the_thread                                       
)                                                                     
{                                                                     
  return _Scheduler.Operations.free( the_thread );                    
   4991c:	2f0a           	movel %a2,%sp@-                             
   4991e:	2079 0005 e23c 	moveal 5e23c <_Scheduler+0x1c>,%a0          
   49924:	4e90           	jsr %a0@                                    
  /*                                                                  
   *  The thread might have been FP.  So deal with that.              
   */                                                                 
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )                            
  if ( _Thread_Is_allocated_fp( the_thread ) )                        
   49926:	588f           	addql #4,%sp                                
   49928:	b5f9 0005 fa72 	cmpal 5fa72 <_Thread_Allocated_fp>,%a2      
   4992e:	6736           	beqs 49966 <_Thread_Close+0xc6>             
    _Thread_Deallocate_fp();                                          
#endif                                                                
  the_thread->fp_context = NULL;                                      
                                                                      
  _Workspace_Free( the_thread->Start.fp_context );                    
   49930:	2f2a 00b4      	movel %a2@(180),%sp@-                       
   49934:	47f9 0004 ac10 	lea 4ac10 <_Workspace_Free>,%a3             
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )                            
  if ( _Thread_Is_allocated_fp( the_thread ) )                        
    _Thread_Deallocate_fp();                                          
#endif                                                                
  the_thread->fp_context = NULL;                                      
   4993a:	42aa 00f0      	clrl %a2@(240)                              
                                                                      
  _Workspace_Free( the_thread->Start.fp_context );                    
   4993e:	4e93           	jsr %a3@                                    
                                                                      
  /*                                                                  
   *  Free the rest of the memory associated with this task           
   *  and set the associated pointers to NULL for safety.             
   */                                                                 
  _Thread_Stack_Free( the_thread );                                   
   49940:	2f0a           	movel %a2,%sp@-                             
   49942:	4eb9 0004 a610 	jsr 4a610 <_Thread_Stack_Free>              
  the_thread->Start.stack = NULL;                                     
                                                                      
  _Workspace_Free( the_thread->extensions );                          
   49948:	2f2a 0100      	movel %a2@(256),%sp@-                       
  /*                                                                  
   *  Free the rest of the memory associated with this task           
   *  and set the associated pointers to NULL for safety.             
   */                                                                 
  _Thread_Stack_Free( the_thread );                                   
  the_thread->Start.stack = NULL;                                     
   4994c:	42aa 00b8      	clrl %a2@(184)                              
                                                                      
  _Workspace_Free( the_thread->extensions );                          
   49950:	4e93           	jsr %a3@                                    
  the_thread->extensions = NULL;                                      
}                                                                     
   49952:	266e fffc      	moveal %fp@(-4),%a3                         
   */                                                                 
  _Thread_Stack_Free( the_thread );                                   
  the_thread->Start.stack = NULL;                                     
                                                                      
  _Workspace_Free( the_thread->extensions );                          
  the_thread->extensions = NULL;                                      
   49956:	4fef 000c      	lea %sp@(12),%sp                            
   4995a:	42aa 0100      	clrl %a2@(256)                              
}                                                                     
   4995e:	246e fff8      	moveal %fp@(-8),%a2                         
   49962:	4e5e           	unlk %fp                                    
   49964:	4e75           	rts                                         
  if ( _Thread_Is_allocated_fp( the_thread ) )                        
    _Thread_Deallocate_fp();                                          
#endif                                                                
  the_thread->fp_context = NULL;                                      
                                                                      
  _Workspace_Free( the_thread->Start.fp_context );                    
   49966:	2f2a 00b4      	movel %a2@(180),%sp@-                       
   4996a:	47f9 0004 ac10 	lea 4ac10 <_Workspace_Free>,%a3             
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )                            
  if ( _Thread_Is_allocated_fp( the_thread ) )                        
    _Thread_Deallocate_fp();                                          
#endif                                                                
  the_thread->fp_context = NULL;                                      
   49970:	42aa 00f0      	clrl %a2@(240)                              
 */                                                                   
                                                                      
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void )               
{                                                                     
  _Thread_Allocated_fp = NULL;                                        
   49974:	42b9 0005 fa72 	clrl 5fa72 <_Thread_Allocated_fp>           
                                                                      
  _Workspace_Free( the_thread->Start.fp_context );                    
   4997a:	4e93           	jsr %a3@                                    
                                                                      
  /*                                                                  
   *  Free the rest of the memory associated with this task           
   *  and set the associated pointers to NULL for safety.             
   */                                                                 
  _Thread_Stack_Free( the_thread );                                   
   4997c:	2f0a           	movel %a2,%sp@-                             
   4997e:	4eb9 0004 a610 	jsr 4a610 <_Thread_Stack_Free>              
  the_thread->Start.stack = NULL;                                     
                                                                      
  _Workspace_Free( the_thread->extensions );                          
   49984:	2f2a 0100      	movel %a2@(256),%sp@-                       
  /*                                                                  
   *  Free the rest of the memory associated with this task           
   *  and set the associated pointers to NULL for safety.             
   */                                                                 
  _Thread_Stack_Free( the_thread );                                   
  the_thread->Start.stack = NULL;                                     
   49988:	42aa 00b8      	clrl %a2@(184)                              
                                                                      
  _Workspace_Free( the_thread->extensions );                          
   4998c:	4e93           	jsr %a3@                                    
  the_thread->extensions = NULL;                                      
}                                                                     
   4998e:	266e fffc      	moveal %fp@(-4),%a3                         
   */                                                                 
  _Thread_Stack_Free( the_thread );                                   
  the_thread->Start.stack = NULL;                                     
                                                                      
  _Workspace_Free( the_thread->extensions );                          
  the_thread->extensions = NULL;                                      
   49992:	4fef 000c      	lea %sp@(12),%sp                            
   49996:	42aa 0100      	clrl %a2@(256)                              
}                                                                     
   4999a:	246e fff8      	moveal %fp@(-8),%a2                         
   4999e:	4e5e           	unlk %fp                                    
   499a0:	4e75           	rts                                         
   */                                                                 
  _Thread_Set_state( the_thread, STATES_DORMANT );                    
                                                                      
  if ( !_Thread_queue_Extract_with_proxy( the_thread ) ) {            
    if ( _Watchdog_Is_active( &the_thread->Timer ) )                  
      (void) _Watchdog_Remove( &the_thread->Timer );                  
   499a2:	486a 0048      	pea %a2@(72)                                
   499a6:	4eb9 0004 a9d4 	jsr 4a9d4 <_Watchdog_Remove>                
   499ac:	588f           	addql #4,%sp                                
   499ae:	2079 0005 e23c 	moveal 5e23c <_Scheduler+0x1c>,%a0          
   499b4:	2f0a           	movel %a2,%sp@-                             
   499b6:	4e90           	jsr %a0@                                    
  /*                                                                  
   *  The thread might have been FP.  So deal with that.              
   */                                                                 
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )                            
  if ( _Thread_Is_allocated_fp( the_thread ) )                        
   499b8:	588f           	addql #4,%sp                                
   499ba:	b5f9 0005 fa72 	cmpal 5fa72 <_Thread_Allocated_fp>,%a2      
   499c0:	6600 ff6e      	bnew 49930 <_Thread_Close+0x90>             
   499c4:	60a0           	bras 49966 <_Thread_Close+0xc6>             <== NOT EXECUTED
	...                                                                  
                                                                      

00049a74 <_Thread_Delay_ended>: void _Thread_Delay_ended( Objects_Id id, void *ignored __attribute__((unused)) ) {
   49a74:	4e56 fffc      	linkw %fp,#-4                               
  Thread_Control    *the_thread;                                      
  Objects_Locations  location;                                        
                                                                      
  the_thread = _Thread_Get( id, &location );                          
   49a78:	486e fffc      	pea %fp@(-4)                                
   49a7c:	2f2e 0008      	movel %fp@(8),%sp@-                         
   49a80:	4eb9 0004 9c64 	jsr 49c64 <_Thread_Get>                     
  switch ( location ) {                                               
   49a86:	508f           	addql #8,%sp                                
   49a88:	4aae fffc      	tstl %fp@(-4)                               
   49a8c:	661e           	bnes 49aac <_Thread_Delay_ended+0x38>       <== NEVER TAKEN
#if defined(RTEMS_MULTIPROCESSING)                                    
    case OBJECTS_REMOTE:  /* impossible */                            
#endif                                                                
      break;                                                          
    case OBJECTS_LOCAL:                                               
      _Thread_Clear_state(                                            
   49a8e:	2f3c 1000 0018 	movel #268435480,%sp@-                      
   49a94:	2f00           	movel %d0,%sp@-                             
   49a96:	4eb9 0004 9844 	jsr 49844 <_Thread_Clear_state>             
   49a9c:	508f           	addql #8,%sp                                
   *                                                                  
   * This routine decrements the thread dispatch level.               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   49a9e:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    --level;                                                          
   49aa4:	5380           	subql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   49aa6:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
          | STATES_INTERRUPTIBLE_BY_SIGNAL                            
      );                                                              
      _Thread_Unnest_dispatch();                                      
      break;                                                          
  }                                                                   
}                                                                     
   49aac:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00049ab0 <_Thread_Dispatch>: #if defined(RTEMS_SMP) #include <rtems/score/smp.h> #endif void _Thread_Dispatch( void ) {
   49ab0:	4e56 ffd0      	linkw %fp,#-48                              
   49ab4:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
                                                                      
  /*                                                                  
   *  Now determine if we need to perform a dispatch on the current CPU.
   */                                                                 
  executing   = _Thread_Executing;                                    
  _ISR_Disable( level );                                              
   49ab8:	283c 0000 0700 	movel #1792,%d4                             
   49abe:	2004           	movel %d4,%d0                               
  #endif                                                              
                                                                      
  /*                                                                  
   *  Now determine if we need to perform a dispatch on the current CPU.
   */                                                                 
  executing   = _Thread_Executing;                                    
   49ac0:	2479 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a2 
  _ISR_Disable( level );                                              
   49ac6:	40c1           	movew %sr,%d1                               
   49ac8:	8081           	orl %d1,%d0                                 
   49aca:	46c0           	movew %d0,%sr                               
  while ( _Thread_Dispatch_necessary == true ) {                      
   49acc:	1039 0005 fb7c 	moveb 5fb7c <_Per_CPU_Information+0xc>,%d0  
   49ad2:	6700 012e      	beqw 49c02 <_Thread_Dispatch+0x152>         
   * This routine sets thread dispatch level to the                   
   * value passed in.                                                 
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_set_disable_level(uint32_t value)
  {                                                                   
    _Thread_Dispatch_disable_level = value;                           
   49ad6:	7001           	moveq #1,%d0                                
    heir = _Thread_Heir;                                              
    #ifndef RTEMS_SMP                                                 
      _Thread_Dispatch_set_disable_level( 1 );                        
    #endif                                                            
    _Thread_Dispatch_necessary = false;                               
   49ad8:	4207           	clrb %d7                                    
   *  Now determine if we need to perform a dispatch on the current CPU.
   */                                                                 
  executing   = _Thread_Executing;                                    
  _ISR_Disable( level );                                              
  while ( _Thread_Dispatch_necessary == true ) {                      
    heir = _Thread_Heir;                                              
   49ada:	2679 0005 fb82 	moveal 5fb82 <_Per_CPU_Information+0x12>,%a3
   49ae0:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
    #ifndef RTEMS_SMP                                                 
      _Thread_Dispatch_set_disable_level( 1 );                        
    #endif                                                            
    _Thread_Dispatch_necessary = false;                               
   49ae6:	13c7 0005 fb7c 	moveb %d7,5fb7c <_Per_CPU_Information+0xc>  
    _Thread_Executing = heir;                                         
   49aec:	23cb 0005 fb7e 	movel %a3,5fb7e <_Per_CPU_Information+0xe>  
    /*                                                                
     *  When the heir and executing are the same, then we are being   
     *  requested to do the post switch dispatching.  This is normally
     *  done to dispatch signals.                                     
     */                                                               
    if ( heir == executing )                                          
   49af2:	b7ca           	cmpal %a2,%a3                               
   49af4:	6700 010c      	beqw 49c02 <_Thread_Dispatch+0x152>         
   49af8:	2a0e           	movel %fp,%d5                               
   49afa:	5185           	subql #8,%d5                                
   49afc:	4bf9 0004 843c 	lea 4843c <_TOD_Get_with_nanoseconds>,%a5   
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )                            
    if ( (executing->fp_context != NULL) &&                           
         !_Thread_Is_allocated_fp( executing ) ) {                    
      if ( _Thread_Allocated_fp != NULL )                             
        _Context_Save_fp( &_Thread_Allocated_fp->fp_context );        
      _Context_Restore_fp( &executing->fp_context );                  
   49b02:	2c3c 0004 adc8 	movel #306632,%d6                           
     */                                                               
#if __RTEMS_ADA__                                                     
    executing->rtems_ada_self = rtems_ada_self;                       
    rtems_ada_self = heir->rtems_ada_self;                            
#endif                                                                
    if ( heir->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE )
   49b08:	7001           	moveq #1,%d0                                
   49b0a:	b0ab 0076      	cmpl %a3@(118),%d0                          
   49b0e:	6700 0126      	beqw 49c36 <_Thread_Dispatch+0x186>         
      heir->cpu_time_budget = _Thread_Ticks_per_timeslice;            
                                                                      
    _ISR_Enable( level );                                             
   49b12:	46c1           	movew %d1,%sr                               
 */                                                                   
static inline void _TOD_Get_uptime(                                   
  Timestamp_Control *time                                             
)                                                                     
{                                                                     
  _TOD_Get_with_nanoseconds( time, &_TOD.uptime );                    
   49b14:	4879 0005 f9b0 	pea 5f9b0 <_TOD+0x8>                        
   49b1a:	2f05           	movel %d5,%sp@-                             
   49b1c:	4e95           	jsr %a5@                                    
    #endif                                                            
                                                                      
    /*                                                                
     * Switch libc's task specific data.                              
     */                                                               
    if ( _Thread_libc_reent ) {                                       
   49b1e:	2079 0005 fa76 	moveal 5fa76 <_Thread_libc_reent>,%a0       
   49b24:	508f           	addql #8,%sp                                
                                                                      
    #ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__                        
      {                                                               
        Timestamp_Control uptime, ran;                                
        _TOD_Get_uptime( &uptime );                                   
        _Timestamp_Subtract(                                          
   49b26:	202e fff8      	movel %fp@(-8),%d0                          
   49b2a:	222e fffc      	movel %fp@(-4),%d1                          
  const Timestamp64_Control *_start,                                  
  const Timestamp64_Control *_end,                                    
  Timestamp64_Control       *_result                                  
)                                                                     
{                                                                     
  *_result = *_end - *_start;                                         
   49b2e:	2400           	movel %d0,%d2                               
   49b30:	2601           	movel %d1,%d3                               
   49b32:	2e39 0005 fb8a 	movel 5fb8a <_Per_CPU_Information+0x1a>,%d7 
   49b38:	96b9 0005 fb8e 	subl 5fb8e <_Per_CPU_Information+0x1e>,%d3  
   49b3e:	9587           	subxl %d7,%d2                               
static inline void _Timestamp64_implementation_Add_to(                
  Timestamp64_Control       *_time,                                   
  const Timestamp64_Control *_add                                     
)                                                                     
{                                                                     
  *_time += *_add;                                                    
   49b40:	d7aa 0082      	addl %d3,%a2@(130)                          
   49b44:	2e2a 007e      	movel %a2@(126),%d7                         
   49b48:	df82           	addxl %d2,%d7                               
   49b4a:	2547 007e      	movel %d7,%a2@(126)                         
          &_Thread_Time_of_last_context_switch,                       
          &uptime,                                                    
          &ran                                                        
        );                                                            
        _Timestamp_Add_to( &executing->cpu_time_used, &ran );         
        _Thread_Time_of_last_context_switch = uptime;                 
   49b4e:	23c0 0005 fb8a 	movel %d0,5fb8a <_Per_CPU_Information+0x1a> 
   49b54:	23c1 0005 fb8e 	movel %d1,5fb8e <_Per_CPU_Information+0x1e> 
    #endif                                                            
                                                                      
    /*                                                                
     * Switch libc's task specific data.                              
     */                                                               
    if ( _Thread_libc_reent ) {                                       
   49b5a:	4a88           	tstl %a0                                    
   49b5c:	6708           	beqs 49b66 <_Thread_Dispatch+0xb6>          <== NEVER TAKEN
      executing->libc_reent = *_Thread_libc_reent;                    
   49b5e:	2550 00f4      	movel %a0@,%a2@(244)                        
      *_Thread_libc_reent = heir->libc_reent;                         
   49b62:	20ab 00f4      	movel %a3@(244),%a0@                        
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   49b66:	2879 0005 e348 	moveal 5e348 <_User_extensions_Switches_list>,%a4
{                                                                     
  const Chain_Control *chain = &_User_extensions_Switches_list;       
  const Chain_Node    *tail = _Chain_Immutable_tail( chain );         
  const Chain_Node    *node = _Chain_Immutable_first( chain );        
                                                                      
  while ( node != tail ) {                                            
   49b6c:	b9fc 0005 e34c 	cmpal #385868,%a4                           
   49b72:	6716           	beqs 49b8a <_Thread_Dispatch+0xda>          <== NEVER TAKEN
    const User_extensions_Switch_control *extension =                 
      (const User_extensions_Switch_control *) node;                  
                                                                      
    (*extension->thread_switch)( executing, heir );                   
   49b74:	2f0b           	movel %a3,%sp@-                             
   49b76:	2f0a           	movel %a2,%sp@-                             
   49b78:	206c 0008      	moveal %a4@(8),%a0                          
   49b7c:	4e90           	jsr %a0@                                    
  #ifdef RTEMS_SMP                                                    
    _Thread_Unnest_dispatch();                                        
  #endif                                                              
                                                                      
  _API_extensions_Run_post_switch( executing );                       
}                                                                     
   49b7e:	2854           	moveal %a4@,%a4                             
{                                                                     
  const Chain_Control *chain = &_User_extensions_Switches_list;       
  const Chain_Node    *tail = _Chain_Immutable_tail( chain );         
  const Chain_Node    *node = _Chain_Immutable_first( chain );        
                                                                      
  while ( node != tail ) {                                            
   49b80:	508f           	addql #8,%sp                                
   49b82:	b9fc 0005 e34c 	cmpal #385868,%a4                           
   49b88:	66ea           	bnes 49b74 <_Thread_Dispatch+0xc4>          
    if ( executing->fp_context != NULL )                              
      _Context_Save_fp( &executing->fp_context );                     
#endif                                                                
#endif                                                                
                                                                      
    _Context_Switch( &executing->Registers, &heir->Registers );       
   49b8a:	486b 00bc      	pea %a3@(188)                               
   49b8e:	486a 00bc      	pea %a2@(188)                               
   49b92:	4eb9 0004 ac60 	jsr 4ac60 <_CPU_Context_switch>             
                                                                      
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )                            
    if ( (executing->fp_context != NULL) &&                           
   49b98:	508f           	addql #8,%sp                                
   49b9a:	4aaa 00f0      	tstl %a2@(240)                              
   49b9e:	672a           	beqs 49bca <_Thread_Dispatch+0x11a>         
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
RTEMS_INLINE_ROUTINE bool _Thread_Is_allocated_fp (                   
  const Thread_Control *the_thread                                    
)                                                                     
{                                                                     
  return ( the_thread == _Thread_Allocated_fp );                      
   49ba0:	2079 0005 fa72 	moveal 5fa72 <_Thread_Allocated_fp>,%a0     
   49ba6:	b1ca           	cmpal %a2,%a0                               
   49ba8:	6720           	beqs 49bca <_Thread_Dispatch+0x11a>         
         !_Thread_Is_allocated_fp( executing ) ) {                    
      if ( _Thread_Allocated_fp != NULL )                             
   49baa:	4a88           	tstl %a0                                    
   49bac:	670c           	beqs 49bba <_Thread_Dispatch+0x10a>         
        _Context_Save_fp( &_Thread_Allocated_fp->fp_context );        
   49bae:	4868 00f0      	pea %a0@(240)                               
   49bb2:	4eb9 0004 ad90 	jsr 4ad90 <_CPU_Context_save_fp>            
   49bb8:	588f           	addql #4,%sp                                
      _Context_Restore_fp( &executing->fp_context );                  
   49bba:	486a 00f0      	pea %a2@(240)                               
   49bbe:	2046           	moveal %d6,%a0                              
   49bc0:	4e90           	jsr %a0@                                    
      _Thread_Allocated_fp = executing;                               
   49bc2:	588f           	addql #4,%sp                                
   49bc4:	23ca 0005 fa72 	movel %a2,5fa72 <_Thread_Allocated_fp>      
    if ( executing->fp_context != NULL )                              
      _Context_Restore_fp( &executing->fp_context );                  
#endif                                                                
#endif                                                                
                                                                      
    executing = _Thread_Executing;                                    
   49bca:	2479 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a2 
                                                                      
    _ISR_Disable( level );                                            
   49bd0:	2004           	movel %d4,%d0                               
   49bd2:	40c1           	movew %sr,%d1                               
   49bd4:	8081           	orl %d1,%d0                                 
   49bd6:	46c0           	movew %d0,%sr                               
  /*                                                                  
   *  Now determine if we need to perform a dispatch on the current CPU.
   */                                                                 
  executing   = _Thread_Executing;                                    
  _ISR_Disable( level );                                              
  while ( _Thread_Dispatch_necessary == true ) {                      
   49bd8:	1039 0005 fb7c 	moveb 5fb7c <_Per_CPU_Information+0xc>,%d0  
   49bde:	6722           	beqs 49c02 <_Thread_Dispatch+0x152>         
   * This routine sets thread dispatch level to the                   
   * value passed in.                                                 
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_set_disable_level(uint32_t value)
  {                                                                   
    _Thread_Dispatch_disable_level = value;                           
   49be0:	7001           	moveq #1,%d0                                
    heir = _Thread_Heir;                                              
    #ifndef RTEMS_SMP                                                 
      _Thread_Dispatch_set_disable_level( 1 );                        
    #endif                                                            
    _Thread_Dispatch_necessary = false;                               
   49be2:	4207           	clrb %d7                                    
   *  Now determine if we need to perform a dispatch on the current CPU.
   */                                                                 
  executing   = _Thread_Executing;                                    
  _ISR_Disable( level );                                              
  while ( _Thread_Dispatch_necessary == true ) {                      
    heir = _Thread_Heir;                                              
   49be4:	2679 0005 fb82 	moveal 5fb82 <_Per_CPU_Information+0x12>,%a3
   49bea:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
    #ifndef RTEMS_SMP                                                 
      _Thread_Dispatch_set_disable_level( 1 );                        
    #endif                                                            
    _Thread_Dispatch_necessary = false;                               
   49bf0:	13c7 0005 fb7c 	moveb %d7,5fb7c <_Per_CPU_Information+0xc>  
    _Thread_Executing = heir;                                         
   49bf6:	23cb 0005 fb7e 	movel %a3,5fb7e <_Per_CPU_Information+0xe>  
    /*                                                                
     *  When the heir and executing are the same, then we are being   
     *  requested to do the post switch dispatching.  This is normally
     *  done to dispatch signals.                                     
     */                                                               
    if ( heir == executing )                                          
   49bfc:	b5cb           	cmpal %a3,%a2                               
   49bfe:	6600 ff08      	bnew 49b08 <_Thread_Dispatch+0x58>          
   49c02:	42b9 0005 fa06 	clrl 5fa06 <_Thread_Dispatch_disable_level> 
post_switch:                                                          
  #ifndef RTEMS_SMP                                                   
    _Thread_Dispatch_set_disable_level( 0 );                          
  #endif                                                              
                                                                      
  _ISR_Enable( level );                                               
   49c08:	46c1           	movew %d1,%sr                               
   49c0a:	2679 0005 fa7a 	moveal 5fa7a <_API_extensions_Post_switch_list>,%a3
{                                                                     
  const Chain_Control *chain = &_API_extensions_Post_switch_list;     
  const Chain_Node    *tail = _Chain_Immutable_tail( chain );         
  const Chain_Node    *node = _Chain_Immutable_first( chain );        
                                                                      
  while ( node != tail ) {                                            
   49c10:	b7fc 0005 fa7e 	cmpal #391806,%a3                           
   49c16:	6714           	beqs 49c2c <_Thread_Dispatch+0x17c>         
    const API_extensions_Post_switch_control *post_switch =           
      (const API_extensions_Post_switch_control *) node;              
                                                                      
    (*post_switch->hook)( executing );                                
   49c18:	2f0a           	movel %a2,%sp@-                             
   49c1a:	206b 0008      	moveal %a3@(8),%a0                          
   49c1e:	4e90           	jsr %a0@                                    
  #ifdef RTEMS_SMP                                                    
    _Thread_Unnest_dispatch();                                        
  #endif                                                              
                                                                      
  _API_extensions_Run_post_switch( executing );                       
}                                                                     
   49c20:	2653           	moveal %a3@,%a3                             
{                                                                     
  const Chain_Control *chain = &_API_extensions_Post_switch_list;     
  const Chain_Node    *tail = _Chain_Immutable_tail( chain );         
  const Chain_Node    *node = _Chain_Immutable_first( chain );        
                                                                      
  while ( node != tail ) {                                            
   49c22:	588f           	addql #4,%sp                                
   49c24:	b7fc 0005 fa7e 	cmpal #391806,%a3                           
   49c2a:	66ec           	bnes 49c18 <_Thread_Dispatch+0x168>         <== NEVER TAKEN
   49c2c:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   49c32:	4e5e           	unlk %fp                                    
   49c34:	4e75           	rts                                         
#if __RTEMS_ADA__                                                     
    executing->rtems_ada_self = rtems_ada_self;                       
    rtems_ada_self = heir->rtems_ada_self;                            
#endif                                                                
    if ( heir->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE )
      heir->cpu_time_budget = _Thread_Ticks_per_timeslice;            
   49c36:	41f9 0005 f9be 	lea 5f9be <_Thread_Ticks_per_timeslice>,%a0 
   49c3c:	2750 0072      	movel %a0@,%a3@(114)                        
   49c40:	6000 fed0      	braw 49b12 <_Thread_Dispatch+0x62>          
                                                                      

0004df68 <_Thread_Handler>: #define INIT_NAME __main #define EXECUTE_GLOBAL_CONSTRUCTORS #endif void _Thread_Handler( void ) {
   4df68:	4e56 fff4      	linkw %fp,#-12                              
   4df6c:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  #if defined(EXECUTE_GLOBAL_CONSTRUCTORS)                            
    static bool doneConstructors;                                     
    bool doCons;                                                      
  #endif                                                              
                                                                      
  executing = _Thread_Executing;                                      
   4df70:	2479 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a2 
                                                                      
  /*                                                                  
   * have to put level into a register for those cpu's that use       
   * inline asm here                                                  
   */                                                                 
  level = executing->Start.isr_level;                                 
   4df76:	222a 00a4      	movel %a2@(164),%d1                         
  _ISR_Set_level(level);                                              
   4df7a:	40c0           	movew %sr,%d0                               
   4df7c:	e189           	lsll #8,%d1                                 
   4df7e:	0280 0000 f8ff 	andil #63743,%d0                            
   4df84:	8081           	orl %d1,%d0                                 
   4df86:	46c0           	movew %d0,%sr                               
        && _Objects_Get_API( executing->Object.id ) != OBJECTS_INTERNAL_API;
      if (doCons)                                                     
        doneConstructors = true;                                      
    #else                                                             
      doCons = !doneConstructors;                                     
      doneConstructors = true;                                        
   4df88:	7001           	moveq #1,%d0                                
      doCons = !doneConstructors                                      
        && _Objects_Get_API( executing->Object.id ) != OBJECTS_INTERNAL_API;
      if (doCons)                                                     
        doneConstructors = true;                                      
    #else                                                             
      doCons = !doneConstructors;                                     
   4df8a:	1439 0005 f208 	moveb 5f208 <doneConstructors.3716>,%d2     
      doneConstructors = true;                                        
   4df90:	13c0 0005 f208 	moveb %d0,5f208 <doneConstructors.3716>     
    #endif                                                            
  #endif                                                              
                                                                      
  #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )      
    #if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )                        
      if ( (executing->fp_context != NULL) &&                         
   4df96:	4aaa 00f0      	tstl %a2@(240)                              
   4df9a:	6720           	beqs 4dfbc <_Thread_Handler+0x54>           
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
RTEMS_INLINE_ROUTINE bool _Thread_Is_allocated_fp (                   
  const Thread_Control *the_thread                                    
)                                                                     
{                                                                     
  return ( the_thread == _Thread_Allocated_fp );                      
   4df9c:	2079 0005 fa72 	moveal 5fa72 <_Thread_Allocated_fp>,%a0     
   4dfa2:	b1ca           	cmpal %a2,%a0                               
   4dfa4:	6716           	beqs 4dfbc <_Thread_Handler+0x54>           
            !_Thread_Is_allocated_fp( executing ) ) {                 
        if ( _Thread_Allocated_fp != NULL )                           
   4dfa6:	4a88           	tstl %a0                                    
   4dfa8:	670c           	beqs 4dfb6 <_Thread_Handler+0x4e>           
          _Context_Save_fp( &_Thread_Allocated_fp->fp_context );      
   4dfaa:	4868 00f0      	pea %a0@(240)                               
   4dfae:	4eb9 0004 ad90 	jsr 4ad90 <_CPU_Context_save_fp>            
   4dfb4:	588f           	addql #4,%sp                                
        _Thread_Allocated_fp = executing;                             
   4dfb6:	23ca 0005 fa72 	movel %a2,5fa72 <_Thread_Allocated_fp>      
  );                                                                  
}                                                                     
                                                                      
static inline void _User_extensions_Thread_begin( Thread_Control *executing )
{                                                                     
  _User_extensions_Iterate(                                           
   4dfbc:	4879 0004 a758 	pea 4a758 <_User_extensions_Thread_begin_visitor>
   4dfc2:	47f9 0004 a7b8 	lea 4a7b8 <_User_extensions_Iterate>,%a3    
   4dfc8:	2f0a           	movel %a2,%sp@-                             
   4dfca:	4e93           	jsr %a3@                                    
  _User_extensions_Thread_begin( executing );                         
                                                                      
  /*                                                                  
   *  At this point, the dispatch disable level BETTER be 1.          
   */                                                                 
  _Thread_Enable_dispatch();                                          
   4dfcc:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
    /*                                                                
     *  _init could be a weak symbol and we SHOULD test it but it isn't
     *  in any configuration I know of and it generates a warning on every
     *  RTEMS target configuration.  --joel (12 May 2007)             
     */                                                               
    if (doCons) /* && (volatile void *)_init) */ {                    
   4dfd2:	508f           	addql #8,%sp                                
   4dfd4:	4a02           	tstb %d2                                    
   4dfd6:	674a           	beqs 4e022 <_Thread_Handler+0xba>           
        _Thread_Enable_dispatch();                                    
      #endif                                                          
    }                                                                 
 #endif                                                               
                                                                      
  if ( executing->Start.prototype == THREAD_START_NUMERIC ) {         
   4dfd8:	4aaa 008e      	tstl %a2@(142)                              
   4dfdc:	671a           	beqs 4dff8 <_Thread_Handler+0x90>           <== ALWAYS TAKEN
  }                                                                   
}                                                                     
                                                                      
static inline void _User_extensions_Thread_exitted( Thread_Control *executing )
{                                                                     
  _User_extensions_Iterate(                                           
   4dfde:	4879 0004 a770 	pea 4a770 <_User_extensions_Thread_exitted_visitor><== NOT EXECUTED
   4dfe4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4dfe6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   *  able to fit in a (void *).                                      
   */                                                                 
                                                                      
  _User_extensions_Thread_exitted( executing );                       
                                                                      
  _Internal_error_Occurred(                                           
   4dfe8:	4878 0005      	pea 5 <COMPARE>                             <== NOT EXECUTED
   4dfec:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   4dff0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4dff2:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        <== NOT EXECUTED
    }                                                                 
 #endif                                                               
                                                                      
  if ( executing->Start.prototype == THREAD_START_NUMERIC ) {         
    executing->Wait.return_argument =                                 
      (*(Thread_Entry_numeric) executing->Start.entry_point)(         
   4dff8:	2f2a 0096      	movel %a2@(150),%sp@-                       
   4dffc:	206a 008a      	moveal %a2@(138),%a0                        
   4e000:	4e90           	jsr %a0@                                    
      #endif                                                          
    }                                                                 
 #endif                                                               
                                                                      
  if ( executing->Start.prototype == THREAD_START_NUMERIC ) {         
    executing->Wait.return_argument =                                 
   4e002:	588f           	addql #4,%sp                                
   4e004:	2540 0028      	movel %d0,%a2@(40)                          
   4e008:	4879 0004 a770 	pea 4a770 <_User_extensions_Thread_exitted_visitor>
   4e00e:	2f0a           	movel %a2,%sp@-                             
   4e010:	4e93           	jsr %a3@                                    
   *  able to fit in a (void *).                                      
   */                                                                 
                                                                      
  _User_extensions_Thread_exitted( executing );                       
                                                                      
  _Internal_error_Occurred(                                           
   4e012:	4878 0005      	pea 5 <COMPARE>                             
   4e016:	4878 0001      	pea 1 <ADD>                                 
   4e01a:	42a7           	clrl %sp@-                                  
   4e01c:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
     *  _init could be a weak symbol and we SHOULD test it but it isn't
     *  in any configuration I know of and it generates a warning on every
     *  RTEMS target configuration.  --joel (12 May 2007)             
     */                                                               
    if (doCons) /* && (volatile void *)_init) */ {                    
      INIT_NAME ();                                                   
   4e022:	4eb9 0005 c3a8 	jsr 5c3a8 <_init>                           
        _Thread_Enable_dispatch();                                    
      #endif                                                          
    }                                                                 
 #endif                                                               
                                                                      
  if ( executing->Start.prototype == THREAD_START_NUMERIC ) {         
   4e028:	4aaa 008e      	tstl %a2@(142)                              
   4e02c:	66b0           	bnes 4dfde <_Thread_Handler+0x76>           <== NEVER TAKEN
   4e02e:	60c8           	bras 4dff8 <_Thread_Handler+0x90>           
                                                                      

00049f1c <_Thread_Handler_initialization>: #if defined(RTEMS_SMP) #include <rtems/bspsmp.h> #endif void _Thread_Handler_initialization(void) {
   49f1c:	4e56 0000      	linkw %fp,#0                                
  uint32_t ticks_per_timeslice =                                      
    rtems_configuration_get_ticks_per_timeslice();                    
  uint32_t maximum_extensions =                                       
    rtems_configuration_get_maximum_extensions();                     
  rtems_stack_allocate_init_hook stack_allocate_init_hook =           
   49f20:	2079 0005 c5f8 	moveal 5c5f8 <Configuration+0x24>,%a0       
  #if defined(RTEMS_MULTIPROCESSING)                                  
    uint32_t maximum_proxies =                                        
      _Configuration_MP_table->maximum_proxies;                       
  #endif                                                              
                                                                      
  if ( rtems_configuration_get_stack_allocate_hook() == NULL ||       
   49f26:	4ab9 0005 c5fc 	tstl 5c5fc <Configuration+0x28>             
   49f2c:	6772           	beqs 49fa0 <_Thread_Handler_initialization+0x84><== NEVER TAKEN
   49f2e:	4ab9 0005 c600 	tstl 5c600 <Configuration+0x2c>             
   49f34:	676a           	beqs 49fa0 <_Thread_Handler_initialization+0x84>
      INTERNAL_ERROR_CORE,                                            
      true,                                                           
      INTERNAL_ERROR_BAD_STACK_HOOK                                   
    );                                                                
                                                                      
  if ( stack_allocate_init_hook != NULL )                             
   49f36:	4a88           	tstl %a0                                    
   49f38:	670a           	beqs 49f44 <_Thread_Handler_initialization+0x28>
    (*stack_allocate_init_hook)( rtems_configuration_get_stack_space_size() );
   49f3a:	2f39 0005 c5d8 	movel 5c5d8 <Configuration+0x4>,%sp@-       
   49f40:	4e90           	jsr %a0@                                    
   49f42:	588f           	addql #4,%sp                                
  #if defined(RTEMS_MULTIPROCESSING)                                  
    if ( _System_state_Is_multiprocessing )                           
      maximum_internal_threads += 1;                                  
  #endif                                                              
                                                                      
  _Objects_Initialize_information(                                    
   49f44:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
  _Thread_Heir              = NULL;                                   
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
  _Thread_Allocated_fp      = NULL;                                   
#endif                                                                
                                                                      
  _Thread_Maximum_extensions = maximum_extensions;                    
   49f48:	41f9 0005 c5dc 	lea 5c5dc <Configuration+0x8>,%a0           
   49f4e:	23d0 0005 fa86 	movel %a0@,5fa86 <_Thread_Maximum_extensions>
                                                                      
  _Thread_Ticks_per_timeslice  = ticks_per_timeslice;                 
   49f54:	41f9 0005 c5e8 	lea 5c5e8 <Configuration+0x14>,%a0          
   49f5a:	23d0 0005 f9be 	movel %a0@,5f9be <_Thread_Ticks_per_timeslice>
    );                                                                
                                                                      
  if ( stack_allocate_init_hook != NULL )                             
    (*stack_allocate_init_hook)( rtems_configuration_get_stack_space_size() );
                                                                      
  _Thread_Dispatch_necessary = false;                                 
   49f60:	4200           	clrb %d0                                    
  #if defined(RTEMS_MULTIPROCESSING)                                  
    if ( _System_state_Is_multiprocessing )                           
      maximum_internal_threads += 1;                                  
  #endif                                                              
                                                                      
  _Objects_Initialize_information(                                    
   49f62:	42a7           	clrl %sp@-                                  
   49f64:	4878 0108      	pea 108 <DBL_MANT_DIG+0xd3>                 
   49f68:	4878 0001      	pea 1 <ADD>                                 
   49f6c:	4878 0001      	pea 1 <ADD>                                 
   49f70:	4878 0001      	pea 1 <ADD>                                 
   49f74:	4879 0005 faf2 	pea 5faf2 <_Thread_Internal_information>    
    );                                                                
                                                                      
  if ( stack_allocate_init_hook != NULL )                             
    (*stack_allocate_init_hook)( rtems_configuration_get_stack_space_size() );
                                                                      
  _Thread_Dispatch_necessary = false;                                 
   49f7a:	13c0 0005 fb7c 	moveb %d0,5fb7c <_Per_CPU_Information+0xc>  
  _Thread_Executing         = NULL;                                   
   49f80:	42b9 0005 fb7e 	clrl 5fb7e <_Per_CPU_Information+0xe>       
  _Thread_Heir              = NULL;                                   
   49f86:	42b9 0005 fb82 	clrl 5fb82 <_Per_CPU_Information+0x12>      
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
  _Thread_Allocated_fp      = NULL;                                   
   49f8c:	42b9 0005 fa72 	clrl 5fa72 <_Thread_Allocated_fp>           
  #if defined(RTEMS_MULTIPROCESSING)                                  
    if ( _System_state_Is_multiprocessing )                           
      maximum_internal_threads += 1;                                  
  #endif                                                              
                                                                      
  _Objects_Initialize_information(                                    
   49f92:	4eb9 0004 8f44 	jsr 48f44 <_Objects_Initialize_information> 
   49f98:	4fef 001c      	lea %sp@(28),%sp                            
      false,                      /* true if this is a global object class */
      NULL                        /* Proxy extraction support callout */
    #endif                                                            
  );                                                                  
                                                                      
}                                                                     
   49f9c:	4e5e           	unlk %fp                                    
   49f9e:	4e75           	rts                                         
      _Configuration_MP_table->maximum_proxies;                       
  #endif                                                              
                                                                      
  if ( rtems_configuration_get_stack_allocate_hook() == NULL ||       
       rtems_configuration_get_stack_free_hook() == NULL)             
    _Internal_error_Occurred(                                         
   49fa0:	4878 000e      	pea e <OPER1+0x2>                           
   49fa4:	4878 0001      	pea 1 <ADD>                                 
   49fa8:	42a7           	clrl %sp@-                                  
   49faa:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
                                                                      

0004d614 <_Thread_Reset>: void _Thread_Reset( Thread_Control *the_thread, void *pointer_argument, Thread_Entry_numeric_type numeric_argument ) {
   4d614:	4e56 0000      	linkw %fp,#0                                
   4d618:	2f0a           	movel %a2,%sp@-                             
   4d61a:	246e 0008      	moveal %fp@(8),%a2                          
  the_thread->resource_count   = 0;                                   
  the_thread->is_preemptible   = the_thread->Start.is_preemptible;    
  the_thread->budget_algorithm = the_thread->Start.budget_algorithm;  
   4d61e:	256a 009c 0076 	movel %a2@(156),%a2@(118)                   
  the_thread->budget_callout   = the_thread->Start.budget_callout;    
   4d624:	256a 00a0 007a 	movel %a2@(160),%a2@(122)                   
                                                                      
  the_thread->Start.pointer_argument = pointer_argument;              
   4d62a:	256e 000c 0092 	movel %fp@(12),%a2@(146)                    
  the_thread->Start.numeric_argument = numeric_argument;              
   4d630:	256e 0010 0096 	movel %fp@(16),%a2@(150)                    
  void                      *pointer_argument,                        
  Thread_Entry_numeric_type  numeric_argument                         
)                                                                     
{                                                                     
  the_thread->resource_count   = 0;                                   
  the_thread->is_preemptible   = the_thread->Start.is_preemptible;    
   4d636:	156a 009a 0070 	moveb %a2@(154),%a2@(112)                   
  Thread_Control            *the_thread,                              
  void                      *pointer_argument,                        
  Thread_Entry_numeric_type  numeric_argument                         
)                                                                     
{                                                                     
  the_thread->resource_count   = 0;                                   
   4d63c:	42aa 001c      	clrl %a2@(28)                               
  the_thread->budget_callout   = the_thread->Start.budget_callout;    
                                                                      
  the_thread->Start.pointer_argument = pointer_argument;              
  the_thread->Start.numeric_argument = numeric_argument;              
                                                                      
  if ( !_Thread_queue_Extract_with_proxy( the_thread ) ) {            
   4d640:	2f0a           	movel %a2,%sp@-                             
   4d642:	4eb9 0004 ac18 	jsr 4ac18 <_Thread_queue_Extract_with_proxy>
   4d648:	588f           	addql #4,%sp                                
   4d64a:	4a00           	tstb %d0                                    
   4d64c:	6608           	bnes 4d656 <_Thread_Reset+0x42>             
                                                                      
    if ( _Watchdog_Is_active( &the_thread->Timer ) )                  
   4d64e:	7002           	moveq #2,%d0                                
   4d650:	b0aa 0050      	cmpl %a2@(80),%d0                           
   4d654:	672a           	beqs 4d680 <_Thread_Reset+0x6c>             
      (void) _Watchdog_Remove( &the_thread->Timer );                  
  }                                                                   
                                                                      
  if ( the_thread->current_priority != the_thread->Start.initial_priority ) {
   4d656:	202a 00a8      	movel %a2@(168),%d0                         
   4d65a:	b0aa 0014      	cmpl %a2@(20),%d0                           
   4d65e:	6718           	beqs 4d678 <_Thread_Reset+0x64>             
    the_thread->real_priority = the_thread->Start.initial_priority;   
   4d660:	2540 0018      	movel %d0,%a2@(24)                          
    _Thread_Set_priority( the_thread, the_thread->Start.initial_priority );
   4d664:	2d4a 0008      	movel %a2,%fp@(8)                           
  }                                                                   
}                                                                     
   4d668:	246e fffc      	moveal %fp@(-4),%a2                         
      (void) _Watchdog_Remove( &the_thread->Timer );                  
  }                                                                   
                                                                      
  if ( the_thread->current_priority != the_thread->Start.initial_priority ) {
    the_thread->real_priority = the_thread->Start.initial_priority;   
    _Thread_Set_priority( the_thread, the_thread->Start.initial_priority );
   4d66c:	2d40 000c      	movel %d0,%fp@(12)                          
  }                                                                   
}                                                                     
   4d670:	4e5e           	unlk %fp                                    
      (void) _Watchdog_Remove( &the_thread->Timer );                  
  }                                                                   
                                                                      
  if ( the_thread->current_priority != the_thread->Start.initial_priority ) {
    the_thread->real_priority = the_thread->Start.initial_priority;   
    _Thread_Set_priority( the_thread, the_thread->Start.initial_priority );
   4d672:	4ef9 0004 ae4c 	jmp 4ae4c <_Thread_Set_priority>            
  }                                                                   
}                                                                     
   4d678:	246e fffc      	moveal %fp@(-4),%a2                         
   4d67c:	4e5e           	unlk %fp                                    
   4d67e:	4e75           	rts                                         
  the_thread->Start.numeric_argument = numeric_argument;              
                                                                      
  if ( !_Thread_queue_Extract_with_proxy( the_thread ) ) {            
                                                                      
    if ( _Watchdog_Is_active( &the_thread->Timer ) )                  
      (void) _Watchdog_Remove( &the_thread->Timer );                  
   4d680:	486a 0048      	pea %a2@(72)                                
   4d684:	4eb9 0004 b2f8 	jsr 4b2f8 <_Watchdog_Remove>                
   4d68a:	588f           	addql #4,%sp                                
   4d68c:	60c8           	bras 4d656 <_Thread_Reset+0x42>             
	...                                                                  
                                                                      

0004adbc <_Thread_Restart>: */ RTEMS_INLINE_ROUTINE bool _States_Is_dormant ( States_Control the_states ) { return (the_states & STATES_DORMANT);
   4adbc:	7001           	moveq #1,%d0                                
bool _Thread_Restart(                                                 
  Thread_Control            *the_thread,                              
  void                      *pointer_argument,                        
  Thread_Entry_numeric_type  numeric_argument                         
)                                                                     
{                                                                     
   4adbe:	4e56 0000      	linkw %fp,#0                                
   4adc2:	2f0a           	movel %a2,%sp@-                             
   4adc4:	246e 0008      	moveal %fp@(8),%a2                          
   4adc8:	c0aa 0010      	andl %a2@(16),%d0                           
  if ( !_States_Is_dormant( the_thread->current_state ) ) {           
   4adcc:	670a           	beqs 4add8 <_Thread_Restart+0x1c>           
      _Thread_Restart_self();                                         
                                                                      
    return true;                                                      
  }                                                                   
                                                                      
  return false;                                                       
   4adce:	4200           	clrb %d0                                    
}                                                                     
   4add0:	246e fffc      	moveal %fp@(-4),%a2                         
   4add4:	4e5e           	unlk %fp                                    
   4add6:	4e75           	rts                                         
  Thread_Entry_numeric_type  numeric_argument                         
)                                                                     
{                                                                     
  if ( !_States_Is_dormant( the_thread->current_state ) ) {           
                                                                      
    _Thread_Set_transient( the_thread );                              
   4add8:	2f0a           	movel %a2,%sp@-                             
   4adda:	4eb9 0004 aeb0 	jsr 4aeb0 <_Thread_Set_transient>           
                                                                      
    _Thread_Reset( the_thread, pointer_argument, numeric_argument );  
   4ade0:	2f2e 0010      	movel %fp@(16),%sp@-                        
   4ade4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4ade8:	2f0a           	movel %a2,%sp@-                             
   4adea:	4eb9 0004 d614 	jsr 4d614 <_Thread_Reset>                   
                                                                      
    _Thread_Load_environment( the_thread );                           
   4adf0:	2f0a           	movel %a2,%sp@-                             
   4adf2:	4eb9 0004 d318 	jsr 4d318 <_Thread_Load_environment>        
                                                                      
    _Thread_Ready( the_thread );                                      
   4adf8:	2f0a           	movel %a2,%sp@-                             
   4adfa:	4eb9 0004 d5e4 	jsr 4d5e4 <_Thread_Ready>                   
  );                                                                  
}                                                                     
                                                                      
static inline void _User_extensions_Thread_restart( Thread_Control *restarted )
{                                                                     
  _User_extensions_Iterate(                                           
   4ae00:	4879 0004 b064 	pea 4b064 <_User_extensions_Thread_restart_visitor>
   4ae06:	2f0a           	movel %a2,%sp@-                             
   4ae08:	4eb9 0004 b0dc 	jsr 4b0dc <_User_extensions_Iterate>        
                                                                      
    _User_extensions_Thread_restart( the_thread );                    
                                                                      
    if ( _Thread_Is_executing ( the_thread ) )                        
   4ae0e:	4fef 0020      	lea %sp@(32),%sp                            
      _Thread_Restart_self();                                         
                                                                      
    return true;                                                      
   4ae12:	7001           	moveq #1,%d0                                
                                                                      
    _Thread_Ready( the_thread );                                      
                                                                      
    _User_extensions_Thread_restart( the_thread );                    
                                                                      
    if ( _Thread_Is_executing ( the_thread ) )                        
   4ae14:	b5f9 0006 06d6 	cmpal 606d6 <_Per_CPU_Information+0xe>,%a2  
   4ae1a:	66b4           	bnes 4add0 <_Thread_Restart+0x14>           
 */                                                                   
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_Restart_self( void )                
{                                                                     
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )        
  if ( _Thread_Executing->fp_context != NULL )                        
   4ae1c:	4aaa 00f0      	tstl %a2@(240)                              
   4ae20:	6712           	beqs 4ae34 <_Thread_Restart+0x78>           
    _Context_Restore_fp( &_Thread_Executing->fp_context );            
   4ae22:	486a 00f0      	pea %a2@(240)                               
   4ae26:	4eb9 0004 b6ec 	jsr 4b6ec <_CPU_Context_restore_fp>         
   4ae2c:	2479 0006 06d6 	moveal 606d6 <_Per_CPU_Information+0xe>,%a2 
   4ae32:	588f           	addql #4,%sp                                
#endif                                                                
                                                                      
  _CPU_Context_Restart_self( &_Thread_Executing->Registers );         
   4ae34:	486a 00bc      	pea %a2@(188)                               
   4ae38:	4eb9 0004 b59a 	jsr 4b59a <_CPU_Context_Restart_self>       
                                                                      
    return true;                                                      
  }                                                                   
                                                                      
  return false;                                                       
}                                                                     
   4ae3e:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   4ae42:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4ae44:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    _User_extensions_Thread_restart( the_thread );                    
                                                                      
    if ( _Thread_Is_executing ( the_thread ) )                        
      _Thread_Restart_self();                                         
                                                                      
    return true;                                                      
   4ae46:	7001           	moveq #1,%d0                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return false;                                                       
}                                                                     
	...                                                                  
                                                                      

000496f8 <_Thread_blocking_operation_Cancel>: /* * If the sync state is timed out, this is very likely not needed. * But better safe than sorry when it comes to critical sections. */ if ( _Watchdog_Is_active( &the_thread->Timer ) ) {
   496f8:	7202           	moveq #2,%d1                                
  Thread_blocking_operation_States  sync_state __attribute__((unused)),
#endif                                                                
  Thread_Control                   *the_thread,                       
  ISR_Level                         level                             
)                                                                     
{                                                                     
   496fa:	4e56 0000      	linkw %fp,#0                                
   496fe:	202e 0010      	movel %fp@(16),%d0                          
   49702:	2f0a           	movel %a2,%sp@-                             
   49704:	246e 000c      	moveal %fp@(12),%a2                         
  #endif                                                              
                                                                      
  /*                                                                  
   * The thread is not waiting on anything after this completes.      
   */                                                                 
  the_thread->Wait.queue = NULL;                                      
   49708:	42aa 0044      	clrl %a2@(68)                               
                                                                      
  /*                                                                  
   *  If the sync state is timed out, this is very likely not needed. 
   *  But better safe than sorry when it comes to critical sections.  
   */                                                                 
  if ( _Watchdog_Is_active( &the_thread->Timer ) ) {                  
   4970c:	b2aa 0050      	cmpl %a2@(80),%d1                           
   49710:	671c           	beqs 4972e <_Thread_blocking_operation_Cancel+0x36>
    _Watchdog_Deactivate( &the_thread->Timer );                       
    _ISR_Enable( level );                                             
    (void) _Watchdog_Remove( &the_thread->Timer );                    
  } else                                                              
    _ISR_Enable( level );                                             
   49712:	46c0           	movew %d0,%sr                               
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_Unblock (                           
  Thread_Control *the_thread                                          
)                                                                     
{                                                                     
  _Thread_Clear_state( the_thread, STATES_BLOCKED );                  
   49714:	2d4a 0008      	movel %a2,%fp@(8)                           
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
                                                                      
}                                                                     
   49718:	246e fffc      	moveal %fp@(-4),%a2                         
   4971c:	203c 1007 fff8 	movel #268959736,%d0                        
   49722:	2d40 000c      	movel %d0,%fp@(12)                          
   49726:	4e5e           	unlk %fp                                    
   49728:	4ef9 0004 9844 	jmp 49844 <_Thread_Clear_state>             
RTEMS_INLINE_ROUTINE void _Watchdog_Deactivate(                       
  Watchdog_Control *the_watchdog                                      
)                                                                     
{                                                                     
                                                                      
  the_watchdog->state = WATCHDOG_REMOVE_IT;                           
   4972e:	123c 0003      	moveb #3,%d1                                
   49732:	2541 0050      	movel %d1,%a2@(80)                          
   *  If the sync state is timed out, this is very likely not needed. 
   *  But better safe than sorry when it comes to critical sections.  
   */                                                                 
  if ( _Watchdog_Is_active( &the_thread->Timer ) ) {                  
    _Watchdog_Deactivate( &the_thread->Timer );                       
    _ISR_Enable( level );                                             
   49736:	46c0           	movew %d0,%sr                               
    (void) _Watchdog_Remove( &the_thread->Timer );                    
   49738:	486a 0048      	pea %a2@(72)                                
   4973c:	4eb9 0004 a9d4 	jsr 4a9d4 <_Watchdog_Remove>                
   49742:	588f           	addql #4,%sp                                
   49744:	203c 1007 fff8 	movel #268959736,%d0                        
   4974a:	2d4a 0008      	movel %a2,%fp@(8)                           
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
                                                                      
}                                                                     
   4974e:	246e fffc      	moveal %fp@(-4),%a2                         
   49752:	2d40 000c      	movel %d0,%fp@(12)                          
   49756:	4e5e           	unlk %fp                                    
   49758:	4ef9 0004 9844 	jmp 49844 <_Thread_Clear_state>             
	...                                                                  
                                                                      

0004a02c <_Thread_queue_Dequeue_priority>: Chain_Node *new_second_node; Chain_Node *last_node; Chain_Node *next_node; Chain_Node *previous_node; _ISR_Disable( level );
   4a02c:	203c 0000 0700 	movel #1792,%d0                             
#include <rtems/score/tqdata.h>                                       
                                                                      
Thread_Control *_Thread_queue_Dequeue_priority(                       
  Thread_queue_Control *the_thread_queue                              
)                                                                     
{                                                                     
   4a032:	4e56 ffe8      	linkw %fp,#-24                              
   4a036:	226e 0008      	moveal %fp@(8),%a1                          
   4a03a:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 
  Chain_Node     *new_second_node;                                    
  Chain_Node     *last_node;                                          
  Chain_Node     *next_node;                                          
  Chain_Node     *previous_node;                                      
                                                                      
  _ISR_Disable( level );                                              
   4a03e:	40c3           	movew %sr,%d3                               
   4a040:	8083           	orl %d3,%d0                                 
   4a042:	46c0           	movew %d0,%sr                               
  for( index=0 ;                                                      
   4a044:	4281           	clrl %d1                                    
       index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;           
       index++ ) {                                                    
    if ( !_Chain_Is_empty( &the_thread_queue->Queues.Priority[ index ] ) ) {
   4a046:	2401           	movel %d1,%d2                               
   4a048:	2001           	movel %d1,%d0                               
  Chain_Node     *previous_node;                                      
                                                                      
  _ISR_Disable( level );                                              
  for( index=0 ;                                                      
       index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;           
       index++ ) {                                                    
   4a04a:	5281           	addql #1,%d1                                
    if ( !_Chain_Is_empty( &the_thread_queue->Queues.Priority[ index ] ) ) {
   4a04c:	e58a           	lsll #2,%d2                                 
   4a04e:	e988           	lsll #4,%d0                                 
   4a050:	9082           	subl %d2,%d0                                
   4a052:	41f1 0800      	lea %a1@(00000000,%d0:l),%a0                
   4a056:	2458           	moveal %a0@+,%a2                            
   4a058:	b1ca           	cmpal %a2,%a0                               
   4a05a:	6616           	bnes 4a072 <_Thread_queue_Dequeue_priority+0x46>
  Chain_Node     *last_node;                                          
  Chain_Node     *next_node;                                          
  Chain_Node     *previous_node;                                      
                                                                      
  _ISR_Disable( level );                                              
  for( index=0 ;                                                      
   4a05c:	7004           	moveq #4,%d0                                
   4a05e:	b081           	cmpl %d1,%d0                                
   4a060:	66e4           	bnes 4a046 <_Thread_queue_Dequeue_priority+0x1a>
  }                                                                   
                                                                      
  /*                                                                  
   * We did not find a thread to unblock.                             
   */                                                                 
  _ISR_Enable( level );                                               
   4a062:	46c3           	movew %d3,%sr                               
  return NULL;                                                        
   4a064:	95ca           	subal %a2,%a2                               
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
  return( the_thread );                                               
}                                                                     
   4a066:	200a           	movel %a2,%d0                               
   4a068:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4a06e:	4e5e           	unlk %fp                                    
   4a070:	4e75           	rts                                         
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   4a072:	200a           	movel %a2,%d0                               
   4a074:	0680 0000 003c 	addil #60,%d0                               
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4a07a:	206a 0038      	moveal %a2@(56),%a0                         
                                                                      
dequeue:                                                              
  the_thread->Wait.queue = NULL;                                      
  new_first_node   = _Chain_First( &the_thread->Wait.Block2n );       
  new_first_thread = (Thread_Control *) new_first_node;               
  next_node        = the_thread->Object.Node.next;                    
   4a07e:	2252           	moveal %a2@,%a1                             
  previous_node    = the_thread->Object.Node.previous;                
   4a080:	266a 0004      	moveal %a2@(4),%a3                          
   */                                                                 
  _ISR_Enable( level );                                               
  return NULL;                                                        
                                                                      
dequeue:                                                              
  the_thread->Wait.queue = NULL;                                      
   4a084:	42aa 0044      	clrl %a2@(68)                               
  new_first_node   = _Chain_First( &the_thread->Wait.Block2n );       
  new_first_thread = (Thread_Control *) new_first_node;               
  next_node        = the_thread->Object.Node.next;                    
  previous_node    = the_thread->Object.Node.previous;                
                                                                      
  if ( !_Chain_Is_empty( &the_thread->Wait.Block2n ) ) {              
   4a088:	b088           	cmpl %a0,%d0                                
   4a08a:	6700 008a      	beqw 4a116 <_Thread_queue_Dequeue_priority+0xea>
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last(                         
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Tail( the_chain )->previous;                          
   4a08e:	286a 0040      	moveal %a2@(64),%a4                         
    last_node       = _Chain_Last( &the_thread->Wait.Block2n );       
    new_second_node = new_first_node->next;                           
   4a092:	2a50           	moveal %a0@,%a5                             
                                                                      
    previous_node->next      = new_first_node;                        
    next_node->previous      = new_first_node;                        
   4a094:	2348 0004      	movel %a0,%a1@(4)                           
                                                                      
  if ( !_Chain_Is_empty( &the_thread->Wait.Block2n ) ) {              
    last_node       = _Chain_Last( &the_thread->Wait.Block2n );       
    new_second_node = new_first_node->next;                           
                                                                      
    previous_node->next      = new_first_node;                        
   4a098:	2688           	movel %a0,%a3@                              
    next_node->previous      = new_first_node;                        
    new_first_node->next     = next_node;                             
    new_first_node->previous = previous_node;                         
   4a09a:	214b 0004      	movel %a3,%a0@(4)                           
    last_node       = _Chain_Last( &the_thread->Wait.Block2n );       
    new_second_node = new_first_node->next;                           
                                                                      
    previous_node->next      = new_first_node;                        
    next_node->previous      = new_first_node;                        
    new_first_node->next     = next_node;                             
   4a09e:	2089           	movel %a1,%a0@                              
    new_first_node->previous = previous_node;                         
                                                                      
    if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {   
   4a0a0:	226a 0040      	moveal %a2@(64),%a1                         
   4a0a4:	b3ea 0038      	cmpal %a2@(56),%a1                          
   4a0a8:	6716           	beqs 4a0c0 <_Thread_queue_Dequeue_priority+0x94>
                                                /* > two threads on 2-n */
      head = _Chain_Head( &new_first_thread->Wait.Block2n );          
      tail = _Chain_Tail( &new_first_thread->Wait.Block2n );          
                                                                      
      new_second_node->previous = head;                               
      head->next = new_second_node;                                   
   4a0aa:	214d 0038      	movel %a5,%a0@(56)                          
    new_first_node->previous = previous_node;                         
                                                                      
    if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {   
                                                /* > two threads on 2-n */
      head = _Chain_Head( &new_first_thread->Wait.Block2n );          
      tail = _Chain_Tail( &new_first_thread->Wait.Block2n );          
   4a0ae:	43e8 003c      	lea %a0@(60),%a1                            
   4a0b2:	2889           	movel %a1,%a4@                              
    new_first_node->next     = next_node;                             
    new_first_node->previous = previous_node;                         
                                                                      
    if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {   
                                                /* > two threads on 2-n */
      head = _Chain_Head( &new_first_thread->Wait.Block2n );          
   4a0b4:	43e8 0038      	lea %a0@(56),%a1                            
   4a0b8:	2b49 0004      	movel %a1,%a5@(4)                           
      tail = _Chain_Tail( &new_first_thread->Wait.Block2n );          
                                                                      
      new_second_node->previous = head;                               
      head->next = new_second_node;                                   
      tail->previous = last_node;                                     
   4a0bc:	214c 0040      	movel %a4,%a0@(64)                          
  } else {                                                            
    previous_node->next = next_node;                                  
    next_node->previous = previous_node;                              
  }                                                                   
                                                                      
  if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {                 
   4a0c0:	7002           	moveq #2,%d0                                
   4a0c2:	b0aa 0050      	cmpl %a2@(80),%d0                           
   4a0c6:	671e           	beqs 4a0e6 <_Thread_queue_Dequeue_priority+0xba>
    _ISR_Enable( level );                                             
   4a0c8:	46c3           	movew %d3,%sr                               
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_Unblock (                           
  Thread_Control *the_thread                                          
)                                                                     
{                                                                     
  _Thread_Clear_state( the_thread, STATES_BLOCKED );                  
   4a0ca:	2f3c 1007 fff8 	movel #268959736,%sp@-                      
   4a0d0:	2f0a           	movel %a2,%sp@-                             
   4a0d2:	4eb9 0004 9844 	jsr 49844 <_Thread_Clear_state>             
   4a0d8:	508f           	addql #8,%sp                                
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
  return( the_thread );                                               
}                                                                     
   4a0da:	200a           	movel %a2,%d0                               
   4a0dc:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4a0e2:	4e5e           	unlk %fp                                    
   4a0e4:	4e75           	rts                                         
RTEMS_INLINE_ROUTINE void _Watchdog_Deactivate(                       
  Watchdog_Control *the_watchdog                                      
)                                                                     
{                                                                     
                                                                      
  the_watchdog->state = WATCHDOG_REMOVE_IT;                           
   4a0e6:	7003           	moveq #3,%d0                                
   4a0e8:	2540 0050      	movel %d0,%a2@(80)                          
  if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {                 
    _ISR_Enable( level );                                             
    _Thread_Unblock( the_thread );                                    
  } else {                                                            
    _Watchdog_Deactivate( &the_thread->Timer );                       
    _ISR_Enable( level );                                             
   4a0ec:	46c3           	movew %d3,%sr                               
    (void) _Watchdog_Remove( &the_thread->Timer );                    
   4a0ee:	486a 0048      	pea %a2@(72)                                
   4a0f2:	4eb9 0004 a9d4 	jsr 4a9d4 <_Watchdog_Remove>                
   4a0f8:	2f3c 1007 fff8 	movel #268959736,%sp@-                      
   4a0fe:	2f0a           	movel %a2,%sp@-                             
   4a100:	4eb9 0004 9844 	jsr 49844 <_Thread_Clear_state>             
   4a106:	4fef 000c      	lea %sp@(12),%sp                            
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
  return( the_thread );                                               
}                                                                     
   4a10a:	200a           	movel %a2,%d0                               
   4a10c:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4a112:	4e5e           	unlk %fp                                    
   4a114:	4e75           	rts                                         
      head->next = new_second_node;                                   
      tail->previous = last_node;                                     
      last_node->next = tail;                                         
    }                                                                 
  } else {                                                            
    previous_node->next = next_node;                                  
   4a116:	2689           	movel %a1,%a3@                              
    next_node->previous = previous_node;                              
   4a118:	234b 0004      	movel %a3,%a1@(4)                           
   4a11c:	60a2           	bras 4a0c0 <_Thread_queue_Dequeue_priority+0x94>
	...                                                                  
                                                                      

0004a1cc <_Thread_queue_Enqueue_priority>: Thread_blocking_operation_States _Thread_queue_Enqueue_priority ( Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, ISR_Level *level_p ) {
   4a1cc:	4e56 ffe0      	linkw %fp,#-32                              
   4a1d0:	48d7 1c7c      	moveml %d2-%d6/%a2-%a4,%sp@                 
   4a1d4:	266e 000c      	moveal %fp@(12),%a3                         
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   4a1d8:	45eb 0038      	lea %a3@(56),%a2                            
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4a1dc:	41eb 003c      	lea %a3@(60),%a0                            
  Priority_Control     priority;                                      
  States_Control       block_state;                                   
                                                                      
  _Chain_Initialize_empty( &the_thread->Wait.Block2n );               
                                                                      
  priority     = the_thread->current_priority;                        
   4a1e0:	222b 0014      	movel %a3@(20),%d1                          
                                                                      
RTEMS_INLINE_ROUTINE uint32_t   _Thread_queue_Header_number (         
  Priority_Control the_priority                                       
)                                                                     
{                                                                     
  return (the_priority / TASK_QUEUE_DATA_PRIORITIES_PER_HEADER);      
   4a1e4:	2001           	movel %d1,%d0                               
   4a1e6:	ec88           	lsrl #6,%d0                                 
  header_index = _Thread_queue_Header_number( priority );             
  header       = &the_thread_queue->Queues.Priority[ header_index ];  
   4a1e8:	2400           	movel %d0,%d2                               
   4a1ea:	e988           	lsll #4,%d0                                 
   4a1ec:	e58a           	lsll #2,%d2                                 
Thread_blocking_operation_States _Thread_queue_Enqueue_priority (     
  Thread_queue_Control *the_thread_queue,                             
  Thread_Control       *the_thread,                                   
  ISR_Level            *level_p                                       
)                                                                     
{                                                                     
   4a1ee:	286e 0008      	moveal %fp@(8),%a4                          
                                                                      
  _Chain_Initialize_empty( &the_thread->Wait.Block2n );               
                                                                      
  priority     = the_thread->current_priority;                        
  header_index = _Thread_queue_Header_number( priority );             
  header       = &the_thread_queue->Queues.Priority[ header_index ];  
   4a1f2:	9082           	subl %d2,%d0                                
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   4a1f4:	274a 0040      	movel %a2,%a3@(64)                          
  block_state  = the_thread_queue->state;                             
   4a1f8:	242c 0038      	movel %a4@(56),%d2                          
                                                                      
  _Chain_Initialize_empty( &the_thread->Wait.Block2n );               
                                                                      
  priority     = the_thread->current_priority;                        
  header_index = _Thread_queue_Header_number( priority );             
  header       = &the_thread_queue->Queues.Priority[ header_index ];  
   4a1fc:	45f4 0800      	lea %a4@(00000000,%d0:l),%a2                
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4a200:	2748 0038      	movel %a0,%a3@(56)                          
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4a204:	42ab 003c      	clrl %a3@(60)                               
  block_state  = the_thread_queue->state;                             
                                                                      
  if ( _Thread_queue_Is_reverse_search( priority ) )                  
   4a208:	0801 0005      	btst #5,%d1                                 
   4a20c:	6656           	bnes 4a264 <_Thread_queue_Enqueue_priority+0x98>
   4a20e:	2c0a           	movel %a2,%d6                               
    goto restart_reverse_search;                                      
                                                                      
restart_forward_search:                                               
  search_priority = PRIORITY_MINIMUM - 1;                             
  _ISR_Disable( level );                                              
   4a210:	2a3c 0000 0700 	movel #1792,%d5                             
   4a216:	5886           	addql #4,%d6                                
   4a218:	2005           	movel %d5,%d0                               
   4a21a:	40c3           	movew %sr,%d3                               
   4a21c:	8083           	orl %d3,%d0                                 
   4a21e:	46c0           	movew %d0,%sr                               
   4a220:	2803           	movel %d3,%d4                               
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4a222:	2052           	moveal %a2@,%a0                             
  search_thread = (Thread_Control *) _Chain_First( header );          
  while ( !_Chain_Is_tail( header, (Chain_Node *)search_thread ) ) {  
   4a224:	bc88           	cmpl %a0,%d6                                
   4a226:	6700 0148      	beqw 4a370 <_Thread_queue_Enqueue_priority+0x1a4>
    search_priority = search_thread->current_priority;                
   4a22a:	2268 0014      	moveal %a0@(20),%a1                         
    if ( priority <= search_priority )                                
   4a22e:	b3c1           	cmpal %d1,%a1                               
   4a230:	6418           	bccs 4a24a <_Thread_queue_Enqueue_priority+0x7e>
      break;                                                          
    search_priority = search_thread->current_priority;                
    if ( priority <= search_priority )                                
      break;                                                          
#endif                                                                
    _ISR_Flash( level );                                              
   4a232:	2005           	movel %d5,%d0                               
   4a234:	46c3           	movew %d3,%sr                               
   4a236:	8083           	orl %d3,%d0                                 
   4a238:	46c0           	movew %d0,%sr                               
RTEMS_INLINE_ROUTINE bool _States_Are_set (                           
  States_Control the_states,                                          
  States_Control mask                                                 
)                                                                     
{                                                                     
   return ( (the_states & mask) != STATES_READY);                     
   4a23a:	2002           	movel %d2,%d0                               
   4a23c:	c0a8 0010      	andl %a0@(16),%d0                           
    if ( !_States_Are_set( search_thread->current_state, block_state) ) {
   4a240:	6700 0092      	beqw 4a2d4 <_Thread_queue_Enqueue_priority+0x108>
      _ISR_Enable( level );                                           
      goto restart_forward_search;                                    
    }                                                                 
    search_thread =                                                   
   4a244:	2050           	moveal %a0@,%a0                             
                                                                      
restart_forward_search:                                               
  search_priority = PRIORITY_MINIMUM - 1;                             
  _ISR_Disable( level );                                              
  search_thread = (Thread_Control *) _Chain_First( header );          
  while ( !_Chain_Is_tail( header, (Chain_Node *)search_thread ) ) {  
   4a246:	bc88           	cmpl %a0,%d6                                
   4a248:	66e0           	bnes 4a22a <_Thread_queue_Enqueue_priority+0x5e>
    }                                                                 
    search_thread =                                                   
       (Thread_Control *)search_thread->Object.Node.next;             
  }                                                                   
                                                                      
  if ( the_thread_queue->sync_state !=                                
   4a24a:	202c 0030      	movel %a4@(48),%d0                          
   4a24e:	7401           	moveq #1,%d2                                
   4a250:	b480           	cmpl %d0,%d2                                
   4a252:	6700 00b6      	beqw 4a30a <_Thread_queue_Enqueue_priority+0x13e>
   *  For example, the blocking thread could have been given          
   *  the mutex by an ISR or timed out.                               
   *                                                                  
   *  WARNING! Returning with interrupts disabled!                    
   */                                                                 
  *level_p = level;                                                   
   4a256:	206e 0010      	moveal %fp@(16),%a0                         
   4a25a:	2084           	movel %d4,%a0@                              
  return the_thread_queue->sync_state;                                
}                                                                     
   4a25c:	4cd7 1c7c      	moveml %sp@,%d2-%d6/%a2-%a4                 
   4a260:	4e5e           	unlk %fp                                    
   4a262:	4e75           	rts                                         
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
                                                                      
restart_reverse_search:                                               
  search_priority     = PRIORITY_MAXIMUM + 1;                         
                                                                      
  _ISR_Disable( level );                                              
   4a264:	2a3c 0000 0700 	movel #1792,%d5                             
   4a26a:	2005           	movel %d5,%d0                               
  the_thread->Wait.queue = the_thread_queue;                          
  _ISR_Enable( level );                                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
                                                                      
restart_reverse_search:                                               
  search_priority     = PRIORITY_MAXIMUM + 1;                         
   4a26c:	1c39 0005 e19c 	moveb 5e19c <rtems_maximum_priority>,%d6    
                                                                      
  _ISR_Disable( level );                                              
   4a272:	40c3           	movew %sr,%d3                               
   4a274:	8083           	orl %d3,%d0                                 
   4a276:	46c0           	movew %d0,%sr                               
   4a278:	2803           	movel %d3,%d4                               
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last(                         
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Tail( the_chain )->previous;                          
   4a27a:	206a 0008      	moveal %a2@(8),%a0                          
  search_thread = (Thread_Control *) _Chain_Last( header );           
  while ( !_Chain_Is_head( header, (Chain_Node *)search_thread ) ) {  
   4a27e:	b5c8           	cmpal %a0,%a2                               
   4a280:	6700 00d4      	beqw 4a356 <_Thread_queue_Enqueue_priority+0x18a>
    search_priority = search_thread->current_priority;                
   4a284:	2268 0014      	moveal %a0@(20),%a1                         
    if ( priority >= search_priority )                                
   4a288:	b3c1           	cmpal %d1,%a1                               
   4a28a:	6318           	blss 4a2a4 <_Thread_queue_Enqueue_priority+0xd8>
      break;                                                          
    search_priority = search_thread->current_priority;                
    if ( priority >= search_priority )                                
      break;                                                          
#endif                                                                
    _ISR_Flash( level );                                              
   4a28c:	2005           	movel %d5,%d0                               
   4a28e:	46c3           	movew %d3,%sr                               
   4a290:	8083           	orl %d3,%d0                                 
   4a292:	46c0           	movew %d0,%sr                               
   4a294:	2002           	movel %d2,%d0                               
   4a296:	c0a8 0010      	andl %a0@(16),%d0                           
    if ( !_States_Are_set( search_thread->current_state, block_state) ) {
   4a29a:	6750           	beqs 4a2ec <_Thread_queue_Enqueue_priority+0x120>
      _ISR_Enable( level );                                           
      goto restart_reverse_search;                                    
    }                                                                 
    search_thread = (Thread_Control *)                                
   4a29c:	2068 0004      	moveal %a0@(4),%a0                          
restart_reverse_search:                                               
  search_priority     = PRIORITY_MAXIMUM + 1;                         
                                                                      
  _ISR_Disable( level );                                              
  search_thread = (Thread_Control *) _Chain_Last( header );           
  while ( !_Chain_Is_head( header, (Chain_Node *)search_thread ) ) {  
   4a2a0:	b5c8           	cmpal %a0,%a2                               
   4a2a2:	66e0           	bnes 4a284 <_Thread_queue_Enqueue_priority+0xb8>
    }                                                                 
    search_thread = (Thread_Control *)                                
                         search_thread->Object.Node.previous;         
  }                                                                   
                                                                      
  if ( the_thread_queue->sync_state !=                                
   4a2a4:	202c 0030      	movel %a4@(48),%d0                          
   4a2a8:	7401           	moveq #1,%d2                                
   4a2aa:	b480           	cmpl %d0,%d2                                
   4a2ac:	66a8           	bnes 4a256 <_Thread_queue_Enqueue_priority+0x8a><== NEVER TAKEN
       THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED )                   
    goto synchronize;                                                 
                                                                      
  the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_SYNCHRONIZED;
   4a2ae:	42ac 0030      	clrl %a4@(48)                               
                                                                      
  if ( priority == search_priority )                                  
   4a2b2:	b3c1           	cmpal %d1,%a1                               
   4a2b4:	677c           	beqs 4a332 <_Thread_queue_Enqueue_priority+0x166>
    goto equal_priority;                                              
                                                                      
  search_node = (Chain_Node *) search_thread;                         
  next_node   = search_node->next;                                    
   4a2b6:	2250           	moveal %a0@,%a1                             
  the_node    = (Chain_Node *) the_thread;                            
                                                                      
  the_node->next          = next_node;                                
  the_node->previous      = search_node;                              
   4a2b8:	2748 0004      	movel %a0,%a3@(4)                           
                                                                      
  search_node = (Chain_Node *) search_thread;                         
  next_node   = search_node->next;                                    
  the_node    = (Chain_Node *) the_thread;                            
                                                                      
  the_node->next          = next_node;                                
   4a2bc:	2689           	movel %a1,%a3@                              
  the_node->previous      = search_node;                              
  search_node->next       = the_node;                                 
  next_node->previous    = the_node;                                  
   4a2be:	234b 0004      	movel %a3,%a1@(4)                           
  next_node   = search_node->next;                                    
  the_node    = (Chain_Node *) the_thread;                            
                                                                      
  the_node->next          = next_node;                                
  the_node->previous      = search_node;                              
  search_node->next       = the_node;                                 
   4a2c2:	208b           	movel %a3,%a0@                              
  next_node->previous    = the_node;                                  
  the_thread->Wait.queue = the_thread_queue;                          
   4a2c4:	274c 0044      	movel %a4,%a3@(68)                          
  _ISR_Enable( level );                                               
   4a2c8:	46c3           	movew %d3,%sr                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
   4a2ca:	7001           	moveq #1,%d0                                
   *                                                                  
   *  WARNING! Returning with interrupts disabled!                    
   */                                                                 
  *level_p = level;                                                   
  return the_thread_queue->sync_state;                                
}                                                                     
   4a2cc:	4cd7 1c7c      	moveml %sp@,%d2-%d6/%a2-%a4                 
   4a2d0:	4e5e           	unlk %fp                                    
   4a2d2:	4e75           	rts                                         
    if ( priority <= search_priority )                                
      break;                                                          
#endif                                                                
    _ISR_Flash( level );                                              
    if ( !_States_Are_set( search_thread->current_state, block_state) ) {
      _ISR_Enable( level );                                           
   4a2d4:	46c3           	movew %d3,%sr                               
  if ( _Thread_queue_Is_reverse_search( priority ) )                  
    goto restart_reverse_search;                                      
                                                                      
restart_forward_search:                                               
  search_priority = PRIORITY_MINIMUM - 1;                             
  _ISR_Disable( level );                                              
   4a2d6:	2005           	movel %d5,%d0                               
   4a2d8:	40c3           	movew %sr,%d3                               
   4a2da:	8083           	orl %d3,%d0                                 
   4a2dc:	46c0           	movew %d0,%sr                               
   4a2de:	2803           	movel %d3,%d4                               
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4a2e0:	2052           	moveal %a2@,%a0                             
  search_thread = (Thread_Control *) _Chain_First( header );          
  while ( !_Chain_Is_tail( header, (Chain_Node *)search_thread ) ) {  
   4a2e2:	bc88           	cmpl %a0,%d6                                
   4a2e4:	6600 ff44      	bnew 4a22a <_Thread_queue_Enqueue_priority+0x5e>
   4a2e8:	6000 0086      	braw 4a370 <_Thread_queue_Enqueue_priority+0x1a4>
    if ( priority >= search_priority )                                
      break;                                                          
#endif                                                                
    _ISR_Flash( level );                                              
    if ( !_States_Are_set( search_thread->current_state, block_state) ) {
      _ISR_Enable( level );                                           
   4a2ec:	46c3           	movew %d3,%sr                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
                                                                      
restart_reverse_search:                                               
  search_priority     = PRIORITY_MAXIMUM + 1;                         
                                                                      
  _ISR_Disable( level );                                              
   4a2ee:	2005           	movel %d5,%d0                               
  the_thread->Wait.queue = the_thread_queue;                          
  _ISR_Enable( level );                                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
                                                                      
restart_reverse_search:                                               
  search_priority     = PRIORITY_MAXIMUM + 1;                         
   4a2f0:	1c39 0005 e19c 	moveb 5e19c <rtems_maximum_priority>,%d6    
                                                                      
  _ISR_Disable( level );                                              
   4a2f6:	40c3           	movew %sr,%d3                               
   4a2f8:	8083           	orl %d3,%d0                                 
   4a2fa:	46c0           	movew %d0,%sr                               
   4a2fc:	2803           	movel %d3,%d4                               
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last(                         
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Tail( the_chain )->previous;                          
   4a2fe:	206a 0008      	moveal %a2@(8),%a0                          
  search_thread = (Thread_Control *) _Chain_Last( header );           
  while ( !_Chain_Is_head( header, (Chain_Node *)search_thread ) ) {  
   4a302:	b5c8           	cmpal %a0,%a2                               
   4a304:	6600 ff7e      	bnew 4a284 <_Thread_queue_Enqueue_priority+0xb8>
   4a308:	604c           	bras 4a356 <_Thread_queue_Enqueue_priority+0x18a>
                                                                      
  if ( the_thread_queue->sync_state !=                                
       THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED )                   
    goto synchronize;                                                 
                                                                      
  the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_SYNCHRONIZED;
   4a30a:	42ac 0030      	clrl %a4@(48)                               
                                                                      
  if ( priority == search_priority )                                  
   4a30e:	b3c1           	cmpal %d1,%a1                               
   4a310:	6720           	beqs 4a332 <_Thread_queue_Enqueue_priority+0x166>
    goto equal_priority;                                              
                                                                      
  search_node   = (Chain_Node *) search_thread;                       
  previous_node = search_node->previous;                              
   4a312:	2268 0004      	moveal %a0@(4),%a1                          
  the_node      = (Chain_Node *) the_thread;                          
                                                                      
  the_node->next         = search_node;                               
   4a316:	2688           	movel %a0,%a3@                              
  the_node->previous     = previous_node;                             
   4a318:	2749 0004      	movel %a1,%a3@(4)                           
  previous_node->next    = the_node;                                  
   4a31c:	228b           	movel %a3,%a1@                              
  search_node->previous  = the_node;                                  
   4a31e:	214b 0004      	movel %a3,%a0@(4)                           
  the_thread->Wait.queue = the_thread_queue;                          
   4a322:	274c 0044      	movel %a4,%a3@(68)                          
  _ISR_Enable( level );                                               
   4a326:	46c3           	movew %d3,%sr                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
   4a328:	7001           	moveq #1,%d0                                
   *                                                                  
   *  WARNING! Returning with interrupts disabled!                    
   */                                                                 
  *level_p = level;                                                   
  return the_thread_queue->sync_state;                                
}                                                                     
   4a32a:	4cd7 1c7c      	moveml %sp@,%d2-%d6/%a2-%a4                 
   4a32e:	4e5e           	unlk %fp                                    
   4a330:	4e75           	rts                                         
  _ISR_Enable( level );                                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
                                                                      
equal_priority:               /* add at end of priority group */      
  search_node   = _Chain_Tail( &search_thread->Wait.Block2n );        
  previous_node = search_node->previous;                              
   4a332:	2268 0040      	moveal %a0@(64),%a1                         
  the_thread->Wait.queue = the_thread_queue;                          
  _ISR_Enable( level );                                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
                                                                      
equal_priority:               /* add at end of priority group */      
  search_node   = _Chain_Tail( &search_thread->Wait.Block2n );        
   4a336:	45e8 003c      	lea %a0@(60),%a2                            
  previous_node = search_node->previous;                              
  the_node      = (Chain_Node *) the_thread;                          
                                                                      
  the_node->next         = search_node;                               
  the_node->previous     = previous_node;                             
   4a33a:	2749 0004      	movel %a1,%a3@(4)                           
  the_thread->Wait.queue = the_thread_queue;                          
  _ISR_Enable( level );                                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
                                                                      
equal_priority:               /* add at end of priority group */      
  search_node   = _Chain_Tail( &search_thread->Wait.Block2n );        
   4a33e:	268a           	movel %a2,%a3@                              
  the_node      = (Chain_Node *) the_thread;                          
                                                                      
  the_node->next         = search_node;                               
  the_node->previous     = previous_node;                             
  previous_node->next    = the_node;                                  
  search_node->previous  = the_node;                                  
   4a340:	214b 0040      	movel %a3,%a0@(64)                          
  previous_node = search_node->previous;                              
  the_node      = (Chain_Node *) the_thread;                          
                                                                      
  the_node->next         = search_node;                               
  the_node->previous     = previous_node;                             
  previous_node->next    = the_node;                                  
   4a344:	228b           	movel %a3,%a1@                              
  search_node->previous  = the_node;                                  
  the_thread->Wait.queue = the_thread_queue;                          
   4a346:	274c 0044      	movel %a4,%a3@(68)                          
  _ISR_Enable( level );                                               
   4a34a:	46c4           	movew %d4,%sr                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
   4a34c:	7001           	moveq #1,%d0                                
   *                                                                  
   *  WARNING! Returning with interrupts disabled!                    
   */                                                                 
  *level_p = level;                                                   
  return the_thread_queue->sync_state;                                
}                                                                     
   4a34e:	4cd7 1c7c      	moveml %sp@,%d2-%d6/%a2-%a4                 
   4a352:	4e5e           	unlk %fp                                    
   4a354:	4e75           	rts                                         
    }                                                                 
    search_thread = (Thread_Control *)                                
                         search_thread->Object.Node.previous;         
  }                                                                   
                                                                      
  if ( the_thread_queue->sync_state !=                                
   4a356:	202c 0030      	movel %a4@(48),%d0                          
   4a35a:	7401           	moveq #1,%d2                                
  the_thread->Wait.queue = the_thread_queue;                          
  _ISR_Enable( level );                                               
  return THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;                  
                                                                      
restart_reverse_search:                                               
  search_priority     = PRIORITY_MAXIMUM + 1;                         
   4a35c:	0286 0000 00ff 	andil #255,%d6                              
   4a362:	2246           	moveal %d6,%a1                              
   4a364:	5289           	addql #1,%a1                                
    }                                                                 
    search_thread = (Thread_Control *)                                
                         search_thread->Object.Node.previous;         
  }                                                                   
                                                                      
  if ( the_thread_queue->sync_state !=                                
   4a366:	b480           	cmpl %d0,%d2                                
   4a368:	6600 feec      	bnew 4a256 <_Thread_queue_Enqueue_priority+0x8a>
   4a36c:	6000 ff40      	braw 4a2ae <_Thread_queue_Enqueue_priority+0xe2>
    }                                                                 
    search_thread =                                                   
       (Thread_Control *)search_thread->Object.Node.next;             
  }                                                                   
                                                                      
  if ( the_thread_queue->sync_state !=                                
   4a370:	202c 0030      	movel %a4@(48),%d0                          
                                                                      
  if ( _Thread_queue_Is_reverse_search( priority ) )                  
    goto restart_reverse_search;                                      
                                                                      
restart_forward_search:                                               
  search_priority = PRIORITY_MINIMUM - 1;                             
   4a374:	327c ffff      	moveaw #-1,%a1                              
    }                                                                 
    search_thread =                                                   
       (Thread_Control *)search_thread->Object.Node.next;             
  }                                                                   
                                                                      
  if ( the_thread_queue->sync_state !=                                
   4a378:	7401           	moveq #1,%d2                                
   4a37a:	b480           	cmpl %d0,%d2                                
   4a37c:	6600 fed8      	bnew 4a256 <_Thread_queue_Enqueue_priority+0x8a>
   4a380:	6088           	bras 4a30a <_Thread_queue_Enqueue_priority+0x13e>
	...                                                                  
                                                                      

0004e030 <_Thread_queue_Extract_fifo>: Thread_Control *the_thread ) { ISR_Level level; _ISR_Disable( level );
   4e030:	203c 0000 0700 	movel #1792,%d0                             
                                                                      
void _Thread_queue_Extract_fifo(                                      
  Thread_queue_Control *the_thread_queue __attribute__((unused)),     
  Thread_Control       *the_thread                                    
)                                                                     
{                                                                     
   4e036:	4e56 0000      	linkw %fp,#0                                
   4e03a:	2f0a           	movel %a2,%sp@-                             
   4e03c:	246e 000c      	moveal %fp@(12),%a2                         
  ISR_Level level;                                                    
                                                                      
  _ISR_Disable( level );                                              
   4e040:	40c1           	movew %sr,%d1                               
   4e042:	8081           	orl %d1,%d0                                 
   4e044:	46c0           	movew %d0,%sr                               
   4e046:	202a 0010      	movel %a2@(16),%d0                          
   4e04a:	0280 0003 bee0 	andil #245472,%d0                           
                                                                      
  if ( !_States_Is_waiting_on_thread_queue( the_thread->current_state ) ) {
   4e050:	6734           	beqs 4e086 <_Thread_queue_Extract_fifo+0x56>
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   4e052:	2252           	moveal %a2@,%a1                             
                                                                      
  _Chain_Extract_unprotected( &the_thread->Object.Node );             
                                                                      
  the_thread->Wait.queue = NULL;                                      
                                                                      
  if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {                 
   4e054:	7002           	moveq #2,%d0                                
  previous       = the_node->previous;                                
   4e056:	206a 0004      	moveal %a2@(4),%a0                          
  next->previous = previous;                                          
   4e05a:	2348 0004      	movel %a0,%a1@(4)                           
  previous->next = next;                                              
   4e05e:	2089           	movel %a1,%a0@                              
    return;                                                           
  }                                                                   
                                                                      
  _Chain_Extract_unprotected( &the_thread->Object.Node );             
                                                                      
  the_thread->Wait.queue = NULL;                                      
   4e060:	42aa 0044      	clrl %a2@(68)                               
                                                                      
  if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {                 
   4e064:	b0aa 0050      	cmpl %a2@(80),%d0                           
   4e068:	6726           	beqs 4e090 <_Thread_queue_Extract_fifo+0x60>
    _ISR_Enable( level );                                             
   4e06a:	46c1           	movew %d1,%sr                               
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_Unblock (                           
  Thread_Control *the_thread                                          
)                                                                     
{                                                                     
  _Thread_Clear_state( the_thread, STATES_BLOCKED );                  
   4e06c:	2d4a 0008      	movel %a2,%fp@(8)                           
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
                                                                      
}                                                                     
   4e070:	246e fffc      	moveal %fp@(-4),%a2                         
   4e074:	203c 1007 fff8 	movel #268959736,%d0                        
   4e07a:	2d40 000c      	movel %d0,%fp@(12)                          
   4e07e:	4e5e           	unlk %fp                                    
   4e080:	4ef9 0004 9844 	jmp 49844 <_Thread_Clear_state>             
  ISR_Level level;                                                    
                                                                      
  _ISR_Disable( level );                                              
                                                                      
  if ( !_States_Is_waiting_on_thread_queue( the_thread->current_state ) ) {
    _ISR_Enable( level );                                             
   4e086:	46c1           	movew %d1,%sr                               
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
                                                                      
}                                                                     
   4e088:	246e fffc      	moveal %fp@(-4),%a2                         
   4e08c:	4e5e           	unlk %fp                                    
   4e08e:	4e75           	rts                                         
   4e090:	7003           	moveq #3,%d0                                
   4e092:	2540 0050      	movel %d0,%a2@(80)                          
                                                                      
  if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {                 
    _ISR_Enable( level );                                             
  } else {                                                            
    _Watchdog_Deactivate( &the_thread->Timer );                       
    _ISR_Enable( level );                                             
   4e096:	46c1           	movew %d1,%sr                               
    (void) _Watchdog_Remove( &the_thread->Timer );                    
   4e098:	486a 0048      	pea %a2@(72)                                
   4e09c:	4eb9 0004 a9d4 	jsr 4a9d4 <_Watchdog_Remove>                
   4e0a2:	588f           	addql #4,%sp                                
   4e0a4:	203c 1007 fff8 	movel #268959736,%d0                        
   4e0aa:	2d4a 0008      	movel %a2,%fp@(8)                           
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
                                                                      
}                                                                     
   4e0ae:	246e fffc      	moveal %fp@(-4),%a2                         
   4e0b2:	2d40 000c      	movel %d0,%fp@(12)                          
   4e0b6:	4e5e           	unlk %fp                                    
   4e0b8:	4ef9 0004 9844 	jmp 49844 <_Thread_Clear_state>             
	...                                                                  
                                                                      

0004cb94 <_Thread_queue_Extract_priority_helper>: Chain_Node *new_first_node; Chain_Node *new_second_node; Chain_Node *last_node; the_node = (Chain_Node *) the_thread; _ISR_Disable( level );
   4cb94:	203c 0000 0700 	movel #1792,%d0                             
void _Thread_queue_Extract_priority_helper(                           
  Thread_queue_Control *the_thread_queue __attribute__((unused)),     
  Thread_Control       *the_thread,                                   
  bool                  requeuing                                     
)                                                                     
{                                                                     
   4cb9a:	4e56 ffec      	linkw %fp,#-20                              
   4cb9e:	48d7 3c04      	moveml %d2/%a2-%a5,%sp@                     
   4cba2:	246e 000c      	moveal %fp@(12),%a2                         
   4cba6:	142e 0013      	moveb %fp@(19),%d2                          
  Chain_Node     *new_first_node;                                     
  Chain_Node     *new_second_node;                                    
  Chain_Node     *last_node;                                          
                                                                      
  the_node = (Chain_Node *) the_thread;                               
  _ISR_Disable( level );                                              
   4cbaa:	40c1           	movew %sr,%d1                               
   4cbac:	8081           	orl %d1,%d0                                 
   4cbae:	46c0           	movew %d0,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE bool _States_Is_waiting_on_thread_queue (        
  States_Control the_states                                           
)                                                                     
{                                                                     
   return (the_states & STATES_WAITING_ON_THREAD_QUEUE);              
   4cbb0:	202a 0010      	movel %a2@(16),%d0                          
   4cbb4:	0280 0003 bee0 	andil #245472,%d0                           
  if ( !_States_Is_waiting_on_thread_queue( the_thread->current_state ) ) {
   4cbba:	6772           	beqs 4cc2e <_Thread_queue_Extract_priority_helper+0x9a>
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   4cbbc:	200a           	movel %a2,%d0                               
   4cbbe:	0680 0000 003c 	addil #60,%d0                               
                                                                      
  /*                                                                  
   *  The thread was actually waiting on a thread queue so let's remove it.
   */                                                                 
                                                                      
  next_node     = the_node->next;                                     
   4cbc4:	2252           	moveal %a2@,%a1                             
  previous_node = the_node->previous;                                 
   4cbc6:	266a 0004      	moveal %a2@(4),%a3                          
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4cbca:	206a 0038      	moveal %a2@(56),%a0                         
                                                                      
  if ( !_Chain_Is_empty( &the_thread->Wait.Block2n ) ) {              
   4cbce:	b088           	cmpl %a0,%d0                                
   4cbd0:	6768           	beqs 4cc3a <_Thread_queue_Extract_priority_helper+0xa6>
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last(                         
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Tail( the_chain )->previous;                          
   4cbd2:	286a 0040      	moveal %a2@(64),%a4                         
    new_first_node   = _Chain_First( &the_thread->Wait.Block2n );     
    new_first_thread = (Thread_Control *) new_first_node;             
    last_node        = _Chain_Last( &the_thread->Wait.Block2n );      
    new_second_node  = new_first_node->next;                          
   4cbd6:	2a50           	moveal %a0@,%a5                             
                                                                      
    previous_node->next      = new_first_node;                        
    next_node->previous      = new_first_node;                        
   4cbd8:	2348 0004      	movel %a0,%a1@(4)                           
    new_first_node   = _Chain_First( &the_thread->Wait.Block2n );     
    new_first_thread = (Thread_Control *) new_first_node;             
    last_node        = _Chain_Last( &the_thread->Wait.Block2n );      
    new_second_node  = new_first_node->next;                          
                                                                      
    previous_node->next      = new_first_node;                        
   4cbdc:	2688           	movel %a0,%a3@                              
    next_node->previous      = new_first_node;                        
    new_first_node->next     = next_node;                             
    new_first_node->previous = previous_node;                         
   4cbde:	214b 0004      	movel %a3,%a0@(4)                           
                                                                      
    if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {   
   4cbe2:	202a 0040      	movel %a2@(64),%d0                          
    last_node        = _Chain_Last( &the_thread->Wait.Block2n );      
    new_second_node  = new_first_node->next;                          
                                                                      
    previous_node->next      = new_first_node;                        
    next_node->previous      = new_first_node;                        
    new_first_node->next     = next_node;                             
   4cbe6:	2089           	movel %a1,%a0@                              
    new_first_node->previous = previous_node;                         
                                                                      
    if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {   
   4cbe8:	b0aa 0038      	cmpl %a2@(56),%d0                           
   4cbec:	6716           	beqs 4cc04 <_Thread_queue_Extract_priority_helper+0x70>
                                        /* > two threads on 2-n */    
      head = _Chain_Head( &new_first_thread->Wait.Block2n );          
      tail = _Chain_Tail( &new_first_thread->Wait.Block2n );          
                                                                      
      new_second_node->previous = head;                               
      head->next = new_second_node;                                   
   4cbee:	214d 0038      	movel %a5,%a0@(56)                          
    new_first_node->previous = previous_node;                         
                                                                      
    if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {   
                                        /* > two threads on 2-n */    
      head = _Chain_Head( &new_first_thread->Wait.Block2n );          
      tail = _Chain_Tail( &new_first_thread->Wait.Block2n );          
   4cbf2:	43e8 003c      	lea %a0@(60),%a1                            
   4cbf6:	2889           	movel %a1,%a4@                              
    new_first_node->next     = next_node;                             
    new_first_node->previous = previous_node;                         
                                                                      
    if ( !_Chain_Has_only_one_node( &the_thread->Wait.Block2n ) ) {   
                                        /* > two threads on 2-n */    
      head = _Chain_Head( &new_first_thread->Wait.Block2n );          
   4cbf8:	43e8 0038      	lea %a0@(56),%a1                            
   4cbfc:	2b49 0004      	movel %a1,%a5@(4)                           
      tail = _Chain_Tail( &new_first_thread->Wait.Block2n );          
                                                                      
      new_second_node->previous = head;                               
      head->next = new_second_node;                                   
      tail->previous = last_node;                                     
   4cc00:	214c 0040      	movel %a4,%a0@(64)                          
                                                                      
  /*                                                                  
   *  If we are not supposed to touch timers or the thread's state, return.
   */                                                                 
                                                                      
  if ( requeuing ) {                                                  
   4cc04:	4a02           	tstb %d2                                    
   4cc06:	6626           	bnes 4cc2e <_Thread_queue_Extract_priority_helper+0x9a>
    _ISR_Enable( level );                                             
    return;                                                           
  }                                                                   
                                                                      
  if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {                 
   4cc08:	7002           	moveq #2,%d0                                
   4cc0a:	b0aa 0050      	cmpl %a2@(80),%d0                           
   4cc0e:	6736           	beqs 4cc46 <_Thread_queue_Extract_priority_helper+0xb2>
    _ISR_Enable( level );                                             
   4cc10:	46c1           	movew %d1,%sr                               
   4cc12:	2d4a 0008      	movel %a2,%fp@(8)                           
   4cc16:	227c 1007 fff8 	moveal #268959736,%a1                       
                                                                      
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
}                                                                     
   4cc1c:	4cee 3c04 ffec 	moveml %fp@(-20),%d2/%a2-%a5                
   4cc22:	2d49 000c      	movel %a1,%fp@(12)                          
   4cc26:	4e5e           	unlk %fp                                    
   4cc28:	4ef9 0004 9844 	jmp 49844 <_Thread_Clear_state>             
  /*                                                                  
   *  If we are not supposed to touch timers or the thread's state, return.
   */                                                                 
                                                                      
  if ( requeuing ) {                                                  
    _ISR_Enable( level );                                             
   4cc2e:	46c1           	movew %d1,%sr                               
                                                                      
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
}                                                                     
   4cc30:	4cee 3c04 ffec 	moveml %fp@(-20),%d2/%a2-%a5                
   4cc36:	4e5e           	unlk %fp                                    
   4cc38:	4e75           	rts                                         
      head->next = new_second_node;                                   
      tail->previous = last_node;                                     
      last_node->next = tail;                                         
    }                                                                 
  } else {                                                            
    previous_node->next = next_node;                                  
   4cc3a:	2689           	movel %a1,%a3@                              
    next_node->previous = previous_node;                              
   4cc3c:	234b 0004      	movel %a3,%a1@(4)                           
                                                                      
  /*                                                                  
   *  If we are not supposed to touch timers or the thread's state, return.
   */                                                                 
                                                                      
  if ( requeuing ) {                                                  
   4cc40:	4a02           	tstb %d2                                    
   4cc42:	67c4           	beqs 4cc08 <_Thread_queue_Extract_priority_helper+0x74>
   4cc44:	60e8           	bras 4cc2e <_Thread_queue_Extract_priority_helper+0x9a>
   4cc46:	7003           	moveq #3,%d0                                
   4cc48:	2540 0050      	movel %d0,%a2@(80)                          
                                                                      
  if ( !_Watchdog_Is_active( &the_thread->Timer ) ) {                 
    _ISR_Enable( level );                                             
  } else {                                                            
    _Watchdog_Deactivate( &the_thread->Timer );                       
    _ISR_Enable( level );                                             
   4cc4c:	46c1           	movew %d1,%sr                               
    (void) _Watchdog_Remove( &the_thread->Timer );                    
   4cc4e:	486a 0048      	pea %a2@(72)                                
   4cc52:	4eb9 0004 a9d4 	jsr 4a9d4 <_Watchdog_Remove>                
   4cc58:	588f           	addql #4,%sp                                
   4cc5a:	227c 1007 fff8 	moveal #268959736,%a1                       
   4cc60:	2d4a 0008      	movel %a2,%fp@(8)                           
                                                                      
#if defined(RTEMS_MULTIPROCESSING)                                    
  if ( !_Objects_Is_local_id( the_thread->Object.id ) )               
    _Thread_MP_Free_proxy( the_thread );                              
#endif                                                                
}                                                                     
   4cc64:	4cee 3c04 ffec 	moveml %fp@(-20),%d2/%a2-%a5                
   4cc6a:	2d49 000c      	movel %a1,%fp@(12)                          
   4cc6e:	4e5e           	unlk %fp                                    
   4cc70:	4ef9 0004 9844 	jmp 49844 <_Thread_Clear_state>             
	...                                                                  
                                                                      

0004a3f0 <_Thread_queue_Initialize>: the_thread_queue->state = state; the_thread_queue->discipline = the_discipline; the_thread_queue->timeout_status = timeout_status; the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_SYNCHRONIZED; if ( the_discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {
   4a3f0:	7201           	moveq #1,%d1                                
  Thread_queue_Control         *the_thread_queue,                     
  Thread_queue_Disciplines      the_discipline,                       
  States_Control                state,                                
  uint32_t                      timeout_status                        
)                                                                     
{                                                                     
   4a3f2:	4e56 0000      	linkw %fp,#0                                
   4a3f6:	206e 0008      	moveal %fp@(8),%a0                          
   4a3fa:	2f02           	movel %d2,%sp@-                             
   4a3fc:	202e 000c      	movel %fp@(12),%d0                          
  the_thread_queue->state          = state;                           
   4a400:	216e 0010 0038 	movel %fp@(16),%a0@(56)                     
  the_thread_queue->discipline     = the_discipline;                  
  the_thread_queue->timeout_status = timeout_status;                  
   4a406:	216e 0014 003c 	movel %fp@(20),%a0@(60)                     
  States_Control                state,                                
  uint32_t                      timeout_status                        
)                                                                     
{                                                                     
  the_thread_queue->state          = state;                           
  the_thread_queue->discipline     = the_discipline;                  
   4a40c:	2140 0034      	movel %d0,%a0@(52)                          
  the_thread_queue->timeout_status = timeout_status;                  
  the_thread_queue->sync_state     = THREAD_BLOCKING_OPERATION_SYNCHRONIZED;
   4a410:	42a8 0030      	clrl %a0@(48)                               
                                                                      
  if ( the_discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {         
   4a414:	b280           	cmpl %d0,%d1                                
   4a416:	6714           	beqs 4a42c <_Thread_queue_Initialize+0x3c>  
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4a418:	2008           	movel %a0,%d0                               
   4a41a:	5880           	addql #4,%d0                                
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4a41c:	42a8 0004      	clrl %a0@(4)                                
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4a420:	2080           	movel %d0,%a0@                              
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4a422:	2148 0008      	movel %a0,%a0@(8)                           
      _Chain_Initialize_empty( &the_thread_queue->Queues.Priority[index] );
  } else { /* must be THREAD_QUEUE_DISCIPLINE_FIFO */                 
    _Chain_Initialize_empty( &the_thread_queue->Queues.Fifo );        
  }                                                                   
                                                                      
}                                                                     
   4a426:	241f           	movel %sp@+,%d2                             
   4a428:	4e5e           	unlk %fp                                    
   4a42a:	4e75           	rts                                         
  the_thread_queue->state          = state;                           
  the_thread_queue->discipline     = the_discipline;                  
  the_thread_queue->timeout_status = timeout_status;                  
  the_thread_queue->sync_state     = THREAD_BLOCKING_OPERATION_SYNCHRONIZED;
                                                                      
  if ( the_discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {         
   4a42c:	4280           	clrl %d0                                    
    uint32_t   index;                                                 
                                                                      
    for( index=0 ;                                                    
         index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;         
         index++)                                                     
      _Chain_Initialize_empty( &the_thread_queue->Queues.Priority[index] );
   4a42e:	2400           	movel %d0,%d2                               
   4a430:	2200           	movel %d0,%d1                               
  if ( the_discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {         
    uint32_t   index;                                                 
                                                                      
    for( index=0 ;                                                    
         index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;         
         index++)                                                     
   4a432:	5280           	addql #1,%d0                                
      _Chain_Initialize_empty( &the_thread_queue->Queues.Priority[index] );
   4a434:	e58a           	lsll #2,%d2                                 
   4a436:	e989           	lsll #4,%d1                                 
   4a438:	9282           	subl %d2,%d1                                
   4a43a:	43f0 1800      	lea %a0@(00000000,%d1:l),%a1                
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4a43e:	2209           	movel %a1,%d1                               
   4a440:	5881           	addql #4,%d1                                
   4a442:	2281           	movel %d1,%a1@                              
  the_thread_queue->sync_state     = THREAD_BLOCKING_OPERATION_SYNCHRONIZED;
                                                                      
  if ( the_discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {         
    uint32_t   index;                                                 
                                                                      
    for( index=0 ;                                                    
   4a444:	7204           	moveq #4,%d1                                
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4a446:	42a9 0004      	clrl %a1@(4)                                
  tail->previous = head;                                              
   4a44a:	2349 0008      	movel %a1,%a1@(8)                           
   4a44e:	b280           	cmpl %d0,%d1                                
   4a450:	67d4           	beqs 4a426 <_Thread_queue_Initialize+0x36>  <== NEVER TAKEN
         index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;         
         index++)                                                     
      _Chain_Initialize_empty( &the_thread_queue->Queues.Priority[index] );
   4a452:	2400           	movel %d0,%d2                               
   4a454:	2200           	movel %d0,%d1                               
  if ( the_discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {         
    uint32_t   index;                                                 
                                                                      
    for( index=0 ;                                                    
         index < TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS ;         
         index++)                                                     
   4a456:	5280           	addql #1,%d0                                
      _Chain_Initialize_empty( &the_thread_queue->Queues.Priority[index] );
   4a458:	e58a           	lsll #2,%d2                                 
   4a45a:	e989           	lsll #4,%d1                                 
   4a45c:	9282           	subl %d2,%d1                                
   4a45e:	43f0 1800      	lea %a0@(00000000,%d1:l),%a1                
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4a462:	2209           	movel %a1,%d1                               
   4a464:	5881           	addql #4,%d1                                
   4a466:	2281           	movel %d1,%a1@                              
  the_thread_queue->sync_state     = THREAD_BLOCKING_OPERATION_SYNCHRONIZED;
                                                                      
  if ( the_discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {         
    uint32_t   index;                                                 
                                                                      
    for( index=0 ;                                                    
   4a468:	7204           	moveq #4,%d1                                
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4a46a:	42a9 0004      	clrl %a1@(4)                                
  tail->previous = head;                                              
   4a46e:	2349 0008      	movel %a1,%a1@(8)                           
   4a472:	b280           	cmpl %d0,%d1                                
   4a474:	66b8           	bnes 4a42e <_Thread_queue_Initialize+0x3e>  
   4a476:	60ae           	bras 4a426 <_Thread_queue_Initialize+0x36>  
                                                                      

0004cc78 <_Thread_queue_Process_timeout>: #include <rtems/score/tqdata.h> void _Thread_queue_Process_timeout( Thread_Control *the_thread ) {
   4cc78:	4e56 0000      	linkw %fp,#0                                
   4cc7c:	206e 0008      	moveal %fp@(8),%a0                          
  Thread_queue_Control *the_thread_queue = the_thread->Wait.queue;    
   4cc80:	2268 0044      	moveal %a0@(68),%a1                         
   *  If it is not satisfied, then it is "nothing happened" and       
   *  this is the "timeout" transition.  After a request is satisfied,
   *  a timeout is not allowed to occur.                              
   */                                                                 
                                                                      
  if ( the_thread_queue->sync_state != THREAD_BLOCKING_OPERATION_SYNCHRONIZED &&
   4cc84:	2029 0030      	movel %a1@(48),%d0                          
   4cc88:	6708           	beqs 4cc92 <_Thread_queue_Process_timeout+0x1a>
   4cc8a:	b1f9 0005 fb7e 	cmpal 5fb7e <_Per_CPU_Information+0xe>,%a0  
   4cc90:	6716           	beqs 4cca8 <_Thread_queue_Process_timeout+0x30><== ALWAYS TAKEN
    if ( the_thread_queue->sync_state != THREAD_BLOCKING_OPERATION_SATISFIED ) {
      the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status;
      the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_TIMEOUT;
    }                                                                 
  } else {                                                            
    the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status;
   4cc92:	2169 003c 0034 	movel %a1@(60),%a0@(52)                     
    _Thread_queue_Extract( the_thread->Wait.queue, the_thread );      
   4cc98:	2f08           	movel %a0,%sp@-                             
   4cc9a:	2f09           	movel %a1,%sp@-                             
   4cc9c:	4eb9 0004 cb5c 	jsr 4cb5c <_Thread_queue_Extract>           
   4cca2:	508f           	addql #8,%sp                                
  }                                                                   
}                                                                     
   4cca4:	4e5e           	unlk %fp                                    
   4cca6:	4e75           	rts                                         
   *  a timeout is not allowed to occur.                              
   */                                                                 
                                                                      
  if ( the_thread_queue->sync_state != THREAD_BLOCKING_OPERATION_SYNCHRONIZED &&
       _Thread_Is_executing( the_thread ) ) {                         
    if ( the_thread_queue->sync_state != THREAD_BLOCKING_OPERATION_SATISFIED ) {
   4cca8:	7203           	moveq #3,%d1                                
   4ccaa:	b280           	cmpl %d0,%d1                                
   4ccac:	67f6           	beqs 4cca4 <_Thread_queue_Process_timeout+0x2c>
      the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status;
      the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_TIMEOUT;
   4ccae:	7002           	moveq #2,%d0                                
    }                                                                 
  } else {                                                            
    the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status;
    _Thread_queue_Extract( the_thread->Wait.queue, the_thread );      
  }                                                                   
}                                                                     
   4ccb0:	4e5e           	unlk %fp                                    
   */                                                                 
                                                                      
  if ( the_thread_queue->sync_state != THREAD_BLOCKING_OPERATION_SYNCHRONIZED &&
       _Thread_Is_executing( the_thread ) ) {                         
    if ( the_thread_queue->sync_state != THREAD_BLOCKING_OPERATION_SATISFIED ) {
      the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status;
   4ccb2:	2169 003c 0034 	movel %a1@(60),%a0@(52)                     
      the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_TIMEOUT;
   4ccb8:	2340 0030      	movel %d0,%a1@(48)                          
    }                                                                 
  } else {                                                            
    the_thread->Wait.return_code = the_thread->Wait.queue->timeout_status;
    _Thread_queue_Extract( the_thread->Wait.queue, the_thread );      
  }                                                                   
}                                                                     
	...                                                                  
                                                                      

0004a478 <_Thread_queue_Requeue>: void _Thread_queue_Requeue( Thread_queue_Control *the_thread_queue, Thread_Control *the_thread ) {
   4a478:	4e56 fffc      	linkw %fp,#-4                               
   4a47c:	2f0a           	movel %a2,%sp@-                             
   4a47e:	246e 0008      	moveal %fp@(8),%a2                          
   4a482:	2f02           	movel %d2,%sp@-                             
  /*                                                                  
   * Just in case the thread really wasn't blocked on a thread queue  
   * when we get here.                                                
   */                                                                 
  if ( !the_thread_queue )                                            
   4a484:	4a8a           	tstl %a2                                    
   4a486:	6708           	beqs 4a490 <_Thread_queue_Requeue+0x18>     <== NEVER TAKEN
                                                                      
  /*                                                                  
   * If queueing by FIFO, there is nothing to do. This only applies to
   * priority blocking discipline.                                    
   */                                                                 
  if ( the_thread_queue->discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {
   4a488:	7001           	moveq #1,%d0                                
   4a48a:	b0aa 0034      	cmpl %a2@(52),%d0                           
   4a48e:	670c           	beqs 4a49c <_Thread_queue_Requeue+0x24>     <== ALWAYS TAKEN
      _Thread_queue_Extract_priority_helper( tq, the_thread, true );  
      (void) _Thread_queue_Enqueue_priority( tq, the_thread, &level_ignored );
    }                                                                 
    _ISR_Enable( level );                                             
  }                                                                   
}                                                                     
   4a490:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   4a494:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   4a498:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4a49a:	4e75           	rts                                         <== NOT EXECUTED
  if ( the_thread_queue->discipline == THREAD_QUEUE_DISCIPLINE_PRIORITY ) {
    Thread_queue_Control *tq = the_thread_queue;                      
    ISR_Level             level;                                      
    ISR_Level             level_ignored;                              
                                                                      
    _ISR_Disable( level );                                            
   4a49c:	303c 0700      	movew #1792,%d0                             
   4a4a0:	40c2           	movew %sr,%d2                               
   4a4a2:	8082           	orl %d2,%d0                                 
   4a4a4:	46c0           	movew %d0,%sr                               
   4a4a6:	206e 000c      	moveal %fp@(12),%a0                         
   4a4aa:	2028 0010      	movel %a0@(16),%d0                          
   4a4ae:	0280 0003 bee0 	andil #245472,%d0                           
    if ( _States_Is_waiting_on_thread_queue( the_thread->current_state ) ) {
   4a4b4:	660e           	bnes 4a4c4 <_Thread_queue_Requeue+0x4c>     <== ALWAYS TAKEN
      _Thread_queue_Enter_critical_section( tq );                     
      _Thread_queue_Extract_priority_helper( tq, the_thread, true );  
      (void) _Thread_queue_Enqueue_priority( tq, the_thread, &level_ignored );
    }                                                                 
    _ISR_Enable( level );                                             
   4a4b6:	46c2           	movew %d2,%sr                               <== NOT EXECUTED
  }                                                                   
}                                                                     
   4a4b8:	242e fff4      	movel %fp@(-12),%d2                         
   4a4bc:	246e fff8      	moveal %fp@(-8),%a2                         
   4a4c0:	4e5e           	unlk %fp                                    
   4a4c2:	4e75           	rts                                         
    ISR_Level             level_ignored;                              
                                                                      
    _ISR_Disable( level );                                            
    if ( _States_Is_waiting_on_thread_queue( the_thread->current_state ) ) {
      _Thread_queue_Enter_critical_section( tq );                     
      _Thread_queue_Extract_priority_helper( tq, the_thread, true );  
   4a4c4:	4878 0001      	pea 1 <ADD>                                 
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_queue_Enter_critical_section (      
  Thread_queue_Control *the_thread_queue                              
)                                                                     
{                                                                     
  the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;
   4a4c8:	7001           	moveq #1,%d0                                
   4a4ca:	2f08           	movel %a0,%sp@-                             
   4a4cc:	2540 0030      	movel %d0,%a2@(48)                          
   4a4d0:	2f0a           	movel %a2,%sp@-                             
   4a4d2:	4eb9 0004 cb94 	jsr 4cb94 <_Thread_queue_Extract_priority_helper>
      (void) _Thread_queue_Enqueue_priority( tq, the_thread, &level_ignored );
   4a4d8:	486e fffc      	pea %fp@(-4)                                
   4a4dc:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4a4e0:	2f0a           	movel %a2,%sp@-                             
   4a4e2:	4eb9 0004 a1cc 	jsr 4a1cc <_Thread_queue_Enqueue_priority>  
   4a4e8:	4fef 0018      	lea %sp@(24),%sp                            
    }                                                                 
    _ISR_Enable( level );                                             
   4a4ec:	46c2           	movew %d2,%sr                               
   4a4ee:	60c8           	bras 4a4b8 <_Thread_queue_Requeue+0x40>     
                                                                      

0004a4f0 <_Thread_queue_Timeout>: void _Thread_queue_Timeout( Objects_Id id, void *ignored __attribute__((unused)) ) {
   4a4f0:	4e56 fffc      	linkw %fp,#-4                               
  Thread_Control       *the_thread;                                   
  Objects_Locations     location;                                     
                                                                      
  the_thread = _Thread_Get( id, &location );                          
   4a4f4:	486e fffc      	pea %fp@(-4)                                
   4a4f8:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4a4fc:	4eb9 0004 9c64 	jsr 49c64 <_Thread_Get>                     
  switch ( location ) {                                               
   4a502:	508f           	addql #8,%sp                                
   4a504:	4aae fffc      	tstl %fp@(-4)                               
   4a508:	6618           	bnes 4a522 <_Thread_queue_Timeout+0x32>     <== NEVER TAKEN
#if defined(RTEMS_MULTIPROCESSING)                                    
    case OBJECTS_REMOTE:  /* impossible */                            
#endif                                                                
      break;                                                          
    case OBJECTS_LOCAL:                                               
      _Thread_queue_Process_timeout( the_thread );                    
   4a50a:	2f00           	movel %d0,%sp@-                             
   4a50c:	4eb9 0004 cc78 	jsr 4cc78 <_Thread_queue_Process_timeout>   
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
                                                                      
    --level;                                                          
    _Thread_Dispatch_disable_level = level;                           
   4a512:	588f           	addql #4,%sp                                
   *                                                                  
   * This routine decrements the thread dispatch level.               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   4a514:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    --level;                                                          
   4a51a:	5380           	subql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   4a51c:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
      _Thread_Unnest_dispatch();                                      
      break;                                                          
  }                                                                   
}                                                                     
   4a522:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00057cc4 <_Timer_server_Body>: * @a arg points to the corresponding timer server control block. */ static rtems_task _Timer_server_Body( rtems_task_argument arg ) {
   57cc4:	4e56 ffb0      	linkw %fp,#-80                              
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
  tail->previous = head;                                              
   57cc8:	41ee ffe8      	lea %fp@(-24),%a0                           
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   57ccc:	200e           	movel %fp,%d0                               
   57cce:	5180           	subql #8,%d0                                
   57cd0:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   57cd4:	246e 0008      	moveal %fp@(8),%a2                          
   57cd8:	2a0e           	movel %fp,%d5                               
   57cda:	2c0e           	movel %fp,%d6                               
   57cdc:	0685 ffff fff4 	addil #-12,%d5                              
   57ce2:	0686 ffff ffec 	addil #-20,%d6                              
   57ce8:	260a           	movel %a2,%d3                               
   57cea:	240a           	movel %a2,%d2                               
   57cec:	4bf9 0005 bf6c 	lea 5bf6c <_Watchdog_Adjust_to_chain>,%a5   
   57cf2:	0683 0000 0030 	addil #48,%d3                               
   57cf8:	0682 0000 0068 	addil #104,%d2                              
   57cfe:	47f9 0005 878c 	lea 5878c <_Chain_Get>,%a3                  
   57d04:	49f9 0005 bff8 	lea 5bff8 <_Watchdog_Insert>,%a4            
     *  of zero it will be processed in the next iteration of the timer server
     *  body loop.                                                    
     */                                                               
    _Timer_server_Process_insertions( ts );                           
                                                                      
    _ISR_Disable( level );                                            
   57d0a:	283c 0000 0700 	movel #1792,%d4                             
  head->previous = NULL;                                              
  tail->previous = head;                                              
   57d10:	2d48 fff0      	movel %a0,%fp@(-16)                         
   57d14:	41ea 0008      	lea %a2@(8),%a0                             
   57d18:	2d48 ffe0      	movel %a0,%fp@(-32)                         
   57d1c:	41ea 0040      	lea %a2@(64),%a0                            
   57d20:	2d48 ffe4      	movel %a0,%fp@(-28)                         
{                                                                     
  /*                                                                  
   *  Afterwards all timer inserts are directed to this chain and the interval
   *  and TOD chains will be no more modified by other parties.       
   */                                                                 
  ts->insert_chain = insert_chain;                                    
   57d24:	41ee ffe8      	lea %fp@(-24),%a0                           
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   57d28:	2d40 fff4      	movel %d0,%fp@(-12)                         
  head->previous = NULL;                                              
   57d2c:	42ae ffec      	clrl %fp@(-20)                              
   57d30:	42ae fff8      	clrl %fp@(-8)                               
  tail->previous = head;                                              
   57d34:	2d45 fffc      	movel %d5,%fp@(-4)                          
   57d38:	2d40 ffd8      	movel %d0,%fp@(-40)                         
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   57d3c:	2d46 ffe8      	movel %d6,%fp@(-24)                         
   57d40:	2548 0078      	movel %a0,%a2@(120)                         
static void _Timer_server_Process_interval_watchdogs(                 
  Timer_server_Watchdogs *watchdogs,                                  
  Chain_Control *fire_chain                                           
)                                                                     
{                                                                     
  Watchdog_Interval snapshot = _Watchdog_Ticks_since_boot;            
   57d44:	2039 0007 c3e6 	movel 7c3e6 <_Watchdog_Ticks_since_boot>,%d0
                                                                      
  /*                                                                  
   *  We assume adequate unsigned arithmetic here.                    
   */                                                                 
  Watchdog_Interval delta = snapshot - watchdogs->last_snapshot;      
   57d4a:	222a 003c      	movel %a2@(60),%d1                          
                                                                      
  watchdogs->last_snapshot = snapshot;                                
   57d4e:	2540 003c      	movel %d0,%a2@(60)                          
                                                                      
  _Watchdog_Adjust_to_chain( &watchdogs->Chain, delta, fire_chain );  
   57d52:	9081           	subl %d1,%d0                                
   57d54:	2f05           	movel %d5,%sp@-                             
   57d56:	2f00           	movel %d0,%sp@-                             
   57d58:	2f03           	movel %d3,%sp@-                             
   57d5a:	4e95           	jsr %a5@                                    
   57d5c:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     
   57d62:	42a7           	clrl %sp@-                                  
   57d64:	2f39 0007 c2a8 	movel 7c2a8 <_TOD+0x4>,%sp@-                
   57d6a:	2f39 0007 c2a4 	movel 7c2a4 <_TOD>,%sp@-                    
   57d70:	4eb9 0006 c3c0 	jsr 6c3c0 <__divdi3>                        
  Timer_server_Watchdogs *watchdogs,                                  
  Chain_Control *fire_chain                                           
)                                                                     
{                                                                     
  Watchdog_Interval snapshot = (Watchdog_Interval) _TOD_Seconds_since_epoch();
  Watchdog_Interval last_snapshot = watchdogs->last_snapshot;         
   57d76:	202a 0074      	movel %a2@(116),%d0                         
  /*                                                                  
   *  Process the seconds chain.  Start by checking that the Time     
   *  of Day (TOD) has not been set backwards.  If it has then        
   *  we want to adjust the watchdogs->Chain to indicate this.        
   */                                                                 
  if ( snapshot > last_snapshot ) {                                   
   57d7a:	4fef 001c      	lea %sp@(28),%sp                            
   57d7e:	b081           	cmpl %d1,%d0                                
   57d80:	6500 009a      	bcsw 57e1c <_Timer_server_Body+0x158>       
     *  TOD has been set forward.                                     
     */                                                               
    delta = snapshot - last_snapshot;                                 
    _Watchdog_Adjust_to_chain( &watchdogs->Chain, delta, fire_chain );
                                                                      
  } else if ( snapshot < last_snapshot ) {                            
   57d84:	b081           	cmpl %d1,%d0                                
   57d86:	6200 00b8      	bhiw 57e40 <_Timer_server_Body+0x17c>       
      */                                                              
     delta = last_snapshot - snapshot;                                
     _Watchdog_Adjust( &watchdogs->Chain, WATCHDOG_BACKWARD, delta ); 
  }                                                                   
                                                                      
  watchdogs->last_snapshot = snapshot;                                
   57d8a:	2541 0074      	movel %d1,%a2@(116)                         
}                                                                     
                                                                      
static void _Timer_server_Process_insertions( Timer_server_Control *ts )
{                                                                     
  while ( true ) {                                                    
    Timer_Control *timer = (Timer_Control *) _Chain_Get( ts->insert_chain );
   57d8e:	202a 0078      	movel %a2@(120),%d0                         
   57d92:	2f00           	movel %d0,%sp@-                             
   57d94:	4e93           	jsr %a3@                                    
                                                                      
    if ( timer == NULL ) {                                            
   57d96:	588f           	addql #4,%sp                                
   57d98:	4a80           	tstl %d0                                    
   57d9a:	672e           	beqs 57dca <_Timer_server_Body+0x106>       
static void _Timer_server_Insert_timer(                               
  Timer_server_Control *ts,                                           
  Timer_Control *timer                                                
)                                                                     
{                                                                     
  if ( timer->the_class == TIMER_INTERVAL_ON_TASK ) {                 
   57d9c:	2040           	moveal %d0,%a0                              
   57d9e:	7e01           	moveq #1,%d7                                
   57da0:	2228 0038      	movel %a0@(56),%d1                          
   57da4:	be81           	cmpl %d1,%d7                                
   57da6:	6700 00bc      	beqw 57e64 <_Timer_server_Body+0x1a0>       
    _Watchdog_Insert( &ts->Interval_watchdogs.Chain, &timer->Ticker );
  } else if ( timer->the_class == TIMER_TIME_OF_DAY_ON_TASK ) {       
   57daa:	7e03           	moveq #3,%d7                                
   57dac:	be81           	cmpl %d1,%d7                                
   57dae:	66de           	bnes 57d8e <_Timer_server_Body+0xca>        <== NEVER TAKEN
    _Watchdog_Insert( &ts->TOD_watchdogs.Chain, &timer->Ticker );     
   57db0:	2040           	moveal %d0,%a0                              
   57db2:	4868 0010      	pea %a0@(16)                                
   57db6:	2f02           	movel %d2,%sp@-                             
   57db8:	4e94           	jsr %a4@                                    
}                                                                     
                                                                      
static void _Timer_server_Process_insertions( Timer_server_Control *ts )
{                                                                     
  while ( true ) {                                                    
    Timer_Control *timer = (Timer_Control *) _Chain_Get( ts->insert_chain );
   57dba:	202a 0078      	movel %a2@(120),%d0                         
)                                                                     
{                                                                     
  if ( timer->the_class == TIMER_INTERVAL_ON_TASK ) {                 
    _Watchdog_Insert( &ts->Interval_watchdogs.Chain, &timer->Ticker );
  } else if ( timer->the_class == TIMER_TIME_OF_DAY_ON_TASK ) {       
    _Watchdog_Insert( &ts->TOD_watchdogs.Chain, &timer->Ticker );     
   57dbe:	508f           	addql #8,%sp                                
}                                                                     
                                                                      
static void _Timer_server_Process_insertions( Timer_server_Control *ts )
{                                                                     
  while ( true ) {                                                    
    Timer_Control *timer = (Timer_Control *) _Chain_Get( ts->insert_chain );
   57dc0:	2f00           	movel %d0,%sp@-                             
   57dc2:	4e93           	jsr %a3@                                    
                                                                      
    if ( timer == NULL ) {                                            
   57dc4:	588f           	addql #4,%sp                                
   57dc6:	4a80           	tstl %d0                                    
   57dc8:	66d2           	bnes 57d9c <_Timer_server_Body+0xd8>        <== NEVER TAKEN
     *  of zero it will be processed in the next iteration of the timer server
     *  body loop.                                                    
     */                                                               
    _Timer_server_Process_insertions( ts );                           
                                                                      
    _ISR_Disable( level );                                            
   57dca:	2004           	movel %d4,%d0                               
   57dcc:	40c1           	movew %sr,%d1                               
   57dce:	8081           	orl %d1,%d0                                 
   57dd0:	46c0           	movew %d0,%sr                               
    if ( _Chain_Is_empty( insert_chain ) ) {                          
   57dd2:	bcae ffe8      	cmpl %fp@(-24),%d6                          
   57dd6:	6700 009a      	beqw 57e72 <_Timer_server_Body+0x1ae>       
      ts->insert_chain = NULL;                                        
      _ISR_Enable( level );                                           
                                                                      
      break;                                                          
    } else {                                                          
      _ISR_Enable( level );                                           
   57dda:	46c1           	movew %d1,%sr                               <== NOT EXECUTED
static void _Timer_server_Process_interval_watchdogs(                 
  Timer_server_Watchdogs *watchdogs,                                  
  Chain_Control *fire_chain                                           
)                                                                     
{                                                                     
  Watchdog_Interval snapshot = _Watchdog_Ticks_since_boot;            
   57ddc:	2039 0007 c3e6 	movel 7c3e6 <_Watchdog_Ticks_since_boot>,%d0<== NOT EXECUTED
                                                                      
  /*                                                                  
   *  We assume adequate unsigned arithmetic here.                    
   */                                                                 
  Watchdog_Interval delta = snapshot - watchdogs->last_snapshot;      
   57de2:	222a 003c      	movel %a2@(60),%d1                          <== NOT EXECUTED
                                                                      
  watchdogs->last_snapshot = snapshot;                                
   57de6:	2540 003c      	movel %d0,%a2@(60)                          <== NOT EXECUTED
                                                                      
  _Watchdog_Adjust_to_chain( &watchdogs->Chain, delta, fire_chain );  
   57dea:	9081           	subl %d1,%d0                                <== NOT EXECUTED
   57dec:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   57dee:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   57df0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   57df2:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   57df4:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     <== NOT EXECUTED
   57dfa:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   57dfc:	2f39 0007 c2a8 	movel 7c2a8 <_TOD+0x4>,%sp@-                <== NOT EXECUTED
   57e02:	2f39 0007 c2a4 	movel 7c2a4 <_TOD>,%sp@-                    <== NOT EXECUTED
   57e08:	4eb9 0006 c3c0 	jsr 6c3c0 <__divdi3>                        <== NOT EXECUTED
  Timer_server_Watchdogs *watchdogs,                                  
  Chain_Control *fire_chain                                           
)                                                                     
{                                                                     
  Watchdog_Interval snapshot = (Watchdog_Interval) _TOD_Seconds_since_epoch();
  Watchdog_Interval last_snapshot = watchdogs->last_snapshot;         
   57e0e:	202a 0074      	movel %a2@(116),%d0                         <== NOT EXECUTED
  /*                                                                  
   *  Process the seconds chain.  Start by checking that the Time     
   *  of Day (TOD) has not been set backwards.  If it has then        
   *  we want to adjust the watchdogs->Chain to indicate this.        
   */                                                                 
  if ( snapshot > last_snapshot ) {                                   
   57e12:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   57e16:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   57e18:	6400 ff6a      	bccw 57d84 <_Timer_server_Body+0xc0>        <== NOT EXECUTED
    /*                                                                
     *  This path is for normal forward movement and cases where the  
     *  TOD has been set forward.                                     
     */                                                               
    delta = snapshot - last_snapshot;                                 
    _Watchdog_Adjust_to_chain( &watchdogs->Chain, delta, fire_chain );
   57e1c:	2f05           	movel %d5,%sp@-                             
   57e1e:	2e01           	movel %d1,%d7                               
   57e20:	9e80           	subl %d0,%d7                                
   57e22:	2f07           	movel %d7,%sp@-                             
   57e24:	2d41 ffdc      	movel %d1,%fp@(-36)                         
   57e28:	2f02           	movel %d2,%sp@-                             
   57e2a:	4eb9 0005 bf6c 	jsr 5bf6c <_Watchdog_Adjust_to_chain>       
   57e30:	222e ffdc      	movel %fp@(-36),%d1                         
   57e34:	4fef 000c      	lea %sp@(12),%sp                            
      */                                                              
     delta = last_snapshot - snapshot;                                
     _Watchdog_Adjust( &watchdogs->Chain, WATCHDOG_BACKWARD, delta ); 
  }                                                                   
                                                                      
  watchdogs->last_snapshot = snapshot;                                
   57e38:	2541 0074      	movel %d1,%a2@(116)                         
   57e3c:	6000 ff50      	braw 57d8e <_Timer_server_Body+0xca>        
     /*                                                               
      *  The current TOD is before the last TOD which indicates that  
      *  TOD has been set backwards.                                  
      */                                                              
     delta = last_snapshot - snapshot;                                
     _Watchdog_Adjust( &watchdogs->Chain, WATCHDOG_BACKWARD, delta ); 
   57e40:	9081           	subl %d1,%d0                                
   57e42:	2f00           	movel %d0,%sp@-                             
   57e44:	4878 0001      	pea 1 <ADD>                                 
   57e48:	2d41 ffdc      	movel %d1,%fp@(-36)                         
   57e4c:	2f02           	movel %d2,%sp@-                             
   57e4e:	4eb9 0005 bed8 	jsr 5bed8 <_Watchdog_Adjust>                
   57e54:	222e ffdc      	movel %fp@(-36),%d1                         
   57e58:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
                                                                      
  watchdogs->last_snapshot = snapshot;                                
   57e5c:	2541 0074      	movel %d1,%a2@(116)                         
   57e60:	6000 ff2c      	braw 57d8e <_Timer_server_Body+0xca>        
  Timer_server_Control *ts,                                           
  Timer_Control *timer                                                
)                                                                     
{                                                                     
  if ( timer->the_class == TIMER_INTERVAL_ON_TASK ) {                 
    _Watchdog_Insert( &ts->Interval_watchdogs.Chain, &timer->Ticker );
   57e64:	4868 0010      	pea %a0@(16)                                
   57e68:	2f03           	movel %d3,%sp@-                             
   57e6a:	4e94           	jsr %a4@                                    
   57e6c:	508f           	addql #8,%sp                                
   57e6e:	6000 ff1e      	braw 57d8e <_Timer_server_Body+0xca>        
     */                                                               
    _Timer_server_Process_insertions( ts );                           
                                                                      
    _ISR_Disable( level );                                            
    if ( _Chain_Is_empty( insert_chain ) ) {                          
      ts->insert_chain = NULL;                                        
   57e72:	42aa 0078      	clrl %a2@(120)                              
      _ISR_Enable( level );                                           
   57e76:	46c1           	movew %d1,%sr                               
  _Chain_Initialize_empty( &fire_chain );                             
                                                                      
  while ( true ) {                                                    
    _Timer_server_Get_watchdogs_that_fire_now( ts, &insert_chain, &fire_chain );
                                                                      
    if ( !_Chain_Is_empty( &fire_chain ) ) {                          
   57e78:	2e2e ffd8      	movel %fp@(-40),%d7                         
   57e7c:	beae fff4      	cmpl %fp@(-12),%d7                          
   57e80:	6758           	beqs 57eda <_Timer_server_Body+0x216>       
                                                                      
        /*                                                            
         *  It is essential that interrupts are disable here since an interrupt
         *  service routine may remove a watchdog from the chain.     
         */                                                           
        _ISR_Disable( level );                                        
   57e82:	2004           	movel %d4,%d0                               
   57e84:	40c1           	movew %sr,%d1                               
   57e86:	8081           	orl %d1,%d0                                 
   57e88:	46c0           	movew %d0,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   57e8a:	206e fff4      	moveal %fp@(-12),%a0                        
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   57e8e:	be88           	cmpl %a0,%d7                                
   57e90:	673a           	beqs 57ecc <_Timer_server_Body+0x208>       <== NEVER TAKEN
   57e92:	2e0a           	movel %a2,%d7                               
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
   57e94:	2250           	moveal %a0@,%a1                             
                                                                      
  head->next = new_first;                                             
  new_first->previous = head;                                         
   57e96:	45ee fff4      	lea %fp@(-12),%a2                           
   57e9a:	234a 0004      	movel %a2,%a1@(4)                           
        watchdog = (Watchdog_Control *) _Chain_Get_unprotected( &fire_chain );
        if ( watchdog != NULL ) {                                     
          watchdog->state = WATCHDOG_INACTIVE;                        
   57e9e:	42a8 0008      	clrl %a0@(8)                                
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
                                                                      
  head->next = new_first;                                             
   57ea2:	2d49 fff4      	movel %a1,%fp@(-12)                         
          _ISR_Enable( level );                                       
   57ea6:	46c1           	movew %d1,%sr                               
        /*                                                            
         *  The timer server may block here and wait for resources or time.
         *  The system watchdogs are inactive and will remain inactive since
         *  the active flag of the timer server is true.              
         */                                                           
        (*watchdog->routine)( watchdog->id, watchdog->user_data );    
   57ea8:	2f28 0024      	movel %a0@(36),%sp@-                        
   57eac:	2f28 0020      	movel %a0@(32),%sp@-                        
   57eb0:	2068 001c      	moveal %a0@(28),%a0                         
   57eb4:	4e90           	jsr %a0@                                    
                                                                      
        /*                                                            
         *  It is essential that interrupts are disable here since an interrupt
         *  service routine may remove a watchdog from the chain.     
         */                                                           
        _ISR_Disable( level );                                        
   57eb6:	2004           	movel %d4,%d0                               
   57eb8:	40c1           	movew %sr,%d1                               
   57eba:	8081           	orl %d1,%d0                                 
   57ebc:	46c0           	movew %d0,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   57ebe:	508f           	addql #8,%sp                                
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   57ec0:	206e fff4      	moveal %fp@(-12),%a0                        
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   57ec4:	b1ee ffd8      	cmpal %fp@(-40),%a0                         
   57ec8:	66ca           	bnes 57e94 <_Timer_server_Body+0x1d0>       
   57eca:	2447           	moveal %d7,%a2                              
        watchdog = (Watchdog_Control *) _Chain_Get_unprotected( &fire_chain );
        if ( watchdog != NULL ) {                                     
          watchdog->state = WATCHDOG_INACTIVE;                        
          _ISR_Enable( level );                                       
        } else {                                                      
          _ISR_Enable( level );                                       
   57ecc:	46c1           	movew %d1,%sr                               
{                                                                     
  /*                                                                  
   *  Afterwards all timer inserts are directed to this chain and the interval
   *  and TOD chains will be no more modified by other parties.       
   */                                                                 
  ts->insert_chain = insert_chain;                                    
   57ece:	41ee ffe8      	lea %fp@(-24),%a0                           
   57ed2:	2548 0078      	movel %a0,%a2@(120)                         
   57ed6:	6000 fe6c      	braw 57d44 <_Timer_server_Body+0x80>        
         *  the active flag of the timer server is true.              
         */                                                           
        (*watchdog->routine)( watchdog->id, watchdog->user_data );    
      }                                                               
    } else {                                                          
      ts->active = false;                                             
   57eda:	4200           	clrb %d0                                    
   57edc:	1540 007c      	moveb %d0,%a2@(124)                         
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   57ee0:	2039 0007 c302 	movel 7c302 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   57ee6:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   57ee8:	23c0 0007 c302 	movel %d0,7c302 <_Thread_Dispatch_disable_level>
                                                                      
      /*                                                              
       *  Block until there is something to do.                       
       */                                                             
      _Thread_Disable_dispatch();                                     
        _Thread_Set_state( ts->thread, STATES_DELAYING );             
   57eee:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   57ef2:	2f12           	movel %a2@,%sp@-                            
        _Timer_server_Reset_interval_system_watchdog( ts );           
        _Timer_server_Reset_tod_system_watchdog( ts );                
      _Thread_Enable_dispatch();                                      
                                                                      
      ts->active = true;                                              
   57ef4:	7e01           	moveq #1,%d7                                
                                                                      
      /*                                                              
       *  Block until there is something to do.                       
       */                                                             
      _Thread_Disable_dispatch();                                     
        _Thread_Set_state( ts->thread, STATES_DELAYING );             
   57ef6:	4eb9 0005 bb74 	jsr 5bb74 <_Thread_Set_state>               
        _Timer_server_Reset_interval_system_watchdog( ts );           
   57efc:	2f0a           	movel %a2,%sp@-                             
   57efe:	4eba fb7c      	jsr %pc@(57a7c <_Timer_server_Reset_interval_system_watchdog>)
        _Timer_server_Reset_tod_system_watchdog( ts );                
   57f02:	2f0a           	movel %a2,%sp@-                             
   57f04:	4eba fbe0      	jsr %pc@(57ae6 <_Timer_server_Reset_tod_system_watchdog>)
      _Thread_Enable_dispatch();                                      
   57f08:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
                                                                      
      ts->active = true;                                              
   57f0e:	1547 007c      	moveb %d7,%a2@(124)                         
                                                                      
static void _Timer_server_Stop_interval_system_watchdog(              
  Timer_server_Control *ts                                            
)                                                                     
{                                                                     
  _Watchdog_Remove( &ts->Interval_watchdogs.System_watchdog );        
   57f12:	2f2e ffe0      	movel %fp@(-32),%sp@-                       
   57f16:	4eb9 0005 c128 	jsr 5c128 <_Watchdog_Remove>                
                                                                      
static void _Timer_server_Stop_tod_system_watchdog(                   
  Timer_server_Control *ts                                            
)                                                                     
{                                                                     
  _Watchdog_Remove( &ts->TOD_watchdogs.System_watchdog );             
   57f1c:	2f2e ffe4      	movel %fp@(-28),%sp@-                       
   57f20:	4eb9 0005 c128 	jsr 5c128 <_Watchdog_Remove>                
   57f26:	4fef 0018      	lea %sp@(24),%sp                            
{                                                                     
  /*                                                                  
   *  Afterwards all timer inserts are directed to this chain and the interval
   *  and TOD chains will be no more modified by other parties.       
   */                                                                 
  ts->insert_chain = insert_chain;                                    
   57f2a:	41ee ffe8      	lea %fp@(-24),%a0                           
   57f2e:	2548 0078      	movel %a0,%a2@(120)                         
   57f32:	6000 fe10      	braw 57d44 <_Timer_server_Body+0x80>        
                                                                      

00057b54 <_Timer_server_Schedule_operation_method>: static void _Timer_server_Schedule_operation_method( Timer_server_Control *ts, Timer_Control *timer ) {
   57b54:	4e56 fff0      	linkw %fp,#-16                              
   57b58:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   57b5c:	246e 0008      	moveal %fp@(8),%a2                          
   57b60:	266e 000c      	moveal %fp@(12),%a3                         
  if ( ts->insert_chain == NULL ) {                                   
   57b64:	202a 0078      	movel %a2@(120),%d0                         
   57b68:	671a           	beqs 57b84 <_Timer_server_Schedule_operation_method+0x30>
     *  server is not preemptible, so we must be in interrupt context here.  No
     *  thread dispatch will happen until the timer server finishes its
     *  critical section.  We have to use the protected chain methods because
     *  we may be interrupted by a higher priority interrupt.         
     */                                                               
    _Chain_Append( ts->insert_chain, &timer->Object.Node );           
   57b6a:	246a 0078      	moveal %a2@(120),%a2                        
   57b6e:	2d4b 000c      	movel %a3,%fp@(12)                          
   57b72:	2d4a 0008      	movel %a2,%fp@(8)                           
  }                                                                   
}                                                                     
   57b76:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   57b7c:	4e5e           	unlk %fp                                    
     *  server is not preemptible, so we must be in interrupt context here.  No
     *  thread dispatch will happen until the timer server finishes its
     *  critical section.  We have to use the protected chain methods because
     *  we may be interrupted by a higher priority interrupt.         
     */                                                               
    _Chain_Append( ts->insert_chain, &timer->Object.Node );           
   57b7e:	4ef9 0005 8754 	jmp 58754 <_Chain_Append>                   
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   57b84:	2039 0007 c302 	movel 7c302 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   57b8a:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   57b8c:	23c0 0007 c302 	movel %d0,7c302 <_Thread_Dispatch_disable_level>
   *  being inserted.  This could result in an integer overflow.      
   */                                                                 
                                                                      
  _Thread_Disable_dispatch();                                         
                                                                      
  if ( timer->the_class == TIMER_INTERVAL_ON_TASK ) {                 
   57b92:	202b 0038      	movel %a3@(56),%d0                          
   57b96:	7201           	moveq #1,%d1                                
   57b98:	b280           	cmpl %d0,%d1                                
   57b9a:	6700 009e      	beqw 57c3a <_Timer_server_Schedule_operation_method+0xe6>
    _Watchdog_Insert( &ts->Interval_watchdogs.Chain, &timer->Ticker );
                                                                      
    if ( !ts->active ) {                                              
      _Timer_server_Reset_interval_system_watchdog( ts );             
    }                                                                 
  } else if ( timer->the_class == TIMER_TIME_OF_DAY_ON_TASK ) {       
   57b9e:	7603           	moveq #3,%d3                                
   57ba0:	b680           	cmpl %d0,%d3                                
   57ba2:	670e           	beqs 57bb2 <_Timer_server_Schedule_operation_method+0x5e>
     *  critical section.  We have to use the protected chain methods because
     *  we may be interrupted by a higher priority interrupt.         
     */                                                               
    _Chain_Append( ts->insert_chain, &timer->Object.Node );           
  }                                                                   
}                                                                     
   57ba4:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   57baa:	4e5e           	unlk %fp                                    
    if ( !ts->active ) {                                              
      _Timer_server_Reset_tod_system_watchdog( ts );                  
    }                                                                 
  }                                                                   
                                                                      
  _Thread_Enable_dispatch();                                          
   57bac:	4ef9 0005 b1e8 	jmp 5b1e8 <_Thread_Enable_dispatch>         
  } else if ( timer->the_class == TIMER_TIME_OF_DAY_ON_TASK ) {       
    /*                                                                
     *  We have to advance the last known seconds value of the server and update
     *  the watchdog chain accordingly.                               
     */                                                               
    _ISR_Disable( level );                                            
   57bb2:	203c 0000 0700 	movel #1792,%d0                             
   57bb8:	40c2           	movew %sr,%d2                               
   57bba:	8082           	orl %d2,%d0                                 
   57bbc:	46c0           	movew %d0,%sr                               
   57bbe:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     
   57bc4:	42a7           	clrl %sp@-                                  
   57bc6:	2f39 0007 c2a8 	movel 7c2a8 <_TOD+0x4>,%sp@-                
   57bcc:	2f39 0007 c2a4 	movel 7c2a4 <_TOD>,%sp@-                    
   57bd2:	4eb9 0006 c3c0 	jsr 6c3c0 <__divdi3>                        
    snapshot = (Watchdog_Interval) _TOD_Seconds_since_epoch();        
    last_snapshot = ts->TOD_watchdogs.last_snapshot;                  
   57bd8:	202a 0074      	movel %a2@(116),%d0                         
   57bdc:	4fef 0010      	lea %sp@(16),%sp                            
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   57be0:	43ea 006c      	lea %a2@(108),%a1                           
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   57be4:	206a 0068      	moveal %a2@(104),%a0                        
    if ( !_Chain_Is_empty( &ts->TOD_watchdogs.Chain ) ) {             
   57be8:	b3c8           	cmpal %a0,%a1                               
   57bea:	671c           	beqs 57c08 <_Timer_server_Schedule_operation_method+0xb4>
      first_watchdog = _Watchdog_First( &ts->TOD_watchdogs.Chain );   
      delta_interval = first_watchdog->delta_interval;                
   57bec:	2268 0010      	moveal %a0@(16),%a1                         
      if ( snapshot > last_snapshot ) {                               
   57bf0:	b081           	cmpl %d1,%d0                                
   57bf2:	6400 00ba      	bccw 57cae <_Timer_server_Schedule_operation_method+0x15a>
        /*                                                            
         *  We advanced in time.                                      
         */                                                           
        delta = snapshot - last_snapshot;                             
   57bf6:	2601           	movel %d1,%d3                               
   57bf8:	9680           	subl %d0,%d3                                
        if (delta_interval > delta) {                                 
   57bfa:	b689           	cmpl %a1,%d3                                
   57bfc:	6400 00bc      	bccw 57cba <_Timer_server_Schedule_operation_method+0x166>
          delta_interval -= delta;                                    
   57c00:	93c3           	subal %d3,%a1                               
   57c02:	2009           	movel %a1,%d0                               
         *  Someone put us in the past.                               
         */                                                           
        delta = last_snapshot - snapshot;                             
        delta_interval += delta;                                      
      }                                                               
      first_watchdog->delta_interval = delta_interval;                
   57c04:	2140 0010      	movel %d0,%a0@(16)                          
    }                                                                 
    ts->TOD_watchdogs.last_snapshot = snapshot;                       
   57c08:	2541 0074      	movel %d1,%a2@(116)                         
    _ISR_Enable( level );                                             
   57c0c:	46c2           	movew %d2,%sr                               
                                                                      
    _Watchdog_Insert( &ts->TOD_watchdogs.Chain, &timer->Ticker );     
   57c0e:	486b 0010      	pea %a3@(16)                                
   57c12:	486a 0068      	pea %a2@(104)                               
   57c16:	4eb9 0005 bff8 	jsr 5bff8 <_Watchdog_Insert>                
                                                                      
    if ( !ts->active ) {                                              
   57c1c:	508f           	addql #8,%sp                                
   57c1e:	102a 007c      	moveb %a2@(124),%d0                         
   57c22:	6680           	bnes 57ba4 <_Timer_server_Schedule_operation_method+0x50><== NEVER TAKEN
      _Timer_server_Reset_tod_system_watchdog( ts );                  
   57c24:	2f0a           	movel %a2,%sp@-                             
   57c26:	4eba febe      	jsr %pc@(57ae6 <_Timer_server_Reset_tod_system_watchdog>)
   57c2a:	588f           	addql #4,%sp                                
     *  critical section.  We have to use the protected chain methods because
     *  we may be interrupted by a higher priority interrupt.         
     */                                                               
    _Chain_Append( ts->insert_chain, &timer->Object.Node );           
  }                                                                   
}                                                                     
   57c2c:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   57c32:	4e5e           	unlk %fp                                    
    if ( !ts->active ) {                                              
      _Timer_server_Reset_tod_system_watchdog( ts );                  
    }                                                                 
  }                                                                   
                                                                      
  _Thread_Enable_dispatch();                                          
   57c34:	4ef9 0005 b1e8 	jmp 5b1e8 <_Thread_Enable_dispatch>         
  if ( timer->the_class == TIMER_INTERVAL_ON_TASK ) {                 
    /*                                                                
     *  We have to advance the last known ticks value of the server and update
     *  the watchdog chain accordingly.                               
     */                                                               
    _ISR_Disable( level );                                            
   57c3a:	203c 0000 0700 	movel #1792,%d0                             
   57c40:	40c2           	movew %sr,%d2                               
   57c42:	8082           	orl %d2,%d0                                 
   57c44:	46c0           	movew %d0,%sr                               
    snapshot = _Watchdog_Ticks_since_boot;                            
   57c46:	2039 0007 c3e6 	movel 7c3e6 <_Watchdog_Ticks_since_boot>,%d0
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   57c4c:	220a           	movel %a2,%d1                               
   57c4e:	0681 0000 0034 	addil #52,%d1                               
    last_snapshot = ts->Interval_watchdogs.last_snapshot;             
   57c54:	262a 003c      	movel %a2@(60),%d3                          
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   57c58:	206a 0030      	moveal %a2@(48),%a0                         
    if ( !_Chain_Is_empty( &ts->Interval_watchdogs.Chain ) ) {        
   57c5c:	b288           	cmpl %a0,%d1                                
   57c5e:	6712           	beqs 57c72 <_Timer_server_Schedule_operation_method+0x11e>
      first_watchdog = _Watchdog_First( &ts->Interval_watchdogs.Chain );
                                                                      
      /*                                                              
       *  We assume adequate unsigned arithmetic here.                
       */                                                             
      delta = snapshot - last_snapshot;                               
   57c60:	2200           	movel %d0,%d1                               
   57c62:	9283           	subl %d3,%d1                                
                                                                      
      delta_interval = first_watchdog->delta_interval;                
   57c64:	2268 0010      	moveal %a0@(16),%a1                         
      if (delta_interval > delta) {                                   
   57c68:	b3c1           	cmpal %d1,%a1                               
   57c6a:	633a           	blss 57ca6 <_Timer_server_Schedule_operation_method+0x152>
        delta_interval -= delta;                                      
   57c6c:	93c1           	subal %d1,%a1                               
      } else {                                                        
        delta_interval = 0;                                           
      }                                                               
      first_watchdog->delta_interval = delta_interval;                
   57c6e:	2149 0010      	movel %a1,%a0@(16)                          
    }                                                                 
    ts->Interval_watchdogs.last_snapshot = snapshot;                  
   57c72:	2540 003c      	movel %d0,%a2@(60)                          
    _ISR_Enable( level );                                             
   57c76:	46c2           	movew %d2,%sr                               
                                                                      
    _Watchdog_Insert( &ts->Interval_watchdogs.Chain, &timer->Ticker );
   57c78:	486b 0010      	pea %a3@(16)                                
   57c7c:	486a 0030      	pea %a2@(48)                                
   57c80:	4eb9 0005 bff8 	jsr 5bff8 <_Watchdog_Insert>                
                                                                      
    if ( !ts->active ) {                                              
   57c86:	508f           	addql #8,%sp                                
   57c88:	102a 007c      	moveb %a2@(124),%d0                         
   57c8c:	6600 ff16      	bnew 57ba4 <_Timer_server_Schedule_operation_method+0x50>
      _Timer_server_Reset_interval_system_watchdog( ts );             
   57c90:	2f0a           	movel %a2,%sp@-                             
   57c92:	4eba fde8      	jsr %pc@(57a7c <_Timer_server_Reset_interval_system_watchdog>)
   57c96:	588f           	addql #4,%sp                                
     *  critical section.  We have to use the protected chain methods because
     *  we may be interrupted by a higher priority interrupt.         
     */                                                               
    _Chain_Append( ts->insert_chain, &timer->Object.Node );           
  }                                                                   
}                                                                     
   57c98:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   57c9e:	4e5e           	unlk %fp                                    
    if ( !ts->active ) {                                              
      _Timer_server_Reset_tod_system_watchdog( ts );                  
    }                                                                 
  }                                                                   
                                                                      
  _Thread_Enable_dispatch();                                          
   57ca0:	4ef9 0005 b1e8 	jmp 5b1e8 <_Thread_Enable_dispatch>         
                                                                      
      delta_interval = first_watchdog->delta_interval;                
      if (delta_interval > delta) {                                   
        delta_interval -= delta;                                      
      } else {                                                        
        delta_interval = 0;                                           
   57ca6:	93c9           	subal %a1,%a1                               
      }                                                               
      first_watchdog->delta_interval = delta_interval;                
   57ca8:	2149 0010      	movel %a1,%a0@(16)                          
   57cac:	60c4           	bras 57c72 <_Timer_server_Schedule_operation_method+0x11e>
        }                                                             
      } else {                                                        
        /*                                                            
         *  Someone put us in the past.                               
         */                                                           
        delta = last_snapshot - snapshot;                             
   57cae:	d089           	addl %a1,%d0                                
        delta_interval += delta;                                      
   57cb0:	9081           	subl %d1,%d0                                
      }                                                               
      first_watchdog->delta_interval = delta_interval;                
   57cb2:	2140 0010      	movel %d0,%a0@(16)                          
   57cb6:	6000 ff50      	braw 57c08 <_Timer_server_Schedule_operation_method+0xb4>
         */                                                           
        delta = snapshot - last_snapshot;                             
        if (delta_interval > delta) {                                 
          delta_interval -= delta;                                    
        } else {                                                      
          delta_interval = 0;                                         
   57cba:	4280           	clrl %d0                                    <== NOT EXECUTED
         *  Someone put us in the past.                               
         */                                                           
        delta = last_snapshot - snapshot;                             
        delta_interval += delta;                                      
      }                                                               
      first_watchdog->delta_interval = delta_interval;                
   57cbc:	2140 0010      	movel %d0,%a0@(16)                          <== NOT EXECUTED
   57cc0:	6000 ff46      	braw 57c08 <_Timer_server_Schedule_operation_method+0xb4><== NOT EXECUTED
                                                                      

0004ac84 <_Timespec_Add_to>: uint32_t _Timespec_Add_to( struct timespec *time, const struct timespec *add ) {
   4ac84:	4e56 0000      	linkw %fp,#0                                
   4ac88:	226e 000c      	moveal %fp@(12),%a1                         
   4ac8c:	2f0a           	movel %a2,%sp@-                             
   4ac8e:	246e 0008      	moveal %fp@(8),%a2                          
  uint32_t seconds = add->tv_sec;                                     
                                                                      
  /* Add the basics */                                                
  time->tv_sec += add->tv_sec;                                        
  time->tv_nsec += add->tv_nsec;                                      
   4ac92:	206a 0004      	moveal %a2@(4),%a0                          
   4ac96:	d1e9 0004      	addal %a1@(4),%a0                           
                                                                      
  /* Now adjust it so nanoseconds is in range */                      
  while ( time->tv_nsec >= TOD_NANOSECONDS_PER_SECOND ) {             
   4ac9a:	2208           	movel %a0,%d1                               
uint32_t _Timespec_Add_to(                                            
  struct timespec       *time,                                        
  const struct timespec *add                                          
)                                                                     
{                                                                     
  uint32_t seconds = add->tv_sec;                                     
   4ac9c:	2011           	movel %a1@,%d0                              
                                                                      
  /* Add the basics */                                                
  time->tv_sec += add->tv_sec;                                        
   4ac9e:	d192           	addl %d0,%a2@                               
  time->tv_nsec += add->tv_nsec;                                      
   4aca0:	2548 0004      	movel %a0,%a2@(4)                           
                                                                      
  /* Now adjust it so nanoseconds is in range */                      
  while ( time->tv_nsec >= TOD_NANOSECONDS_PER_SECOND ) {             
   4aca4:	b1fc 3b9a c9ff 	cmpal #999999999,%a0                        
   4acaa:	6320           	blss 4accc <_Timespec_Add_to+0x48>          
   4acac:	2052           	moveal %a2@,%a0                             
   4acae:	5288           	addql #1,%a0                                
#include <sys/types.h>                                                
#include <rtems/score/timespec.h>                                     
#include <rtems/score/tod.h>                                          
#include <rtems/score/watchdog.h>                                     
                                                                      
uint32_t _Timespec_Add_to(                                            
   4acb0:	91c0           	subal %d0,%a0                               
   4acb2:	43f0 0800      	lea %a0@(00000000,%d0:l),%a1                
  time->tv_sec += add->tv_sec;                                        
  time->tv_nsec += add->tv_nsec;                                      
                                                                      
  /* Now adjust it so nanoseconds is in range */                      
  while ( time->tv_nsec >= TOD_NANOSECONDS_PER_SECOND ) {             
    time->tv_nsec -= TOD_NANOSECONDS_PER_SECOND;                      
   4acb6:	0681 c465 3600 	addil #-1000000000,%d1                      
    time->tv_sec++;                                                   
    seconds++;                                                        
   4acbc:	5280           	addql #1,%d0                                
  /* Add the basics */                                                
  time->tv_sec += add->tv_sec;                                        
  time->tv_nsec += add->tv_nsec;                                      
                                                                      
  /* Now adjust it so nanoseconds is in range */                      
  while ( time->tv_nsec >= TOD_NANOSECONDS_PER_SECOND ) {             
   4acbe:	0c81 3b9a c9ff 	cmpil #999999999,%d1                        
   4acc4:	62ec           	bhis 4acb2 <_Timespec_Add_to+0x2e>          <== NEVER TAKEN
   4acc6:	2541 0004      	movel %d1,%a2@(4)                           
   4acca:	2489           	movel %a1,%a2@                              
    time->tv_sec++;                                                   
    seconds++;                                                        
  }                                                                   
                                                                      
  return seconds;                                                     
}                                                                     
   4accc:	245f           	moveal %sp@+,%a2                            
   4acce:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004bfe0 <_Timestamp64_Divide>: const Timestamp64_Control *_lhs, const Timestamp64_Control *_rhs, uint32_t *_ival_percentage, uint32_t *_fval_percentage ) {
   4bfe0:	4e56 fff4      	linkw %fp,#-12                              
  Timestamp64_Control answer;                                         
                                                                      
  if ( *_rhs == 0 ) {                                                 
   4bfe4:	206e 000c      	moveal %fp@(12),%a0                         
  const Timestamp64_Control *_lhs,                                    
  const Timestamp64_Control *_rhs,                                    
  uint32_t                  *_ival_percentage,                        
  uint32_t                  *_fval_percentage                         
)                                                                     
{                                                                     
   4bfe8:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
  Timestamp64_Control answer;                                         
                                                                      
  if ( *_rhs == 0 ) {                                                 
   4bfec:	2410           	movel %a0@,%d2                              
   4bfee:	2628 0004      	movel %a0@(4),%d3                           
   4bff2:	2002           	movel %d2,%d0                               
   4bff4:	8083           	orl %d3,%d0                                 
   4bff6:	676e           	beqs 4c066 <_Timestamp64_Divide+0x86>       <== NEVER TAKEN
   *  This looks odd but gives the results the proper precision.      
   *                                                                  
   *  TODO: Rounding on the last digit of the fval.                   
   */                                                                 
                                                                      
  answer = (*_lhs * 100000) / *_rhs;                                  
   4bff8:	206e 0008      	moveal %fp@(8),%a0                          
   4bffc:	45f9 0005 c83c 	lea 5c83c <__divdi3>,%a2                    
   4c002:	2f3c 0001 86a0 	movel #100000,%sp@-                         
   4c008:	42a7           	clrl %sp@-                                  
   4c00a:	2f28 0004      	movel %a0@(4),%sp@-                         
   4c00e:	2f10           	movel %a0@,%sp@-                            
   4c010:	4eb9 0005 c7d4 	jsr 5c7d4 <__muldi3>                        
   4c016:	4fef 000c      	lea %sp@(12),%sp                            
   4c01a:	2e83           	movel %d3,%sp@                              
   4c01c:	2f02           	movel %d2,%sp@-                             
   4c01e:	2f01           	movel %d1,%sp@-                             
   4c020:	2f00           	movel %d0,%sp@-                             
   4c022:	4e92           	jsr %a2@                                    
   4c024:	4fef 0010      	lea %sp@(16),%sp                            
   4c028:	2400           	movel %d0,%d2                               
                                                                      
  *_ival_percentage = answer / 1000;                                  
   4c02a:	4878 03e8      	pea 3e8 <DBL_MANT_DIG+0x3b3>                
   *  This looks odd but gives the results the proper precision.      
   *                                                                  
   *  TODO: Rounding on the last digit of the fval.                   
   */                                                                 
                                                                      
  answer = (*_lhs * 100000) / *_rhs;                                  
   4c02e:	2601           	movel %d1,%d3                               
                                                                      
  *_ival_percentage = answer / 1000;                                  
   4c030:	42a7           	clrl %sp@-                                  
   4c032:	2f01           	movel %d1,%sp@-                             
   4c034:	2f02           	movel %d2,%sp@-                             
   4c036:	4e92           	jsr %a2@                                    
   4c038:	4fef 0010      	lea %sp@(16),%sp                            
  *_fval_percentage = answer % 1000;                                  
   4c03c:	4878 03e8      	pea 3e8 <DBL_MANT_DIG+0x3b3>                
   *  TODO: Rounding on the last digit of the fval.                   
   */                                                                 
                                                                      
  answer = (*_lhs * 100000) / *_rhs;                                  
                                                                      
  *_ival_percentage = answer / 1000;                                  
   4c040:	206e 0010      	moveal %fp@(16),%a0                         
  *_fval_percentage = answer % 1000;                                  
   4c044:	42a7           	clrl %sp@-                                  
   *  TODO: Rounding on the last digit of the fval.                   
   */                                                                 
                                                                      
  answer = (*_lhs * 100000) / *_rhs;                                  
                                                                      
  *_ival_percentage = answer / 1000;                                  
   4c046:	2081           	movel %d1,%a0@                              
  *_fval_percentage = answer % 1000;                                  
   4c048:	2f03           	movel %d3,%sp@-                             
   4c04a:	2f02           	movel %d2,%sp@-                             
   4c04c:	4eb9 0005 cc9c 	jsr 5cc9c <__moddi3>                        
   4c052:	206e 0014      	moveal %fp@(20),%a0                         
   4c056:	4fef 0010      	lea %sp@(16),%sp                            
}                                                                     
   4c05a:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   */                                                                 
                                                                      
  answer = (*_lhs * 100000) / *_rhs;                                  
                                                                      
  *_ival_percentage = answer / 1000;                                  
  *_fval_percentage = answer % 1000;                                  
   4c060:	2081           	movel %d1,%a0@                              
}                                                                     
   4c062:	4e5e           	unlk %fp                                    
   4c064:	4e75           	rts                                         
)                                                                     
{                                                                     
  Timestamp64_Control answer;                                         
                                                                      
  if ( *_rhs == 0 ) {                                                 
    *_ival_percentage = 0;                                            
   4c066:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   4c06a:	4290           	clrl %a0@                                   <== NOT EXECUTED
    *_fval_percentage = 0;                                            
   4c06c:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
                                                                      
  answer = (*_lhs * 100000) / *_rhs;                                  
                                                                      
  *_ival_percentage = answer / 1000;                                  
  *_fval_percentage = answer % 1000;                                  
}                                                                     
   4c070:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
{                                                                     
  Timestamp64_Control answer;                                         
                                                                      
  if ( *_rhs == 0 ) {                                                 
    *_ival_percentage = 0;                                            
    *_fval_percentage = 0;                                            
   4c076:	4290           	clrl %a0@                                   <== NOT EXECUTED
                                                                      
  answer = (*_lhs * 100000) / *_rhs;                                  
                                                                      
  *_ival_percentage = answer / 1000;                                  
  *_fval_percentage = answer % 1000;                                  
}                                                                     
   4c078:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004a86c <_User_extensions_Handler_initialization>: void _User_extensions_Handler_initialization(void) {
   4a86c:	4e56 fffc      	linkw %fp,#-4                               
  uint32_t number_of_initial_extensions =                             
   4a870:	2039 0005 c614 	movel 5c614 <Configuration+0x40>,%d0        
    rtems_configuration_get_number_of_initial_extensions();           
                                                                      
  if ( number_of_initial_extensions > 0 ) {                           
   4a876:	6604           	bnes 4a87c <_User_extensions_Handler_initialization+0x10><== ALWAYS TAKEN
      );                                                              
    User_extensions_Switch_context ctx = { initial_extension_switch_controls };
                                                                      
    _User_extensions_Iterate( &ctx, _User_extensions_Switch_visitor );
  }                                                                   
}                                                                     
   4a878:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4a87a:	4e75           	rts                                         <== NOT EXECUTED
  uint32_t number_of_initial_extensions =                             
    rtems_configuration_get_number_of_initial_extensions();           
                                                                      
  if ( number_of_initial_extensions > 0 ) {                           
    User_extensions_Switch_control *initial_extension_switch_controls =
      _Workspace_Allocate_or_fatal_error(                             
   4a87c:	2200           	movel %d0,%d1                               
   4a87e:	e988           	lsll #4,%d0                                 
   4a880:	e589           	lsll #2,%d1                                 
{                                                                     
  uint32_t number_of_initial_extensions =                             
    rtems_configuration_get_number_of_initial_extensions();           
                                                                      
  if ( number_of_initial_extensions > 0 ) {                           
    User_extensions_Switch_control *initial_extension_switch_controls =
   4a882:	9081           	subl %d1,%d0                                
   4a884:	2f00           	movel %d0,%sp@-                             
   4a886:	4eb9 0004 ac2a 	jsr 4ac2a <_Workspace_Allocate_or_fatal_error>
      _Workspace_Allocate_or_fatal_error(                             
        number_of_initial_extensions                                  
          * sizeof( *initial_extension_switch_controls )              
      );                                                              
    User_extensions_Switch_context ctx = { initial_extension_switch_controls };
   4a88c:	204e           	moveal %fp,%a0                              
   4a88e:	2100           	movel %d0,%a0@-                             
                                                                      
    _User_extensions_Iterate( &ctx, _User_extensions_Switch_visitor );
   4a890:	487a ff9a      	pea %pc@(4a82c <_User_extensions_Switch_visitor>)
   4a894:	2f08           	movel %a0,%sp@-                             
   4a896:	4eb9 0004 a7b8 	jsr 4a7b8 <_User_extensions_Iterate>        
   4a89c:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
}                                                                     
   4a8a0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004a7b8 <_User_extensions_Iterate>: void _User_extensions_Iterate( void *arg, User_extensions_Visitor visitor ) {
   4a7b8:	4e56 ffec      	linkw %fp,#-20                              
  Thread_Control   *executing = _Thread_Executing;                    
  const User_extensions_Table *callouts_current =                     
    rtems_configuration_get_user_extension_table();                   
  const User_extensions_Table *callouts_end =                         
    callouts_current + rtems_configuration_get_number_of_initial_extensions();
   4a7bc:	2039 0005 c614 	movel 5c614 <Configuration+0x40>,%d0        
                                                                      
void _User_extensions_Iterate(                                        
  void                    *arg,                                       
  User_extensions_Visitor  visitor                                    
)                                                                     
{                                                                     
   4a7c2:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
  Thread_Control   *executing = _Thread_Executing;                    
  const User_extensions_Table *callouts_current =                     
    rtems_configuration_get_user_extension_table();                   
  const User_extensions_Table *callouts_end =                         
    callouts_current + rtems_configuration_get_number_of_initial_extensions();
   4a7c6:	eb88           	lsll #5,%d0                                 
  void                    *arg,                                       
  User_extensions_Visitor  visitor                                    
)                                                                     
{                                                                     
  Thread_Control   *executing = _Thread_Executing;                    
  const User_extensions_Table *callouts_current =                     
   4a7c8:	2439 0005 c618 	movel 5c618 <Configuration+0x44>,%d2        
    rtems_configuration_get_user_extension_table();                   
  const User_extensions_Table *callouts_end =                         
   4a7ce:	2442           	moveal %d2,%a2                              
   4a7d0:	d5c0           	addal %d0,%a2                               
                                                                      
void _User_extensions_Iterate(                                        
  void                    *arg,                                       
  User_extensions_Visitor  visitor                                    
)                                                                     
{                                                                     
   4a7d2:	282e 0008      	movel %fp@(8),%d4                           
   4a7d6:	266e 000c      	moveal %fp@(12),%a3                         
  Thread_Control   *executing = _Thread_Executing;                    
   4a7da:	2639 0005 fb7e 	movel 5fb7e <_Per_CPU_Information+0xe>,%d3  
  const User_extensions_Table *callouts_end =                         
    callouts_current + rtems_configuration_get_number_of_initial_extensions();
  const Chain_Node *node;                                             
  const Chain_Node *tail;                                             
                                                                      
  while ( callouts_current != callouts_end ) {                        
   4a7e0:	b5c2           	cmpal %d2,%a2                               
   4a7e2:	6716           	beqs 4a7fa <_User_extensions_Iterate+0x42>  <== NEVER TAKEN
    (*visitor)( executing, arg, callouts_current );                   
   4a7e4:	2f02           	movel %d2,%sp@-                             
                                                                      
    ++callouts_current;                                               
   4a7e6:	0682 0000 0020 	addil #32,%d2                               
    callouts_current + rtems_configuration_get_number_of_initial_extensions();
  const Chain_Node *node;                                             
  const Chain_Node *tail;                                             
                                                                      
  while ( callouts_current != callouts_end ) {                        
    (*visitor)( executing, arg, callouts_current );                   
   4a7ec:	2f04           	movel %d4,%sp@-                             
   4a7ee:	2f03           	movel %d3,%sp@-                             
   4a7f0:	4e93           	jsr %a3@                                    
  const User_extensions_Table *callouts_end =                         
    callouts_current + rtems_configuration_get_number_of_initial_extensions();
  const Chain_Node *node;                                             
  const Chain_Node *tail;                                             
                                                                      
  while ( callouts_current != callouts_end ) {                        
   4a7f2:	4fef 000c      	lea %sp@(12),%sp                            
   4a7f6:	b48a           	cmpl %a2,%d2                                
   4a7f8:	66ea           	bnes 4a7e4 <_User_extensions_Iterate+0x2c>  
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4a7fa:	2479 0005 e33c 	moveal 5e33c <_User_extensions_List>,%a2    
    ++callouts_current;                                               
  }                                                                   
                                                                      
  node = _Chain_Immutable_first( &_User_extensions_List );            
  tail = _Chain_Immutable_tail( &_User_extensions_List );             
  while ( node != tail ) {                                            
   4a800:	b5fc 0005 e340 	cmpal #385856,%a2                           
   4a806:	6718           	beqs 4a820 <_User_extensions_Iterate+0x68>  
    const User_extensions_Control *extension =                        
      (const User_extensions_Control *) node;                         
                                                                      
    (*visitor)( executing, arg, &extension->Callouts );               
   4a808:	486a 0014      	pea %a2@(20)                                
   4a80c:	2f04           	movel %d4,%sp@-                             
   4a80e:	2f03           	movel %d3,%sp@-                             
   4a810:	4e93           	jsr %a3@                                    
                                                                      
    node = _Chain_Immutable_next( node );                             
  }                                                                   
}                                                                     
   4a812:	2452           	moveal %a2@,%a2                             
    ++callouts_current;                                               
  }                                                                   
                                                                      
  node = _Chain_Immutable_first( &_User_extensions_List );            
  tail = _Chain_Immutable_tail( &_User_extensions_List );             
  while ( node != tail ) {                                            
   4a814:	4fef 000c      	lea %sp@(12),%sp                            
   4a818:	b5fc 0005 e340 	cmpal #385856,%a2                           
   4a81e:	66e8           	bnes 4a808 <_User_extensions_Iterate+0x50>  
                                                                      
    (*visitor)( executing, arg, &extension->Callouts );               
                                                                      
    node = _Chain_Immutable_next( node );                             
  }                                                                   
}                                                                     
   4a820:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   4a826:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004c28c <_Watchdog_Adjust>: void _Watchdog_Adjust( Chain_Control *header, Watchdog_Adjust_directions direction, Watchdog_Interval units ) {
   4c28c:	4e56 ffe8      	linkw %fp,#-24                              
   4c290:	226e 000c      	moveal %fp@(12),%a1                         
   4c294:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
  ISR_Level level;                                                    
                                                                      
  _ISR_Disable( level );                                              
   4c298:	263c 0000 0700 	movel #1792,%d3                             
   4c29e:	2003           	movel %d3,%d0                               
void _Watchdog_Adjust(                                                
  Chain_Control               *header,                                
  Watchdog_Adjust_directions   direction,                             
  Watchdog_Interval            units                                  
)                                                                     
{                                                                     
   4c2a0:	266e 0008      	moveal %fp@(8),%a3                          
   4c2a4:	242e 0010      	movel %fp@(16),%d2                          
  ISR_Level level;                                                    
                                                                      
  _ISR_Disable( level );                                              
   4c2a8:	40c1           	movew %sr,%d1                               
   4c2aa:	8081           	orl %d1,%d0                                 
   4c2ac:	46c0           	movew %d0,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4c2ae:	244b           	moveal %a3,%a2                              
   4c2b0:	205a           	moveal %a2@+,%a0                            
   *       hence the compiler must not assume *header to remain       
   *       unmodified across that call.                               
   *                                                                  
   *       Till Straumann, 7/2003                                     
   */                                                                 
  if ( !_Chain_Is_empty( header ) ) {                                 
   4c2b2:	b5c8           	cmpal %a0,%a2                               
   4c2b4:	6746           	beqs 4c2fc <_Watchdog_Adjust+0x70>          
    switch ( direction ) {                                            
   4c2b6:	4a89           	tstl %a1                                    
   4c2b8:	664e           	bnes 4c308 <_Watchdog_Adjust+0x7c>          
      case WATCHDOG_BACKWARD:                                         
        _Watchdog_First( header )->delta_interval += units;           
        break;                                                        
      case WATCHDOG_FORWARD:                                          
        while ( units ) {                                             
   4c2ba:	4a82           	tstl %d2                                    
   4c2bc:	673e           	beqs 4c2fc <_Watchdog_Adjust+0x70>          <== NEVER TAKEN
          if ( units < _Watchdog_First( header )->delta_interval ) {  
   4c2be:	2028 0010      	movel %a0@(16),%d0                          
   4c2c2:	b082           	cmpl %d2,%d0                                
   4c2c4:	6230           	bhis 4c2f6 <_Watchdog_Adjust+0x6a>          <== NEVER TAKEN
   4c2c6:	49f9 0004 c4f0 	lea 4c4f0 <_Watchdog_Tickle>,%a4            
            _Watchdog_First( header )->delta_interval -= units;       
            break;                                                    
          } else {                                                    
            units -= _Watchdog_First( header )->delta_interval;       
            _Watchdog_First( header )->delta_interval = 1;            
   4c2cc:	7801           	moveq #1,%d4                                
        while ( units ) {                                             
          if ( units < _Watchdog_First( header )->delta_interval ) {  
            _Watchdog_First( header )->delta_interval -= units;       
            break;                                                    
          } else {                                                    
            units -= _Watchdog_First( header )->delta_interval;       
   4c2ce:	9480           	subl %d0,%d2                                
            _Watchdog_First( header )->delta_interval = 1;            
   4c2d0:	2144 0010      	movel %d4,%a0@(16)                          
                                                                      
            _ISR_Enable( level );                                     
   4c2d4:	46c1           	movew %d1,%sr                               
                                                                      
            _Watchdog_Tickle( header );                               
   4c2d6:	2f0b           	movel %a3,%sp@-                             
   4c2d8:	4e94           	jsr %a4@                                    
                                                                      
            _ISR_Disable( level );                                    
   4c2da:	2003           	movel %d3,%d0                               
   4c2dc:	40c1           	movew %sr,%d1                               
   4c2de:	8081           	orl %d1,%d0                                 
   4c2e0:	46c0           	movew %d0,%sr                               
                                                                      
            if ( _Chain_Is_empty( header ) )                          
   4c2e2:	588f           	addql #4,%sp                                
   4c2e4:	2053           	moveal %a3@,%a0                             
   4c2e6:	b1ca           	cmpal %a2,%a0                               
   4c2e8:	6712           	beqs 4c2fc <_Watchdog_Adjust+0x70>          
    switch ( direction ) {                                            
      case WATCHDOG_BACKWARD:                                         
        _Watchdog_First( header )->delta_interval += units;           
        break;                                                        
      case WATCHDOG_FORWARD:                                          
        while ( units ) {                                             
   4c2ea:	4a82           	tstl %d2                                    
   4c2ec:	670e           	beqs 4c2fc <_Watchdog_Adjust+0x70>          <== NEVER TAKEN
          if ( units < _Watchdog_First( header )->delta_interval ) {  
   4c2ee:	2028 0010      	movel %a0@(16),%d0                          
   4c2f2:	b480           	cmpl %d0,%d2                                
   4c2f4:	64d6           	bccs 4c2cc <_Watchdog_Adjust+0x40>          
            _Watchdog_First( header )->delta_interval -= units;       
   4c2f6:	9082           	subl %d2,%d0                                
   4c2f8:	2140 0010      	movel %d0,%a0@(16)                          
        }                                                             
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  _ISR_Enable( level );                                               
   4c2fc:	46c1           	movew %d1,%sr                               
                                                                      
}                                                                     
   4c2fe:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   4c304:	4e5e           	unlk %fp                                    
   4c306:	4e75           	rts                                         
   *       unmodified across that call.                               
   *                                                                  
   *       Till Straumann, 7/2003                                     
   */                                                                 
  if ( !_Chain_Is_empty( header ) ) {                                 
    switch ( direction ) {                                            
   4c308:	7001           	moveq #1,%d0                                
   4c30a:	b089           	cmpl %a1,%d0                                
   4c30c:	66ee           	bnes 4c2fc <_Watchdog_Adjust+0x70>          <== NEVER TAKEN
      case WATCHDOG_BACKWARD:                                         
        _Watchdog_First( header )->delta_interval += units;           
   4c30e:	d5a8 0010      	addl %d2,%a0@(16)                           
        }                                                             
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  _ISR_Enable( level );                                               
   4c312:	46c1           	movew %d1,%sr                               
                                                                      
}                                                                     
   4c314:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   4c31a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0005bf6c <_Watchdog_Adjust_to_chain>: Chain_Control *header, Watchdog_Interval units_arg, Chain_Control *to_fire ) {
   5bf6c:	4e56 ffe4      	linkw %fp,#-28                              
   5bf70:	226e 0010      	moveal %fp@(16),%a1                         
   5bf74:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
  Watchdog_Interval  units = units_arg;                               
  ISR_Level          level;                                           
  Watchdog_Control  *first;                                           
                                                                      
  _ISR_Disable( level );                                              
   5bf78:	263c 0000 0700 	movel #1792,%d3                             
   5bf7e:	2003           	movel %d3,%d0                               
  Chain_Control               *header,                                
  Watchdog_Interval            units_arg,                             
  Chain_Control               *to_fire                                
                                                                      
)                                                                     
{                                                                     
   5bf80:	242e 0008      	movel %fp@(8),%d2                           
  Watchdog_Interval  units = units_arg;                               
  ISR_Level          level;                                           
  Watchdog_Control  *first;                                           
                                                                      
  _ISR_Disable( level );                                              
   5bf84:	40c1           	movew %sr,%d1                               
   5bf86:	8081           	orl %d1,%d0                                 
   5bf88:	46c0           	movew %d0,%sr                               
   5bf8a:	2a42           	moveal %d2,%a5                              
  Watchdog_Interval            units_arg,                             
  Chain_Control               *to_fire                                
                                                                      
)                                                                     
{                                                                     
  Watchdog_Interval  units = units_arg;                               
   5bf8c:	282e 000c      	movel %fp@(12),%d4                          
   5bf90:	205d           	moveal %a5@+,%a0                            
  Watchdog_Control  *first;                                           
                                                                      
  _ISR_Disable( level );                                              
                                                                      
  while ( 1 ) {                                                       
    if ( _Chain_Is_empty( header ) ) {                                
   5bf92:	b1cd           	cmpal %a5,%a0                               
   5bf94:	6748           	beqs 5bfde <_Watchdog_Adjust_to_chain+0x72> 
                                                                      
    /*                                                                
     *  If it is longer than "units" until the first element on the chain
     *  fires, then bump it and quit.                                 
     */                                                               
    if ( units < first->delta_interval ) {                            
   5bf96:	2028 0010      	movel %a0@(16),%d0                          
   5bf9a:	b084           	cmpl %d4,%d0                                
   5bf9c:	624a           	bhis 5bfe8 <_Watchdog_Adjust_to_chain+0x7c> 
                                                                      
    /*                                                                
     *  The first set happens in less than units, so take all of them 
     *  off the chain and adjust units to reflect this.               
     */                                                               
    units -= first->delta_interval;                                   
   5bf9e:	9880           	subl %d0,%d4                                
    first->delta_interval = 0;                                        
   5bfa0:	42a8 0010      	clrl %a0@(16)                               
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   5bfa4:	2850           	moveal %a0@,%a4                             
RTEMS_INLINE_ROUTINE void _Chain_Append_unprotected(                  
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   5bfa6:	2009           	movel %a1,%d0                               
   5bfa8:	5880           	addql #4,%d0                                
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   5bfaa:	2668 0004      	moveal %a0@(4),%a3                          
  next->previous = previous;                                          
   5bfae:	294b 0004      	movel %a3,%a4@(4)                           
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   5bfb2:	2469 0008      	moveal %a1@(8),%a2                          
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
  next->previous = previous;                                          
  previous->next = next;                                              
   5bfb6:	268c           	movel %a4,%a3@                              
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
   5bfb8:	2348 0008      	movel %a0,%a1@(8)                           
RTEMS_INLINE_ROUTINE void _Chain_Append_unprotected(                  
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   5bfbc:	2080           	movel %d0,%a0@                              
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
  the_node->previous = old_last;                                      
   5bfbe:	214a 0004      	movel %a2,%a0@(4)                           
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
   5bfc2:	2488           	movel %a0,%a2@                              
                                                                      
    while ( 1 ) {                                                     
      _Chain_Extract_unprotected( &first->Node );                     
      _Chain_Append_unprotected( to_fire, &first->Node );             
                                                                      
      _ISR_Flash( level );                                            
   5bfc4:	2003           	movel %d3,%d0                               
   5bfc6:	46c1           	movew %d1,%sr                               
   5bfc8:	8081           	orl %d1,%d0                                 
   5bfca:	46c0           	movew %d0,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   5bfcc:	2442           	moveal %d2,%a2                              
   5bfce:	2052           	moveal %a2@,%a0                             
                                                                      
      if ( _Chain_Is_empty( header ) )                                
   5bfd0:	b1cd           	cmpal %a5,%a0                               
   5bfd2:	67be           	beqs 5bf92 <_Watchdog_Adjust_to_chain+0x26> 
        break;                                                        
      first = _Watchdog_First( header );                              
      if ( first->delta_interval != 0 )                               
   5bfd4:	4aa8 0010      	tstl %a0@(16)                               
   5bfd8:	67ca           	beqs 5bfa4 <_Watchdog_Adjust_to_chain+0x38> 
  Watchdog_Control  *first;                                           
                                                                      
  _ISR_Disable( level );                                              
                                                                      
  while ( 1 ) {                                                       
    if ( _Chain_Is_empty( header ) ) {                                
   5bfda:	b1cd           	cmpal %a5,%a0                               
   5bfdc:	66b8           	bnes 5bf96 <_Watchdog_Adjust_to_chain+0x2a> <== ALWAYS TAKEN
      if ( first->delta_interval != 0 )                               
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  _ISR_Enable( level );                                               
   5bfde:	46c1           	movew %d1,%sr                               
}                                                                     
   5bfe0:	4cd7 3c1c      	moveml %sp@,%d2-%d4/%a2-%a5                 
   5bfe4:	4e5e           	unlk %fp                                    
   5bfe6:	4e75           	rts                                         
    /*                                                                
     *  If it is longer than "units" until the first element on the chain
     *  fires, then bump it and quit.                                 
     */                                                               
    if ( units < first->delta_interval ) {                            
      first->delta_interval -= units;                                 
   5bfe8:	9084           	subl %d4,%d0                                
   5bfea:	2140 0010      	movel %d0,%a0@(16)                          
      if ( first->delta_interval != 0 )                               
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  _ISR_Enable( level );                                               
   5bfee:	46c1           	movew %d1,%sr                               
}                                                                     
   5bff0:	4cd7 3c1c      	moveml %sp@,%d2-%d4/%a2-%a5                 
   5bff4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004a8a4 <_Watchdog_Insert>: void _Watchdog_Insert( Chain_Control *header, Watchdog_Control *the_watchdog ) {
   4a8a4:	4e56 fff0      	linkw %fp,#-16                              
   4a8a8:	226e 000c      	moveal %fp@(12),%a1                         
   4a8ac:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
  Watchdog_Interval  delta_interval;                                  
                                                                      
                                                                      
  insert_isr_nest_level   = _ISR_Nest_level;                          
                                                                      
  _ISR_Disable( level );                                              
   4a8b0:	283c 0000 0700 	movel #1792,%d4                             
   4a8b6:	2004           	movel %d4,%d0                               
  Watchdog_Control  *after;                                           
  uint32_t           insert_isr_nest_level;                           
  Watchdog_Interval  delta_interval;                                  
                                                                      
                                                                      
  insert_isr_nest_level   = _ISR_Nest_level;                          
   4a8b8:	2639 0005 fb78 	movel 5fb78 <_Per_CPU_Information+0x8>,%d3  
                                                                      
  _ISR_Disable( level );                                              
   4a8be:	40c2           	movew %sr,%d2                               
   4a8c0:	8082           	orl %d2,%d0                                 
   4a8c2:	46c0           	movew %d0,%sr                               
  /*                                                                  
   *  Check to see if the watchdog has just been inserted by a        
   *  higher priority interrupt.  If so, abandon this insert.         
   */                                                                 
                                                                      
  if ( the_watchdog->state != WATCHDOG_INACTIVE ) {                   
   4a8c4:	4aa9 0008      	tstl %a1@(8)                                
   4a8c8:	6600 009c      	bnew 4a966 <_Watchdog_Insert+0xc2>          
    _ISR_Enable( level );                                             
    return;                                                           
  }                                                                   
                                                                      
  the_watchdog->state = WATCHDOG_BEING_INSERTED;                      
  _Watchdog_Sync_count++;                                             
   4a8cc:	2039 0005 fae6 	movel 5fae6 <_Watchdog_Sync_count>,%d0      
  if ( the_watchdog->state != WATCHDOG_INACTIVE ) {                   
    _ISR_Enable( level );                                             
    return;                                                           
  }                                                                   
                                                                      
  the_watchdog->state = WATCHDOG_BEING_INSERTED;                      
   4a8d2:	7201           	moveq #1,%d1                                
  _Watchdog_Sync_count++;                                             
   4a8d4:	5280           	addql #1,%d0                                
  if ( the_watchdog->state != WATCHDOG_INACTIVE ) {                   
    _ISR_Enable( level );                                             
    return;                                                           
  }                                                                   
                                                                      
  the_watchdog->state = WATCHDOG_BEING_INSERTED;                      
   4a8d6:	2341 0008      	movel %d1,%a1@(8)                           
  _Watchdog_Sync_count++;                                             
   4a8da:	23c0 0005 fae6 	movel %d0,5fae6 <_Watchdog_Sync_count>      
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4a8e0:	246e 0008      	moveal %fp@(8),%a2                          
                                                                      
restart:                                                              
  delta_interval = the_watchdog->initial;                             
   4a8e4:	2029 000c      	movel %a1@(12),%d0                          
   4a8e8:	2052           	moveal %a2@,%a0                             
                                                                      
  for ( after = _Watchdog_First( header ) ;                           
        ;                                                             
        after = _Watchdog_Next( after ) ) {                           
                                                                      
     if ( delta_interval == 0 || !_Watchdog_Next( after ) )           
   4a8ea:	6740           	beqs 4a92c <_Watchdog_Insert+0x88>          
   4a8ec:	4a90           	tstl %a0@                                   
   4a8ee:	673c           	beqs 4a92c <_Watchdog_Insert+0x88>          
       break;                                                         
                                                                      
     if ( delta_interval < after->delta_interval ) {                  
   4a8f0:	2228 0010      	movel %a0@(16),%d1                          
   4a8f4:	b280           	cmpl %d0,%d1                                
   4a8f6:	622e           	bhis 4a926 <_Watchdog_Insert+0x82>          
       after->delta_interval -= delta_interval;                       
       break;                                                         
     }                                                                
                                                                      
     delta_interval -= after->delta_interval;                         
   4a8f8:	9081           	subl %d1,%d0                                
                                                                      
     _ISR_Flash( level );                                             
   4a8fa:	2204           	movel %d4,%d1                               
   4a8fc:	46c2           	movew %d2,%sr                               
   4a8fe:	8282           	orl %d2,%d1                                 
   4a900:	46c1           	movew %d1,%sr                               
                                                                      
     if ( the_watchdog->state != WATCHDOG_BEING_INSERTED ) {          
   4a902:	7201           	moveq #1,%d1                                
   4a904:	b2a9 0008      	cmpl %a1@(8),%d1                            
   4a908:	6648           	bnes 4a952 <_Watchdog_Insert+0xae>          
       goto exit_insert;                                              
     }                                                                
                                                                      
     if ( _Watchdog_Sync_level > insert_isr_nest_level ) {            
   4a90a:	2239 0005 fa8e 	movel 5fa8e <_Watchdog_Sync_level>,%d1      
   4a910:	b283           	cmpl %d3,%d1                                
   4a912:	625c           	bhis 4a970 <_Watchdog_Insert+0xcc>          
                                                                      
exit_insert:                                                          
  _Watchdog_Sync_level = insert_isr_nest_level;                       
  _Watchdog_Sync_count--;                                             
  _ISR_Enable( level );                                               
}                                                                     
   4a914:	2050           	moveal %a0@,%a0                             
                                                                      
  for ( after = _Watchdog_First( header ) ;                           
        ;                                                             
        after = _Watchdog_Next( after ) ) {                           
                                                                      
     if ( delta_interval == 0 || !_Watchdog_Next( after ) )           
   4a916:	4a80           	tstl %d0                                    
   4a918:	6712           	beqs 4a92c <_Watchdog_Insert+0x88>          
   4a91a:	4a90           	tstl %a0@                                   
   4a91c:	670e           	beqs 4a92c <_Watchdog_Insert+0x88>          
       break;                                                         
                                                                      
     if ( delta_interval < after->delta_interval ) {                  
   4a91e:	2228 0010      	movel %a0@(16),%d1                          
   4a922:	b081           	cmpl %d1,%d0                                
   4a924:	64d2           	bccs 4a8f8 <_Watchdog_Insert+0x54>          
       after->delta_interval -= delta_interval;                       
   4a926:	9280           	subl %d0,%d1                                
   4a928:	2141 0010      	movel %d1,%a0@(16)                          
                                                                      
  _Watchdog_Activate( the_watchdog );                                 
                                                                      
  the_watchdog->delta_interval = delta_interval;                      
                                                                      
  _Chain_Insert_unprotected( after->Node.previous, &the_watchdog->Node );
   4a92c:	2068 0004      	moveal %a0@(4),%a0                          
RTEMS_INLINE_ROUTINE void _Watchdog_Activate(                         
  Watchdog_Control *the_watchdog                                      
)                                                                     
{                                                                     
                                                                      
  the_watchdog->state = WATCHDOG_ACTIVE;                              
   4a930:	7202           	moveq #2,%d1                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   4a932:	2450           	moveal %a0@,%a2                             
     }                                                                
  }                                                                   
                                                                      
  _Watchdog_Activate( the_watchdog );                                 
                                                                      
  the_watchdog->delta_interval = delta_interval;                      
   4a934:	2340 0010      	movel %d0,%a1@(16)                          
                                                                      
  _Chain_Insert_unprotected( after->Node.previous, &the_watchdog->Node );
                                                                      
  the_watchdog->start_time = _Watchdog_Ticks_since_boot;              
   4a938:	2039 0005 faea 	movel 5faea <_Watchdog_Ticks_since_boot>,%d0
   4a93e:	2341 0008      	movel %d1,%a1@(8)                           
   4a942:	2340 0014      	movel %d0,%a1@(20)                          
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4a946:	2348 0004      	movel %a0,%a1@(4)                           
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   4a94a:	2089           	movel %a1,%a0@                              
  the_node->next        = before_node;                                
  before_node->previous = the_node;                                   
   4a94c:	2549 0004      	movel %a1,%a2@(4)                           
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   4a950:	228a           	movel %a2,%a1@                              
                                                                      
exit_insert:                                                          
  _Watchdog_Sync_level = insert_isr_nest_level;                       
   4a952:	23c3 0005 fa8e 	movel %d3,5fa8e <_Watchdog_Sync_level>      
  _Watchdog_Sync_count--;                                             
   4a958:	2039 0005 fae6 	movel 5fae6 <_Watchdog_Sync_count>,%d0      
   4a95e:	5380           	subql #1,%d0                                
   4a960:	23c0 0005 fae6 	movel %d0,5fae6 <_Watchdog_Sync_count>      
  _ISR_Enable( level );                                               
   4a966:	46c2           	movew %d2,%sr                               
}                                                                     
   4a968:	4cd7 041c      	moveml %sp@,%d2-%d4/%a2                     
   4a96c:	4e5e           	unlk %fp                                    
   4a96e:	4e75           	rts                                         
     if ( the_watchdog->state != WATCHDOG_BEING_INSERTED ) {          
       goto exit_insert;                                              
     }                                                                
                                                                      
     if ( _Watchdog_Sync_level > insert_isr_nest_level ) {            
       _Watchdog_Sync_level = insert_isr_nest_level;                  
   4a970:	23c3 0005 fa8e 	movel %d3,5fa8e <_Watchdog_Sync_level>      
       goto restart;                                                  
   4a976:	6000 ff68      	braw 4a8e0 <_Watchdog_Insert+0x3c>          
	...                                                                  
                                                                      

0004a9d4 <_Watchdog_Remove>: { ISR_Level level; Watchdog_States previous_state; Watchdog_Control *next_watchdog; _ISR_Disable( level );
   4a9d4:	203c 0000 0700 	movel #1792,%d0                             
#include <rtems/score/watchdog.h>                                     
                                                                      
Watchdog_States _Watchdog_Remove(                                     
  Watchdog_Control *the_watchdog                                      
)                                                                     
{                                                                     
   4a9da:	4e56 0000      	linkw %fp,#0                                
   4a9de:	206e 0008      	moveal %fp@(8),%a0                          
   4a9e2:	2f0a           	movel %a2,%sp@-                             
   4a9e4:	2f02           	movel %d2,%sp@-                             
  ISR_Level         level;                                            
  Watchdog_States   previous_state;                                   
  Watchdog_Control *next_watchdog;                                    
                                                                      
  _ISR_Disable( level );                                              
   4a9e6:	40c1           	movew %sr,%d1                               
   4a9e8:	8081           	orl %d1,%d0                                 
   4a9ea:	46c0           	movew %d0,%sr                               
  previous_state = the_watchdog->state;                               
   4a9ec:	2028 0008      	movel %a0@(8),%d0                           
  switch ( previous_state ) {                                         
   4a9f0:	7401           	moveq #1,%d2                                
   4a9f2:	b480           	cmpl %d0,%d2                                
   4a9f4:	6764           	beqs 4aa5a <_Watchdog_Remove+0x86>          
   4a9f6:	6314           	blss 4aa0c <_Watchdog_Remove+0x38>          
        _Watchdog_Sync_level = _ISR_Nest_level;                       
                                                                      
      _Chain_Extract_unprotected( &the_watchdog->Node );              
      break;                                                          
  }                                                                   
  the_watchdog->stop_time = _Watchdog_Ticks_since_boot;               
   4a9f8:	2439 0005 faea 	movel 5faea <_Watchdog_Ticks_since_boot>,%d2
   4a9fe:	2142 0018      	movel %d2,%a0@(24)                          
                                                                      
  _ISR_Enable( level );                                               
   4aa02:	46c1           	movew %d1,%sr                               
  return( previous_state );                                           
}                                                                     
   4aa04:	241f           	movel %sp@+,%d2                             
   4aa06:	245f           	moveal %sp@+,%a2                            
   4aa08:	4e5e           	unlk %fp                                    
   4aa0a:	4e75           	rts                                         
  Watchdog_States   previous_state;                                   
  Watchdog_Control *next_watchdog;                                    
                                                                      
  _ISR_Disable( level );                                              
  previous_state = the_watchdog->state;                               
  switch ( previous_state ) {                                         
   4aa0c:	143c 0003      	moveb #3,%d2                                
   4aa10:	b480           	cmpl %d0,%d2                                
   4aa12:	65e4           	bcss 4a9f8 <_Watchdog_Remove+0x24>          <== NEVER TAKEN
  }                                                                   
  the_watchdog->stop_time = _Watchdog_Ticks_since_boot;               
                                                                      
  _ISR_Enable( level );                                               
  return( previous_state );                                           
}                                                                     
   4aa14:	2250           	moveal %a0@,%a1                             
      break;                                                          
                                                                      
    case WATCHDOG_ACTIVE:                                             
    case WATCHDOG_REMOVE_IT:                                          
                                                                      
      the_watchdog->state = WATCHDOG_INACTIVE;                        
   4aa16:	42a8 0008      	clrl %a0@(8)                                
      next_watchdog = _Watchdog_Next( the_watchdog );                 
                                                                      
      if ( _Watchdog_Next(next_watchdog) )                            
   4aa1a:	4a91           	tstl %a1@                                   
   4aa1c:	6708           	beqs 4aa26 <_Watchdog_Remove+0x52>          
        next_watchdog->delta_interval += the_watchdog->delta_interval;
   4aa1e:	2428 0010      	movel %a0@(16),%d2                          
   4aa22:	d5a9 0010      	addl %d2,%a1@(16)                           
                                                                      
      if ( _Watchdog_Sync_count )                                     
   4aa26:	2479 0005 fae6 	moveal 5fae6 <_Watchdog_Sync_count>,%a2     
   4aa2c:	4a8a           	tstl %a2                                    
   4aa2e:	670c           	beqs 4aa3c <_Watchdog_Remove+0x68>          
        _Watchdog_Sync_level = _ISR_Nest_level;                       
   4aa30:	45f9 0005 fb78 	lea 5fb78 <_Per_CPU_Information+0x8>,%a2    
   4aa36:	23d2 0005 fa8e 	movel %a2@,5fa8e <_Watchdog_Sync_level>     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   4aa3c:	2468 0004      	moveal %a0@(4),%a2                          
                                                                      
      _Chain_Extract_unprotected( &the_watchdog->Node );              
      break;                                                          
  }                                                                   
  the_watchdog->stop_time = _Watchdog_Ticks_since_boot;               
   4aa40:	2439 0005 faea 	movel 5faea <_Watchdog_Ticks_since_boot>,%d2
  next->previous = previous;                                          
   4aa46:	234a 0004      	movel %a2,%a1@(4)                           
  previous->next = next;                                              
   4aa4a:	2489           	movel %a1,%a2@                              
   4aa4c:	2142 0018      	movel %d2,%a0@(24)                          
                                                                      
  _ISR_Enable( level );                                               
   4aa50:	46c1           	movew %d1,%sr                               
  return( previous_state );                                           
}                                                                     
   4aa52:	241f           	movel %sp@+,%d2                             
   4aa54:	245f           	moveal %sp@+,%a2                            
   4aa56:	4e5e           	unlk %fp                                    
   4aa58:	4e75           	rts                                         
        _Watchdog_Sync_level = _ISR_Nest_level;                       
                                                                      
      _Chain_Extract_unprotected( &the_watchdog->Node );              
      break;                                                          
  }                                                                   
  the_watchdog->stop_time = _Watchdog_Ticks_since_boot;               
   4aa5a:	2439 0005 faea 	movel 5faea <_Watchdog_Ticks_since_boot>,%d2
                                                                      
      /*                                                              
       *  It is not actually on the chain so just change the state and
       *  the Insert operation we interrupted will be aborted.        
       */                                                             
      the_watchdog->state = WATCHDOG_INACTIVE;                        
   4aa60:	42a8 0008      	clrl %a0@(8)                                
        _Watchdog_Sync_level = _ISR_Nest_level;                       
                                                                      
      _Chain_Extract_unprotected( &the_watchdog->Node );              
      break;                                                          
  }                                                                   
  the_watchdog->stop_time = _Watchdog_Ticks_since_boot;               
   4aa64:	2142 0018      	movel %d2,%a0@(24)                          
                                                                      
  _ISR_Enable( level );                                               
   4aa68:	46c1           	movew %d1,%sr                               
  return( previous_state );                                           
}                                                                     
   4aa6a:	241f           	movel %sp@+,%d2                             
   4aa6c:	245f           	moveal %sp@+,%a2                            
   4aa6e:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004bbcc <_Watchdog_Report_chain>: ) { ISR_Level level; Chain_Node *node; _ISR_Disable( level );
   4bbcc:	203c 0000 0700 	movel #1792,%d0                             
                                                                      
void _Watchdog_Report_chain(                                          
  const char        *name,                                            
  Chain_Control     *header                                           
)                                                                     
{                                                                     
   4bbd2:	4e56 ffe8      	linkw %fp,#-24                              
   4bbd6:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 
   4bbda:	242e 0008      	movel %fp@(8),%d2                           
   4bbde:	266e 000c      	moveal %fp@(12),%a3                         
  ISR_Level          level;                                           
  Chain_Node        *node;                                            
                                                                      
  _ISR_Disable( level );                                              
   4bbe2:	40c3           	movew %sr,%d3                               
   4bbe4:	8083           	orl %d3,%d0                                 
   4bbe6:	46c0           	movew %d0,%sr                               
    printk( "Watchdog Chain: %s %p\n", name, header );                
   4bbe8:	2f0b           	movel %a3,%sp@-                             
   4bbea:	4bf9 0004 4990 	lea 44990 <printk>,%a5                      
   4bbf0:	2f02           	movel %d2,%sp@-                             
   4bbf2:	4879 0005 f213 	pea 5f213 <_Copyright_Notice+0x4b>          
   4bbf8:	4e95           	jsr %a5@                                    
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4bbfa:	245b           	moveal %a3@+,%a2                            
    if ( !_Chain_Is_empty( header ) ) {                               
   4bbfc:	4fef 000c      	lea %sp@(12),%sp                            
   4bc00:	b7ca           	cmpal %a2,%a3                               
   4bc02:	672c           	beqs 4bc30 <_Watchdog_Report_chain+0x64>    
   4bc04:	49f9 0004 bc48 	lea 4bc48 <_Watchdog_Report>,%a4            
            node != _Chain_Tail(header) ;                             
            node = node->next )                                       
      {                                                               
        Watchdog_Control *watch = (Watchdog_Control *) node;          
                                                                      
        _Watchdog_Report( NULL, watch );                              
   4bc0a:	2f0a           	movel %a2,%sp@-                             
   4bc0c:	42a7           	clrl %sp@-                                  
   4bc0e:	4e94           	jsr %a4@                                    
  _ISR_Disable( level );                                              
    printk( "Watchdog Chain: %s %p\n", name, header );                
    if ( !_Chain_Is_empty( header ) ) {                               
      for ( node = _Chain_First( header ) ;                           
            node != _Chain_Tail(header) ;                             
            node = node->next )                                       
   4bc10:	2452           	moveal %a2@,%a2                             
  Chain_Node        *node;                                            
                                                                      
  _ISR_Disable( level );                                              
    printk( "Watchdog Chain: %s %p\n", name, header );                
    if ( !_Chain_Is_empty( header ) ) {                               
      for ( node = _Chain_First( header ) ;                           
   4bc12:	508f           	addql #8,%sp                                
   4bc14:	b7ca           	cmpal %a2,%a3                               
   4bc16:	66f2           	bnes 4bc0a <_Watchdog_Report_chain+0x3e>    <== NEVER TAKEN
      {                                                               
        Watchdog_Control *watch = (Watchdog_Control *) node;          
                                                                      
        _Watchdog_Report( NULL, watch );                              
      }                                                               
      printk( "== end of %s \n", name );                              
   4bc18:	2f02           	movel %d2,%sp@-                             
   4bc1a:	4879 0005 f22a 	pea 5f22a <_Copyright_Notice+0x62>          
   4bc20:	4e95           	jsr %a5@                                    
   4bc22:	508f           	addql #8,%sp                                
    } else {                                                          
      printk( "Chain is empty\n" );                                   
    }                                                                 
  _ISR_Enable( level );                                               
   4bc24:	46c3           	movew %d3,%sr                               
}                                                                     
   4bc26:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4bc2c:	4e5e           	unlk %fp                                    
   4bc2e:	4e75           	rts                                         
                                                                      
        _Watchdog_Report( NULL, watch );                              
      }                                                               
      printk( "== end of %s \n", name );                              
    } else {                                                          
      printk( "Chain is empty\n" );                                   
   4bc30:	4879 0005 f239 	pea 5f239 <_Copyright_Notice+0x71>          
   4bc36:	4e95           	jsr %a5@                                    
   4bc38:	588f           	addql #4,%sp                                
    }                                                                 
  _ISR_Enable( level );                                               
   4bc3a:	46c3           	movew %d3,%sr                               
}                                                                     
   4bc3c:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4bc42:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004aa74 <_Watchdog_Tickle>: * See the comment in watchdoginsert.c and watchdogadjust.c * about why it's safe not to declare header a pointer to * volatile data - till, 2003/7 */ _ISR_Disable( level );
   4aa74:	203c 0000 0700 	movel #1792,%d0                             
#include <rtems/score/watchdog.h>                                     
                                                                      
void _Watchdog_Tickle(                                                
  Chain_Control *header                                               
)                                                                     
{                                                                     
   4aa7a:	4e56 ffe8      	linkw %fp,#-24                              
   4aa7e:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 
   4aa82:	286e 0008      	moveal %fp@(8),%a4                          
   * See the comment in watchdoginsert.c and watchdogadjust.c         
   * about why it's safe not to declare header a pointer to           
   * volatile data - till, 2003/7                                     
   */                                                                 
                                                                      
  _ISR_Disable( level );                                              
   4aa86:	40c2           	movew %sr,%d2                               
   4aa88:	8082           	orl %d2,%d0                                 
   4aa8a:	46c0           	movew %d0,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4aa8c:	264c           	moveal %a4,%a3                              
   4aa8e:	245b           	moveal %a3@+,%a2                            
                                                                      
  if ( _Chain_Is_empty( header ) )                                    
   4aa90:	b7ca           	cmpal %a2,%a3                               
   4aa92:	673c           	beqs 4aad0 <_Watchdog_Tickle+0x5c>          
   * to be inserted has already had its delta_interval adjusted to 0, and
   * so is added to the head of the chain with a delta_interval of 0. 
   *                                                                  
   * Steven Johnson - 12/2005 (gcc-3.2.3 -O3 on powerpc)              
   */                                                                 
  if (the_watchdog->delta_interval != 0) {                            
   4aa94:	202a 0010      	movel %a2@(16),%d0                          
   4aa98:	6708           	beqs 4aaa2 <_Watchdog_Tickle+0x2e>          <== NEVER TAKEN
    the_watchdog->delta_interval--;                                   
   4aa9a:	5380           	subql #1,%d0                                
   4aa9c:	2540 0010      	movel %d0,%a2@(16)                          
    if ( the_watchdog->delta_interval != 0 )                          
   4aaa0:	662e           	bnes 4aad0 <_Watchdog_Tickle+0x5c>          
   4aaa2:	4bf9 0004 a9d4 	lea 4a9d4 <_Watchdog_Remove>,%a5            
                                                                      
       case WATCHDOG_REMOVE_IT:                                       
         break;                                                       
     }                                                                
                                                                      
     _ISR_Disable( level );                                           
   4aaa8:	263c 0000 0700 	movel #1792,%d3                             
    if ( the_watchdog->delta_interval != 0 )                          
      goto leave;                                                     
  }                                                                   
                                                                      
  do {                                                                
     watchdog_state = _Watchdog_Remove( the_watchdog );               
   4aaae:	2f0a           	movel %a2,%sp@-                             
   4aab0:	4e95           	jsr %a5@                                    
                                                                      
     _ISR_Enable( level );                                            
   4aab2:	46c2           	movew %d2,%sr                               
                                                                      
     switch( watchdog_state ) {                                       
   4aab4:	7202           	moveq #2,%d1                                
   4aab6:	588f           	addql #4,%sp                                
   4aab8:	b280           	cmpl %d0,%d1                                
   4aaba:	6720           	beqs 4aadc <_Watchdog_Tickle+0x68>          <== ALWAYS TAKEN
                                                                      
       case WATCHDOG_REMOVE_IT:                                       
         break;                                                       
     }                                                                
                                                                      
     _ISR_Disable( level );                                           
   4aabc:	2003           	movel %d3,%d0                               
   4aabe:	40c2           	movew %sr,%d2                               
   4aac0:	8082           	orl %d2,%d0                                 
   4aac2:	46c0           	movew %d0,%sr                               
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4aac4:	2454           	moveal %a4@,%a2                             
                                                                      
     the_watchdog = _Watchdog_First( header );                        
   } while ( !_Chain_Is_empty( header ) &&                            
             (the_watchdog->delta_interval == 0) );                   
   4aac6:	b5cb           	cmpal %a3,%a2                               
   4aac8:	6706           	beqs 4aad0 <_Watchdog_Tickle+0x5c>          
     }                                                                
                                                                      
     _ISR_Disable( level );                                           
                                                                      
     the_watchdog = _Watchdog_First( header );                        
   } while ( !_Chain_Is_empty( header ) &&                            
   4aaca:	4aaa 0010      	tstl %a2@(16)                               
   4aace:	67de           	beqs 4aaae <_Watchdog_Tickle+0x3a>          
             (the_watchdog->delta_interval == 0) );                   
                                                                      
leave:                                                                
   _ISR_Enable(level);                                                
   4aad0:	46c2           	movew %d2,%sr                               
}                                                                     
   4aad2:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4aad8:	4e5e           	unlk %fp                                    
   4aada:	4e75           	rts                                         
                                                                      
     _ISR_Enable( level );                                            
                                                                      
     switch( watchdog_state ) {                                       
       case WATCHDOG_ACTIVE:                                          
         (*the_watchdog->routine)(                                    
   4aadc:	2f2a 0024      	movel %a2@(36),%sp@-                        
   4aae0:	2f2a 0020      	movel %a2@(32),%sp@-                        
   4aae4:	206a 001c      	moveal %a2@(28),%a0                         
   4aae8:	4e90           	jsr %a0@                                    
           the_watchdog->id,                                          
           the_watchdog->user_data                                    
         );                                                           
         break;                                                       
   4aaea:	508f           	addql #8,%sp                                
   4aaec:	60ce           	bras 4aabc <_Watchdog_Tickle+0x48>          
	...                                                                  
                                                                      

0004ac2a <_Workspace_Allocate_or_fatal_error>: void *_Workspace_Allocate_or_fatal_error( size_t size ) {
   4ac2a:	4e56 0000      	linkw %fp,#0                                
   4ac2e:	42a7           	clrl %sp@-                                  
   4ac30:	42a7           	clrl %sp@-                                  
   4ac32:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4ac36:	4879 0005 fa16 	pea 5fa16 <_Workspace_Area>                 
   4ac3c:	4eb9 0004 c6b0 	jsr 4c6b0 <_Heap_Allocate_aligned_with_boundary>
      __builtin_return_address( 1 ),                                  
      memory                                                          
    );                                                                
  #endif                                                              
                                                                      
  if ( memory == NULL )                                               
   4ac42:	4fef 0010      	lea %sp@(16),%sp                            
   4ac46:	4a80           	tstl %d0                                    
   4ac48:	6704           	beqs 4ac4e <_Workspace_Allocate_or_fatal_error+0x24>
      true,                                                           
      INTERNAL_ERROR_WORKSPACE_ALLOCATION                             
    );                                                                
                                                                      
  return memory;                                                      
}                                                                     
   4ac4a:	4e5e           	unlk %fp                                    
   4ac4c:	4e75           	rts                                         
      memory                                                          
    );                                                                
  #endif                                                              
                                                                      
  if ( memory == NULL )                                               
    _Internal_error_Occurred(                                         
   4ac4e:	4878 0003      	pea 3 <DIVIDE>                              
   4ac52:	4878 0001      	pea 1 <ADD>                                 
   4ac56:	42a7           	clrl %sp@-                                  
   4ac58:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
	...                                                                  
                                                                      

0004aaf0 <_Workspace_Handler_initialization>: void _Workspace_Handler_initialization( Heap_Area *areas, size_t area_count, Heap_Initialization_or_extend_handler extend ) {
   4aaf0:	4e56 ffd8      	linkw %fp,#-40                              
   4aaf4:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4aaf8:	266e 0008      	moveal %fp@(8),%a3                          
   4aafc:	2c2e 000c      	movel %fp@(12),%d6                          
   4ab00:	2a2e 0010      	movel %fp@(16),%d5                          
  Heap_Initialization_or_extend_handler init_or_extend = _Heap_Initialize;
  uintptr_t remaining = rtems_configuration_get_work_space_size();    
   4ab04:	4a39 0005 c606 	tstb 5c606 <Configuration+0x32>             
   4ab0a:	6600 00d2      	bnew 4abde <_Workspace_Handler_initialization+0xee>
   4ab0e:	2839 0005 c5d8 	movel 5c5d8 <Configuration+0x4>,%d4         
   4ab14:	d8b9 0005 c5d4 	addl 5c5d4 <Configuration>,%d4              
  bool do_zero = rtems_configuration_get_do_zero_of_workspace();      
   4ab1a:	1e39 0005 c604 	moveb 5c604 <Configuration+0x30>,%d7        
  bool unified = rtems_configuration_get_unified_work_area();         
  uintptr_t page_size = CPU_HEAP_ALIGNMENT;                           
  uintptr_t overhead = _Heap_Area_overhead( page_size );              
  size_t i;                                                           
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
   4ab20:	4a86           	tstl %d6                                    
   4ab22:	6768           	beqs 4ab8c <_Workspace_Handler_initialization+0x9c><== NEVER TAKEN
/* #define DEBUG_WORKSPACE */                                         
#if defined(DEBUG_WORKSPACE)                                          
  #include <rtems/bspIo.h>                                            
#endif                                                                
                                                                      
void _Workspace_Handler_initialization(                               
   4ab24:	45eb 0004      	lea %a3@(4),%a2                             
  bool unified = rtems_configuration_get_unified_work_area();         
  uintptr_t page_size = CPU_HEAP_ALIGNMENT;                           
  uintptr_t overhead = _Heap_Area_overhead( page_size );              
  size_t i;                                                           
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
   4ab28:	4283           	clrl %d3                                    
  Heap_Area *areas,                                                   
  size_t area_count,                                                  
  Heap_Initialization_or_extend_handler extend                        
)                                                                     
{                                                                     
  Heap_Initialization_or_extend_handler init_or_extend = _Heap_Initialize;
   4ab2a:	49f9 0004 86b0 	lea 486b0 <_Heap_Initialize>,%a4            
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
    Heap_Area *area = &areas [i];                                     
                                                                      
    if ( do_zero ) {                                                  
      memset( area->begin, 0, area->size );                           
   4ab30:	4bf9 0004 e9d4 	lea 4e9d4 <memset>,%a5                      
  size_t i;                                                           
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
    Heap_Area *area = &areas [i];                                     
                                                                      
    if ( do_zero ) {                                                  
   4ab36:	4a07           	tstb %d7                                    
   4ab38:	6660           	bnes 4ab9a <_Workspace_Handler_initialization+0xaa><== NEVER TAKEN
      memset( area->begin, 0, area->size );                           
    }                                                                 
                                                                      
    if ( area->size > overhead ) {                                    
   4ab3a:	2412           	movel %a2@,%d2                              
   4ab3c:	700e           	moveq #14,%d0                               
   4ab3e:	b082           	cmpl %d2,%d0                                
   4ab40:	6440           	bccs 4ab82 <_Workspace_Handler_initialization+0x92>
      uintptr_t space_available;                                      
      uintptr_t size;                                                 
                                                                      
      if ( unified ) {                                                
   4ab42:	4a39 0005 c605 	tstb 5c605 <Configuration+0x31>             
   4ab48:	6618           	bnes 4ab62 <_Workspace_Handler_initialization+0x72>
        size = area->size;                                            
      } else {                                                        
        if ( remaining > 0 ) {                                        
   4ab4a:	4a84           	tstl %d4                                    
   4ab4c:	675a           	beqs 4aba8 <_Workspace_Handler_initialization+0xb8><== NEVER TAKEN
          size = remaining < area->size - overhead ?                  
   4ab4e:	2002           	movel %d2,%d0                               
   4ab50:	0680 ffff fff2 	addil #-14,%d0                              
            remaining + overhead : area->size;                        
   4ab56:	b880           	cmpl %d0,%d4                                
   4ab58:	6408           	bccs 4ab62 <_Workspace_Handler_initialization+0x72><== NEVER TAKEN
   4ab5a:	2404           	movel %d4,%d2                               
   4ab5c:	0682 0000 000e 	addil #14,%d2                               
        } else {                                                      
          size = 0;                                                   
        }                                                             
      }                                                               
                                                                      
      space_available = (*init_or_extend)(                            
   4ab62:	4878 0004      	pea 4 <CONTEXT_ARG>                         
   4ab66:	2f02           	movel %d2,%sp@-                             
   4ab68:	2f13           	movel %a3@,%sp@-                            
   4ab6a:	4879 0005 fa16 	pea 5fa16 <_Workspace_Area>                 
   4ab70:	4e94           	jsr %a4@                                    
      );                                                              
                                                                      
      area->begin = (char *) area->begin + size;                      
      area->size -= size;                                             
                                                                      
      if ( space_available < remaining ) {                            
   4ab72:	4fef 0010      	lea %sp@(16),%sp                            
        area->begin,                                                  
        size,                                                         
        page_size                                                     
      );                                                              
                                                                      
      area->begin = (char *) area->begin + size;                      
   4ab76:	d593           	addl %d2,%a3@                               
      area->size -= size;                                             
   4ab78:	9592           	subl %d2,%a2@                               
                                                                      
      if ( space_available < remaining ) {                            
   4ab7a:	b880           	cmpl %d0,%d4                                
   4ab7c:	634e           	blss 4abcc <_Workspace_Handler_initialization+0xdc><== ALWAYS TAKEN
        remaining -= space_available;                                 
   4ab7e:	9880           	subl %d0,%d4                                <== NOT EXECUTED
      } else {                                                        
        remaining = 0;                                                
      }                                                               
                                                                      
      init_or_extend = extend;                                        
   4ab80:	2845           	moveal %d5,%a4                              <== NOT EXECUTED
  bool unified = rtems_configuration_get_unified_work_area();         
  uintptr_t page_size = CPU_HEAP_ALIGNMENT;                           
  uintptr_t overhead = _Heap_Area_overhead( page_size );              
  size_t i;                                                           
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
   4ab82:	5283           	addql #1,%d3                                
   4ab84:	508a           	addql #8,%a2                                
   4ab86:	508b           	addql #8,%a3                                
   4ab88:	bc83           	cmpl %d3,%d6                                
   4ab8a:	66aa           	bnes 4ab36 <_Workspace_Handler_initialization+0x46><== NEVER TAKEN
                                                                      
      init_or_extend = extend;                                        
    }                                                                 
  }                                                                   
                                                                      
  if ( remaining > 0 ) {                                              
   4ab8c:	4a84           	tstl %d4                                    
   4ab8e:	6654           	bnes 4abe4 <_Workspace_Handler_initialization+0xf4>
      INTERNAL_ERROR_CORE,                                            
      true,                                                           
      INTERNAL_ERROR_TOO_LITTLE_WORKSPACE                             
    );                                                                
  }                                                                   
}                                                                     
   4ab90:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            
   4ab96:	4e5e           	unlk %fp                                    
   4ab98:	4e75           	rts                                         
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
    Heap_Area *area = &areas [i];                                     
                                                                      
    if ( do_zero ) {                                                  
      memset( area->begin, 0, area->size );                           
   4ab9a:	2f12           	movel %a2@,%sp@-                            
   4ab9c:	42a7           	clrl %sp@-                                  
   4ab9e:	2f13           	movel %a3@,%sp@-                            
   4aba0:	4e95           	jsr %a5@                                    
   4aba2:	4fef 000c      	lea %sp@(12),%sp                            
   4aba6:	6092           	bras 4ab3a <_Workspace_Handler_initialization+0x4a>
        } else {                                                      
          size = 0;                                                   
        }                                                             
      }                                                               
                                                                      
      space_available = (*init_or_extend)(                            
   4aba8:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
  bool unified = rtems_configuration_get_unified_work_area();         
  uintptr_t page_size = CPU_HEAP_ALIGNMENT;                           
  uintptr_t overhead = _Heap_Area_overhead( page_size );              
  size_t i;                                                           
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
   4abac:	5283           	addql #1,%d3                                <== NOT EXECUTED
   4abae:	508a           	addql #8,%a2                                <== NOT EXECUTED
        } else {                                                      
          size = 0;                                                   
        }                                                             
      }                                                               
                                                                      
      space_available = (*init_or_extend)(                            
   4abb0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4abb2:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   4abb4:	508b           	addql #8,%a3                                <== NOT EXECUTED
   4abb6:	4879 0005 fa16 	pea 5fa16 <_Workspace_Area>                 <== NOT EXECUTED
   4abbc:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   4abbe:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
        remaining -= space_available;                                 
      } else {                                                        
        remaining = 0;                                                
      }                                                               
                                                                      
      init_or_extend = extend;                                        
   4abc2:	2845           	moveal %d5,%a4                              <== NOT EXECUTED
  bool unified = rtems_configuration_get_unified_work_area();         
  uintptr_t page_size = CPU_HEAP_ALIGNMENT;                           
  uintptr_t overhead = _Heap_Area_overhead( page_size );              
  size_t i;                                                           
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
   4abc4:	bc83           	cmpl %d3,%d6                                <== NOT EXECUTED
   4abc6:	6600 ff6e      	bnew 4ab36 <_Workspace_Handler_initialization+0x46><== NOT EXECUTED
   4abca:	60c0           	bras 4ab8c <_Workspace_Handler_initialization+0x9c><== NOT EXECUTED
        remaining -= space_available;                                 
      } else {                                                        
        remaining = 0;                                                
      }                                                               
                                                                      
      init_or_extend = extend;                                        
   4abcc:	2845           	moveal %d5,%a4                              
      area->size -= size;                                             
                                                                      
      if ( space_available < remaining ) {                            
        remaining -= space_available;                                 
      } else {                                                        
        remaining = 0;                                                
   4abce:	4284           	clrl %d4                                    
  bool unified = rtems_configuration_get_unified_work_area();         
  uintptr_t page_size = CPU_HEAP_ALIGNMENT;                           
  uintptr_t overhead = _Heap_Area_overhead( page_size );              
  size_t i;                                                           
                                                                      
  for (i = 0; i < area_count; ++i) {                                  
   4abd0:	5283           	addql #1,%d3                                
   4abd2:	508a           	addql #8,%a2                                
   4abd4:	508b           	addql #8,%a3                                
   4abd6:	bc83           	cmpl %d3,%d6                                
   4abd8:	6600 ff5c      	bnew 4ab36 <_Workspace_Handler_initialization+0x46>
   4abdc:	60ae           	bras 4ab8c <_Workspace_Handler_initialization+0x9c>
  size_t area_count,                                                  
  Heap_Initialization_or_extend_handler extend                        
)                                                                     
{                                                                     
  Heap_Initialization_or_extend_handler init_or_extend = _Heap_Initialize;
  uintptr_t remaining = rtems_configuration_get_work_space_size();    
   4abde:	4284           	clrl %d4                                    
   4abe0:	6000 ff32      	braw 4ab14 <_Workspace_Handler_initialization+0x24>
      init_or_extend = extend;                                        
    }                                                                 
  }                                                                   
                                                                      
  if ( remaining > 0 ) {                                              
    _Internal_error_Occurred(                                         
   4abe4:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4abe8:	4878 0001      	pea 1 <ADD>                                 
   4abec:	42a7           	clrl %sp@-                                  
   4abee:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
                                                                      

0004aefc <_Workspace_String_duplicate>: char *_Workspace_String_duplicate( const char *string, size_t len ) {
   4aefc:	4e56 0000      	linkw %fp,#0                                
   4af00:	2f0b           	movel %a3,%sp@-                             
   4af02:	266e 000c      	moveal %fp@(12),%a3                         
   4af06:	2f0a           	movel %a2,%sp@-                             
  char *dup = _Workspace_Allocate(len + 1);                           
   4af08:	486b 0001      	pea %a3@(1)                                 
   4af0c:	4eb9 0004 ae90 	jsr 4ae90 <_Workspace_Allocate>             
                                                                      
  if (dup != NULL) {                                                  
   4af12:	588f           	addql #4,%sp                                
char *_Workspace_String_duplicate(                                    
  const char *string,                                                 
  size_t len                                                          
)                                                                     
{                                                                     
  char *dup = _Workspace_Allocate(len + 1);                           
   4af14:	2440           	moveal %d0,%a2                              
                                                                      
  if (dup != NULL) {                                                  
   4af16:	4a80           	tstl %d0                                    
   4af18:	6718           	beqs 4af32 <_Workspace_String_duplicate+0x36><== NEVER TAKEN
    dup [len] = '\0';                                                 
   4af1a:	4200           	clrb %d0                                    
   4af1c:	1580 b800      	moveb %d0,%a2@(00000000,%a3:l)              
    memcpy(dup, string, len);                                         
   4af20:	2f0b           	movel %a3,%sp@-                             
   4af22:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4af26:	2f0a           	movel %a2,%sp@-                             
   4af28:	4eb9 0004 ecf4 	jsr 4ecf4 <memcpy>                          
   4af2e:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
                                                                      
  return dup;                                                         
}                                                                     
   4af32:	200a           	movel %a2,%d0                               
   4af34:	246e fff8      	moveal %fp@(-8),%a2                         
   4af38:	266e fffc      	moveal %fp@(-4),%a3                         
   4af3c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005bd9c <__kill>: #endif int __kill( pid_t pid, int sig ) { return 0; }
   5bd9c:	4280           	clrl %d0                                    <== NOT EXECUTED
  return 0;                                                           
}                                                                     
#endif                                                                
                                                                      
int __kill( pid_t pid, int sig )                                      
{                                                                     
   5bd9e:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return 0;                                                           
}                                                                     
   5bda2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

0005bbfc <_calloc_r>: void *_calloc_r( struct _reent *ignored __attribute__((unused)), size_t elements, size_t size ) {
   5bbfc:	4e56 0000      	linkw %fp,#0                                
   5bc00:	202e 000c      	movel %fp@(12),%d0                          
  return calloc( elements, size );                                    
   5bc04:	2d6e 0010 000c 	movel %fp@(16),%fp@(12)                     
void *_calloc_r(                                                      
  struct _reent *ignored __attribute__((unused)),                     
  size_t         elements,                                            
  size_t         size                                                 
)                                                                     
{                                                                     
   5bc0a:	2d40 0008      	movel %d0,%fp@(8)                           
  return calloc( elements, size );                                    
}                                                                     
   5bc0e:	4e5e           	unlk %fp                                    
  struct _reent *ignored __attribute__((unused)),                     
  size_t         elements,                                            
  size_t         size                                                 
)                                                                     
{                                                                     
  return calloc( elements, size );                                    
   5bc10:	4ef9 0004 2e28 	jmp 42e28 <calloc>                          
	...                                                                  
                                                                      

000529c4 <_fat_block_read>: uint32_t start, uint32_t offset, uint32_t count, void *buff ) {
   529c4:	4e56 ffd8      	linkw %fp,#-40                              
   529c8:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 
   529cc:	246e 0008      	moveal %fp@(8),%a2                          
   529d0:	242e 0014      	movel %fp@(20),%d2                          
   529d4:	286e 0018      	moveal %fp@(24),%a4                         
    uint32_t                sec_num = start;                          
    uint32_t                ofs = offset;                             
    uint8_t                *sec_buf;                                  
    uint32_t                c = 0;                                    
                                                                      
    while (count > 0)                                                 
   529d8:	6772           	beqs 52a4c <_fat_block_read+0x88>           <== NEVER TAKEN
   529da:	2c0e           	movel %fp,%d6                               
   529dc:	4283           	clrl %d3                                    
   529de:	5986           	subql #4,%d6                                
   529e0:	47f9 0005 2908 	lea 52908 <fat_buf_access>,%a3              
        rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
        if (rc != RC_OK)                                              
            return -1;                                                
                                                                      
        c = MIN(count, (fs_info->vol.bps - ofs));                     
        memcpy((buff + cmpltd), (sec_buf + ofs), c);                  
   529e6:	4bf9 0005 b188 	lea 5b188 <memcpy>,%a5                      
    uint32_t                sec_num = start;                          
    uint32_t                ofs = offset;                             
    uint8_t                *sec_buf;                                  
    uint32_t                c = 0;                                    
                                                                      
    while (count > 0)                                                 
   529ec:	2a2e 0010      	movel %fp@(16),%d5                          
   529f0:	282e 000c      	movel %fp@(12),%d4                          
    {                                                                 
        rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
   529f4:	2f06           	movel %d6,%sp@-                             
   529f6:	4878 0001      	pea 1 <ADD>                                 
   529fa:	2f04           	movel %d4,%sp@-                             
        c = MIN(count, (fs_info->vol.bps - ofs));                     
        memcpy((buff + cmpltd), (sec_buf + ofs), c);                  
                                                                      
        count -= c;                                                   
        cmpltd += c;                                                  
        sec_num++;                                                    
   529fc:	5284           	addql #1,%d4                                
    uint8_t                *sec_buf;                                  
    uint32_t                c = 0;                                    
                                                                      
    while (count > 0)                                                 
    {                                                                 
        rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
   529fe:	2f0a           	movel %a2,%sp@-                             
   52a00:	4e93           	jsr %a3@                                    
        if (rc != RC_OK)                                              
   52a02:	4fef 0010      	lea %sp@(16),%sp                            
   52a06:	4a80           	tstl %d0                                    
   52a08:	6634           	bnes 52a3e <_fat_block_read+0x7a>           <== NEVER TAKEN
            return -1;                                                
                                                                      
        c = MIN(count, (fs_info->vol.bps - ofs));                     
   52a0a:	4281           	clrl %d1                                    
   52a0c:	3212           	movew %a2@,%d1                              
   52a0e:	9285           	subl %d5,%d1                                
   52a10:	b481           	cmpl %d1,%d2                                
   52a12:	6402           	bccs 52a16 <_fat_block_read+0x52>           <== ALWAYS TAKEN
   52a14:	2202           	movel %d2,%d1                               <== NOT EXECUTED
        memcpy((buff + cmpltd), (sec_buf + ofs), c);                  
   52a16:	daae fffc      	addl %fp@(-4),%d5                           
                                                                      
        count -= c;                                                   
   52a1a:	9481           	subl %d1,%d2                                
        rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
        if (rc != RC_OK)                                              
            return -1;                                                
                                                                      
        c = MIN(count, (fs_info->vol.bps - ofs));                     
        memcpy((buff + cmpltd), (sec_buf + ofs), c);                  
   52a1c:	2f01           	movel %d1,%sp@-                             
   52a1e:	2f05           	movel %d5,%sp@-                             
   52a20:	4874 3800      	pea %a4@(00000000,%d3:l)                    
                                                                      
        count -= c;                                                   
        cmpltd += c;                                                  
   52a24:	d681           	addl %d1,%d3                                
        sec_num++;                                                    
        ofs = 0;                                                      
   52a26:	4285           	clrl %d5                                    
        rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
        if (rc != RC_OK)                                              
            return -1;                                                
                                                                      
        c = MIN(count, (fs_info->vol.bps - ofs));                     
        memcpy((buff + cmpltd), (sec_buf + ofs), c);                  
   52a28:	4e95           	jsr %a5@                                    
    uint32_t                sec_num = start;                          
    uint32_t                ofs = offset;                             
    uint8_t                *sec_buf;                                  
    uint32_t                c = 0;                                    
                                                                      
    while (count > 0)                                                 
   52a2a:	4fef 000c      	lea %sp@(12),%sp                            
   52a2e:	4a82           	tstl %d2                                    
   52a30:	66c2           	bnes 529f4 <_fat_block_read+0x30>           
        cmpltd += c;                                                  
        sec_num++;                                                    
        ofs = 0;                                                      
    }                                                                 
    return cmpltd;                                                    
}                                                                     
   52a32:	2003           	movel %d3,%d0                               
   52a34:	4cee 3c7c ffd8 	moveml %fp@(-40),%d2-%d6/%a2-%a5            
   52a3a:	4e5e           	unlk %fp                                    
   52a3c:	4e75           	rts                                         
                                                                      
    while (count > 0)                                                 
    {                                                                 
        rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
        if (rc != RC_OK)                                              
            return -1;                                                
   52a3e:	76ff           	moveq #-1,%d3                               <== NOT EXECUTED
        cmpltd += c;                                                  
        sec_num++;                                                    
        ofs = 0;                                                      
    }                                                                 
    return cmpltd;                                                    
}                                                                     
   52a40:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   52a42:	4cee 3c7c ffd8 	moveml %fp@(-40),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   52a48:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52a4a:	4e75           	rts                                         <== NOT EXECUTED
    uint32_t                              count,                      
    void                                 *buff                        
    )                                                                 
{                                                                     
    int                     rc = RC_OK;                               
    ssize_t                 cmpltd = 0;                               
   52a4c:	4283           	clrl %d3                                    <== NOT EXECUTED
        cmpltd += c;                                                  
        sec_num++;                                                    
        ofs = 0;                                                      
    }                                                                 
    return cmpltd;                                                    
}                                                                     
   52a4e:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   52a50:	4cee 3c7c ffd8 	moveml %fp@(-40),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   52a56:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005bc94 <_free_r>: void _free_r( struct _reent *ignored __attribute__((unused)), void *ptr ) {
   5bc94:	4e56 0000      	linkw %fp,#0                                
  free( ptr );                                                        
   5bc98:	2d6e 000c 0008 	movel %fp@(12),%fp@(8)                      
}                                                                     
   5bc9e:	4e5e           	unlk %fp                                    
void _free_r(                                                         
  struct _reent *ignored __attribute__((unused)),                     
  void          *ptr                                                  
)                                                                     
{                                                                     
  free( ptr );                                                        
   5bca0:	4ef9 0004 30cc 	jmp 430cc <free>                            
	...                                                                  
                                                                      

0005bd44 <_fstat_r>: int _fstat_r( struct _reent *ptr __attribute__((unused)), int fd, struct stat *buf ) {
   5bd44:	4e56 0000      	linkw %fp,#0                                
   5bd48:	202e 000c      	movel %fp@(12),%d0                          
  return fstat( fd, buf );                                            
   5bd4c:	2d6e 0010 000c 	movel %fp@(16),%fp@(12)                     
int _fstat_r(                                                         
  struct _reent *ptr __attribute__((unused)),                         
  int            fd,                                                  
  struct stat   *buf                                                  
)                                                                     
{                                                                     
   5bd52:	2d40 0008      	movel %d0,%fp@(8)                           
  return fstat( fd, buf );                                            
}                                                                     
   5bd56:	4e5e           	unlk %fp                                    
  struct _reent *ptr __attribute__((unused)),                         
  int            fd,                                                  
  struct stat   *buf                                                  
)                                                                     
{                                                                     
  return fstat( fd, buf );                                            
   5bd58:	4ef9 0005 bca8 	jmp 5bca8 <fstat>                           
	...                                                                  
                                                                      

00043206 <_gettimeofday>: */ int _gettimeofday( struct timeval *tp, struct timezone *tzp ) {
   43206:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return gettimeofday( tp, tzp );                                     
}                                                                     
   4320a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
int _gettimeofday(                                                    
  struct timeval  *tp,                                                
  struct timezone *tzp                                                
)                                                                     
{                                                                     
  return gettimeofday( tp, tzp );                                     
   4320c:	4ef9 0004 315c 	jmp 4315c <gettimeofday>                    <== NOT EXECUTED
	...                                                                  
                                                                      

0005bd74 <_isatty_r>: int _isatty_r( struct _reent *ptr __attribute__((unused)), int fd ) {
   5bd74:	4e56 0000      	linkw %fp,#0                                
  return isatty( fd );                                                
   5bd78:	2d6e 000c 0008 	movel %fp@(12),%fp@(8)                      
}                                                                     
   5bd7e:	4e5e           	unlk %fp                                    
int _isatty_r(                                                        
  struct _reent *ptr __attribute__((unused)),                         
  int            fd                                                   
)                                                                     
{                                                                     
  return isatty( fd );                                                
   5bd80:	4ef9 0005 c314 	jmp 5c314 <isatty>                          
	...                                                                  
                                                                      

0005be20 <_lseek_r>: struct _reent *ptr __attribute__((unused)), int fd, off_t offset, int whence ) {
   5be20:	4e56 0000      	linkw %fp,#0                                
   5be24:	202e 000c      	movel %fp@(12),%d0                          
   5be28:	2d40 0008      	movel %d0,%fp@(8)                           
   5be2c:	202e 0010      	movel %fp@(16),%d0                          
   5be30:	222e 0014      	movel %fp@(20),%d1                          
  return lseek( fd, offset, whence );                                 
   5be34:	2d6e 0018 0014 	movel %fp@(24),%fp@(20)                     
   5be3a:	2d40 000c      	movel %d0,%fp@(12)                          
   5be3e:	2d41 0010      	movel %d1,%fp@(16)                          
}                                                                     
   5be42:	4e5e           	unlk %fp                                    
  int            fd,                                                  
  off_t          offset,                                              
  int            whence                                               
)                                                                     
{                                                                     
  return lseek( fd, offset, whence );                                 
   5be44:	4ef9 0005 bda8 	jmp 5bda8 <lseek>                           
	...                                                                  
                                                                      

00042f58 <_lstat_r>: int _STAT_R_NAME( struct _reent *ptr __attribute__((unused)), const char *path, struct stat *buf ) {
   42f58:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   42f5c:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
  return _STAT_NAME( path, buf );                                     
   42f60:	2d6e 0010 000c 	movel %fp@(16),%fp@(12)                     <== NOT EXECUTED
int _STAT_R_NAME(                                                     
  struct _reent *ptr __attribute__((unused)),                         
  const char    *path,                                                
  struct stat   *buf                                                  
)                                                                     
{                                                                     
   42f66:	2d40 0008      	movel %d0,%fp@(8)                           <== NOT EXECUTED
  return _STAT_NAME( path, buf );                                     
}                                                                     
   42f6a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  struct _reent *ptr __attribute__((unused)),                         
  const char    *path,                                                
  struct stat   *buf                                                  
)                                                                     
{                                                                     
  return _STAT_NAME( path, buf );                                     
   42f6c:	4ef9 0004 2ef8 	jmp 42ef8 <lstat>                           <== NOT EXECUTED
	...                                                                  
                                                                      

0005be4c <_malloc_r>: void *_malloc_r( struct _reent *ignored __attribute__((unused)), size_t size ) {
   5be4c:	4e56 0000      	linkw %fp,#0                                
  return malloc( size );                                              
   5be50:	2d6e 000c 0008 	movel %fp@(12),%fp@(8)                      
}                                                                     
   5be56:	4e5e           	unlk %fp                                    
void *_malloc_r(                                                      
  struct _reent *ignored __attribute__((unused)),                     
  size_t         size                                                 
)                                                                     
{                                                                     
  return malloc( size );                                              
   5be58:	4ef9 0004 33cc 	jmp 433cc <malloc>                          
	...                                                                  
                                                                      

00043f28 <_open_r>: struct _reent *ptr __attribute__((unused)), const char *buf, int oflag, int mode ) {
   43f28:	4e56 0000      	linkw %fp,#0                                
   43f2c:	202e 0010      	movel %fp@(16),%d0                          
   43f30:	222e 000c      	movel %fp@(12),%d1                          
  return open( buf, oflag, mode );                                    
   43f34:	2d6e 0014 0010 	movel %fp@(20),%fp@(16)                     
  struct _reent *ptr __attribute__((unused)),                         
  const char    *buf,                                                 
  int            oflag,                                               
  int            mode                                                 
)                                                                     
{                                                                     
   43f3a:	2d41 0008      	movel %d1,%fp@(8)                           
  return open( buf, oflag, mode );                                    
   43f3e:	2d40 000c      	movel %d0,%fp@(12)                          
}                                                                     
   43f42:	4e5e           	unlk %fp                                    
  const char    *buf,                                                 
  int            oflag,                                               
  int            mode                                                 
)                                                                     
{                                                                     
  return open( buf, oflag, mode );                                    
   43f44:	4ef9 0004 3d00 	jmp 43d00 <open>                            
	...                                                                  
                                                                      

0005bf28 <_realloc_r>: void *_realloc_r( struct _reent *ignored __attribute__((unused)), void *ptr, size_t size ) {
   5bf28:	4e56 0000      	linkw %fp,#0                                
   5bf2c:	202e 000c      	movel %fp@(12),%d0                          
  return realloc( ptr, size );                                        
   5bf30:	2d6e 0010 000c 	movel %fp@(16),%fp@(12)                     
void *_realloc_r(                                                     
  struct _reent *ignored __attribute__((unused)),                     
  void          *ptr,                                                 
  size_t         size                                                 
)                                                                     
{                                                                     
   5bf36:	2d40 0008      	movel %d0,%fp@(8)                           
  return realloc( ptr, size );                                        
}                                                                     
   5bf3a:	4e5e           	unlk %fp                                    
  struct _reent *ignored __attribute__((unused)),                     
  void          *ptr,                                                 
  size_t         size                                                 
)                                                                     
{                                                                     
  return realloc( ptr, size );                                        
   5bf3c:	4ef9 0005 bf68 	jmp 5bf68 <realloc>                         
	...                                                                  
                                                                      

00043fd0 <_stat_r>: int _STAT_R_NAME( struct _reent *ptr __attribute__((unused)), const char *path, struct stat *buf ) {
   43fd0:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   43fd4:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
  return _STAT_NAME( path, buf );                                     
   43fd8:	2d6e 0010 000c 	movel %fp@(16),%fp@(12)                     <== NOT EXECUTED
int _STAT_R_NAME(                                                     
  struct _reent *ptr __attribute__((unused)),                         
  const char    *path,                                                
  struct stat   *buf                                                  
)                                                                     
{                                                                     
   43fde:	2d40 0008      	movel %d0,%fp@(8)                           <== NOT EXECUTED
  return _STAT_NAME( path, buf );                                     
}                                                                     
   43fe2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  struct _reent *ptr __attribute__((unused)),                         
  const char    *path,                                                
  struct stat   *buf                                                  
)                                                                     
{                                                                     
  return _STAT_NAME( path, buf );                                     
   43fe4:	4ef9 0004 3f70 	jmp 43f70 <stat>                            <== NOT EXECUTED
	...                                                                  
                                                                      

000469e8 <_times_r>: */ clock_t _times_r( struct _reent *ptr __attribute__((unused)), struct tms *ptms ) {
   469e8:	4e56 0000      	linkw %fp,#0                                
  return _times( ptms );                                              
   469ec:	2d6e 000c 0008 	movel %fp@(12),%fp@(8)                      
}                                                                     
   469f2:	4e5e           	unlk %fp                                    
clock_t _times_r(                                                     
   struct _reent *ptr __attribute__((unused)),                        
   struct tms  *ptms                                                  
)                                                                     
{                                                                     
  return _times( ptms );                                              
   469f4:	4ef9 0004 6924 	jmp 46924 <_times>                          
	...                                                                  
                                                                      

000480d0 <_unlink_r>: */ int _unlink_r( struct _reent *ptr __attribute__((unused)), const char *path ) {
   480d0:	4e56 0000      	linkw %fp,#0                                
  return unlink( path );                                              
   480d4:	2d6e 000c 0008 	movel %fp@(12),%fp@(8)                      
}                                                                     
   480da:	4e5e           	unlk %fp                                    
int _unlink_r(                                                        
  struct _reent *ptr __attribute__((unused)),                         
  const char    *path                                                 
)                                                                     
{                                                                     
  return unlink( path );                                              
   480dc:	4ef9 0004 8030 	jmp 48030 <unlink>                          
	...                                                                  
                                                                      

0005bf44 <_write_r>: struct _reent *ptr __attribute__((unused)), int fd, const void *buf, size_t nbytes ) {
   5bf44:	4e56 0000      	linkw %fp,#0                                
   5bf48:	202e 0010      	movel %fp@(16),%d0                          
   5bf4c:	222e 000c      	movel %fp@(12),%d1                          
  return write( fd, buf, nbytes );                                    
   5bf50:	2d6e 0014 0010 	movel %fp@(20),%fp@(16)                     
  struct _reent *ptr __attribute__((unused)),                         
  int            fd,                                                  
  const void    *buf,                                                 
  size_t         nbytes                                               
)                                                                     
{                                                                     
   5bf56:	2d41 0008      	movel %d1,%fp@(8)                           
  return write( fd, buf, nbytes );                                    
   5bf5a:	2d40 000c      	movel %d0,%fp@(12)                          
}                                                                     
   5bf5e:	4e5e           	unlk %fp                                    
  int            fd,                                                  
  const void    *buf,                                                 
  size_t         nbytes                                               
)                                                                     
{                                                                     
  return write( fd, buf, nbytes );                                    
   5bf60:	4ef9 0005 c09c 	jmp 5c09c <write>                           
	...                                                                  
                                                                      

00048538 <check_and_merge>: rtems_rbtree_control *chunk_tree, rtems_rbheap_chunk *a, rtems_rbheap_chunk *b ) { if (b != NULL_PAGE && rtems_rbheap_is_chunk_free(b)) {
   48538:	72f8           	moveq #-8,%d1                               
  rtems_chain_control *free_chain,                                    
  rtems_rbtree_control *chunk_tree,                                   
  rtems_rbheap_chunk *a,                                              
  rtems_rbheap_chunk *b                                               
)                                                                     
{                                                                     
   4853a:	4e56 fff4      	linkw %fp,#-12                              
   4853e:	202e 000c      	movel %fp@(12),%d0                          
   48542:	48d7 1c00      	moveml %a2-%a4,%sp@                         
   48546:	266e 0008      	moveal %fp@(8),%a3                          
   4854a:	226e 0010      	moveal %fp@(16),%a1                         
   4854e:	206e 0014      	moveal %fp@(20),%a0                         
  if (b != NULL_PAGE && rtems_rbheap_is_chunk_free(b)) {              
   48552:	b288           	cmpl %a0,%d1                                
   48554:	6754           	beqs 485aa <check_and_merge+0x72>           
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   48556:	2450           	moveal %a0@,%a2                             
   48558:	4a8a           	tstl %a2                                    
   4855a:	6748           	beqs 485a4 <check_and_merge+0x6c>           
    if (b->begin < a->begin) {                                        
   4855c:	2229 0018      	movel %a1@(24),%d1                          
   48560:	b2a8 0018      	cmpl %a0@(24),%d1                           
   48564:	6308           	blss 4856e <check_and_merge+0x36>           
   48566:	2451           	moveal %a1@,%a2                             
   48568:	2209           	movel %a1,%d1                               
   4856a:	2248           	moveal %a0,%a1                              
   4856c:	2041           	moveal %d1,%a0                              
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   4856e:	2868 0004      	moveal %a0@(4),%a4                          
                                                                      
      a = b;                                                          
      b = t;                                                          
    }                                                                 
                                                                      
    a->size += b->size;                                               
   48572:	2228 001c      	movel %a0@(28),%d1                          
   48576:	d3a9 001c      	addl %d1,%a1@(28)                           
  next->previous = previous;                                          
  previous->next = next;                                              
   4857a:	288a           	movel %a2,%a4@                              
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   4857c:	2253           	moveal %a3@,%a1                             
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
  next->previous = previous;                                          
   4857e:	254c 0004      	movel %a4,%a2@(4)                           
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   48582:	2688           	movel %a0,%a3@                              
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   48584:	214b 0004      	movel %a3,%a0@(4)                           
    rtems_chain_extract_unprotected(&b->chain_node);                  
    add_to_chain(free_chain, b);                                      
    _RBTree_Extract_unprotected(chunk_tree, &b->tree_node);           
  }                                                                   
}                                                                     
   48588:	4cd7 1c00      	moveml %sp@,%a2-%a4                         
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   4858c:	2089           	movel %a1,%a0@                              
  before_node->previous = the_node;                                   
   4858e:	2348 0004      	movel %a0,%a1@(4)                           
    }                                                                 
                                                                      
    a->size += b->size;                                               
    rtems_chain_extract_unprotected(&b->chain_node);                  
    add_to_chain(free_chain, b);                                      
    _RBTree_Extract_unprotected(chunk_tree, &b->tree_node);           
   48592:	5088           	addql #8,%a0                                
   48594:	2d40 0008      	movel %d0,%fp@(8)                           
   48598:	2d48 000c      	movel %a0,%fp@(12)                          
  }                                                                   
}                                                                     
   4859c:	4e5e           	unlk %fp                                    
    }                                                                 
                                                                      
    a->size += b->size;                                               
    rtems_chain_extract_unprotected(&b->chain_node);                  
    add_to_chain(free_chain, b);                                      
    _RBTree_Extract_unprotected(chunk_tree, &b->tree_node);           
   4859e:	4ef9 0004 9f3a 	jmp 49f3a <_RBTree_Extract_unprotected>     
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   485a4:	4aa8 0004      	tstl %a0@(4)                                
   485a8:	66b2           	bnes 4855c <check_and_merge+0x24>           <== NEVER TAKEN
  }                                                                   
}                                                                     
   485aa:	4cd7 1c00      	moveml %sp@,%a2-%a4                         
   485ae:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000429a8 <chroot>: #include <unistd.h> #include <rtems/libio_.h> int chroot( const char *path ) {
   429a8:	4e56 ffac      	linkw %fp,#-84                              
   429ac:	2f0a           	movel %a2,%sp@-                             
                                                                      
  /*                                                                  
   * We use the global environment for path evaluation.  This makes it possible
   * to escape from a chroot environment referencing an unmounted file system.
   */                                                                 
  rtems_filesystem_eval_path_start_with_root_and_current(             
   429ae:	4879 0005 cfa8 	pea 5cfa8 <rtems_global_user_env>           
    eval_flags,                                                       
    &rtems_global_user_env.root_directory,                            
    &rtems_global_user_env.current_directory                          
  );                                                                  
                                                                      
  rtems_filesystem_eval_path_extract_currentloc( &ctx, &loc );        
   429b4:	45ee ffb0      	lea %fp@(-80),%a2                           
                                                                      
  /*                                                                  
   * We use the global environment for path evaluation.  This makes it possible
   * to escape from a chroot environment referencing an unmounted file system.
   */                                                                 
  rtems_filesystem_eval_path_start_with_root_and_current(             
   429b8:	4879 0005 cfac 	pea 5cfac <rtems_global_user_env+0x4>       
   429be:	4878 0019      	pea 19 <OPER2+0x5>                          
   429c2:	2f2e 0008      	movel %fp@(8),%sp@-                         
   429c6:	486e ffc8      	pea %fp@(-56)                               
   429ca:	4eb9 0004 3fd8 	jsr 43fd8 <rtems_filesystem_eval_path_start_with_root_and_current>
   429d0:	486e ffe0      	pea %fp@(-32)                               
   429d4:	2f0a           	movel %a2,%sp@-                             
   429d6:	4eb9 0004 4504 	jsr 44504 <rtems_filesystem_location_copy_and_detach>
    &rtems_global_user_env.root_directory,                            
    &rtems_global_user_env.current_directory                          
  );                                                                  
                                                                      
  rtems_filesystem_eval_path_extract_currentloc( &ctx, &loc );        
  new_current_loc = rtems_filesystem_location_transform_to_global( &loc );
   429dc:	2f0a           	movel %a2,%sp@-                             
   429de:	45f9 0004 4624 	lea 44624 <rtems_filesystem_global_location_release>,%a2
   429e4:	4eb9 0004 4748 	jsr 44748 <rtems_filesystem_location_transform_to_global>
  if ( !rtems_filesystem_global_location_is_null( new_current_loc ) ) {
   429ea:	4fef 0020      	lea %sp@(32),%sp                            
   429ee:	223c 0005 c104 	movel #377092,%d1                           
   429f4:	2040           	moveal %d0,%a0                              
    &rtems_global_user_env.root_directory,                            
    &rtems_global_user_env.current_directory                          
  );                                                                  
                                                                      
  rtems_filesystem_eval_path_extract_currentloc( &ctx, &loc );        
  new_current_loc = rtems_filesystem_location_transform_to_global( &loc );
   429f6:	2d40 ffac      	movel %d0,%fp@(-84)                         
  if ( !rtems_filesystem_global_location_is_null( new_current_loc ) ) {
   429fa:	b2a8 0010      	cmpl %a0@(16),%d1                           
   429fe:	674a           	beqs 42a4a <chroot+0xa2>                    
    rtems_filesystem_global_location_t *new_root_loc =                
   42a00:	486e ffac      	pea %fp@(-84)                               
   42a04:	4eb9 0004 4698 	jsr 44698 <rtems_filesystem_global_location_obtain>
   42a0a:	2440           	moveal %d0,%a2                              
      rtems_filesystem_global_location_obtain( &new_current_loc );    
    rtems_filesystem_node_types_t type =                              
      (*new_root_loc->location.mt_entry->ops->node_type_h)(           
   42a0c:	206a 0014      	moveal %a2@(20),%a0                         
   42a10:	2068 000c      	moveal %a0@(12),%a0                         
  rtems_filesystem_eval_path_extract_currentloc( &ctx, &loc );        
  new_current_loc = rtems_filesystem_location_transform_to_global( &loc );
  if ( !rtems_filesystem_global_location_is_null( new_current_loc ) ) {
    rtems_filesystem_global_location_t *new_root_loc =                
      rtems_filesystem_global_location_obtain( &new_current_loc );    
    rtems_filesystem_node_types_t type =                              
   42a14:	2f00           	movel %d0,%sp@-                             
   42a16:	2068 0014      	moveal %a0@(20),%a0                         
   42a1a:	4e90           	jsr %a0@                                    
      (*new_root_loc->location.mt_entry->ops->node_type_h)(           
        &new_root_loc->location                                       
      );                                                              
                                                                      
    if ( type == RTEMS_FILESYSTEM_DIRECTORY ) {                       
   42a1c:	508f           	addql #8,%sp                                
   42a1e:	4a80           	tstl %d0                                    
   42a20:	6644           	bnes 42a66 <chroot+0xbe>                    
      sc = rtems_libio_set_private_env();                             
   42a22:	4eb9 0004 37f8 	jsr 437f8 <rtems_libio_set_private_env>     
      if (sc == RTEMS_SUCCESSFUL) {                                   
   42a28:	4a80           	tstl %d0                                    
   42a2a:	6760           	beqs 42a8c <chroot+0xe4>                    
        rtems_filesystem_global_location_assign(                      
          &rtems_filesystem_current,                                  
          new_current_loc                                             
        );                                                            
      } else {                                                        
        if (sc != RTEMS_UNSATISFIED) {                                
   42a2c:	720d           	moveq #13,%d1                               
   42a2e:	b280           	cmpl %d0,%d1                                
   42a30:	670c           	beqs 42a3e <chroot+0x96>                    <== NEVER TAKEN
          errno = ENOMEM;                                             
   42a32:	4eb9 0004 a04c 	jsr 4a04c <__errno>                         
   42a38:	720c           	moveq #12,%d1                               
   42a3a:	2040           	moveal %d0,%a0                              
   42a3c:	2081           	movel %d1,%a0@                              
      rtems_filesystem_location_error( &new_root_loc->location, ENOTDIR );
      rv = -1;                                                        
    }                                                                 
                                                                      
    if ( rv != 0 ) {                                                  
      rtems_filesystem_global_location_release( new_root_loc );       
   42a3e:	2f0a           	movel %a2,%sp@-                             
   42a40:	45f9 0004 4624 	lea 44624 <rtems_filesystem_global_location_release>,%a2
   42a46:	4e92           	jsr %a2@                                    
   42a48:	588f           	addql #4,%sp                                
    }                                                                 
  } else {                                                            
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   42a4a:	486e ffc8      	pea %fp@(-56)                               
   42a4e:	4eb9 0004 415e 	jsr 4415e <rtems_filesystem_eval_path_cleanup>
                                                                      
  if ( rv != 0 ) {                                                    
    rtems_filesystem_global_location_release( new_current_loc );      
   42a54:	2f2e ffac      	movel %fp@(-84),%sp@-                       
   42a58:	4e92           	jsr %a2@                                    
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a5a:	246e ffa8      	moveal %fp@(-88),%a2                        
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
                                                                      
  if ( rv != 0 ) {                                                    
    rtems_filesystem_global_location_release( new_current_loc );      
   42a5e:	508f           	addql #8,%sp                                
   42a60:	70ff           	moveq #-1,%d0                               
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42a62:	4e5e           	unlk %fp                                    
   42a64:	4e75           	rts                                         
static inline void rtems_filesystem_location_error(                   
  const rtems_filesystem_location_info_t *loc,                        
  int eno                                                             
)                                                                     
{                                                                     
  if ( !rtems_filesystem_location_is_null( loc ) ) {                  
   42a66:	203c 0005 c104 	movel #377092,%d0                           
   42a6c:	b0aa 0010      	cmpl %a2@(16),%d0                           
   42a70:	67cc           	beqs 42a3e <chroot+0x96>                    <== NEVER TAKEN
    errno = eno;                                                      
   42a72:	4eb9 0004 a04c 	jsr 4a04c <__errno>                         
   42a78:	2040           	moveal %d0,%a0                              
   42a7a:	7014           	moveq #20,%d0                               
   42a7c:	2080           	movel %d0,%a0@                              
      rtems_filesystem_location_error( &new_root_loc->location, ENOTDIR );
      rv = -1;                                                        
    }                                                                 
                                                                      
    if ( rv != 0 ) {                                                  
      rtems_filesystem_global_location_release( new_root_loc );       
   42a7e:	2f0a           	movel %a2,%sp@-                             
   42a80:	45f9 0004 4624 	lea 44624 <rtems_filesystem_global_location_release>,%a2
   42a86:	4e92           	jsr %a2@                                    
   42a88:	588f           	addql #4,%sp                                
   42a8a:	60be           	bras 42a4a <chroot+0xa2>                    
      );                                                              
                                                                      
    if ( type == RTEMS_FILESYSTEM_DIRECTORY ) {                       
      sc = rtems_libio_set_private_env();                             
      if (sc == RTEMS_SUCCESSFUL) {                                   
        rtems_filesystem_global_location_assign(                      
   42a8c:	2079 0005 cfa4 	moveal 5cfa4 <rtems_current_user_env>,%a0   
   42a92:	5888           	addql #4,%a0                                
   42a94:	2f0a           	movel %a2,%sp@-                             
   42a96:	45f9 0004 466e 	lea 4466e <rtems_filesystem_global_location_assign>,%a2
   42a9c:	2f08           	movel %a0,%sp@-                             
   42a9e:	4e92           	jsr %a2@                                    
          &rtems_filesystem_root,                                     
          new_root_loc                                                
        );                                                            
        rtems_filesystem_global_location_assign(                      
   42aa0:	2f2e ffac      	movel %fp@(-84),%sp@-                       
   42aa4:	2f39 0005 cfa4 	movel 5cfa4 <rtems_current_user_env>,%sp@-  
   42aaa:	4e92           	jsr %a2@                                    
    }                                                                 
  } else {                                                            
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   42aac:	486e ffc8      	pea %fp@(-56)                               
   42ab0:	4eb9 0004 415e 	jsr 4415e <rtems_filesystem_eval_path_cleanup>
  if ( rv != 0 ) {                                                    
    rtems_filesystem_global_location_release( new_current_loc );      
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42ab6:	246e ffa8      	moveal %fp@(-88),%a2                        
    }                                                                 
  } else {                                                            
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   42aba:	4fef 0014      	lea %sp@(20),%sp                            
   42abe:	4280           	clrl %d0                                    
  if ( rv != 0 ) {                                                    
    rtems_filesystem_global_location_release( new_current_loc );      
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   42ac0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043332 <create_disk>: dev_t dev, const char *name, rtems_disk_device **dd_ptr, char **alloc_name_ptr ) {
   43332:	4e56 ffe0      	linkw %fp,#-32                              
   43336:	48d7 0cfc      	moveml %d2-%d7/%a2-%a3,%sp@                 
   4333a:	242e 0008      	movel %fp@(8),%d2                           
   4333e:	262e 000c      	movel %fp@(12),%d3                          
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  rtems_filesystem_split_dev_t(dev, major, minor);                    
                                                                      
  if (major >= disktab_size) {                                        
   43342:	2c39 0006 3636 	movel 63636 <disktab_size>,%d6              
)                                                                     
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.device = device;                                               
  return temp.__overlay.major;                                        
   43348:	2802           	movel %d2,%d4                               
)                                                                     
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.device = device;                                               
  return temp.__overlay.minor;                                        
   4334a:	2a03           	movel %d3,%d5                               
   4334c:	bc84           	cmpl %d4,%d6                                
   4334e:	6300 008e      	blsw 433de <create_disk+0xac>               
   43352:	2479 0006 363a 	moveal 6363a <disktab>,%a2                  
    memset(table + old_size, 0, (new_size - old_size) * sizeof(*table));
    disktab = table;                                                  
    disktab_size = new_size;                                          
  }                                                                   
                                                                      
  if (disktab [major].minor == NULL || minor >= disktab[major].size) {
   43358:	e78c           	lsll #3,%d4                                 
   4335a:	47f2 4800      	lea %a2@(00000000,%d4:l),%a3                
   4335e:	2453           	moveal %a3@,%a2                             
   43360:	282b 0004      	movel %a3@(4),%d4                           
   43364:	4a8a           	tstl %a2                                    
   43366:	671e           	beqs 43386 <create_disk+0x54>               
   43368:	b885           	cmpl %d5,%d4                                
   4336a:	631a           	blss 43386 <create_disk+0x54>               
    memset(table + old_size, 0, (new_size - old_size) * sizeof(*table));
    disktab [major].minor = table;                                    
    disktab [major].size = new_size;                                  
  }                                                                   
                                                                      
  return disktab [major].minor + minor;                               
   4336c:	45f2 5c00      	lea %a2@(00000000,%d5:l:4),%a2              
{                                                                     
  rtems_disk_device **dd_entry = create_disk_table_entry(dev);        
  rtems_disk_device *dd = NULL;                                       
  char *alloc_name = NULL;                                            
                                                                      
  if (dd_entry == NULL) {                                             
   43370:	4a8a           	tstl %a2                                    
   43372:	675e           	beqs 433d2 <create_disk+0xa0>               <== NEVER TAKEN
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  if (*dd_entry != NULL) {                                            
    return RTEMS_RESOURCE_IN_USE;                                     
   43374:	700c           	moveq #12,%d0                               
                                                                      
  if (dd_entry == NULL) {                                             
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  if (*dd_entry != NULL) {                                            
   43376:	4a92           	tstl %a2@                                   
   43378:	6700 00be      	beqw 43438 <create_disk+0x106>              
  *dd_entry = dd;                                                     
  *dd_ptr = dd;                                                       
  *alloc_name_ptr = alloc_name;                                       
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4337c:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            
   43382:	4e5e           	unlk %fp                                    
   43384:	4e75           	rts                                         
  if (disktab [major].minor == NULL || minor >= disktab[major].size) {
    rtems_disk_device **table = disktab [major].minor;                
    rtems_device_minor_number old_size = disktab [major].size;        
    rtems_device_minor_number new_size = 0;                           
                                                                      
    if (old_size == 0) {                                              
   43386:	4a84           	tstl %d4                                    
   43388:	6600 00a6      	bnew 43430 <create_disk+0xfe>               
      new_size = DISKTAB_INITIAL_SIZE;                                
   4338c:	7c08           	moveq #8,%d6                                
    } else {                                                          
      new_size = 2 * old_size;                                        
    }                                                                 
    if (minor >= new_size) {                                          
   4338e:	bc85           	cmpl %d5,%d6                                
   43390:	6204           	bhis 43396 <create_disk+0x64>               
      new_size = minor + 1;                                           
   43392:	2c05           	movel %d5,%d6                               
   43394:	5286           	addql #1,%d6                                
    }                                                                 
                                                                      
    table = realloc(table, new_size * sizeof(*table));                
   43396:	2006           	movel %d6,%d0                               
   43398:	e588           	lsll #2,%d0                                 
   4339a:	2f00           	movel %d0,%sp@-                             
   4339c:	2f0a           	movel %a2,%sp@-                             
   4339e:	4eb9 0004 556c 	jsr 4556c <realloc>                         
    if (table == NULL) {                                              
   433a4:	508f           	addql #8,%sp                                
    }                                                                 
    if (minor >= new_size) {                                          
      new_size = minor + 1;                                           
    }                                                                 
                                                                      
    table = realloc(table, new_size * sizeof(*table));                
   433a6:	2440           	moveal %d0,%a2                              
    if (table == NULL) {                                              
   433a8:	4a80           	tstl %d0                                    
   433aa:	6726           	beqs 433d2 <create_disk+0xa0>               
      return NULL;                                                    
    }                                                                 
                                                                      
    memset(table + old_size, 0, (new_size - old_size) * sizeof(*table));
   433ac:	2006           	movel %d6,%d0                               
   433ae:	9084           	subl %d4,%d0                                
   433b0:	e588           	lsll #2,%d0                                 
   433b2:	2f00           	movel %d0,%sp@-                             
   433b4:	42a7           	clrl %sp@-                                  
   433b6:	4872 4c00      	pea %a2@(00000000,%d4:l:4)                  
   433ba:	4eb9 0005 3244 	jsr 53244 <memset>                          
    disktab [major].minor = table;                                    
    disktab [major].size = new_size;                                  
   433c0:	4fef 000c      	lea %sp@(12),%sp                            
    if (table == NULL) {                                              
      return NULL;                                                    
    }                                                                 
                                                                      
    memset(table + old_size, 0, (new_size - old_size) * sizeof(*table));
    disktab [major].minor = table;                                    
   433c4:	268a           	movel %a2,%a3@                              
    disktab [major].size = new_size;                                  
  }                                                                   
                                                                      
  return disktab [major].minor + minor;                               
   433c6:	45f2 5c00      	lea %a2@(00000000,%d5:l:4),%a2              
      return NULL;                                                    
    }                                                                 
                                                                      
    memset(table + old_size, 0, (new_size - old_size) * sizeof(*table));
    disktab [major].minor = table;                                    
    disktab [major].size = new_size;                                  
   433ca:	2746 0004      	movel %d6,%a3@(4)                           
{                                                                     
  rtems_disk_device **dd_entry = create_disk_table_entry(dev);        
  rtems_disk_device *dd = NULL;                                       
  char *alloc_name = NULL;                                            
                                                                      
  if (dd_entry == NULL) {                                             
   433ce:	4a8a           	tstl %a2                                    
   433d0:	66a2           	bnes 43374 <create_disk+0x42>               <== ALWAYS TAKEN
    alloc_name = strdup(name);                                        
                                                                      
    if (alloc_name == NULL) {                                         
      free(dd);                                                       
                                                                      
      return RTEMS_NO_MEMORY;                                         
   433d2:	701a           	moveq #26,%d0                               
  *dd_entry = dd;                                                     
  *dd_ptr = dd;                                                       
  *alloc_name_ptr = alloc_name;                                       
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   433d4:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            
   433da:	4e5e           	unlk %fp                                    
   433dc:	4e75           	rts                                         
  rtems_filesystem_split_dev_t(dev, major, minor);                    
                                                                      
  if (major >= disktab_size) {                                        
    rtems_disk_device_table *table = disktab;                         
    rtems_device_major_number old_size = disktab_size;                
    rtems_device_major_number new_size = 2 * old_size;                
   433de:	2e06           	movel %d6,%d7                               
   433e0:	de87           	addl %d7,%d7                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  rtems_filesystem_split_dev_t(dev, major, minor);                    
                                                                      
  if (major >= disktab_size) {                                        
    rtems_disk_device_table *table = disktab;                         
   433e2:	2039 0006 363a 	movel 6363a <disktab>,%d0                   
    rtems_device_major_number old_size = disktab_size;                
    rtems_device_major_number new_size = 2 * old_size;                
                                                                      
    if (major >= new_size) {                                          
   433e8:	be84           	cmpl %d4,%d7                                
   433ea:	6204           	bhis 433f0 <create_disk+0xbe>               <== NEVER TAKEN
      new_size = major + 1;                                           
   433ec:	2e04           	movel %d4,%d7                               
   433ee:	5287           	addql #1,%d7                                
    }                                                                 
                                                                      
    table = realloc(table, new_size * sizeof(*table));                
   433f0:	2207           	movel %d7,%d1                               
   433f2:	e789           	lsll #3,%d1                                 
   433f4:	2f01           	movel %d1,%sp@-                             
   433f6:	2f00           	movel %d0,%sp@-                             
   433f8:	4eb9 0004 556c 	jsr 4556c <realloc>                         
    if (table == NULL) {                                              
   433fe:	508f           	addql #8,%sp                                
                                                                      
    if (major >= new_size) {                                          
      new_size = major + 1;                                           
    }                                                                 
                                                                      
    table = realloc(table, new_size * sizeof(*table));                
   43400:	2440           	moveal %d0,%a2                              
    if (table == NULL) {                                              
   43402:	4a80           	tstl %d0                                    
   43404:	67cc           	beqs 433d2 <create_disk+0xa0>               <== ALWAYS TAKEN
      return NULL;                                                    
    }                                                                 
                                                                      
    memset(table + old_size, 0, (new_size - old_size) * sizeof(*table));
   43406:	2007           	movel %d7,%d0                               <== NOT EXECUTED
   43408:	9086           	subl %d6,%d0                                <== NOT EXECUTED
   4340a:	e788           	lsll #3,%d0                                 <== NOT EXECUTED
   4340c:	e78e           	lsll #3,%d6                                 <== NOT EXECUTED
   4340e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   43410:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   43412:	4872 6800      	pea %a2@(00000000,%d6:l)                    <== NOT EXECUTED
   43416:	4eb9 0005 3244 	jsr 53244 <memset>                          <== NOT EXECUTED
    disktab = table;                                                  
    disktab_size = new_size;                                          
   4341c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    if (table == NULL) {                                              
      return NULL;                                                    
    }                                                                 
                                                                      
    memset(table + old_size, 0, (new_size - old_size) * sizeof(*table));
    disktab = table;                                                  
   43420:	23ca 0006 363a 	movel %a2,6363a <disktab>                   <== NOT EXECUTED
    disktab_size = new_size;                                          
   43426:	23c7 0006 3636 	movel %d7,63636 <disktab_size>              <== NOT EXECUTED
   4342c:	6000 ff2a      	braw 43358 <create_disk+0x26>               <== NOT EXECUTED
    rtems_device_minor_number new_size = 0;                           
                                                                      
    if (old_size == 0) {                                              
      new_size = DISKTAB_INITIAL_SIZE;                                
    } else {                                                          
      new_size = 2 * old_size;                                        
   43430:	2c04           	movel %d4,%d6                               
   43432:	dc86           	addl %d6,%d6                                
   43434:	6000 ff58      	braw 4338e <create_disk+0x5c>               
                                                                      
  if (*dd_entry != NULL) {                                            
    return RTEMS_RESOURCE_IN_USE;                                     
  }                                                                   
                                                                      
  dd = malloc(sizeof(*dd));                                           
   43438:	4878 0072      	pea 72 <DBL_MANT_DIG+0x3d>                  
   4343c:	4eb9 0004 49d4 	jsr 449d4 <malloc>                          
  if (dd == NULL) {                                                   
   43442:	588f           	addql #4,%sp                                
                                                                      
  if (*dd_entry != NULL) {                                            
    return RTEMS_RESOURCE_IN_USE;                                     
  }                                                                   
                                                                      
  dd = malloc(sizeof(*dd));                                           
   43444:	2800           	movel %d0,%d4                               
  if (dd == NULL) {                                                   
   43446:	678a           	beqs 433d2 <create_disk+0xa0>               <== NEVER TAKEN
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  if (name != NULL) {                                                 
   43448:	4aae 0010      	tstl %fp@(16)                               
   4344c:	6760           	beqs 434ae <create_disk+0x17c>              
    alloc_name = strdup(name);                                        
   4344e:	2f2e 0010      	movel %fp@(16),%sp@-                        
   43452:	4eb9 0005 380c 	jsr 5380c <strdup>                          
                                                                      
    if (alloc_name == NULL) {                                         
   43458:	588f           	addql #4,%sp                                
  if (dd == NULL) {                                                   
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  if (name != NULL) {                                                 
    alloc_name = strdup(name);                                        
   4345a:	2a00           	movel %d0,%d5                               
   4345c:	2c00           	movel %d0,%d6                               
                                                                      
    if (alloc_name == NULL) {                                         
   4345e:	6762           	beqs 434c2 <create_disk+0x190>              <== NEVER TAKEN
      return RTEMS_NO_MEMORY;                                         
    }                                                                 
  }                                                                   
                                                                      
  if (name != NULL) {                                                 
    if (mknod(alloc_name, 0777 | S_IFBLK, dev) < 0) {                 
   43460:	2f03           	movel %d3,%sp@-                             
   43462:	2f02           	movel %d2,%sp@-                             
   43464:	4878 61ff      	pea 61ff <D_MAX_EXP+0x5a00>                 
   43468:	2f00           	movel %d0,%sp@-                             
   4346a:	4eb9 0004 4b58 	jsr 44b58 <mknod>                           
   43470:	4fef 0010      	lea %sp@(16),%sp                            
   43474:	4a80           	tstl %d0                                    
   43476:	6d1a           	blts 43492 <create_disk+0x160>              <== NEVER TAKEN
      free(dd);                                                       
      return RTEMS_UNSATISFIED;                                       
    }                                                                 
  }                                                                   
                                                                      
  *dd_entry = dd;                                                     
   43478:	2484           	movel %d4,%a2@                              
  *dd_ptr = dd;                                                       
   4347a:	206e 0014      	moveal %fp@(20),%a0                         
  *alloc_name_ptr = alloc_name;                                       
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4347e:	4280           	clrl %d0                                    
      return RTEMS_UNSATISFIED;                                       
    }                                                                 
  }                                                                   
                                                                      
  *dd_entry = dd;                                                     
  *dd_ptr = dd;                                                       
   43480:	2084           	movel %d4,%a0@                              
  *alloc_name_ptr = alloc_name;                                       
   43482:	206e 0018      	moveal %fp@(24),%a0                         
   43486:	2086           	movel %d6,%a0@                              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43488:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            
   4348e:	4e5e           	unlk %fp                                    
   43490:	4e75           	rts                                         
    }                                                                 
  }                                                                   
                                                                      
  if (name != NULL) {                                                 
    if (mknod(alloc_name, 0777 | S_IFBLK, dev) < 0) {                 
      free(alloc_name);                                               
   43492:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   43494:	45f9 0004 4528 	lea 44528 <free>,%a2                        <== NOT EXECUTED
   4349a:	4e92           	jsr %a2@                                    <== NOT EXECUTED
      free(dd);                                                       
   4349c:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4349e:	4e92           	jsr %a2@                                    <== NOT EXECUTED
      return RTEMS_UNSATISFIED;                                       
   434a0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   434a2:	700d           	moveq #13,%d0                               <== NOT EXECUTED
  *dd_entry = dd;                                                     
  *dd_ptr = dd;                                                       
  *alloc_name_ptr = alloc_name;                                       
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   434a4:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            <== NOT EXECUTED
   434aa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   434ac:	4e75           	rts                                         <== NOT EXECUTED
      free(dd);                                                       
      return RTEMS_UNSATISFIED;                                       
    }                                                                 
  }                                                                   
                                                                      
  *dd_entry = dd;                                                     
   434ae:	2484           	movel %d4,%a2@                              
  *dd_ptr = dd;                                                       
   434b0:	206e 0014      	moveal %fp@(20),%a0                         
  char **alloc_name_ptr                                               
)                                                                     
{                                                                     
  rtems_disk_device **dd_entry = create_disk_table_entry(dev);        
  rtems_disk_device *dd = NULL;                                       
  char *alloc_name = NULL;                                            
   434b4:	4286           	clrl %d6                                    
                                                                      
  *dd_entry = dd;                                                     
  *dd_ptr = dd;                                                       
  *alloc_name_ptr = alloc_name;                                       
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   434b6:	4280           	clrl %d0                                    
      return RTEMS_UNSATISFIED;                                       
    }                                                                 
  }                                                                   
                                                                      
  *dd_entry = dd;                                                     
  *dd_ptr = dd;                                                       
   434b8:	2084           	movel %d4,%a0@                              
  *alloc_name_ptr = alloc_name;                                       
   434ba:	206e 0018      	moveal %fp@(24),%a0                         
   434be:	2086           	movel %d6,%a0@                              
   434c0:	60c6           	bras 43488 <create_disk+0x156>              
                                                                      
  if (name != NULL) {                                                 
    alloc_name = strdup(name);                                        
                                                                      
    if (alloc_name == NULL) {                                         
      free(dd);                                                       
   434c2:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   434c4:	4eb9 0004 4528 	jsr 44528 <free>                            <== NOT EXECUTED
                                                                      
      return RTEMS_NO_MEMORY;                                         
   434ca:	588f           	addql #4,%sp                                <== NOT EXECUTED
   434cc:	701a           	moveq #26,%d0                               <== NOT EXECUTED
   434ce:	6000 ff04      	braw 433d4 <create_disk+0xa2>               <== NOT EXECUTED
                                                                      

00044322 <data_to_part_desc.part.1>: * RTEMS_SUCCESSFUL, if success; * RTEMS_NO_MEMOTY, if cannot allocate memory for part_desc_t strucure; * RTEMS_INTERNAL_ERROR, if other error occurs. */ static rtems_status_code data_to_part_desc(uint8_t *data, rtems_part_desc_t **new_part_desc)
   44322:	4e56 ffdc      	linkw %fp,#-36                              
   44326:	48d7 1cfc      	moveml %d2-%d7/%a2-%a4,%sp@                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    *new_part_desc = NULL;                                            
                                                                      
    if ((part_desc = calloc(1, sizeof(rtems_part_desc_t))) == NULL)   
   4432a:	4878 0028      	pea 28 <OPER2+0x14>                         
   4432e:	4878 0001      	pea 1 <ADD>                                 
 *      RTEMS_SUCCESSFUL, if success;                                 
 *      RTEMS_NO_MEMOTY, if cannot allocate memory for part_desc_t strucure;
 *      RTEMS_INTERNAL_ERROR, if other error occurs.                  
 */                                                                   
static rtems_status_code                                              
data_to_part_desc(uint8_t *data, rtems_part_desc_t **new_part_desc)   
   44332:	266e 000c      	moveal %fp@(12),%a3                         
   44336:	286e 0008      	moveal %fp@(8),%a4                          
    if (new_part_desc == NULL)                                        
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    *new_part_desc = NULL;                                            
   4433a:	4293           	clrl %a3@                                   
                                                                      
    if ((part_desc = calloc(1, sizeof(rtems_part_desc_t))) == NULL)   
   4433c:	4eb9 0004 5024 	jsr 45024 <calloc>                          
   44342:	508f           	addql #8,%sp                                
   44344:	2440           	moveal %d0,%a2                              
   44346:	4a80           	tstl %d0                                    
   44348:	6700 00be      	beqw 44408 <data_to_part_desc.part.1+0xe6>  
                                                                      
    /* due to incorrect data alignment one have to align data first */
    memcpy(&temp, data + RTEMS_IDE_PARTITION_START_OFFSET, sizeof(uint32_t));
    part_desc->start = LE_TO_CPU_U32(temp);                           
                                                                      
    memcpy(&temp, data + RTEMS_IDE_PARTITION_SIZE_OFFSET, sizeof(uint32_t));
   4434c:	202c 000c      	movel %a4@(12),%d0                          
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   44350:	7218           	moveq #24,%d1                               
   44352:	2e00           	movel %d0,%d7                               
   44354:	e2af           	lsrl %d1,%d7                                
   44356:	7618           	moveq #24,%d3                               
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   44358:	7a18           	moveq #24,%d5                               
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
   4435a:	2800           	movel %d0,%d4                               
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   4435c:	7c18           	moveq #24,%d6                               
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
   4435e:	e08c           	lsrl #8,%d4                                 
    part_desc->sys_type = *(data + RTEMS_IDE_PARTITION_SYS_TYPE_OFFSET);
                                                                      
    /* read the offset start position and partition size in sectors */
                                                                      
    /* due to incorrect data alignment one have to align data first */
    memcpy(&temp, data + RTEMS_IDE_PARTITION_START_OFFSET, sizeof(uint32_t));
   44360:	222c 0008      	movel %a4@(8),%d1                           
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   44364:	2401           	movel %d1,%d2                               
   44366:	e6aa           	lsrl %d3,%d2                                
   44368:	2042           	moveal %d2,%a0                              
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   4436a:	2400           	movel %d0,%d2                               
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
   4436c:	2601           	movel %d1,%d3                               
   4436e:	e08b           	lsrl #8,%d3                                 
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   44370:	ebaa           	lsll %d5,%d2                                
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   44372:	2a00           	movel %d0,%d5                               
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   44374:	2001           	movel %d1,%d0                               
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   44376:	e18d           	lsll #8,%d5                                 
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   44378:	eda8           	lsll %d6,%d0                                
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   4437a:	e189           	lsll #8,%d1                                 
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   4437c:	2c08           	movel %a0,%d6                               
   4437e:	0285 00ff 0000 	andil #16711680,%d5                         
   44384:	8487           	orl %d7,%d2                                 
   44386:	0281 00ff 0000 	andil #16711680,%d1                         
   4438c:	8086           	orl %d6,%d0                                 
   4438e:	8485           	orl %d5,%d2                                 
   44390:	8081           	orl %d1,%d0                                 
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
    }                                                                 
                                                                      
    part_desc->bootable = *(data + RTEMS_IDE_PARTITION_BOOTABLE_OFFSET);
    part_desc->sys_type = *(data + RTEMS_IDE_PARTITION_SYS_TYPE_OFFSET);
   44392:	4285           	clrl %d5                                    
   44394:	1a2c 0004      	moveb %a4@(4),%d5                           
 *      true if partition type is extended, false otherwise           
 */                                                                   
static bool                                                           
is_extended(uint8_t type)                                             
{                                                                     
    return ((type == EXTENDED_PARTITION) || (type == LINUX_EXTENDED));
   44398:	2205           	movel %d5,%d1                               
   4439a:	0283 0000 ff00 	andil #65280,%d3                            
   443a0:	0284 0000 ff00 	andil #65280,%d4                            
    if ((part_desc = calloc(1, sizeof(rtems_part_desc_t))) == NULL)   
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
    }                                                                 
                                                                      
    part_desc->bootable = *(data + RTEMS_IDE_PARTITION_BOOTABLE_OFFSET);
   443a6:	1494           	moveb %a4@,%a2@                             
   443a8:	8083           	orl %d3,%d0                                 
   443aa:	8484           	orl %d4,%d2                                 
   443ac:	2540 0004      	movel %d0,%a2@(4)                           
 *      true if partition type is extended, false otherwise           
 */                                                                   
static bool                                                           
is_extended(uint8_t type)                                             
{                                                                     
    return ((type == EXTENDED_PARTITION) || (type == LINUX_EXTENDED));
   443b0:	7005           	moveq #5,%d0                                
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
    }                                                                 
                                                                      
    part_desc->bootable = *(data + RTEMS_IDE_PARTITION_BOOTABLE_OFFSET);
    part_desc->sys_type = *(data + RTEMS_IDE_PARTITION_SYS_TYPE_OFFSET);
   443b2:	1545 0001      	moveb %d5,%a2@(1)                           
    /* due to incorrect data alignment one have to align data first */
    memcpy(&temp, data + RTEMS_IDE_PARTITION_START_OFFSET, sizeof(uint32_t));
    part_desc->start = LE_TO_CPU_U32(temp);                           
                                                                      
    memcpy(&temp, data + RTEMS_IDE_PARTITION_SIZE_OFFSET, sizeof(uint32_t));
    part_desc->size = LE_TO_CPU_U32(temp);                            
   443b6:	2542 0008      	movel %d2,%a2@(8)                           
 *      true if partition type is extended, false otherwise           
 */                                                                   
static bool                                                           
is_extended(uint8_t type)                                             
{                                                                     
    return ((type == EXTENDED_PARTITION) || (type == LINUX_EXTENDED));
   443ba:	b081           	cmpl %d1,%d0                                
   443bc:	673c           	beqs 443fa <data_to_part_desc.part.1+0xd8>  
   443be:	0c81 0000 0085 	cmpil #133,%d1                              
   443c4:	6734           	beqs 443fa <data_to_part_desc.part.1+0xd8>  <== NEVER TAKEN
    DOS_P32MB_PARTITION,                                              
    FAT32_PARTITION    ,FAT32_LBA_PARTITION,                          
    FAT16_LBA_PARTITION                                               
  };                                                                  
                                                                      
  return (NULL != memchr(fat_part_types,type,sizeof(fat_part_types)));
   443c6:	4878 0006      	pea 6 <EXTENDSFDF>                          
   443ca:	2f01           	movel %d1,%sp@-                             
   443cc:	4879 0006 22a5 	pea 622a5 <fat_part_types.7627>             
   443d2:	4eb9 0005 3fd0 	jsr 53fd0 <memchr>                          
   443d8:	4fef 000c      	lea %sp@(12),%sp                            
     * use partitions that are                                        
     * - extended                                                     
     * or                                                             
     * - FAT type and non-zero                                        
     */                                                               
    if (is_extended(part_desc->sys_type) ||                           
   443dc:	4a80           	tstl %d0                                    
   443de:	6704           	beqs 443e4 <data_to_part_desc.part.1+0xc2>  
       ((is_fat_partition(part_desc->sys_type)) && (part_desc->size != 0))) {
   443e0:	4a82           	tstl %d2                                    
   443e2:	6616           	bnes 443fa <data_to_part_desc.part.1+0xd8>  <== ALWAYS TAKEN
      *new_part_desc = part_desc;                                     
    }                                                                 
    else {                                                            
      /* empty partition */                                           
      free(part_desc);                                                
   443e4:	2f0a           	movel %a2,%sp@-                             
   443e6:	4eb9 0004 5344 	jsr 45344 <free>                            
   443ec:	588f           	addql #4,%sp                                
    }                                                                 
    return RTEMS_SUCCESSFUL;                                          
   443ee:	4280           	clrl %d0                                    
}                                                                     
   443f0:	4cee 1cfc ffdc 	moveml %fp@(-36),%d2-%d7/%a2-%a4            
   443f6:	4e5e           	unlk %fp                                    
   443f8:	4e75           	rts                                         
     * or                                                             
     * - FAT type and non-zero                                        
     */                                                               
    if (is_extended(part_desc->sys_type) ||                           
       ((is_fat_partition(part_desc->sys_type)) && (part_desc->size != 0))) {
      *new_part_desc = part_desc;                                     
   443fa:	268a           	movel %a2,%a3@                              
    }                                                                 
    else {                                                            
      /* empty partition */                                           
      free(part_desc);                                                
    }                                                                 
    return RTEMS_SUCCESSFUL;                                          
   443fc:	4280           	clrl %d0                                    
}                                                                     
   443fe:	4cee 1cfc ffdc 	moveml %fp@(-36),%d2-%d7/%a2-%a4            
   44404:	4e5e           	unlk %fp                                    
   44406:	4e75           	rts                                         
                                                                      
    *new_part_desc = NULL;                                            
                                                                      
    if ((part_desc = calloc(1, sizeof(rtems_part_desc_t))) == NULL)   
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
   44408:	701a           	moveq #26,%d0                               <== NOT EXECUTED
    else {                                                            
      /* empty partition */                                           
      free(part_desc);                                                
    }                                                                 
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4440a:	4cee 1cfc ffdc 	moveml %fp@(-36),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   44410:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004251c <devFS_Show>: #endif #include "devfs.h" void devFS_Show(void) {
   4251c:	4e56 ffe8      	linkw %fp,#-24                              
  rtems_filesystem_location_info_t *rootloc = &rtems_filesystem_root->location;
                                                                      
  if (rootloc->mt_entry->ops == &devFS_ops) {                         
   42520:	203c 0005 a39e 	movel #369566,%d0                           
                                                                      
#include "devfs.h"                                                    
                                                                      
void devFS_Show(void)                                                 
{                                                                     
  rtems_filesystem_location_info_t *rootloc = &rtems_filesystem_root->location;
   42526:	2079 0005 b74c 	moveal 5b74c <rtems_current_user_env>,%a0   
                                                                      
  if (rootloc->mt_entry->ops == &devFS_ops) {                         
   4252c:	2068 0004      	moveal %a0@(4),%a0                          
   42530:	2068 0014      	moveal %a0@(20),%a0                         
#endif                                                                
                                                                      
#include "devfs.h"                                                    
                                                                      
void devFS_Show(void)                                                 
{                                                                     
   42534:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
  rtems_filesystem_location_info_t *rootloc = &rtems_filesystem_root->location;
                                                                      
  if (rootloc->mt_entry->ops == &devFS_ops) {                         
   42538:	b0a8 000c      	cmpl %a0@(12),%d0                           
   4253c:	670a           	beqs 42548 <devFS_Show+0x2c>                <== ALWAYS TAKEN
          (unsigned long) current->minor                              
        );                                                            
      }                                                               
    }                                                                 
  }                                                                   
}                                                                     
   4253e:	4cee 0c3c ffe8 	moveml %fp@(-24),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   42544:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42546:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
static inline const devFS_data *devFS_get_data(                       
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  return (const devFS_data *) loc->mt_entry->immutable_fs_info;       
   42548:	2068 0010      	moveal %a0@(16),%a0                         
  rtems_filesystem_location_info_t *rootloc = &rtems_filesystem_root->location;
                                                                      
  if (rootloc->mt_entry->ops == &devFS_ops) {                         
    const devFS_data *data = devFS_get_data(rootloc);                 
    size_t i = 0;                                                     
    size_t n = data->count;                                           
   4254c:	2a28 0004      	movel %a0@(4),%d5                           
    devFS_node *nodes = data->nodes;                                  
   42550:	2450           	moveal %a0@,%a2                             
                                                                      
    for (i = 0; i < n; ++i) {                                         
   42552:	67ea           	beqs 4253e <devFS_Show+0x22>                <== NEVER TAKEN
   42554:	4284           	clrl %d4                                    
                                                                      
      if (current->name != NULL) {                                    
        size_t j = 0;                                                 
        size_t m = current->namelen;                                  
                                                                      
        printk("/");                                                  
   42556:	47f9 0004 36a8 	lea 436a8 <printk>,%a3                      
    devFS_node *nodes = data->nodes;                                  
                                                                      
    for (i = 0; i < n; ++i) {                                         
      devFS_node *current = nodes + i;                                
                                                                      
      if (current->name != NULL) {                                    
   4255c:	4a92           	tstl %a2@                                   
   4255e:	6742           	beqs 425a2 <devFS_Show+0x86>                
        size_t j = 0;                                                 
        size_t m = current->namelen;                                  
   42560:	262a 0004      	movel %a2@(4),%d3                           
                                                                      
        printk("/");                                                  
   42564:	4879 0005 a3f2 	pea 5a3f2 <devFS_ops+0x54>                  
        for (j = 0; j < m; ++j) {                                     
   4256a:	4282           	clrl %d2                                    
                                                                      
      if (current->name != NULL) {                                    
        size_t j = 0;                                                 
        size_t m = current->namelen;                                  
                                                                      
        printk("/");                                                  
   4256c:	4e93           	jsr %a3@                                    
        for (j = 0; j < m; ++j) {                                     
   4256e:	588f           	addql #4,%sp                                
   42570:	4a83           	tstl %d3                                    
   42572:	671a           	beqs 4258e <devFS_Show+0x72>                <== NEVER TAKEN
          printk("%c", current->name [j]);                            
   42574:	2052           	moveal %a2@,%a0                             
   42576:	1030 2800      	moveb %a0@(00000000,%d2:l),%d0              
      if (current->name != NULL) {                                    
        size_t j = 0;                                                 
        size_t m = current->namelen;                                  
                                                                      
        printk("/");                                                  
        for (j = 0; j < m; ++j) {                                     
   4257a:	5282           	addql #1,%d2                                
          printk("%c", current->name [j]);                            
   4257c:	49c0           	extbl %d0                                   
   4257e:	2f00           	movel %d0,%sp@-                             
   42580:	4879 0005 a3fe 	pea 5a3fe <devFS_ops+0x60>                  
   42586:	4e93           	jsr %a3@                                    
      if (current->name != NULL) {                                    
        size_t j = 0;                                                 
        size_t m = current->namelen;                                  
                                                                      
        printk("/");                                                  
        for (j = 0; j < m; ++j) {                                     
   42588:	508f           	addql #8,%sp                                
   4258a:	b682           	cmpl %d2,%d3                                
   4258c:	66e6           	bnes 42574 <devFS_Show+0x58>                
          printk("%c", current->name [j]);                            
        }                                                             
        printk(                                                       
   4258e:	2f2a 000c      	movel %a2@(12),%sp@-                        
   42592:	2f2a 0008      	movel %a2@(8),%sp@-                         
   42596:	4879 0005 a3f4 	pea 5a3f4 <devFS_ops+0x56>                  
   4259c:	4e93           	jsr %a3@                                    
   4259e:	4fef 000c      	lea %sp@(12),%sp                            
    const devFS_data *data = devFS_get_data(rootloc);                 
    size_t i = 0;                                                     
    size_t n = data->count;                                           
    devFS_node *nodes = data->nodes;                                  
                                                                      
    for (i = 0; i < n; ++i) {                                         
   425a2:	5284           	addql #1,%d4                                
   425a4:	45ea 0014      	lea %a2@(20),%a2                            
   425a8:	ba84           	cmpl %d4,%d5                                
   425aa:	66b0           	bnes 4255c <devFS_Show+0x40>                
          (unsigned long) current->minor                              
        );                                                            
      }                                                               
    }                                                                 
  }                                                                   
}                                                                     
   425ac:	4cee 0c3c ffe8 	moveml %fp@(-24),%d2-%d5/%a2-%a3            
   425b2:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004c3bc <devFS_eval_path>: } void devFS_eval_path( rtems_filesystem_eval_path_context_t *ctx ) {
   4c3bc:	4e56 ffdc      	linkw %fp,#-36                              
   4c3c0:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 
   4c3c4:	2a6e 0008      	moveal %fp@(8),%a5                          
)                                                                     
{                                                                     
  size_t i = 0;                                                       
  size_t n = data->count;                                             
  devFS_node *nodes = data->nodes;                                    
  devFS_node *node = NULL;                                            
   4c3c8:	4283           	clrl %d3                                    
  devFS_node *free_node = NULL;                                       
   4c3ca:	97cb           	subal %a3,%a3                               
                                                                      
  for (i = 0; (free_node == NULL || node == NULL) && i < n; ++i) {    
   4c3cc:	4282           	clrl %d2                                    
    devFS_node *current = nodes + i;                                  
                                                                      
    if (current->name != NULL) {                                      
      if (                                                            
        current->namelen == pathlen                                   
          && memcmp(current->name, path, pathlen) == 0                
   4c3ce:	49f9 0004 e4f4 	lea 4e4f4 <memcmp>,%a4                      
                                                                      
static inline const devFS_data *devFS_get_data(                       
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  return (const devFS_data *) loc->mt_entry->immutable_fs_info;       
   4c3d4:	206d 002c      	moveal %a5@(44),%a0                         
   4c3d8:	2068 0010      	moveal %a0@(16),%a0                         
   4c3dc:	2450           	moveal %a0@,%a2                             
  devFS_node *nodes = data->nodes;                                    
  devFS_node *node = NULL;                                            
  devFS_node *free_node = NULL;                                       
                                                                      
  for (i = 0; (free_node == NULL || node == NULL) && i < n; ++i) {    
    devFS_node *current = nodes + i;                                  
   4c3de:	220a           	movel %a2,%d1                               
      }                                                               
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ENOENT);                  
    }                                                                 
  }                                                                   
}                                                                     
   4c3e0:	282d 0004      	movel %a5@(4),%d4                           
   4c3e4:	2c15           	movel %a5@,%d6                              
  size_t pathlen,                                                     
  devFS_node **free_node_ptr                                          
)                                                                     
{                                                                     
  size_t i = 0;                                                       
  size_t n = data->count;                                             
   4c3e6:	2a28 0004      	movel %a0@(4),%d5                           
  devFS_node *nodes = data->nodes;                                    
  devFS_node *node = NULL;                                            
  devFS_node *free_node = NULL;                                       
                                                                      
  for (i = 0; (free_node == NULL || node == NULL) && i < n; ++i) {    
   4c3ea:	ba82           	cmpl %d2,%d5                                
   4c3ec:	6722           	beqs 4c410 <devFS_eval_path+0x54>           
    devFS_node *current = nodes + i;                                  
                                                                      
    if (current->name != NULL) {                                      
   4c3ee:	2012           	movel %a2@,%d0                              
   4c3f0:	6708           	beqs 4c3fa <devFS_eval_path+0x3e>           
      if (                                                            
   4c3f2:	220b           	movel %a3,%d1                               
   4c3f4:	b8aa 0004      	cmpl %a2@(4),%d4                            
   4c3f8:	6736           	beqs 4c430 <devFS_eval_path+0x74>           
  size_t n = data->count;                                             
  devFS_node *nodes = data->nodes;                                    
  devFS_node *node = NULL;                                            
  devFS_node *free_node = NULL;                                       
                                                                      
  for (i = 0; (free_node == NULL || node == NULL) && i < n; ++i) {    
   4c3fa:	5282           	addql #1,%d2                                
   4c3fc:	4a81           	tstl %d1                                    
   4c3fe:	6704           	beqs 4c404 <devFS_eval_path+0x48>           
   4c400:	4a83           	tstl %d3                                    
   4c402:	6642           	bnes 4c446 <devFS_eval_path+0x8a>           
   4c404:	45ea 0014      	lea %a2@(20),%a2                            
   4c408:	2641           	moveal %d1,%a3                              
    devFS_node *current = nodes + i;                                  
   4c40a:	220a           	movel %a2,%d1                               
  size_t n = data->count;                                             
  devFS_node *nodes = data->nodes;                                    
  devFS_node *node = NULL;                                            
  devFS_node *free_node = NULL;                                       
                                                                      
  for (i = 0; (free_node == NULL || node == NULL) && i < n; ++i) {    
   4c40c:	ba82           	cmpl %d2,%d5                                
   4c40e:	66de           	bnes 4c3ee <devFS_eval_path+0x32>           
      }                                                               
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ENOENT);                  
    }                                                                 
  }                                                                   
}                                                                     
   4c410:	202d 0010      	movel %a5@(16),%d0                          
    rtems_filesystem_eval_path_get_pathlen(ctx),                      
    &free_node                                                        
  );                                                                  
  int eval_flags = rtems_filesystem_eval_path_get_flags(ctx);         
                                                                      
  if (node != NULL) {                                                 
   4c414:	4a83           	tstl %d3                                    
   4c416:	6750           	beqs 4c468 <devFS_eval_path+0xac>           
    if ((eval_flags & RTEMS_FS_EXCLUSIVE) == 0) {                     
   4c418:	0800 0006      	btst #6,%d0                                 
   4c41c:	6632           	bnes 4c450 <devFS_eval_path+0x94>           <== ALWAYS TAKEN
      currentloc->node_access = node;                                 
   4c41e:	2b43 0020      	movel %d3,%a5@(32)                          
                                                                      
static inline void rtems_filesystem_eval_path_clear_path(             
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  ctx->pathlen = 0;                                                   
   4c422:	42ad 0004      	clrl %a5@(4)                                
      }                                                               
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ENOENT);                  
    }                                                                 
  }                                                                   
}                                                                     
   4c426:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   4c42c:	4e5e           	unlk %fp                                    
   4c42e:	4e75           	rts                                         
    devFS_node *current = nodes + i;                                  
                                                                      
    if (current->name != NULL) {                                      
      if (                                                            
        current->namelen == pathlen                                   
          && memcmp(current->name, path, pathlen) == 0                
   4c430:	2f04           	movel %d4,%sp@-                             
   4c432:	2f06           	movel %d6,%sp@-                             
   4c434:	2f00           	movel %d0,%sp@-                             
   4c436:	4e94           	jsr %a4@                                    
   4c438:	4fef 000c      	lea %sp@(12),%sp                            
   4c43c:	220b           	movel %a3,%d1                               
   4c43e:	4a80           	tstl %d0                                    
   4c440:	66b8           	bnes 4c3fa <devFS_eval_path+0x3e>           
   4c442:	260a           	movel %a2,%d3                               
   4c444:	60b4           	bras 4c3fa <devFS_eval_path+0x3e>           
      }                                                               
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ENOENT);                  
    }                                                                 
  }                                                                   
}                                                                     
   4c446:	202d 0010      	movel %a5@(16),%d0                          
    &free_node                                                        
  );                                                                  
  int eval_flags = rtems_filesystem_eval_path_get_flags(ctx);         
                                                                      
  if (node != NULL) {                                                 
    if ((eval_flags & RTEMS_FS_EXCLUSIVE) == 0) {                     
   4c44a:	0800 0006      	btst #6,%d0                                 
   4c44e:	67ce           	beqs 4c41e <devFS_eval_path+0x62>           <== ALWAYS TAKEN
      currentloc->node_access = node;                                 
      rtems_filesystem_eval_path_clear_path(ctx);                     
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, EEXIST);                  
   4c450:	4878 0011      	pea 11 <INVALID_OPERATION+0x1>              
   4c454:	2f0d           	movel %a5,%sp@-                             
   4c456:	4eb9 0004 52ae 	jsr 452ae <rtems_filesystem_eval_path_error>
   4c45c:	508f           	addql #8,%sp                                
      }                                                               
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ENOENT);                  
    }                                                                 
  }                                                                   
}                                                                     
   4c45e:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   4c464:	4e5e           	unlk %fp                                    
   4c466:	4e75           	rts                                         
      rtems_filesystem_eval_path_clear_path(ctx);                     
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, EEXIST);                  
    }                                                                 
  } else {                                                            
    if ((eval_flags & RTEMS_FS_MAKE) != 0) {                          
   4c468:	0800 0005      	btst #5,%d0                                 
   4c46c:	6728           	beqs 4c496 <devFS_eval_path+0xda>           <== NEVER TAKEN
      if (free_node != NULL) {                                        
   4c46e:	4a8b           	tstl %a3                                    
   4c470:	673c           	beqs 4c4ae <devFS_eval_path+0xf2>           
        free_node->mode = S_IRWXU | S_IRWXG | S_IRWXO;                
   4c472:	203c 0000 01ff 	movel #511,%d0                              
   4c478:	2740 0010      	movel %d0,%a3@(16)                          
        currentloc->node_access = free_node;                          
   4c47c:	2b4b 0020      	movel %a3,%a5@(32)                          
  rtems_filesystem_eval_path_context_t *ctx,                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  ctx->token = token;                                                 
   4c480:	2b46 0008      	movel %d6,%a5@(8)                           
  ctx->tokenlen = tokenlen;                                           
   4c484:	2b44 000c      	movel %d4,%a5@(12)                          
                                                                      
static inline void rtems_filesystem_eval_path_clear_path(             
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  ctx->pathlen = 0;                                                   
   4c488:	42ad 0004      	clrl %a5@(4)                                
      }                                                               
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ENOENT);                  
    }                                                                 
  }                                                                   
}                                                                     
   4c48c:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   4c492:	4e5e           	unlk %fp                                    
   4c494:	4e75           	rts                                         
        rtems_filesystem_eval_path_clear_path(ctx);                   
      } else {                                                        
        rtems_filesystem_eval_path_error(ctx, ENOSPC);                
      }                                                               
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ENOENT);                  
   4c496:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4c49a:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   4c49c:	4eb9 0004 52ae 	jsr 452ae <rtems_filesystem_eval_path_error><== NOT EXECUTED
   4c4a2:	508f           	addql #8,%sp                                <== NOT EXECUTED
    }                                                                 
  }                                                                   
}                                                                     
   4c4a4:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   4c4aa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4c4ac:	4e75           	rts                                         <== NOT EXECUTED
          rtems_filesystem_eval_path_get_path(ctx),                   
          rtems_filesystem_eval_path_get_pathlen(ctx)                 
        );                                                            
        rtems_filesystem_eval_path_clear_path(ctx);                   
      } else {                                                        
        rtems_filesystem_eval_path_error(ctx, ENOSPC);                
   4c4ae:	4878 001c      	pea 1c <FLT_MANT_DIG+0x4>                   
   4c4b2:	2f0d           	movel %a5,%sp@-                             
   4c4b4:	4eb9 0004 52ae 	jsr 452ae <rtems_filesystem_eval_path_error>
   4c4ba:	508f           	addql #8,%sp                                
      }                                                               
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ENOENT);                  
    }                                                                 
  }                                                                   
}                                                                     
   4c4bc:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   4c4c2:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00043e34 <devFS_mknod>: dev_t dev ) { int rv = 0; if (namelen != 3 || name [0] != 'd' || name [1] != 'e' || name [2] != 'v') {
   43e34:	7003           	moveq #3,%d0                                
  const char *name,                                                   
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
   43e36:	4e56 ffec      	linkw %fp,#-20                              
   43e3a:	48d7 043c      	moveml %d2-%d5/%a2,%sp@                     
   43e3e:	246e 000c      	moveal %fp@(12),%a2                         
   43e42:	242e 0010      	movel %fp@(16),%d2                          
   43e46:	262e 0014      	movel %fp@(20),%d3                          
   43e4a:	2a2e 0018      	movel %fp@(24),%d5                          
   43e4e:	282e 001c      	movel %fp@(28),%d4                          
  int rv = 0;                                                         
                                                                      
  if (namelen != 3 || name [0] != 'd' || name [1] != 'e' || name [2] != 'v') {
   43e52:	b082           	cmpl %d2,%d0                                
   43e54:	675e           	beqs 43eb4 <devFS_mknod+0x80>               
    if (S_ISBLK(mode) || S_ISCHR(mode)) {                             
   43e56:	2003           	movel %d3,%d0                               
   43e58:	0280 0000 f000 	andil #61440,%d0                            
   43e5e:	0c80 0000 6000 	cmpil #24576,%d0                            
   43e64:	6708           	beqs 43e6e <devFS_mknod+0x3a>               
   43e66:	0c80 0000 2000 	cmpil #8192,%d0                             
   43e6c:	667e           	bnes 43eec <devFS_mknod+0xb8>               
      char *dupname = malloc(namelen);                                
   43e6e:	2f02           	movel %d2,%sp@-                             
   43e70:	4eb9 0004 449c 	jsr 4449c <malloc>                          
                                                                      
      if (dupname != NULL) {                                          
   43e76:	588f           	addql #4,%sp                                
   43e78:	4a80           	tstl %d0                                    
   43e7a:	6700 008a      	beqw 43f06 <devFS_mknod+0xd2>               
        devFS_node *node = parentloc->node_access;                    
   43e7e:	206e 0008      	moveal %fp@(8),%a0                          
   43e82:	2068 0008      	moveal %a0@(8),%a0                          
                                                                      
        node->name = dupname;                                         
   43e86:	2080           	movel %d0,%a0@                              
        node->namelen = namelen;                                      
   43e88:	2142 0004      	movel %d2,%a0@(4)                           
        node->major = rtems_filesystem_dev_major_t(dev);              
   43e8c:	2145 0008      	movel %d5,%a0@(8)                           
        node->minor = rtems_filesystem_dev_minor_t(dev);              
   43e90:	2144 000c      	movel %d4,%a0@(12)                          
        node->mode = mode;                                            
   43e94:	2143 0010      	movel %d3,%a0@(16)                          
        memcpy(dupname, name, namelen);                               
   43e98:	2f02           	movel %d2,%sp@-                             
   43e9a:	2f0a           	movel %a2,%sp@-                             
   43e9c:	2f00           	movel %d0,%sp@-                             
   43e9e:	4eb9 0004 e584 	jsr 4e584 <memcpy>                          
   43ea4:	4fef 000c      	lea %sp@(12),%sp                            
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
  int rv = 0;                                                         
   43ea8:	4280           	clrl %d0                                    
      rv = -1;                                                        
    }                                                                 
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43eaa:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                
   43eb0:	4e5e           	unlk %fp                                    
   43eb2:	4e75           	rts                                         
  dev_t dev                                                           
)                                                                     
{                                                                     
  int rv = 0;                                                         
                                                                      
  if (namelen != 3 || name [0] != 'd' || name [1] != 'e' || name [2] != 'v') {
   43eb4:	7264           	moveq #100,%d1                              
   43eb6:	1012           	moveb %a2@,%d0                              
   43eb8:	49c0           	extbl %d0                                   
   43eba:	b280           	cmpl %d0,%d1                                
   43ebc:	6698           	bnes 43e56 <devFS_mknod+0x22>               <== NEVER TAKEN
   43ebe:	123c 0065      	moveb #101,%d1                              
   43ec2:	102a 0001      	moveb %a2@(1),%d0                           
   43ec6:	49c0           	extbl %d0                                   
   43ec8:	b280           	cmpl %d0,%d1                                
   43eca:	668a           	bnes 43e56 <devFS_mknod+0x22>               <== NEVER TAKEN
   43ecc:	123c 0076      	moveb #118,%d1                              
   43ed0:	102a 0002      	moveb %a2@(2),%d0                           
   43ed4:	49c0           	extbl %d0                                   
   43ed6:	b280           	cmpl %d0,%d1                                
   43ed8:	6600 ff7c      	bnew 43e56 <devFS_mknod+0x22>               
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
  int rv = 0;                                                         
   43edc:	4280           	clrl %d0                                    
    } else {                                                          
      errno = ENOTSUP;                                                
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    if (!S_ISDIR(mode)) {                                             
   43ede:	0283 0000 f000 	andil #61440,%d3                            
   43ee4:	0c83 0000 4000 	cmpil #16384,%d3                            
   43eea:	67be           	beqs 43eaa <devFS_mknod+0x76>               <== ALWAYS TAKEN
      errno = ENOTSUP;                                                
   43eec:	4eb9 0004 dc50 	jsr 4dc50 <__errno>                         
   43ef2:	2040           	moveal %d0,%a0                              
      rv = -1;                                                        
   43ef4:	70ff           	moveq #-1,%d0                               
    }                                                                 
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43ef6:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                
      errno = ENOTSUP;                                                
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    if (!S_ISDIR(mode)) {                                             
      errno = ENOTSUP;                                                
   43efc:	20bc 0000 0086 	movel #134,%a0@                             
      rv = -1;                                                        
    }                                                                 
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43f02:	4e5e           	unlk %fp                                    
   43f04:	4e75           	rts                                         
        node->major = rtems_filesystem_dev_major_t(dev);              
        node->minor = rtems_filesystem_dev_minor_t(dev);              
        node->mode = mode;                                            
        memcpy(dupname, name, namelen);                               
      } else {                                                        
        errno = ENOMEM;                                               
   43f06:	4eb9 0004 dc50 	jsr 4dc50 <__errno>                         
   43f0c:	720c           	moveq #12,%d1                               
   43f0e:	2040           	moveal %d0,%a0                              
        rv = -1;                                                      
   43f10:	70ff           	moveq #-1,%d0                               
      rv = -1;                                                        
    }                                                                 
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43f12:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                
        node->major = rtems_filesystem_dev_major_t(dev);              
        node->minor = rtems_filesystem_dev_minor_t(dev);              
        node->mode = mode;                                            
        memcpy(dupname, name, namelen);                               
      } else {                                                        
        errno = ENOMEM;                                               
   43f18:	2081           	movel %d1,%a0@                              
      rv = -1;                                                        
    }                                                                 
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43f1a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

000432d6 <disk_lock>: */ static volatile bool diskdevs_protected; static rtems_status_code disk_lock(void) {
   432d6:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc = rtems_semaphore_obtain(diskdevs_mutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   432da:	42a7           	clrl %sp@-                                  
   432dc:	42a7           	clrl %sp@-                                  
   432de:	2f39 0006 3632 	movel 63632 <diskdevs_mutex>,%sp@-          
   432e4:	4eb9 0004 8c48 	jsr 48c48 <rtems_semaphore_obtain>          
  if (sc == RTEMS_SUCCESSFUL) {                                       
   432ea:	4fef 000c      	lea %sp@(12),%sp                            
   432ee:	4a80           	tstl %d0                                    
   432f0:	6706           	beqs 432f8 <disk_lock+0x22>                 <== ALWAYS TAKEN
    diskdevs_protected = true;                                        
                                                                      
    return RTEMS_SUCCESSFUL;                                          
  } else {                                                            
    return RTEMS_NOT_CONFIGURED;                                      
   432f2:	7016           	moveq #22,%d0                               <== NOT EXECUTED
  }                                                                   
}                                                                     
   432f4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   432f6:	4e75           	rts                                         <== NOT EXECUTED
   432f8:	4e5e           	unlk %fp                                    
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc = rtems_semaphore_obtain(diskdevs_mutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
  if (sc == RTEMS_SUCCESSFUL) {                                       
    diskdevs_protected = true;                                        
   432fa:	7201           	moveq #1,%d1                                
   432fc:	13c1 0006 3630 	moveb %d1,63630 <diskdevs_protected>        
                                                                      
    return RTEMS_SUCCESSFUL;                                          
  } else {                                                            
    return RTEMS_NOT_CONFIGURED;                                      
  }                                                                   
}                                                                     
                                                                      

00043304 <disk_unlock>: static void disk_unlock(void) {
   43304:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  diskdevs_protected = false;                                         
   43308:	4200           	clrb %d0                                    
                                                                      
  sc = rtems_semaphore_release(diskdevs_mutex);                       
   4330a:	2f39 0006 3632 	movel 63632 <diskdevs_mutex>,%sp@-          
static void                                                           
disk_unlock(void)                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  diskdevs_protected = false;                                         
   43310:	13c0 0006 3630 	moveb %d0,63630 <diskdevs_protected>        
                                                                      
  sc = rtems_semaphore_release(diskdevs_mutex);                       
   43316:	4eb9 0004 8da0 	jsr 48da0 <rtems_semaphore_release>         
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4331c:	588f           	addql #4,%sp                                
   4331e:	4a80           	tstl %d0                                    
   43320:	6604           	bnes 43326 <disk_unlock+0x22>               <== NEVER TAKEN
    /* FIXME: Error number */                                         
    rtems_fatal_error_occurred(0xdeadbeef);                           
  }                                                                   
}                                                                     
   43322:	4e5e           	unlk %fp                                    
   43324:	4e75           	rts                                         
  diskdevs_protected = false;                                         
                                                                      
  sc = rtems_semaphore_release(diskdevs_mutex);                       
  if (sc != RTEMS_SUCCESSFUL) {                                       
    /* FIXME: Error number */                                         
    rtems_fatal_error_occurred(0xdeadbeef);                           
   43326:	2f3c dead beef 	movel #-559038737,%sp@-                     <== NOT EXECUTED
   4332c:	4eb9 0004 93ec 	jsr 493ec <rtems_fatal_error_occurred>      <== NOT EXECUTED
                                                                      

00044e0a <drainOutput.part.0>: /* * Drain output queue */ static void drainOutput (struct rtems_termios_tty *tty)
   44e0a:	4e56 fff4      	linkw %fp,#-12                              
   44e0e:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
{                                                                     
  rtems_interrupt_level level;                                        
  rtems_status_code sc;                                               
                                                                      
  if (tty->device.outputUsesInterrupts != TERMIOS_POLLED) {           
    rtems_interrupt_disable (level);                                  
   44e12:	243c 0000 0700 	movel #1792,%d2                             
   44e18:	2002           	movel %d2,%d0                               
                                                                      
/*                                                                    
 * Drain output queue                                                 
 */                                                                   
static void                                                           
drainOutput (struct rtems_termios_tty *tty)                           
   44e1a:	246e 0008      	moveal %fp@(8),%a2                          
{                                                                     
  rtems_interrupt_level level;                                        
  rtems_status_code sc;                                               
                                                                      
  if (tty->device.outputUsesInterrupts != TERMIOS_POLLED) {           
    rtems_interrupt_disable (level);                                  
   44e1e:	40c1           	movew %sr,%d1                               
   44e20:	8081           	orl %d1,%d0                                 
   44e22:	46c0           	movew %d0,%sr                               
    while (tty->rawOutBuf.Tail != tty->rawOutBuf.Head) {              
   44e24:	206a 0084      	moveal %a2@(132),%a0                        
   44e28:	202a 0080      	movel %a2@(128),%d0                         
   44e2c:	b088           	cmpl %a0,%d0                                
   44e2e:	6734           	beqs 44e64 <drainOutput.part.0+0x5a>        
   44e30:	47f9 0004 7458 	lea 47458 <rtems_semaphore_obtain>,%a3      
      tty->rawOutBufState = rob_wait;                                 
   44e36:	7002           	moveq #2,%d0                                
   44e38:	2540 0094      	movel %d0,%a2@(148)                         
      rtems_interrupt_enable (level);                                 
   44e3c:	46c1           	movew %d1,%sr                               
      sc = rtems_semaphore_obtain(                                    
   44e3e:	42a7           	clrl %sp@-                                  
   44e40:	42a7           	clrl %sp@-                                  
   44e42:	2f2a 008c      	movel %a2@(140),%sp@-                       
   44e46:	4e93           	jsr %a3@                                    
        tty->rawOutBuf.Semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT);      
      if (sc != RTEMS_SUCCESSFUL)                                     
   44e48:	4fef 000c      	lea %sp@(12),%sp                            
   44e4c:	4a80           	tstl %d0                                    
   44e4e:	6620           	bnes 44e70 <drainOutput.part.0+0x66>        <== NEVER TAKEN
        rtems_fatal_error_occurred (sc);                              
      rtems_interrupt_disable (level);                                
   44e50:	2002           	movel %d2,%d0                               
   44e52:	40c1           	movew %sr,%d1                               
   44e54:	8081           	orl %d1,%d0                                 
   44e56:	46c0           	movew %d0,%sr                               
  rtems_interrupt_level level;                                        
  rtems_status_code sc;                                               
                                                                      
  if (tty->device.outputUsesInterrupts != TERMIOS_POLLED) {           
    rtems_interrupt_disable (level);                                  
    while (tty->rawOutBuf.Tail != tty->rawOutBuf.Head) {              
   44e58:	206a 0084      	moveal %a2@(132),%a0                        
   44e5c:	202a 0080      	movel %a2@(128),%d0                         
   44e60:	b088           	cmpl %a0,%d0                                
   44e62:	66d2           	bnes 44e36 <drainOutput.part.0+0x2c>        
        tty->rawOutBuf.Semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT);      
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
      rtems_interrupt_disable (level);                                
    }                                                                 
    rtems_interrupt_enable (level);                                   
   44e64:	46c1           	movew %d1,%sr                               
  }                                                                   
}                                                                     
   44e66:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   44e6c:	4e5e           	unlk %fp                                    
   44e6e:	4e75           	rts                                         
      tty->rawOutBufState = rob_wait;                                 
      rtems_interrupt_enable (level);                                 
      sc = rtems_semaphore_obtain(                                    
        tty->rawOutBuf.Semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT);      
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
   44e70:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44e72:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
                                                                      

00043624 <dup2>: */ int dup2( int fildes, int fildes2 ) {
   43624:	4e56 ffa8      	linkw %fp,#-88                              
   43628:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
                                                                      
  /*                                                                  
   *  If fildes is not valid, then fildes2 should not be closed.      
   */                                                                 
                                                                      
  status = fstat( fildes, &buf );                                     
   4362c:	240e           	movel %fp,%d2                               
   4362e:	0682 ffff ffba 	addil #-70,%d2                              
   43634:	45f9 0004 3cf0 	lea 43cf0 <fstat>,%a2                       
   4363a:	2f02           	movel %d2,%sp@-                             
 */                                                                   
int dup2(                                                             
  int fildes,                                                         
  int fildes2                                                         
)                                                                     
{                                                                     
   4363c:	262e 0008      	movel %fp@(8),%d3                           
   43640:	282e 000c      	movel %fp@(12),%d4                          
                                                                      
  /*                                                                  
   *  If fildes is not valid, then fildes2 should not be closed.      
   */                                                                 
                                                                      
  status = fstat( fildes, &buf );                                     
   43644:	2f03           	movel %d3,%sp@-                             
   43646:	4e92           	jsr %a2@                                    
  if ( status == -1 )                                                 
   43648:	508f           	addql #8,%sp                                
   4364a:	72ff           	moveq #-1,%d1                               
   4364c:	b280           	cmpl %d0,%d1                                
   4364e:	6728           	beqs 43678 <dup2+0x54>                      
                                                                      
  /*                                                                  
   *  If fildes2 is not valid, then we should not do anything either. 
   */                                                                 
                                                                      
  status = fstat( fildes2, &buf );                                    
   43650:	2f02           	movel %d2,%sp@-                             
   43652:	2f04           	movel %d4,%sp@-                             
   43654:	4e92           	jsr %a2@                                    
  if ( status == -1 )                                                 
   43656:	508f           	addql #8,%sp                                
   43658:	72ff           	moveq #-1,%d1                               
   4365a:	b280           	cmpl %d0,%d1                                
   4365c:	671a           	beqs 43678 <dup2+0x54>                      <== NEVER TAKEN
                                                                      
  /*                                                                  
   *  This fcntl handles everything else.                             
   */                                                                 
                                                                      
  return fcntl( fildes, F_DUPFD, fildes2 );                           
   4365e:	2f04           	movel %d4,%sp@-                             
   43660:	42a7           	clrl %sp@-                                  
   43662:	2f03           	movel %d3,%sp@-                             
   43664:	4eb9 0004 38f4 	jsr 438f4 <fcntl>                           
   4366a:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   4366e:	4cee 041c ffa8 	moveml %fp@(-88),%d2-%d4/%a2                
   43674:	4e5e           	unlk %fp                                    
   43676:	4e75           	rts                                         
   *  If fildes is not valid, then fildes2 should not be closed.      
   */                                                                 
                                                                      
  status = fstat( fildes, &buf );                                     
  if ( status == -1 )                                                 
    return -1;                                                        
   43678:	70ff           	moveq #-1,%d0                               
  /*                                                                  
   *  This fcntl handles everything else.                             
   */                                                                 
                                                                      
  return fcntl( fildes, F_DUPFD, fildes2 );                           
}                                                                     
   4367a:	4cee 041c ffa8 	moveml %fp@(-88),%d2-%d4/%a2                
   43680:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00045c08 <echo>: /* * Echo a typed character */ static void echo (unsigned char c, struct rtems_termios_tty *tty) {
   45c08:	4e56 fff0      	linkw %fp,#-16                              
   45c0c:	222e 0008      	movel %fp@(8),%d1                           
   45c10:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   45c14:	246e 000c      	moveal %fp@(12),%a2                         
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
   45c18:	242a 003c      	movel %a2@(60),%d2                          
/*                                                                    
 * Echo a typed character                                             
 */                                                                   
static void                                                           
echo (unsigned char c, struct rtems_termios_tty *tty)                 
{                                                                     
   45c1c:	1001           	moveb %d1,%d0                               
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
   45c1e:	0282 0000 0200 	andil #512,%d2                              
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
   45c24:	0280 0000 00ff 	andil #255,%d0                              
 * Echo a typed character                                             
 */                                                                   
static void                                                           
echo (unsigned char c, struct rtems_termios_tty *tty)                 
{                                                                     
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
   45c2a:	4a82           	tstl %d2                                    
   45c2c:	6720           	beqs 45c4e <echo+0x46>                      <== NEVER TAKEN
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
   45c2e:	2079 0005 e3cc 	moveal 5e3cc <__ctype_ptr__>,%a0            
 * Echo a typed character                                             
 */                                                                   
static void                                                           
echo (unsigned char c, struct rtems_termios_tty *tty)                 
{                                                                     
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
   45c34:	7620           	moveq #32,%d3                               
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
   45c36:	1430 0801      	moveb %a0@(00000001,%d0:l),%d2              
 * Echo a typed character                                             
 */                                                                   
static void                                                           
echo (unsigned char c, struct rtems_termios_tty *tty)                 
{                                                                     
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
   45c3a:	c483           	andl %d3,%d2                                
   45c3c:	4a02           	tstb %d2                                    
   45c3e:	670e           	beqs 45c4e <echo+0x46>                      
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
   45c40:	7409           	moveq #9,%d2                                
   45c42:	b480           	cmpl %d0,%d2                                
   45c44:	6708           	beqs 45c4e <echo+0x46>                      
   45c46:	163c 000a      	moveb #10,%d3                               
   45c4a:	b680           	cmpl %d0,%d3                                
   45c4c:	6614           	bnes 45c62 <echo+0x5a>                      
    echobuf[0] = '^';                                                 
    echobuf[1] = c ^ 0x40;                                            
    rtems_termios_puts (echobuf, 2, tty);                             
    tty->column += 2;                                                 
  } else {                                                            
    oproc (c, tty);                                                   
   45c4e:	2f0a           	movel %a2,%sp@-                             
   45c50:	2f00           	movel %d0,%sp@-                             
   45c52:	4eba fe04      	jsr %pc@(45a58 <oproc>)                     
   45c56:	508f           	addql #8,%sp                                
  }                                                                   
}                                                                     
   45c58:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                
   45c5e:	4e5e           	unlk %fp                                    
   45c60:	4e75           	rts                                         
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
    char echobuf[2];                                                  
                                                                      
    echobuf[0] = '^';                                                 
    echobuf[1] = c ^ 0x40;                                            
    rtems_termios_puts (echobuf, 2, tty);                             
   45c62:	2f0a           	movel %a2,%sp@-                             
   45c64:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
    char echobuf[2];                                                  
                                                                      
    echobuf[0] = '^';                                                 
    echobuf[1] = c ^ 0x40;                                            
   45c68:	7040           	moveq #64,%d0                               
    rtems_termios_puts (echobuf, 2, tty);                             
   45c6a:	486e fffe      	pea %fp@(-2)                                
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
    char echobuf[2];                                                  
                                                                      
    echobuf[0] = '^';                                                 
    echobuf[1] = c ^ 0x40;                                            
   45c6e:	b181           	eorl %d0,%d1                                
{                                                                     
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
    char echobuf[2];                                                  
                                                                      
    echobuf[0] = '^';                                                 
   45c70:	745e           	moveq #94,%d2                               
    echobuf[1] = c ^ 0x40;                                            
   45c72:	1d41 ffff      	moveb %d1,%fp@(-1)                          
{                                                                     
  if ((tty->termios.c_lflag & ECHOCTL) &&                             
       iscntrl(c) && (c != '\t') && (c != '\n')) {                    
    char echobuf[2];                                                  
                                                                      
    echobuf[0] = '^';                                                 
   45c76:	1d42 fffe      	moveb %d2,%fp@(-2)                          
    echobuf[1] = c ^ 0x40;                                            
    rtems_termios_puts (echobuf, 2, tty);                             
   45c7a:	4eb9 0004 5954 	jsr 45954 <rtems_termios_puts>              
   45c80:	4fef 000c      	lea %sp@(12),%sp                            
    tty->column += 2;                                                 
   45c84:	54aa 0028      	addql #2,%a2@(40)                           
  } else {                                                            
    oproc (c, tty);                                                   
  }                                                                   
}                                                                     
   45c88:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                
   45c8e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00064e70 <endgrent>: void endgrent(void) {
   64e70:	4e56 0000      	linkw %fp,#0                                
  if (group_fp != NULL)                                               
   64e74:	2039 0009 f3dc 	movel 9f3dc <group_fp>,%d0                  
   64e7a:	670a           	beqs 64e86 <endgrent+0x16>                  <== NEVER TAKEN
    fclose(group_fp);                                                 
   64e7c:	2f00           	movel %d0,%sp@-                             
   64e7e:	4eb9 0007 78d4 	jsr 778d4 <fclose>                          
   64e84:	588f           	addql #4,%sp                                
}                                                                     
   64e86:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00064d26 <endpwent>: void endpwent(void) {
   64d26:	4e56 0000      	linkw %fp,#0                                
  if (passwd_fp != NULL)                                              
   64d2a:	2039 0009 f302 	movel 9f302 <passwd_fp>,%d0                 
   64d30:	670a           	beqs 64d3c <endpwent+0x16>                  <== NEVER TAKEN
    fclose(passwd_fp);                                                
   64d32:	2f00           	movel %d0,%sp@-                             
   64d34:	4eb9 0007 78d4 	jsr 778d4 <fclose>                          
   64d3a:	588f           	addql #4,%sp                                
}                                                                     
   64d3c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00045c92 <erase.part.2>: * Erase a character or line * FIXME: Needs support for WERASE and ECHOPRT. * FIXME: Some of the tests should check for IEXTEN, too. */ static void erase (struct rtems_termios_tty *tty, int lineFlag)
   45c92:	4e56 ffe0      	linkw %fp,#-32                              
   45c96:	48d7 1c7c      	moveml %d2-%d6/%a2-%a4,%sp@                 
   45c9a:	246e 0008      	moveal %fp@(8),%a2                          
          tty->column--;                                              
        }                                                             
      }                                                               
      else {                                                          
        if (iscntrl (c) && (tty->termios.c_lflag & ECHOCTL)) {        
          rtems_termios_puts ("\b \b", 3, tty);                       
   45c9e:	47f9 0004 5954 	lea 45954 <rtems_termios_puts>,%a3          
 * Erase a character or line                                          
 * FIXME: Needs support for WERASE and ECHOPRT.                       
 * FIXME: Some of the tests should check for IEXTEN, too.             
 */                                                                   
static void                                                           
erase (struct rtems_termios_tty *tty, int lineFlag)                   
   45ca4:	282e 000c      	movel %fp@(12),%d4                          
        echo ('\n', tty);                                             
      return;                                                         
    }                                                                 
  }                                                                   
                                                                      
  while (tty->ccount) {                                               
   45ca8:	202a 0020      	movel %a2@(32),%d0                          
   45cac:	676e           	beqs 45d1c <erase.part.2+0x8a>              
    unsigned char c = tty->cbuf[--tty->ccount];                       
   45cae:	5380           	subql #1,%d0                                
   45cb0:	206a 001c      	moveal %a2@(28),%a0                         
                                                                      
    if (tty->termios.c_lflag & ECHO) {                                
   45cb4:	262a 003c      	movel %a2@(60),%d3                          
      return;                                                         
    }                                                                 
  }                                                                   
                                                                      
  while (tty->ccount) {                                               
    unsigned char c = tty->cbuf[--tty->ccount];                       
   45cb8:	2540 0020      	movel %d0,%a2@(32)                          
   45cbc:	1230 0800      	moveb %a0@(00000000,%d0:l),%d1              
                                                                      
    if (tty->termios.c_lflag & ECHO) {                                
   45cc0:	44c3           	movew %d3,%ccr                              
   45cc2:	6a54           	bpls 45d18 <erase.part.2+0x86>              <== NEVER TAKEN
      if (!lineFlag && !(tty->termios.c_lflag & ECHOE)) {             
   45cc4:	4a84           	tstl %d4                                    
   45cc6:	6608           	bnes 45cd0 <erase.part.2+0x3e>              
   45cc8:	0803 0004      	btst #4,%d3                                 
   45ccc:	6700 0142      	beqw 45e10 <erase.part.2+0x17e>             
        echo (tty->termios.c_cc[VERASE], tty);                        
      } else if (c == '\t') {                                         
   45cd0:	7409           	moveq #9,%d2                                
   45cd2:	0281 0000 00ff 	andil #255,%d1                              
   45cd8:	b481           	cmpl %d1,%d2                                
   45cda:	6700 0096      	beqw 45d72 <erase.part.2+0xe0>              
          rtems_termios_puts ("\b", 1, tty);                          
          tty->column--;                                              
        }                                                             
      }                                                               
      else {                                                          
        if (iscntrl (c) && (tty->termios.c_lflag & ECHOCTL)) {        
   45cde:	2401           	movel %d1,%d2                               
   45ce0:	5282           	addql #1,%d2                                
   45ce2:	7a20           	moveq #32,%d5                               
   45ce4:	2079 0005 e3cc 	moveal 5e3cc <__ctype_ptr__>,%a0            
   45cea:	1030 2800      	moveb %a0@(00000000,%d2:l),%d0              
   45cee:	c085           	andl %d5,%d0                                
   45cf0:	4a00           	tstb %d0                                    
   45cf2:	6632           	bnes 45d26 <erase.part.2+0x94>              <== NEVER TAKEN
   45cf4:	49f9 0004 5954 	lea 45954 <rtems_termios_puts>,%a4          
          rtems_termios_puts ("\b \b", 3, tty);                       
          if (tty->column)                                            
            tty->column--;                                            
        }                                                             
        if (!iscntrl (c) || (tty->termios.c_lflag & ECHOCTL)) {       
          rtems_termios_puts ("\b \b", 3, tty);                       
   45cfa:	2f0a           	movel %a2,%sp@-                             
   45cfc:	4878 0003      	pea 3 <DIVIDE>                              
   45d00:	4879 0005 d40b 	pea 5d40b <rtems_termios_baud_table+0x107>  
   45d06:	4e94           	jsr %a4@                                    
          if (tty->column)                                            
   45d08:	202a 0028      	movel %a2@(40),%d0                          
   45d0c:	4fef 000c      	lea %sp@(12),%sp                            
   45d10:	6706           	beqs 45d18 <erase.part.2+0x86>              <== NEVER TAKEN
            tty->column--;                                            
   45d12:	5380           	subql #1,%d0                                
   45d14:	2540 0028      	movel %d0,%a2@(40)                          
        }                                                             
      }                                                               
    }                                                                 
    if (!lineFlag)                                                    
   45d18:	4a84           	tstl %d4                                    
   45d1a:	668c           	bnes 45ca8 <erase.part.2+0x16>              
      break;                                                          
  }                                                                   
}                                                                     
   45d1c:	4cee 1c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a4            
   45d22:	4e5e           	unlk %fp                                    
   45d24:	4e75           	rts                                         
          rtems_termios_puts ("\b", 1, tty);                          
          tty->column--;                                              
        }                                                             
      }                                                               
      else {                                                          
        if (iscntrl (c) && (tty->termios.c_lflag & ECHOCTL)) {        
   45d26:	0803 0009      	btst #9,%d3                                 <== NOT EXECUTED
   45d2a:	67ec           	beqs 45d18 <erase.part.2+0x86>              <== NOT EXECUTED
          rtems_termios_puts ("\b \b", 3, tty);                       
   45d2c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   45d2e:	4878 0003      	pea 3 <DIVIDE>                              <== NOT EXECUTED
   45d32:	49f9 0004 5954 	lea 45954 <rtems_termios_puts>,%a4          <== NOT EXECUTED
   45d38:	4879 0005 d40b 	pea 5d40b <rtems_termios_baud_table+0x107>  <== NOT EXECUTED
   45d3e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
          if (tty->column)                                            
   45d40:	202a 0028      	movel %a2@(40),%d0                          <== NOT EXECUTED
   45d44:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   45d48:	6600 00e0      	bnew 45e2a <erase.part.2+0x198>             <== NOT EXECUTED
            tty->column--;                                            
        }                                                             
        if (!iscntrl (c) || (tty->termios.c_lflag & ECHOCTL)) {       
   45d4c:	2079 0005 e3cc 	moveal 5e3cc <__ctype_ptr__>,%a0            <== NOT EXECUTED
   45d52:	7220           	moveq #32,%d1                               <== NOT EXECUTED
   45d54:	1030 2800      	moveb %a0@(00000000,%d2:l),%d0              <== NOT EXECUTED
   45d58:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   45d5a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   45d5c:	679c           	beqs 45cfa <erase.part.2+0x68>              <== NOT EXECUTED
   45d5e:	202a 003c      	movel %a2@(60),%d0                          <== NOT EXECUTED
   45d62:	0280 0000 0200 	andil #512,%d0                              <== NOT EXECUTED
   45d68:	6690           	bnes 45cfa <erase.part.2+0x68>              <== NOT EXECUTED
          if (tty->column)                                            
            tty->column--;                                            
        }                                                             
      }                                                               
    }                                                                 
    if (!lineFlag)                                                    
   45d6a:	4a84           	tstl %d4                                    <== NOT EXECUTED
   45d6c:	6600 ff3a      	bnew 45ca8 <erase.part.2+0x16>              <== NOT EXECUTED
   45d70:	60aa           	bras 45d1c <erase.part.2+0x8a>              <== NOT EXECUTED
                                                                      
    if (tty->termios.c_lflag & ECHO) {                                
      if (!lineFlag && !(tty->termios.c_lflag & ECHOE)) {             
        echo (tty->termios.c_cc[VERASE], tty);                        
      } else if (c == '\t') {                                         
        int col = tty->read_start_column;                             
   45d72:	242a 002c      	movel %a2@(44),%d2                          
        int i = 0;                                                    
                                                                      
        /*                                                            
         * Find the character before the tab                          
         */                                                           
        while (i != tty->ccount) {                                    
   45d76:	4a80           	tstl %d0                                    
   45d78:	6732           	beqs 45dac <erase.part.2+0x11a>             
          c = tty->cbuf[i++];                                         
          if (c == '\t') {                                            
            col = (col | 7) + 1;                                      
          } else if (iscntrl (c)) {                                   
            if (tty->termios.c_lflag & ECHOCTL)                       
   45d7a:	2c03           	movel %d3,%d6                               
    if (tty->termios.c_lflag & ECHO) {                                
      if (!lineFlag && !(tty->termios.c_lflag & ECHOE)) {             
        echo (tty->termios.c_cc[VERASE], tty);                        
      } else if (c == '\t') {                                         
        int col = tty->read_start_column;                             
        int i = 0;                                                    
   45d7c:	4281           	clrl %d1                                    
        while (i != tty->ccount) {                                    
          c = tty->cbuf[i++];                                         
          if (c == '\t') {                                            
            col = (col | 7) + 1;                                      
          } else if (iscntrl (c)) {                                   
            if (tty->termios.c_lflag & ECHOCTL)                       
   45d7e:	0286 0000 0200 	andil #512,%d6                              
         */                                                           
        while (i != tty->ccount) {                                    
          c = tty->cbuf[i++];                                         
          if (c == '\t') {                                            
            col = (col | 7) + 1;                                      
          } else if (iscntrl (c)) {                                   
   45d84:	2279 0005 e3cc 	moveal 5e3cc <__ctype_ptr__>,%a1            
        /*                                                            
         * Find the character before the tab                          
         */                                                           
        while (i != tty->ccount) {                                    
          c = tty->cbuf[i++];                                         
          if (c == '\t') {                                            
   45d8a:	4283           	clrl %d3                                    
   45d8c:	1618           	moveb %a0@+,%d3                             
                                                                      
        /*                                                            
         * Find the character before the tab                          
         */                                                           
        while (i != tty->ccount) {                                    
          c = tty->cbuf[i++];                                         
   45d8e:	5281           	addql #1,%d1                                
          if (c == '\t') {                                            
   45d90:	7a09           	moveq #9,%d5                                
   45d92:	ba83           	cmpl %d3,%d5                                
   45d94:	676c           	beqs 45e02 <erase.part.2+0x170>             
            col = (col | 7) + 1;                                      
          } else if (iscntrl (c)) {                                   
   45d96:	1a31 3801      	moveb %a1@(00000001,%d3:l),%d5              
   45d9a:	7620           	moveq #32,%d3                               
   45d9c:	ca83           	andl %d3,%d5                                
   45d9e:	4a05           	tstb %d5                                    
   45da0:	6758           	beqs 45dfa <erase.part.2+0x168>             <== ALWAYS TAKEN
            if (tty->termios.c_lflag & ECHOCTL)                       
   45da2:	4a86           	tstl %d6                                    <== NOT EXECUTED
   45da4:	6702           	beqs 45da8 <erase.part.2+0x116>             <== NOT EXECUTED
              col += 2;                                               
   45da6:	5482           	addql #2,%d2                                <== NOT EXECUTED
        int i = 0;                                                    
                                                                      
        /*                                                            
         * Find the character before the tab                          
         */                                                           
        while (i != tty->ccount) {                                    
   45da8:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   45daa:	66de           	bnes 45d8a <erase.part.2+0xf8>              <== NOT EXECUTED
        }                                                             
                                                                      
        /*                                                            
         * Back up over the tab                                       
         */                                                           
        while (tty->column > col) {                                   
   45dac:	b4aa 0028      	cmpl %a2@(40),%d2                           
   45db0:	6c00 ff66      	bgew 45d18 <erase.part.2+0x86>              
          rtems_termios_puts ("\b", 1, tty);                          
   45db4:	2f0a           	movel %a2,%sp@-                             
   45db6:	4878 0001      	pea 1 <ADD>                                 
   45dba:	4879 0005 d40d 	pea 5d40d <rtems_termios_baud_table+0x109>  
   45dc0:	4e93           	jsr %a3@                                    
          tty->column--;                                              
   45dc2:	202a 0028      	movel %a2@(40),%d0                          
   45dc6:	5380           	subql #1,%d0                                
        }                                                             
                                                                      
        /*                                                            
         * Back up over the tab                                       
         */                                                           
        while (tty->column > col) {                                   
   45dc8:	4fef 000c      	lea %sp@(12),%sp                            
          rtems_termios_puts ("\b", 1, tty);                          
          tty->column--;                                              
   45dcc:	2540 0028      	movel %d0,%a2@(40)                          
        }                                                             
                                                                      
        /*                                                            
         * Back up over the tab                                       
         */                                                           
        while (tty->column > col) {                                   
   45dd0:	b480           	cmpl %d0,%d2                                
   45dd2:	6c00 ff44      	bgew 45d18 <erase.part.2+0x86>              
          rtems_termios_puts ("\b", 1, tty);                          
   45dd6:	2f0a           	movel %a2,%sp@-                             
   45dd8:	4878 0001      	pea 1 <ADD>                                 
   45ddc:	4879 0005 d40d 	pea 5d40d <rtems_termios_baud_table+0x109>  
   45de2:	4e93           	jsr %a3@                                    
          tty->column--;                                              
   45de4:	202a 0028      	movel %a2@(40),%d0                          
   45de8:	5380           	subql #1,%d0                                
        }                                                             
                                                                      
        /*                                                            
         * Back up over the tab                                       
         */                                                           
        while (tty->column > col) {                                   
   45dea:	4fef 000c      	lea %sp@(12),%sp                            
          rtems_termios_puts ("\b", 1, tty);                          
          tty->column--;                                              
   45dee:	2540 0028      	movel %d0,%a2@(40)                          
        }                                                             
                                                                      
        /*                                                            
         * Back up over the tab                                       
         */                                                           
        while (tty->column > col) {                                   
   45df2:	b480           	cmpl %d0,%d2                                
   45df4:	6dbe           	blts 45db4 <erase.part.2+0x122>             
   45df6:	6000 ff20      	braw 45d18 <erase.part.2+0x86>              
            col = (col | 7) + 1;                                      
          } else if (iscntrl (c)) {                                   
            if (tty->termios.c_lflag & ECHOCTL)                       
              col += 2;                                               
          } else {                                                    
            col++;                                                    
   45dfa:	5282           	addql #1,%d2                                
        int i = 0;                                                    
                                                                      
        /*                                                            
         * Find the character before the tab                          
         */                                                           
        while (i != tty->ccount) {                                    
   45dfc:	b280           	cmpl %d0,%d1                                
   45dfe:	668a           	bnes 45d8a <erase.part.2+0xf8>              
   45e00:	60aa           	bras 45dac <erase.part.2+0x11a>             
          c = tty->cbuf[i++];                                         
          if (c == '\t') {                                            
            col = (col | 7) + 1;                                      
   45e02:	7607           	moveq #7,%d3                                
   45e04:	8483           	orl %d3,%d2                                 
   45e06:	5282           	addql #1,%d2                                
        int i = 0;                                                    
                                                                      
        /*                                                            
         * Find the character before the tab                          
         */                                                           
        while (i != tty->ccount) {                                    
   45e08:	b280           	cmpl %d0,%d1                                
   45e0a:	6600 ff7e      	bnew 45d8a <erase.part.2+0xf8>              
   45e0e:	609c           	bras 45dac <erase.part.2+0x11a>             <== NOT EXECUTED
  while (tty->ccount) {                                               
    unsigned char c = tty->cbuf[--tty->ccount];                       
                                                                      
    if (tty->termios.c_lflag & ECHO) {                                
      if (!lineFlag && !(tty->termios.c_lflag & ECHOE)) {             
        echo (tty->termios.c_cc[VERASE], tty);                        
   45e10:	2d4a 000c      	movel %a2,%fp@(12)                          <== NOT EXECUTED
   45e14:	4280           	clrl %d0                                    <== NOT EXECUTED
   45e16:	102a 0043      	moveb %a2@(67),%d0                          <== NOT EXECUTED
      }                                                               
    }                                                                 
    if (!lineFlag)                                                    
      break;                                                          
  }                                                                   
}                                                                     
   45e1a:	4cee 1c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a4            <== NOT EXECUTED
  while (tty->ccount) {                                               
    unsigned char c = tty->cbuf[--tty->ccount];                       
                                                                      
    if (tty->termios.c_lflag & ECHO) {                                
      if (!lineFlag && !(tty->termios.c_lflag & ECHOE)) {             
        echo (tty->termios.c_cc[VERASE], tty);                        
   45e20:	2d40 0008      	movel %d0,%fp@(8)                           <== NOT EXECUTED
      }                                                               
    }                                                                 
    if (!lineFlag)                                                    
      break;                                                          
  }                                                                   
}                                                                     
   45e24:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  while (tty->ccount) {                                               
    unsigned char c = tty->cbuf[--tty->ccount];                       
                                                                      
    if (tty->termios.c_lflag & ECHO) {                                
      if (!lineFlag && !(tty->termios.c_lflag & ECHOE)) {             
        echo (tty->termios.c_cc[VERASE], tty);                        
   45e26:	6000 fde0      	braw 45c08 <echo>                           <== NOT EXECUTED
      }                                                               
      else {                                                          
        if (iscntrl (c) && (tty->termios.c_lflag & ECHOCTL)) {        
          rtems_termios_puts ("\b \b", 3, tty);                       
          if (tty->column)                                            
            tty->column--;                                            
   45e2a:	5380           	subql #1,%d0                                <== NOT EXECUTED
   45e2c:	2540 0028      	movel %d0,%a2@(40)                          <== NOT EXECUTED
   45e30:	6000 ff1a      	braw 45d4c <erase.part.2+0xba>              <== NOT EXECUTED
                                                                      

00052908 <fat_buf_access>: static inline uint32_t fat_sector_num_to_block_num (const fat_fs_info_t *fs_info, const uint32_t sector_number) { return sector_number >> (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   52908:	4281           	clrl %d1                                    
   5290a:	4280           	clrl %d0                                    
int                                                                   
fat_buf_access(fat_fs_info_t   *fs_info,                              
               const uint32_t   sec_num,                              
               const int        op_type,                              
               uint8_t        **sec_buf)                              
{                                                                     
   5290c:	4e56 fff0      	linkw %fp,#-16                              
   52910:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
   52914:	246e 0008      	moveal %fp@(8),%a2                          
   52918:	122a 0002      	moveb %a2@(2),%d1                           
   5291c:	102a 000c      	moveb %a2@(12),%d0                          
   52920:	9081           	subl %d1,%d0                                
   52922:	242e 000c      	movel %fp@(12),%d2                          
   52926:	2802           	movel %d2,%d4                               
   52928:	e0ac           	lsrl %d0,%d4                                
                                                                      
static inline uint32_t                                                
 fat_block_num_to_sector_num (const fat_fs_info_t *fs_info,           
                              const uint32_t block_number)            
{                                                                     
  return block_number << (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   5292a:	2604           	movel %d4,%d3                               
   5292c:	e1ab           	lsll %d0,%d3                                
   5292e:	2003           	movel %d3,%d0                               
 fat_sector_offset_to_block_offset (const fat_fs_info_t *fs_info,     
                                    const uint32_t sector,            
                                    const uint32_t sector_offset)     
{                                                                     
  return sector_offset +                                              
           ((sector -                                                 
   52930:	2602           	movel %d2,%d3                               
   52932:	9680           	subl %d0,%d3                                
              fat_block_num_to_sector_num (fs_info,                   
                  fat_sector_num_to_block_num (fs_info, sector)))     
            << fs_info->vol.sec_log2);                                
   52934:	e3ab           	lsll %d1,%d3                                
                                                         sec_num);    
    uint32_t          blk_ofs = fat_sector_offset_to_block_offset (fs_info,
                                                                   sec_num,
                                                                   0);
                                                                      
    if (fs_info->c.state == FAT_CACHE_EMPTY || fs_info->c.blk_num != sec_num)
   52936:	4a2a 007f      	tstb %a2@(127)                              
   5293a:	6706           	beqs 52942 <fat_buf_access+0x3a>            
   5293c:	b4aa 007a      	cmpl %a2@(122),%d2                          
   52940:	673a           	beqs 5297c <fat_buf_access+0x74>            
    {                                                                 
        fat_buf_release(fs_info);                                     
   52942:	2f0a           	movel %a2,%sp@-                             
   52944:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 
                                                                      
        if (op_type == FAT_OP_TYPE_READ)                              
   5294a:	588f           	addql #4,%sp                                
   5294c:	7001           	moveq #1,%d0                                
   5294e:	b0ae 0010      	cmpl %fp@(16),%d0                           
   52952:	6742           	beqs 52996 <fat_buf_access+0x8e>            
            sc = rtems_bdbuf_read(fs_info->vol.dd, blk, &fs_info->c.buf);
        else                                                          
            sc = rtems_bdbuf_get(fs_info->vol.dd, blk, &fs_info->c.buf);
   52954:	486a 0080      	pea %a2@(128)                               
   52958:	2f04           	movel %d4,%sp@-                             
   5295a:	2f2a 005a      	movel %a2@(90),%sp@-                        
   5295e:	4eb9 0005 04f0 	jsr 504f0 <rtems_bdbuf_get>                 
   52964:	4fef 000c      	lea %sp@(12),%sp                            
        if (sc != RTEMS_SUCCESSFUL)                                   
   52968:	4a80           	tstl %d0                                    
   5296a:	6640           	bnes 529ac <fat_buf_access+0xa4>            <== NEVER TAKEN
            rtems_set_errno_and_return_minus_one(EIO);                
        fs_info->c.blk_num = sec_num;                                 
   5296c:	2542 007a      	movel %d2,%a2@(122)                         
        fs_info->c.modified = 0;                                      
   52970:	4200           	clrb %d0                                    
   52972:	1540 007e      	moveb %d0,%a2@(126)                         
        fs_info->c.state = FAT_CACHE_ACTUAL;                          
   52976:	7001           	moveq #1,%d0                                
   52978:	1540 007f      	moveb %d0,%a2@(127)                         
    }                                                                 
    *sec_buf = &fs_info->c.buf->buffer[blk_ofs];                      
   5297c:	226a 0080      	moveal %a2@(128),%a1                        
   52980:	d6a9 001a      	addl %a1@(26),%d3                           
    return RC_OK;                                                     
   52984:	4280           	clrl %d0                                    
            rtems_set_errno_and_return_minus_one(EIO);                
        fs_info->c.blk_num = sec_num;                                 
        fs_info->c.modified = 0;                                      
        fs_info->c.state = FAT_CACHE_ACTUAL;                          
    }                                                                 
    *sec_buf = &fs_info->c.buf->buffer[blk_ofs];                      
   52986:	206e 0014      	moveal %fp@(20),%a0                         
   5298a:	2083           	movel %d3,%a0@                              
    return RC_OK;                                                     
}                                                                     
   5298c:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   52992:	4e5e           	unlk %fp                                    
   52994:	4e75           	rts                                         
    if (fs_info->c.state == FAT_CACHE_EMPTY || fs_info->c.blk_num != sec_num)
    {                                                                 
        fat_buf_release(fs_info);                                     
                                                                      
        if (op_type == FAT_OP_TYPE_READ)                              
            sc = rtems_bdbuf_read(fs_info->vol.dd, blk, &fs_info->c.buf);
   52996:	486a 0080      	pea %a2@(128)                               
   5299a:	2f04           	movel %d4,%sp@-                             
   5299c:	2f2a 005a      	movel %a2@(90),%sp@-                        
   529a0:	4eb9 0005 05f2 	jsr 505f2 <rtems_bdbuf_read>                
   529a6:	4fef 000c      	lea %sp@(12),%sp                            
   529aa:	60bc           	bras 52968 <fat_buf_access+0x60>            
        else                                                          
            sc = rtems_bdbuf_get(fs_info->vol.dd, blk, &fs_info->c.buf);
        if (sc != RTEMS_SUCCESSFUL)                                   
            rtems_set_errno_and_return_minus_one(EIO);                
   529ac:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   529b2:	7605           	moveq #5,%d3                                <== NOT EXECUTED
   529b4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   529b6:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   529b8:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
        fs_info->c.modified = 0;                                      
        fs_info->c.state = FAT_CACHE_ACTUAL;                          
    }                                                                 
    *sec_buf = &fs_info->c.buf->buffer[blk_ofs];                      
    return RC_OK;                                                     
}                                                                     
   529ba:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                <== NOT EXECUTED
   529c0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052738 <fat_buf_release>: return RC_OK; } int fat_buf_release(fat_fs_info_t *fs_info) {
   52738:	4e56 ffd4      	linkw %fp,#-44                              
   5273c:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   52740:	246e 0008      	moveal %fp@(8),%a2                          
    rtems_status_code sc = RTEMS_SUCCESSFUL;                          
                                                                      
    if (fs_info->c.state == FAT_CACHE_EMPTY)                          
   52744:	4a2a 007f      	tstb %a2@(127)                              
   52748:	6700 0122      	beqw 5286c <fat_buf_release+0x134>          
        return RC_OK;                                                 
                                                                      
    if (fs_info->c.modified)                                          
   5274c:	4a2a 007e      	tstb %a2@(126)                              
   52750:	6700 0126      	beqw 52878 <fat_buf_release+0x140>          
    {                                                                 
        uint32_t sec_num = fs_info->c.blk_num;                        
        bool     sec_of_fat = ((sec_num >= fs_info->vol.fat_loc) &&   
   52754:	4281           	clrl %d1                                    
   52756:	322a 0018      	movew %a2@(24),%d1                          
    if (fs_info->c.state == FAT_CACHE_EMPTY)                          
        return RC_OK;                                                 
                                                                      
    if (fs_info->c.modified)                                          
    {                                                                 
        uint32_t sec_num = fs_info->c.blk_num;                        
   5275a:	202a 007a      	movel %a2@(122),%d0                         
        bool     sec_of_fat = ((sec_num >= fs_info->vol.fat_loc) &&   
   5275e:	b280           	cmpl %d0,%d1                                
   52760:	6200 0104      	bhiw 52866 <fat_buf_release+0x12e>          
   52764:	b0aa 001e      	cmpl %a2@(30),%d0                           
   52768:	6400 00fc      	bccw 52866 <fat_buf_release+0x12e>          
    uint32_t                              ino                         
    )                                                                 
{                                                                     
                                                                      
    return (ino >= fs_info->uino_base);                               
}                                                                     
   5276c:	162a 0002      	moveb %a2@(2),%d3                           
   52770:	122a 000c      	moveb %a2@(12),%d1                          
        uint32_t blk = fat_sector_num_to_block_num(fs_info, sec_num); 
        uint32_t blk_ofs = fat_sector_offset_to_block_offset(fs_info, 
                                                             sec_num, 
                                                             0);      
                                                                      
        if (sec_of_fat && !fs_info->vol.mirror)                       
   52774:	4a2a 004e      	tstb %a2@(78)                               
   52778:	6700 0152      	beqw 528cc <fat_buf_release+0x194>          
        return RC_OK;                                                 
                                                                      
    if (fs_info->c.modified)                                          
    {                                                                 
        uint32_t sec_num = fs_info->c.blk_num;                        
        bool     sec_of_fat = ((sec_num >= fs_info->vol.fat_loc) &&   
   5277c:	7401           	moveq #1,%d2                                <== NOT EXECUTED
        if (sec_of_fat && !fs_info->vol.mirror)                       
            memcpy(fs_info->sec_buf,                                  
                   fs_info->c.buf->buffer + blk_ofs,                  
                   fs_info->vol.bps);                                 
                                                                      
        sc = rtems_bdbuf_release_modified(fs_info->c.buf);            
   5277e:	2f2a 0080      	movel %a2@(128),%sp@-                       
   52782:	47f9 0005 087e 	lea 5087e <rtems_bdbuf_release_modified>,%a3
   52788:	4e93           	jsr %a3@                                    
        if (sc != RTEMS_SUCCESSFUL)                                   
   5278a:	588f           	addql #4,%sp                                
   5278c:	4a80           	tstl %d0                                    
   5278e:	6600 00f8      	bnew 52888 <fat_buf_release+0x150>          
            rtems_set_errno_and_return_minus_one(EIO);                
        fs_info->c.modified = 0;                                      
   52792:	4200           	clrb %d0                                    
   52794:	1540 007e      	moveb %d0,%a2@(126)                         
                                                                      
        if (sec_of_fat && !fs_info->vol.mirror)                       
   52798:	4a02           	tstb %d2                                    
   5279a:	6700 00b8      	beqw 52854 <fat_buf_release+0x11c>          
   5279e:	4a2a 004e      	tstb %a2@(78)                               
   527a2:	6600 00b0      	bnew 52854 <fat_buf_release+0x11c>          
        {                                                             
            uint8_t i;                                                
                                                                      
            for (i = 1; i < fs_info->vol.fats; i++)                   
   527a6:	4280           	clrl %d0                                    
   527a8:	102a 000d      	moveb %a2@(13),%d0                          
   527ac:	7201           	moveq #1,%d1                                
   527ae:	b280           	cmpl %d0,%d1                                
   527b0:	6400 00a2      	bccw 52854 <fat_buf_release+0x11c>          
   527b4:	260e           	movel %fp,%d3                               
   527b6:	7001           	moveq #1,%d0                                
   527b8:	5983           	subql #4,%d3                                
                {                                                     
                    sc = rtems_bdbuf_get(fs_info->vol.dd, blk, &bd);  
                }                                                     
                else                                                  
                {                                                     
                    sc = rtems_bdbuf_read(fs_info->vol.dd, blk, &bd); 
   527ba:	4bf9 0005 05f2 	lea 505f2 <rtems_bdbuf_read>,%a5            
                                                            0);       
                                                                      
                if (blk_ofs == 0                                      
                    && fs_info->vol.bps == fs_info->vol.bytes_per_block)
                {                                                     
                    sc = rtems_bdbuf_get(fs_info->vol.dd, blk, &bd);  
   527c0:	283c 0005 04f0 	movel #328944,%d4                           
                {                                                     
                    sc = rtems_bdbuf_read(fs_info->vol.dd, blk, &bd); 
                }                                                     
                if ( sc != RTEMS_SUCCESSFUL)                          
                    rtems_set_errno_and_return_minus_one(ENOMEM);     
                memcpy(bd->buffer + blk_ofs, fs_info->sec_buf, fs_info->vol.bps);
   527c6:	49f9 0005 b188 	lea 5b188 <memcpy>,%a4                      
                                                                      
        if (sec_of_fat && !fs_info->vol.mirror)                       
        {                                                             
            uint8_t i;                                                
                                                                      
            for (i = 1; i < fs_info->vol.fats; i++)                   
   527cc:	7401           	moveq #1,%d2                                
            {                                                         
                rtems_bdbuf_buffer *bd;                               
                                                                      
                sec_num = fs_info->c.blk_num + fs_info->vol.fat_length * i,
   527ce:	41ea 001a      	lea %a2@(26),%a0                            
   527d2:	4c10 0800      	mulsl %a0@,%d0                              
                                                                      
static inline uint32_t                                                
 fat_sector_num_to_block_num (const fat_fs_info_t *fs_info,           
                              const uint32_t sector_number)           
{                                                                     
  return sector_number >> (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   527d6:	4286           	clrl %d6                                    
   527d8:	4281           	clrl %d1                                    
   527da:	1c2a 0002      	moveb %a2@(2),%d6                           
   527de:	122a 000c      	moveb %a2@(12),%d1                          
   527e2:	d0aa 007a      	addl %a2@(122),%d0                          
   527e6:	9286           	subl %d6,%d1                                
   527e8:	2e00           	movel %d0,%d7                               
   527ea:	e2af           	lsrl %d1,%d7                                
                                                                      
static inline uint32_t                                                
 fat_block_num_to_sector_num (const fat_fs_info_t *fs_info,           
                              const uint32_t block_number)            
{                                                                     
  return block_number << (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   527ec:	2a07           	movel %d7,%d5                               
   527ee:	e3ad           	lsll %d1,%d5                                
   527f0:	2205           	movel %d5,%d1                               
 fat_sector_offset_to_block_offset (const fat_fs_info_t *fs_info,     
                                    const uint32_t sector,            
                                    const uint32_t sector_offset)     
{                                                                     
  return sector_offset +                                              
           ((sector -                                                 
   527f2:	2a00           	movel %d0,%d5                               
   527f4:	9a81           	subl %d1,%d5                                
              fat_block_num_to_sector_num (fs_info,                   
                  fat_sector_num_to_block_num (fs_info, sector)))     
            << fs_info->vol.sec_log2);                                
   527f6:	edad           	lsll %d6,%d5                                
                blk = fat_sector_num_to_block_num(fs_info, sec_num);  
                blk_ofs = fat_sector_offset_to_block_offset(fs_info,  
                                                            sec_num,  
                                                            0);       
                                                                      
                if (blk_ofs == 0                                      
   527f8:	6610           	bnes 5280a <fat_buf_release+0xd2>           <== ALWAYS TAKEN
                    && fs_info->vol.bps == fs_info->vol.bytes_per_block)
   527fa:	4281           	clrl %d1                                    <== NOT EXECUTED
   527fc:	4280           	clrl %d0                                    <== NOT EXECUTED
   527fe:	3212           	movew %a2@,%d1                              <== NOT EXECUTED
   52800:	302a 000a      	movew %a2@(10),%d0                          <== NOT EXECUTED
   52804:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   52806:	6700 0098      	beqw 528a0 <fat_buf_release+0x168>          <== NOT EXECUTED
                {                                                     
                    sc = rtems_bdbuf_get(fs_info->vol.dd, blk, &bd);  
                }                                                     
                else                                                  
                {                                                     
                    sc = rtems_bdbuf_read(fs_info->vol.dd, blk, &bd); 
   5280a:	2f03           	movel %d3,%sp@-                             
   5280c:	2f07           	movel %d7,%sp@-                             
   5280e:	2f2a 005a      	movel %a2@(90),%sp@-                        
   52812:	4e95           	jsr %a5@                                    
   52814:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
        if (sec_of_fat && !fs_info->vol.mirror)                       
        {                                                             
            uint8_t i;                                                
                                                                      
            for (i = 1; i < fs_info->vol.fats; i++)                   
   52818:	5282           	addql #1,%d2                                
                }                                                     
                else                                                  
                {                                                     
                    sc = rtems_bdbuf_read(fs_info->vol.dd, blk, &bd); 
                }                                                     
                if ( sc != RTEMS_SUCCESSFUL)                          
   5281a:	4a80           	tstl %d0                                    
   5281c:	6600 0096      	bnew 528b4 <fat_buf_release+0x17c>          
                    rtems_set_errno_and_return_minus_one(ENOMEM);     
                memcpy(bd->buffer + blk_ofs, fs_info->sec_buf, fs_info->vol.bps);
   52820:	4280           	clrl %d0                                    
   52822:	3012           	movew %a2@,%d0                              
   52824:	206e fffc      	moveal %fp@(-4),%a0                         
   52828:	2f00           	movel %d0,%sp@-                             
   5282a:	2f2a 0084      	movel %a2@(132),%sp@-                       
   5282e:	daa8 001a      	addl %a0@(26),%d5                           
   52832:	2f05           	movel %d5,%sp@-                             
   52834:	4e94           	jsr %a4@                                    
                sc = rtems_bdbuf_release_modified(bd);                
   52836:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   5283a:	4e93           	jsr %a3@                                    
                if ( sc != RTEMS_SUCCESSFUL)                          
   5283c:	4fef 0010      	lea %sp@(16),%sp                            
   52840:	4a80           	tstl %d0                                    
   52842:	6670           	bnes 528b4 <fat_buf_release+0x17c>          <== NEVER TAKEN
                                                                      
        if (sec_of_fat && !fs_info->vol.mirror)                       
        {                                                             
            uint8_t i;                                                
                                                                      
            for (i = 1; i < fs_info->vol.fats; i++)                   
   52844:	4281           	clrl %d1                                    
   52846:	122a 000d      	moveb %a2@(13),%d1                          
   5284a:	4280           	clrl %d0                                    
   5284c:	1002           	moveb %d2,%d0                               
   5284e:	b280           	cmpl %d0,%d1                                
   52850:	6200 ff7c      	bhiw 527ce <fat_buf_release+0x96>           
        sc = rtems_bdbuf_release(fs_info->c.buf);                     
        if (sc != RTEMS_SUCCESSFUL)                                   
            rtems_set_errno_and_return_minus_one(EIO);                
    }                                                                 
    fs_info->c.state = FAT_CACHE_EMPTY;                               
    return RC_OK;                                                     
   52854:	4280           	clrl %d0                                    
    {                                                                 
        sc = rtems_bdbuf_release(fs_info->c.buf);                     
        if (sc != RTEMS_SUCCESSFUL)                                   
            rtems_set_errno_and_return_minus_one(EIO);                
    }                                                                 
    fs_info->c.state = FAT_CACHE_EMPTY;                               
   52856:	4201           	clrb %d1                                    
   52858:	1541 007f      	moveb %d1,%a2@(127)                         
    return RC_OK;                                                     
}                                                                     
   5285c:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   52862:	4e5e           	unlk %fp                                    
   52864:	4e75           	rts                                         
        return RC_OK;                                                 
                                                                      
    if (fs_info->c.modified)                                          
    {                                                                 
        uint32_t sec_num = fs_info->c.blk_num;                        
        bool     sec_of_fat = ((sec_num >= fs_info->vol.fat_loc) &&   
   52866:	4202           	clrb %d2                                    
   52868:	6000 ff14      	braw 5277e <fat_buf_release+0x46>           
fat_buf_release(fat_fs_info_t *fs_info)                               
{                                                                     
    rtems_status_code sc = RTEMS_SUCCESSFUL;                          
                                                                      
    if (fs_info->c.state == FAT_CACHE_EMPTY)                          
        return RC_OK;                                                 
   5286c:	4280           	clrl %d0                                    
        if (sc != RTEMS_SUCCESSFUL)                                   
            rtems_set_errno_and_return_minus_one(EIO);                
    }                                                                 
    fs_info->c.state = FAT_CACHE_EMPTY;                               
    return RC_OK;                                                     
}                                                                     
   5286e:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   52874:	4e5e           	unlk %fp                                    
   52876:	4e75           	rts                                         
            }                                                         
        }                                                             
    }                                                                 
    else                                                              
    {                                                                 
        sc = rtems_bdbuf_release(fs_info->c.buf);                     
   52878:	2f2a 0080      	movel %a2@(128),%sp@-                       
   5287c:	4eb9 0005 07c4 	jsr 507c4 <rtems_bdbuf_release>             
        if (sc != RTEMS_SUCCESSFUL)                                   
   52882:	588f           	addql #4,%sp                                
   52884:	4a80           	tstl %d0                                    
   52886:	67cc           	beqs 52854 <fat_buf_release+0x11c>          <== ALWAYS TAKEN
            rtems_set_errno_and_return_minus_one(EIO);                
   52888:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5288e:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   52890:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52892:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
    }                                                                 
    fs_info->c.state = FAT_CACHE_EMPTY;                               
    return RC_OK;                                                     
}                                                                     
   52894:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
    }                                                                 
    else                                                              
    {                                                                 
        sc = rtems_bdbuf_release(fs_info->c.buf);                     
        if (sc != RTEMS_SUCCESSFUL)                                   
            rtems_set_errno_and_return_minus_one(EIO);                
   5289a:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    }                                                                 
    fs_info->c.state = FAT_CACHE_EMPTY;                               
    return RC_OK;                                                     
}                                                                     
   5289c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5289e:	4e75           	rts                                         <== NOT EXECUTED
                                                            0);       
                                                                      
                if (blk_ofs == 0                                      
                    && fs_info->vol.bps == fs_info->vol.bytes_per_block)
                {                                                     
                    sc = rtems_bdbuf_get(fs_info->vol.dd, blk, &bd);  
   528a0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   528a2:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   528a4:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   528a6:	2f2a 005a      	movel %a2@(90),%sp@-                        <== NOT EXECUTED
   528aa:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   528ac:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   528b0:	6000 ff66      	braw 52818 <fat_buf_release+0xe0>           <== NOT EXECUTED
                if ( sc != RTEMS_SUCCESSFUL)                          
                    rtems_set_errno_and_return_minus_one(ENOMEM);     
                memcpy(bd->buffer + blk_ofs, fs_info->sec_buf, fs_info->vol.bps);
                sc = rtems_bdbuf_release_modified(bd);                
                if ( sc != RTEMS_SUCCESSFUL)                          
                    rtems_set_errno_and_return_minus_one(ENOMEM);     
   528b4:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   528ba:	740c           	moveq #12,%d2                               <== NOT EXECUTED
   528bc:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   528be:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   528c0:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
        if (sc != RTEMS_SUCCESSFUL)                                   
            rtems_set_errno_and_return_minus_one(EIO);                
    }                                                                 
    fs_info->c.state = FAT_CACHE_EMPTY;                               
    return RC_OK;                                                     
}                                                                     
   528c2:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   528c8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   528ca:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
static inline uint32_t                                                
 fat_sector_num_to_block_num (const fat_fs_info_t *fs_info,           
                              const uint32_t sector_number)           
{                                                                     
  return sector_number >> (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   528cc:	2400           	movel %d0,%d2                               
        uint32_t blk_ofs = fat_sector_offset_to_block_offset(fs_info, 
                                                             sec_num, 
                                                             0);      
                                                                      
        if (sec_of_fat && !fs_info->vol.mirror)                       
            memcpy(fs_info->sec_buf,                                  
   528ce:	4284           	clrl %d4                                    
   528d0:	0283 0000 00ff 	andil #255,%d3                              
   528d6:	0281 0000 00ff 	andil #255,%d1                              
                   fs_info->c.buf->buffer + blk_ofs,                  
   528dc:	206a 0080      	moveal %a2@(128),%a0                        
   528e0:	9283           	subl %d3,%d1                                
   528e2:	e2aa           	lsrl %d1,%d2                                
                                                                      
static inline uint32_t                                                
 fat_block_num_to_sector_num (const fat_fs_info_t *fs_info,           
                              const uint32_t block_number)            
{                                                                     
  return block_number << (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   528e4:	e3aa           	lsll %d1,%d2                                
        uint32_t blk_ofs = fat_sector_offset_to_block_offset(fs_info, 
                                                             sec_num, 
                                                             0);      
                                                                      
        if (sec_of_fat && !fs_info->vol.mirror)                       
            memcpy(fs_info->sec_buf,                                  
   528e6:	3812           	movew %a2@,%d4                              
 fat_sector_offset_to_block_offset (const fat_fs_info_t *fs_info,     
                                    const uint32_t sector,            
                                    const uint32_t sector_offset)     
{                                                                     
  return sector_offset +                                              
           ((sector -                                                 
   528e8:	9082           	subl %d2,%d0                                
              fat_block_num_to_sector_num (fs_info,                   
                  fat_sector_num_to_block_num (fs_info, sector)))     
            << fs_info->vol.sec_log2);                                
   528ea:	e7a8           	lsll %d3,%d0                                
   528ec:	2f04           	movel %d4,%sp@-                             
   528ee:	d0a8 001a      	addl %a0@(26),%d0                           
   528f2:	2f00           	movel %d0,%sp@-                             
   528f4:	2f2a 0084      	movel %a2@(132),%sp@-                       
        return RC_OK;                                                 
                                                                      
    if (fs_info->c.modified)                                          
    {                                                                 
        uint32_t sec_num = fs_info->c.blk_num;                        
        bool     sec_of_fat = ((sec_num >= fs_info->vol.fat_loc) &&   
   528f8:	7401           	moveq #1,%d2                                
        uint32_t blk_ofs = fat_sector_offset_to_block_offset(fs_info, 
                                                             sec_num, 
                                                             0);      
                                                                      
        if (sec_of_fat && !fs_info->vol.mirror)                       
            memcpy(fs_info->sec_buf,                                  
   528fa:	4eb9 0005 b188 	jsr 5b188 <memcpy>                          
   52900:	4fef 000c      	lea %sp@(12),%sp                            
   52904:	6000 fe78      	braw 5277e <fat_buf_release+0x46>           
                                                                      

00052b1a <fat_cluster_set>: const uint32_t offset, const uint32_t count, const uint8_t pattern) { ssize_t rc = RC_OK; uint32_t bytes_to_write = MIN(count, (fs_info->vol.bpc - offset));
   52b1a:	4280           	clrl %d0                                    <== NOT EXECUTED
     fat_fs_info_t                        *fs_info,                   
     const uint32_t                        start_cln,                 
     const uint32_t                        offset,                    
     const uint32_t                        count,                     
     const uint8_t                         pattern)                   
{                                                                     
   52b1c:	4e56 ffd0      	linkw %fp,#-48                              <== NOT EXECUTED
   52b20:	222e 0010      	movel %fp@(16),%d1                          <== NOT EXECUTED
   52b24:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
   52b28:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
   52b2c:	162e 001b      	moveb %fp@(27),%d3                          <== NOT EXECUTED
  ssize_t             rc               = RC_OK;                       
  uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
   52b30:	302a 0006      	movew %a2@(6),%d0                           <== NOT EXECUTED
     fat_fs_info_t                        *fs_info,                   
     const uint32_t                        start_cln,                 
     const uint32_t                        offset,                    
     const uint32_t                        count,                     
     const uint8_t                         pattern)                   
{                                                                     
   52b34:	242e 000c      	movel %fp@(12),%d2                          <== NOT EXECUTED
  ssize_t             rc               = RC_OK;                       
  uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
   52b38:	9081           	subl %d1,%d0                                <== NOT EXECUTED
   52b3a:	2a6e 0014      	moveal %fp@(20),%a5                         <== NOT EXECUTED
     fat_fs_info_t                        *fs_info,                   
     const uint32_t                        start_cln,                 
     const uint32_t                        offset,                    
     const uint32_t                        count,                     
     const uint8_t                         pattern)                   
{                                                                     
   52b3e:	3043           	moveaw %d3,%a0                              <== NOT EXECUTED
  ssize_t             rc               = RC_OK;                       
  uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
   52b40:	b08d           	cmpl %a5,%d0                                <== NOT EXECUTED
   52b42:	6402           	bccs 52b46 <fat_cluster_set+0x2c>           <== NOT EXECUTED
   52b44:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
fat_cluster_num_to_block_num (const fat_fs_info_t *fs_info,           
                              uint32_t             cln)               
{                                                                     
    uint32_t blk;                                                     
                                                                      
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   52b46:	4a82           	tstl %d2                                    <== NOT EXECUTED
   52b48:	660e           	bnes 52b58 <fat_cluster_set+0x3e>           <== NOT EXECUTED
   52b4a:	7c03           	moveq #3,%d6                                <== NOT EXECUTED
   52b4c:	102a 000e      	moveb %a2@(14),%d0                          <== NOT EXECUTED
   52b50:	c086           	andl %d6,%d0                                <== NOT EXECUTED
   52b52:	4a00           	tstb %d0                                    <== NOT EXECUTED
   52b54:	6600 0106      	bnew 52c5c <fat_cluster_set+0x142>          <== NOT EXECUTED
        blk = fat_sector_num_to_block_num(fs_info, fs_info->vol.rdir_loc);
    else                                                              
    {                                                                 
        cln -= FAT_RSRVD_CLN;                                         
        blk = cln << (fs_info->vol.bpc_log2 - fs_info->vol.bytes_per_block_log2);
   52b58:	4283           	clrl %d3                                    <== NOT EXECUTED
   52b5a:	162a 0008      	moveb %a2@(8),%d3                           <== NOT EXECUTED
   52b5e:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
static inline uint32_t                                                
 fat_sector_num_to_block_num (const fat_fs_info_t *fs_info,           
                              const uint32_t sector_number)           
{                                                                     
  return sector_number >> (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   52b60:	4285           	clrl %d5                                    <== NOT EXECUTED
                                                                      
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        blk = fat_sector_num_to_block_num(fs_info, fs_info->vol.rdir_loc);
    else                                                              
    {                                                                 
        cln -= FAT_RSRVD_CLN;                                         
   52b62:	5582           	subql #2,%d2                                <== NOT EXECUTED
   52b64:	1a2a 0002      	moveb %a2@(2),%d5                           <== NOT EXECUTED
        blk = cln << (fs_info->vol.bpc_log2 - fs_info->vol.bytes_per_block_log2);
   52b68:	1e2a 000c      	moveb %a2@(12),%d7                          <== NOT EXECUTED
   52b6c:	282a 0030      	movel %a2@(48),%d4                          <== NOT EXECUTED
   52b70:	1007           	moveb %d7,%d0                               <== NOT EXECUTED
   52b72:	9680           	subl %d0,%d3                                <== NOT EXECUTED
   52b74:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
   52b76:	9c85           	subl %d5,%d6                                <== NOT EXECUTED
   52b78:	ecac           	lsrl %d6,%d4                                <== NOT EXECUTED
   52b7a:	e7aa           	lsll %d3,%d2                                <== NOT EXECUTED
        blk += fat_sector_num_to_block_num(fs_info, fs_info->vol.data_fsec);
   52b7c:	d882           	addl %d2,%d4                                <== NOT EXECUTED
     const uint8_t                         pattern)                   
{                                                                     
  ssize_t             rc               = RC_OK;                       
  uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
  uint32_t            cur_blk          = fat_cluster_num_to_block_num(fs_info, start_cln);
  uint32_t            blocks_in_offset = offset >> fs_info->vol.bytes_per_block_log2;
   52b7e:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   52b80:	e0ab           	lsrl %d0,%d3                                <== NOT EXECUTED
  uint32_t            ofs_blk          = offset - (blocks_in_offset << fs_info->vol.bytes_per_block_log2);
  ssize_t             bytes_written    = 0;                           
  ssize_t             ret;                                            
                                                                      
  cur_blk += blocks_in_offset;                                        
   52b82:	d883           	addl %d3,%d4                                <== NOT EXECUTED
{                                                                     
  ssize_t             rc               = RC_OK;                       
  uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
  uint32_t            cur_blk          = fat_cluster_num_to_block_num(fs_info, start_cln);
  uint32_t            blocks_in_offset = offset >> fs_info->vol.bytes_per_block_log2;
  uint32_t            ofs_blk          = offset - (blocks_in_offset << fs_info->vol.bytes_per_block_log2);
   52b84:	2841           	moveal %d1,%a4                              <== NOT EXECUTED
  ssize_t             ret;                                            
                                                                      
  cur_blk += blocks_in_offset;                                        
                                                                      
  while (   (RC_OK == rc)                                             
         && (0 < bytes_to_write))                                     
   52b86:	4285           	clrl %d5                                    <== NOT EXECUTED
{                                                                     
  ssize_t             rc               = RC_OK;                       
  uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
  uint32_t            cur_blk          = fat_cluster_num_to_block_num(fs_info, start_cln);
  uint32_t            blocks_in_offset = offset >> fs_info->vol.bytes_per_block_log2;
  uint32_t            ofs_blk          = offset - (blocks_in_offset << fs_info->vol.bytes_per_block_log2);
   52b88:	e1ab           	lsll %d0,%d3                                <== NOT EXECUTED
   52b8a:	99c3           	subal %d3,%a4                               <== NOT EXECUTED
  ssize_t             ret;                                            
                                                                      
  cur_blk += blocks_in_offset;                                        
                                                                      
  while (   (RC_OK == rc)                                             
         && (0 < bytes_to_write))                                     
   52b8c:	4a8d           	tstl %a5                                    <== NOT EXECUTED
   52b8e:	6700 00c0      	beqw 52c50 <fat_cluster_set+0x136>          <== NOT EXECUTED
        if (bytes_to_write == fs_info->vol.bytes_per_block)           
        {                                                             
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &blk_buf);
        }                                                             
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &blk_buf);
   52b92:	2c0e           	movel %fp,%d6                               <== NOT EXECUTED
   52b94:	5986           	subql #4,%d6                                <== NOT EXECUTED
   52b96:	47f9 0005 2908 	lea 52908 <fat_buf_access>,%a3              <== NOT EXECUTED
                                                                      
        if (RC_OK == rc)                                              
        {                                                             
            memset(blk_buf + offset, pattern, bytes_to_write);        
   52b9c:	3608           	movew %a0,%d3                               <== NOT EXECUTED
   52b9e:	0283 0000 00ff 	andil #255,%d3                              <== NOT EXECUTED
   52ba4:	2d43 fff8      	movel %d3,%fp@(-8)                          <== NOT EXECUTED
  cur_blk += blocks_in_offset;                                        
                                                                      
  while (   (RC_OK == rc)                                             
         && (0 < bytes_to_write))                                     
  {                                                                   
    uint32_t c = MIN(bytes_to_write, (fs_info->vol.bytes_per_block - ofs_blk));
   52ba8:	4280           	clrl %d0                                    <== NOT EXECUTED
   52baa:	302a 000a      	movew %a2@(10),%d0                          <== NOT EXECUTED
   52bae:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   52bb0:	928c           	subl %a4,%d1                                <== NOT EXECUTED
   52bb2:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   52bb4:	bbc1           	cmpal %d1,%a5                               <== NOT EXECUTED
   52bb6:	6402           	bccs 52bba <fat_cluster_set+0xa0>           <== NOT EXECUTED
   52bb8:	240d           	movel %a5,%d2                               <== NOT EXECUTED
     const uint32_t                        offset,                    
     const uint32_t                        count,                     
     const uint8_t                         pattern)                   
{                                                                     
    int                 rc             = RC_OK;                       
    uint32_t            bytes_to_write = MIN(count, (fs_info->vol.bytes_per_block - offset));
   52bba:	2602           	movel %d2,%d3                               <== NOT EXECUTED
   52bbc:	b282           	cmpl %d2,%d1                                <== NOT EXECUTED
   52bbe:	6402           	bccs 52bc2 <fat_cluster_set+0xa8>           <== NOT EXECUTED
   52bc0:	2601           	movel %d1,%d3                               <== NOT EXECUTED
    uint32_t                              ino                         
    )                                                                 
{                                                                     
                                                                      
    return (ino >= fs_info->uino_base);                               
}                                                                     
   52bc2:	122a 0002      	moveb %a2@(2),%d1                           <== NOT EXECUTED
    int                 rc             = RC_OK;                       
    uint32_t            bytes_to_write = MIN(count, (fs_info->vol.bytes_per_block - offset));
    uint8_t            *blk_buf;                                      
    uint32_t            sec_num        = fat_block_num_to_sector_num(fs_info, start_blk);
                                                                      
    if (0 < bytes_to_write)                                           
   52bc6:	4a83           	tstl %d3                                    <== NOT EXECUTED
   52bc8:	6756           	beqs 52c20 <fat_cluster_set+0x106>          <== NOT EXECUTED
                                                                      
static inline uint32_t                                                
 fat_block_num_to_sector_num (const fat_fs_info_t *fs_info,           
                              const uint32_t block_number)            
{                                                                     
  return block_number << (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   52bca:	0281 0000 00ff 	andil #255,%d1                              <== NOT EXECUTED
   52bd0:	0287 0000 00ff 	andil #255,%d7                              <== NOT EXECUTED
   52bd6:	9e81           	subl %d1,%d7                                <== NOT EXECUTED
   52bd8:	2204           	movel %d4,%d1                               <== NOT EXECUTED
   52bda:	efa9           	lsll %d7,%d1                                <== NOT EXECUTED
    {                                                                 
        if (bytes_to_write == fs_info->vol.bytes_per_block)           
   52bdc:	b680           	cmpl %d0,%d3                                <== NOT EXECUTED
   52bde:	675a           	beqs 52c3a <fat_cluster_set+0x120>          <== NOT EXECUTED
        {                                                             
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &blk_buf);
        }                                                             
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &blk_buf);
   52be0:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   52be2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   52be6:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   52be8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52bea:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   52bec:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
        if (RC_OK == rc)                                              
   52bf0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52bf2:	6710           	beqs 52c04 <fat_cluster_set+0xea>           <== NOT EXECUTED
        fs_info,                                                      
        cur_blk,                                                      
        ofs_blk,                                                      
        c,                                                            
        pattern);                                                     
    if (c != ret)                                                     
   52bf4:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   52bf6:	672e           	beqs 52c26 <fat_cluster_set+0x10c>          <== NOT EXECUTED
   52bf8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  }                                                                   
  if (RC_OK != rc)                                                    
    return rc;                                                        
  else                                                                
    return bytes_written;                                             
}                                                                     
   52bfa:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   52c00:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52c02:	4e75           	rts                                         <== NOT EXECUTED
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &blk_buf);
                                                                      
        if (RC_OK == rc)                                              
        {                                                             
            memset(blk_buf + offset, pattern, bytes_to_write);        
   52c04:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52c06:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
   52c0a:	d9ee fffc      	addal %fp@(-4),%a4                          <== NOT EXECUTED
   52c0e:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   52c10:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          <== NOT EXECUTED
}                                                                     
                                                                      
static inline void                                                    
fat_buf_mark_modified(fat_fs_info_t *fs_info)                         
{                                                                     
    fs_info->c.modified = true;                                       
   52c16:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   52c1a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   52c1c:	1540 007e      	moveb %d0,%a2@(126)                         <== NOT EXECUTED
        }                                                             
    }                                                                 
    if (RC_OK != rc)                                                  
        return rc;                                                    
    else                                                              
        return bytes_to_write;                                        
   52c20:	2003           	movel %d3,%d0                               <== NOT EXECUTED
        fs_info,                                                      
        cur_blk,                                                      
        ofs_blk,                                                      
        c,                                                            
        pattern);                                                     
    if (c != ret)                                                     
   52c22:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   52c24:	66d2           	bnes 52bf8 <fat_cluster_set+0xde>           <== NOT EXECUTED
      rc = -1;                                                        
    else                                                              
    {                                                                 
        bytes_to_write -= ret;                                        
   52c26:	9bc0           	subal %d0,%a5                               <== NOT EXECUTED
        bytes_written  += ret;                                        
   52c28:	da80           	addl %d0,%d5                                <== NOT EXECUTED
        ++cur_blk;                                                    
   52c2a:	5284           	addql #1,%d4                                <== NOT EXECUTED
  ssize_t             ret;                                            
                                                                      
  cur_blk += blocks_in_offset;                                        
                                                                      
  while (   (RC_OK == rc)                                             
         && (0 < bytes_to_write))                                     
   52c2c:	4a8d           	tstl %a5                                    <== NOT EXECUTED
   52c2e:	6720           	beqs 52c50 <fat_cluster_set+0x136>          <== NOT EXECUTED
   52c30:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
   52c32:	1e2a 000c      	moveb %a2@(12),%d7                          <== NOT EXECUTED
   52c36:	6000 ff70      	braw 52ba8 <fat_cluster_set+0x8e>           <== NOT EXECUTED
                                                                      
    if (0 < bytes_to_write)                                           
    {                                                                 
        if (bytes_to_write == fs_info->vol.bytes_per_block)           
        {                                                             
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &blk_buf);
   52c3a:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   52c3c:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   52c40:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   52c42:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52c44:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   52c46:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
        }                                                             
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &blk_buf);
                                                                      
        if (RC_OK == rc)                                              
   52c4a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52c4c:	66a6           	bnes 52bf4 <fat_cluster_set+0xda>           <== NOT EXECUTED
   52c4e:	60b4           	bras 52c04 <fat_cluster_set+0xea>           <== NOT EXECUTED
        fs_info,                                                      
        cur_blk,                                                      
        ofs_blk,                                                      
        c,                                                            
        pattern);                                                     
    if (c != ret)                                                     
   52c50:	2005           	movel %d5,%d0                               <== NOT EXECUTED
  }                                                                   
  if (RC_OK != rc)                                                    
    return rc;                                                        
  else                                                                
    return bytes_written;                                             
}                                                                     
   52c52:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   52c58:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52c5a:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
static inline uint32_t                                                
 fat_sector_num_to_block_num (const fat_fs_info_t *fs_info,           
                              const uint32_t sector_number)           
{                                                                     
  return sector_number >> (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   52c5c:	4282           	clrl %d2                                    <== NOT EXECUTED
   52c5e:	142a 0002      	moveb %a2@(2),%d2                           <== NOT EXECUTED
   52c62:	4280           	clrl %d0                                    <== NOT EXECUTED
    uint32_t                              ino                         
    )                                                                 
{                                                                     
                                                                      
    return (ino >= fs_info->uino_base);                               
}                                                                     
   52c64:	1e2a 000c      	moveb %a2@(12),%d7                          <== NOT EXECUTED
   52c68:	282a 001e      	movel %a2@(30),%d4                          <== NOT EXECUTED
   52c6c:	1007           	moveb %d7,%d0                               <== NOT EXECUTED
   52c6e:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   52c70:	9682           	subl %d2,%d3                                <== NOT EXECUTED
   52c72:	e6ac           	lsrl %d3,%d4                                <== NOT EXECUTED
   52c74:	6000 ff08      	braw 52b7e <fat_cluster_set+0x64>           <== NOT EXECUTED
                                                                      

00052c78 <fat_cluster_write>: const uint32_t count, const void *buff, const bool overwrite_cluster) { ssize_t rc = RC_OK; uint32_t bytes_to_write = MIN(count, (fs_info->vol.bpc - offset));
   52c78:	4280           	clrl %d0                                    
    const uint32_t                        start_cln,                  
    const uint32_t                        offset,                     
    const uint32_t                        count,                      
    const void                           *buff,                       
    const bool                            overwrite_cluster)          
{                                                                     
   52c7a:	4e56 ffcc      	linkw %fp,#-52                              
   52c7e:	222e 0010      	movel %fp@(16),%d1                          
   52c82:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   52c86:	246e 0008      	moveal %fp@(8),%a2                          
    ssize_t             rc               = RC_OK;                     
    uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
   52c8a:	302a 0006      	movew %a2@(6),%d0                           
    const uint32_t                        start_cln,                  
    const uint32_t                        offset,                     
    const uint32_t                        count,                      
    const void                           *buff,                       
    const bool                            overwrite_cluster)          
{                                                                     
   52c8e:	242e 000c      	movel %fp@(12),%d2                          
    ssize_t             rc               = RC_OK;                     
    uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
   52c92:	9081           	subl %d1,%d0                                
   52c94:	2a6e 0014      	moveal %fp@(20),%a5                         
    const uint32_t                        start_cln,                  
    const uint32_t                        offset,                     
    const uint32_t                        count,                      
    const void                           *buff,                       
    const bool                            overwrite_cluster)          
{                                                                     
   52c98:	1c2e 001f      	moveb %fp@(31),%d6                          
    ssize_t             rc               = RC_OK;                     
    uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
   52c9c:	b08d           	cmpl %a5,%d0                                
   52c9e:	6402           	bccs 52ca2 <fat_cluster_write+0x2a>         <== ALWAYS TAKEN
   52ca0:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
fat_cluster_num_to_block_num (const fat_fs_info_t *fs_info,           
                              uint32_t             cln)               
{                                                                     
    uint32_t blk;                                                     
                                                                      
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   52ca2:	4a82           	tstl %d2                                    
   52ca4:	660e           	bnes 52cb4 <fat_cluster_write+0x3c>         <== NEVER TAKEN
   52ca6:	7603           	moveq #3,%d3                                
   52ca8:	102a 000e      	moveb %a2@(14),%d0                          
   52cac:	c083           	andl %d3,%d0                                
   52cae:	4a00           	tstb %d0                                    
   52cb0:	6600 0124      	bnew 52dd6 <fat_cluster_write+0x15e>        
        blk = fat_sector_num_to_block_num(fs_info, fs_info->vol.rdir_loc);
    else                                                              
    {                                                                 
        cln -= FAT_RSRVD_CLN;                                         
        blk = cln << (fs_info->vol.bpc_log2 - fs_info->vol.bytes_per_block_log2);
   52cb4:	4283           	clrl %d3                                    
   52cb6:	162a 0008      	moveb %a2@(8),%d3                           
   52cba:	4285           	clrl %d5                                    
   52cbc:	1a2a 0002      	moveb %a2@(2),%d5                           
   52cc0:	4280           	clrl %d0                                    
                                                                      
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        blk = fat_sector_num_to_block_num(fs_info, fs_info->vol.rdir_loc);
    else                                                              
    {                                                                 
        cln -= FAT_RSRVD_CLN;                                         
   52cc2:	5582           	subql #2,%d2                                
   52cc4:	2045           	moveal %d5,%a0                              
        blk = cln << (fs_info->vol.bpc_log2 - fs_info->vol.bytes_per_block_log2);
   52cc6:	1e2a 000c      	moveb %a2@(12),%d7                          
   52cca:	282a 0030      	movel %a2@(48),%d4                          
   52cce:	1007           	moveb %d7,%d0                               
   52cd0:	9680           	subl %d0,%d3                                
   52cd2:	2240           	moveal %d0,%a1                              
   52cd4:	93c8           	subal %a0,%a1                               
   52cd6:	2a09           	movel %a1,%d5                               
   52cd8:	eaac           	lsrl %d5,%d4                                
   52cda:	e7aa           	lsll %d3,%d2                                
        blk += fat_sector_num_to_block_num(fs_info, fs_info->vol.data_fsec);
   52cdc:	d882           	addl %d2,%d4                                
    const bool                            overwrite_cluster)          
{                                                                     
    ssize_t             rc               = RC_OK;                     
    uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
    uint32_t            cur_blk          = fat_cluster_num_to_block_num(fs_info, start_cln);
    uint32_t            blocks_in_offset = (offset >> fs_info->vol.bytes_per_block_log2);
   52cde:	2601           	movel %d1,%d3                               
   52ce0:	e0ab           	lsrl %d0,%d3                                
    ssize_t             bytes_written    = 0;                         
    uint8_t             *buffer          = (uint8_t*)buff;            
    ssize_t             ret;                                          
    uint32_t            c;                                            
                                                                      
    cur_blk += blocks_in_offset;                                      
   52ce2:	d883           	addl %d3,%d4                                
{                                                                     
    ssize_t             rc               = RC_OK;                     
    uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
    uint32_t            cur_blk          = fat_cluster_num_to_block_num(fs_info, start_cln);
    uint32_t            blocks_in_offset = (offset >> fs_info->vol.bytes_per_block_log2);
    uint32_t            ofs_blk          = offset - (blocks_in_offset << fs_info->vol.bytes_per_block_log2);
   52ce4:	2841           	moveal %d1,%a4                              
    uint32_t            c;                                            
                                                                      
    cur_blk += blocks_in_offset;                                      
                                                                      
    while (   (RC_OK == rc)                                           
           && (0 < bytes_to_write))                                   
   52ce6:	4285           	clrl %d5                                    
{                                                                     
    ssize_t             rc               = RC_OK;                     
    uint32_t            bytes_to_write   = MIN(count, (fs_info->vol.bpc - offset));
    uint32_t            cur_blk          = fat_cluster_num_to_block_num(fs_info, start_cln);
    uint32_t            blocks_in_offset = (offset >> fs_info->vol.bytes_per_block_log2);
    uint32_t            ofs_blk          = offset - (blocks_in_offset << fs_info->vol.bytes_per_block_log2);
   52ce8:	e1ab           	lsll %d0,%d3                                
   52cea:	99c3           	subal %d3,%a4                               
    uint32_t            c;                                            
                                                                      
    cur_blk += blocks_in_offset;                                      
                                                                      
    while (   (RC_OK == rc)                                           
           && (0 < bytes_to_write))                                   
   52cec:	4a8d           	tstl %a5                                    
   52cee:	6700 00da      	beqw 52dca <fat_cluster_write+0x152>        
    if (0 < bytes_to_write)                                           
    {                                                                 
        if (   overwrite_block                                        
            || (bytes_to_write == fs_info->vol.bytes_per_block))      
        {                                                             
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &blk_buf);
   52cf2:	47f9 0005 2908 	lea 52908 <fat_buf_access>,%a3              
   52cf8:	3247           	moveaw %d7,%a1                              
   52cfa:	2e0c           	movel %a4,%d7                               
   52cfc:	284a           	moveal %a2,%a4                              
   52cfe:	1d46 fffb      	moveb %d6,%fp@(-5)                          
   52d02:	246e 0018      	moveal %fp@(24),%a2                         
   52d06:	2d45 fff6      	movel %d5,%fp@(-10)                         
    cur_blk += blocks_in_offset;                                      
                                                                      
    while (   (RC_OK == rc)                                           
           && (0 < bytes_to_write))                                   
    {                                                                 
      c = MIN(bytes_to_write, (fs_info->vol.bytes_per_block - ofs_blk));
   52d0a:	4281           	clrl %d1                                    
   52d0c:	322c 000a      	movew %a4@(10),%d1                          
   52d10:	2001           	movel %d1,%d0                               
   52d12:	9087           	subl %d7,%d0                                
   52d14:	2400           	movel %d0,%d2                               
   52d16:	bbc0           	cmpal %d0,%a5                               
   52d18:	6402           	bccs 52d1c <fat_cluster_write+0xa4>         
   52d1a:	240d           	movel %a5,%d2                               
    const uint32_t                        count,                      
    const void                           *buf,                        
    const bool                            overwrite_block)            
{                                                                     
    int                 rc             = RC_OK;                       
    uint32_t            bytes_to_write = MIN(count, (fs_info->vol.bytes_per_block - offset));
   52d1c:	2602           	movel %d2,%d3                               
   52d1e:	b082           	cmpl %d2,%d0                                
   52d20:	6402           	bccs 52d24 <fat_cluster_write+0xac>         <== ALWAYS TAKEN
   52d22:	2600           	movel %d0,%d3                               <== NOT EXECUTED
    uint32_t                              ino                         
    )                                                                 
{                                                                     
                                                                      
    return (ino >= fs_info->uino_base);                               
}                                                                     
   52d24:	1c2c 0002      	moveb %a4@(2),%d6                           
    int                 rc             = RC_OK;                       
    uint32_t            bytes_to_write = MIN(count, (fs_info->vol.bytes_per_block - offset));
    uint8_t            *blk_buf;                                      
    uint32_t            sec_num        = fat_block_num_to_sector_num(fs_info, start_blk);
                                                                      
    if (0 < bytes_to_write)                                           
   52d28:	4a83           	tstl %d3                                    
   52d2a:	6764           	beqs 52d90 <fat_cluster_write+0x118>        <== NEVER TAKEN
                                                                      
static inline uint32_t                                                
 fat_block_num_to_sector_num (const fat_fs_info_t *fs_info,           
                              const uint32_t block_number)            
{                                                                     
  return block_number << (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   52d2c:	4280           	clrl %d0                                    
   52d2e:	3a09           	movew %a1,%d5                               
   52d30:	0286 0000 00ff 	andil #255,%d6                              
   52d36:	1005           	moveb %d5,%d0                               
   52d38:	9086           	subl %d6,%d0                                
   52d3a:	2a04           	movel %d4,%d5                               
   52d3c:	e1ad           	lsll %d0,%d5                                
   52d3e:	2005           	movel %d5,%d0                               
    {                                                                 
        if (   overwrite_block                                        
   52d40:	4a2e fffb      	tstb %fp@(-5)                               
   52d44:	6668           	bnes 52dae <fat_cluster_write+0x136>        
            || (bytes_to_write == fs_info->vol.bytes_per_block))      
   52d46:	b681           	cmpl %d1,%d3                                
   52d48:	6764           	beqs 52dae <fat_cluster_write+0x136>        
        {                                                             
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &blk_buf);
        }                                                             
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &blk_buf);
   52d4a:	486e fffc      	pea %fp@(-4)                                
   52d4e:	4878 0001      	pea 1 <ADD>                                 
   52d52:	2f05           	movel %d5,%sp@-                             
   52d54:	2f0c           	movel %a4,%sp@-                             
   52d56:	4e93           	jsr %a3@                                    
   52d58:	4fef 0010      	lea %sp@(16),%sp                            
                                                                      
        if (RC_OK == rc)                                              
   52d5c:	4a80           	tstl %d0                                    
   52d5e:	6710           	beqs 52d70 <fat_cluster_write+0xf8>         <== ALWAYS TAKEN
          cur_blk,                                                    
          ofs_blk,                                                    
          c,                                                          
          &buffer[bytes_written],                                     
          overwrite_cluster);                                         
      if (c != ret)                                                   
   52d60:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   52d62:	6732           	beqs 52d96 <fat_cluster_write+0x11e>        <== NOT EXECUTED
   52d64:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
    }                                                                 
    if (RC_OK != rc)                                                  
      return rc;                                                      
    else                                                              
      return bytes_written;                                           
}                                                                     
   52d66:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   52d6c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52d6e:	4e75           	rts                                         <== NOT EXECUTED
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &blk_buf);
                                                                      
        if (RC_OK == rc)                                              
        {                                                             
            memcpy(blk_buf + offset, buf, bytes_to_write);            
   52d70:	206e fff6      	moveal %fp@(-10),%a0                        
   52d74:	deae fffc      	addl %fp@(-4),%d7                           
   52d78:	2f03           	movel %d3,%sp@-                             
   52d7a:	4872 8800      	pea %a2@(00000000,%a0:l)                    
   52d7e:	2f07           	movel %d7,%sp@-                             
   52d80:	4eb9 0005 b188 	jsr 5b188 <memcpy>                          
}                                                                     
                                                                      
static inline void                                                    
fat_buf_mark_modified(fat_fs_info_t *fs_info)                         
{                                                                     
    fs_info->c.modified = true;                                       
   52d86:	4fef 000c      	lea %sp@(12),%sp                            
   52d8a:	7001           	moveq #1,%d0                                
   52d8c:	1940 007e      	moveb %d0,%a4@(126)                         
        }                                                             
    }                                                                 
    if (RC_OK != rc)                                                  
        return rc;                                                    
    else                                                              
        return bytes_to_write;                                        
   52d90:	2003           	movel %d3,%d0                               
          cur_blk,                                                    
          ofs_blk,                                                    
          c,                                                          
          &buffer[bytes_written],                                     
          overwrite_cluster);                                         
      if (c != ret)                                                   
   52d92:	b480           	cmpl %d0,%d2                                
   52d94:	66ce           	bnes 52d64 <fat_cluster_write+0xec>         <== NEVER TAKEN
        rc = -1;                                                      
      else                                                            
      {                                                               
          bytes_to_write -= ret;                                      
   52d96:	9bc0           	subal %d0,%a5                               
          bytes_written  += ret;                                      
   52d98:	d1ae fff6      	addl %d0,%fp@(-10)                          
          ++cur_blk;                                                  
   52d9c:	5284           	addql #1,%d4                                
    uint32_t            c;                                            
                                                                      
    cur_blk += blocks_in_offset;                                      
                                                                      
    while (   (RC_OK == rc)                                           
           && (0 < bytes_to_write))                                   
   52d9e:	4a8d           	tstl %a5                                    
   52da0:	6724           	beqs 52dc6 <fat_cluster_write+0x14e>        <== ALWAYS TAKEN
   52da2:	4287           	clrl %d7                                    <== NOT EXECUTED
   52da4:	162c 000c      	moveb %a4@(12),%d3                          <== NOT EXECUTED
   52da8:	3243           	moveaw %d3,%a1                              <== NOT EXECUTED
   52daa:	6000 ff5e      	braw 52d0a <fat_cluster_write+0x92>         <== NOT EXECUTED
    if (0 < bytes_to_write)                                           
    {                                                                 
        if (   overwrite_block                                        
            || (bytes_to_write == fs_info->vol.bytes_per_block))      
        {                                                             
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &blk_buf);
   52dae:	486e fffc      	pea %fp@(-4)                                
   52db2:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   52db6:	2f00           	movel %d0,%sp@-                             
   52db8:	2f0c           	movel %a4,%sp@-                             
   52dba:	4e93           	jsr %a3@                                    
   52dbc:	4fef 0010      	lea %sp@(16),%sp                            
        }                                                             
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &blk_buf);
                                                                      
        if (RC_OK == rc)                                              
   52dc0:	4a80           	tstl %d0                                    
   52dc2:	669c           	bnes 52d60 <fat_cluster_write+0xe8>         <== NEVER TAKEN
   52dc4:	60aa           	bras 52d70 <fat_cluster_write+0xf8>         
   52dc6:	2a2e fff6      	movel %fp@(-10),%d5                         
          cur_blk,                                                    
          ofs_blk,                                                    
          c,                                                          
          &buffer[bytes_written],                                     
          overwrite_cluster);                                         
      if (c != ret)                                                   
   52dca:	2005           	movel %d5,%d0                               
    }                                                                 
    if (RC_OK != rc)                                                  
      return rc;                                                      
    else                                                              
      return bytes_written;                                           
}                                                                     
   52dcc:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            
   52dd2:	4e5e           	unlk %fp                                    
   52dd4:	4e75           	rts                                         
                                                                      
static inline uint32_t                                                
 fat_sector_num_to_block_num (const fat_fs_info_t *fs_info,           
                              const uint32_t sector_number)           
{                                                                     
  return sector_number >> (fs_info->vol.bytes_per_block_log2 - fs_info->vol.sec_log2);
   52dd6:	4282           	clrl %d2                                    
   52dd8:	142a 0002      	moveb %a2@(2),%d2                           
   52ddc:	4280           	clrl %d0                                    
    uint32_t                              ino                         
    )                                                                 
{                                                                     
                                                                      
    return (ino >= fs_info->uino_base);                               
}                                                                     
   52dde:	1e2a 000c      	moveb %a2@(12),%d7                          
   52de2:	282a 001e      	movel %a2@(30),%d4                          
   52de6:	1007           	moveb %d7,%d0                               
   52de8:	2a00           	movel %d0,%d5                               
   52dea:	9a82           	subl %d2,%d5                                
   52dec:	eaac           	lsrl %d5,%d4                                
   52dee:	6000 feee      	braw 52cde <fat_cluster_write+0x66>         
                                                                      

00051f16 <fat_file_close>: /* * if links_num field of fat-file descriptor is greater than 1 * decrement the count of links and return */ if (fat_fd->links_num > 1)
   51f16:	7201           	moveq #1,%d1                                
int                                                                   
fat_file_close(                                                       
    fat_fs_info_t                        *fs_info,                    
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   51f18:	4e56 0000      	linkw %fp,#0                                
   51f1c:	2f0a           	movel %a2,%sp@-                             
   51f1e:	246e 000c      	moveal %fp@(12),%a2                         
   51f22:	2f02           	movel %d2,%sp@-                             
   51f24:	242e 0008      	movel %fp@(8),%d2                           
                                                                      
    /*                                                                
     * if links_num field of fat-file descriptor is greater than 1    
     * decrement the count of links and return                        
     */                                                               
    if (fat_fd->links_num > 1)                                        
   51f28:	202a 0008      	movel %a2@(8),%d0                           
   51f2c:	b280           	cmpl %d0,%d1                                
   51f2e:	6414           	bccs 51f44 <fat_file_close+0x2e>            
    {                                                                 
        fat_fd->links_num--;                                          
   51f30:	5380           	subql #1,%d0                                
   51f32:	2540 0008      	movel %d0,%a2@(8)                           
        return rc;                                                    
   51f36:	4280           	clrl %d0                                    
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
                                                                      
    return rc;                                                        
}                                                                     
   51f38:	242e fff8      	movel %fp@(-8),%d2                          
   51f3c:	246e fffc      	moveal %fp@(-4),%a2                         
   51f40:	4e5e           	unlk %fp                                    
   51f42:	4e75           	rts                                         
        return rc;                                                    
    }                                                                 
                                                                      
    key = fat_construct_key(fs_info, &fat_fd->dir_pos.sname);         
                                                                      
    if (fat_fd->flags & FAT_FILE_REMOVED)                             
   51f44:	102a 0030      	moveb %a2@(48),%d0                          
   51f48:	0800 0000      	btst #0,%d0                                 
   51f4c:	674e           	beqs 51f9c <fat_file_close+0x86>            <== ALWAYS TAKEN
    {                                                                 
        rc = fat_file_truncate(fs_info, fat_fd, 0);                   
   51f4e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   51f50:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51f52:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51f54:	4eb9 0005 1e22 	jsr 51e22 <fat_file_truncate>               <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   51f5a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   51f5e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   51f60:	66d6           	bnes 51f38 <fat_file_close+0x22>            <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void rtems_chain_extract(                        
  rtems_chain_node *the_node                                          
)                                                                     
{                                                                     
  _Chain_Extract( the_node );                                         
   51f62:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51f64:	4eb9 0005 5698 	jsr 55698 <_Chain_Extract>                  <== NOT EXECUTED
            return rc;                                                
                                                                      
        _hash_delete(fs_info->rhash, key, fat_fd->ino, fat_fd);       
                                                                      
        if ( fat_ino_is_unique(fs_info, fat_fd->ino) )                
   51f6a:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   51f6e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51f70:	4eb9 0005 3a70 	jsr 53a70 <fat_ino_is_unique>               <== NOT EXECUTED
   51f76:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   51f7a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   51f7c:	666e           	bnes 51fec <fat_file_close+0xd6>            <== NOT EXECUTED
            fat_free_unique_ino(fs_info, fat_fd->ino);                
                                                                      
        free(fat_fd);                                                 
   51f7e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51f80:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
   51f86:	588f           	addql #4,%sp                                <== NOT EXECUTED
        }                                                             
    }                                                                 
    /*                                                                
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
   51f88:	2d42 0008      	movel %d2,%fp@(8)                           <== NOT EXECUTED
                                                                      
    return rc;                                                        
}                                                                     
   51f8c:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   51f90:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   51f94:	4e5e           	unlk %fp                                    <== NOT EXECUTED
        }                                                             
    }                                                                 
    /*                                                                
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
   51f96:	4ef9 0005 2738 	jmp 52738 <fat_buf_release>                 <== NOT EXECUTED
                                                                      
        free(fat_fd);                                                 
    }                                                                 
    else                                                              
    {                                                                 
        if (fat_ino_is_unique(fs_info, fat_fd->ino))                  
   51f9c:	2f2a 000c      	movel %a2@(12),%sp@-                        
   51fa0:	2f02           	movel %d2,%sp@-                             
   51fa2:	4eb9 0005 3a70 	jsr 53a70 <fat_ino_is_unique>               
   51fa8:	508f           	addql #8,%sp                                
   51faa:	4a00           	tstb %d0                                    
   51fac:	6718           	beqs 51fc6 <fat_file_close+0xb0>            <== ALWAYS TAKEN
        {                                                             
            fat_fd->links_num = 0;                                    
   51fae:	42aa 0008      	clrl %a2@(8)                                <== NOT EXECUTED
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
                                                                      
    return rc;                                                        
}                                                                     
   51fb2:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
        }                                                             
    }                                                                 
    /*                                                                
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
   51fb6:	2d42 0008      	movel %d2,%fp@(8)                           <== NOT EXECUTED
                                                                      
    return rc;                                                        
}                                                                     
   51fba:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   51fbe:	4e5e           	unlk %fp                                    <== NOT EXECUTED
        }                                                             
    }                                                                 
    /*                                                                
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
   51fc0:	4ef9 0005 2738 	jmp 52738 <fat_buf_release>                 <== NOT EXECUTED
   51fc6:	2f0a           	movel %a2,%sp@-                             
   51fc8:	4eb9 0005 5698 	jsr 55698 <_Chain_Extract>                  
            fat_fd->links_num = 0;                                    
        }                                                             
        else                                                          
        {                                                             
            _hash_delete(fs_info->vhash, key, fat_fd->ino, fat_fd);   
            free(fat_fd);                                             
   51fce:	2f0a           	movel %a2,%sp@-                             
   51fd0:	4eb9 0004 4bec 	jsr 44bec <free>                            
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
                                                                      
    return rc;                                                        
}                                                                     
   51fd6:	246e fffc      	moveal %fp@(-4),%a2                         
            fat_fd->links_num = 0;                                    
        }                                                             
        else                                                          
        {                                                             
            _hash_delete(fs_info->vhash, key, fat_fd->ino, fat_fd);   
            free(fat_fd);                                             
   51fda:	508f           	addql #8,%sp                                
        }                                                             
    }                                                                 
    /*                                                                
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
   51fdc:	2d42 0008      	movel %d2,%fp@(8)                           
                                                                      
    return rc;                                                        
}                                                                     
   51fe0:	242e fff8      	movel %fp@(-8),%d2                          
   51fe4:	4e5e           	unlk %fp                                    
        }                                                             
    }                                                                 
    /*                                                                
     * flush any modified "cached" buffer back to disk                
     */                                                               
    rc = fat_buf_release(fs_info);                                    
   51fe6:	4ef9 0005 2738 	jmp 52738 <fat_buf_release>                 
            return rc;                                                
                                                                      
        _hash_delete(fs_info->rhash, key, fat_fd->ino, fat_fd);       
                                                                      
        if ( fat_ino_is_unique(fs_info, fat_fd->ino) )                
            fat_free_unique_ino(fs_info, fat_fd->ino);                
   51fec:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   51ff0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51ff2:	4eb9 0005 3a3e 	jsr 53a3e <fat_free_unique_ino>             <== NOT EXECUTED
   51ff8:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
        free(fat_fd);                                                 
   51ffa:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51ffc:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
   52002:	588f           	addql #4,%sp                                <== NOT EXECUTED
   52004:	6082           	bras 51f88 <fat_file_close+0x72>            <== NOT EXECUTED
                                                                      

000520bc <fat_file_extend>: fat_file_fd_t *fat_fd, bool zero_fill, uint32_t new_length, uint32_t *a_length ) {
   520bc:	4e56 ffcc      	linkw %fp,#-52                              
   520c0:	48d7 1cfc      	moveml %d2-%d7/%a2-%a4,%sp@                 
   520c4:	242e 0014      	movel %fp@(20),%d2                          
   520c8:	286e 0018      	moveal %fp@(24),%a4                         
   520cc:	246e 000c      	moveal %fp@(12),%a2                         
    uint32_t       last_cl = 0;                                       
    uint32_t       bytes_remain = 0;                                  
    uint32_t       cls_added;                                         
    ssize_t        bytes_written;                                     
                                                                      
    *a_length = new_length;                                           
   520d0:	2882           	movel %d2,%a4@                              
    fat_file_fd_t                        *fat_fd,                     
    bool                                  zero_fill,                  
    uint32_t                              new_length,                 
    uint32_t                             *a_length                    
    )                                                                 
{                                                                     
   520d2:	266e 0008      	moveal %fp@(8),%a3                          
    uint32_t       cls_added;                                         
    ssize_t        bytes_written;                                     
                                                                      
    *a_length = new_length;                                           
                                                                      
    if (new_length <= fat_fd->fat_file_size)                          
   520d6:	202a 0018      	movel %a2@(24),%d0                          
    fat_file_fd_t                        *fat_fd,                     
    bool                                  zero_fill,                  
    uint32_t                              new_length,                 
    uint32_t                             *a_length                    
    )                                                                 
{                                                                     
   520da:	1a2e 0013      	moveb %fp@(19),%d5                          
    int            rc = RC_OK;                                        
    uint32_t       chain = 0;                                         
   520de:	42ae fff0      	clrl %fp@(-16)                              
    uint32_t       bytes2add = 0;                                     
    uint32_t       cls2add = 0;                                       
    uint32_t       old_last_cl;                                       
    uint32_t       last_cl = 0;                                       
   520e2:	42ae fff8      	clrl %fp@(-8)                               
    uint32_t       cls_added;                                         
    ssize_t        bytes_written;                                     
                                                                      
    *a_length = new_length;                                           
                                                                      
    if (new_length <= fat_fd->fat_file_size)                          
   520e6:	b082           	cmpl %d2,%d0                                
   520e8:	6400 00d8      	bccw 521c2 <fat_file_extend+0x106>          
        return RC_OK;                                                 
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
   520ec:	7201           	moveq #1,%d1                                
   520ee:	b2aa 0020      	cmpl %a2@(32),%d1                           
   520f2:	6700 00e2      	beqw 521d6 <fat_file_extend+0x11a>          
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
        rtems_set_errno_and_return_minus_one( ENOSPC );               
                                                                      
    bytes_remain = (fs_info->vol.bpc -                                
                   (fat_fd->fat_file_size & (fs_info->vol.bpc - 1))) &
   520f6:	4283           	clrl %d3                                    
                   (fs_info->vol.bpc - 1);                            
                                                                      
    bytes2add = new_length - fat_fd->fat_file_size;                   
   520f8:	2042           	moveal %d2,%a0                              
   520fa:	91c0           	subal %d0,%a0                               
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
        rtems_set_errno_and_return_minus_one( ENOSPC );               
                                                                      
    bytes_remain = (fs_info->vol.bpc -                                
                   (fat_fd->fat_file_size & (fs_info->vol.bpc - 1))) &
   520fc:	362b 0006      	movew %a3@(6),%d3                           
   52100:	2203           	movel %d3,%d1                               
   52102:	5381           	subql #1,%d1                                
   52104:	2c01           	movel %d1,%d6                               
   52106:	cc80           	andl %d0,%d6                                
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
        rtems_set_errno_and_return_minus_one( ENOSPC );               
                                                                      
    bytes_remain = (fs_info->vol.bpc -                                
   52108:	9686           	subl %d6,%d3                                
   5210a:	c681           	andl %d1,%d3                                
                   (fat_fd->fat_file_size & (fs_info->vol.bpc - 1))) &
                   (fs_info->vol.bpc - 1);                            
                                                                      
    bytes2add = new_length - fat_fd->fat_file_size;                   
                                                                      
    if (bytes2add > bytes_remain)                                     
   5210c:	b1c3           	cmpal %d3,%a0                               
   5210e:	6300 00c0      	blsw 521d0 <fat_file_extend+0x114>          
        bytes2add -= bytes_remain;                                    
   52112:	2e08           	movel %a0,%d7                               
   52114:	9e83           	subl %d3,%d7                                
    else                                                              
        bytes2add = 0;                                                
                                                                      
    if (zero_fill && bytes_remain > 0) {                              
   52116:	4a05           	tstb %d5                                    
   52118:	6706           	beqs 52120 <fat_file_extend+0x64>           <== ALWAYS TAKEN
   5211a:	4a83           	tstl %d3                                    <== NOT EXECUTED
   5211c:	6600 00e8      	bnew 52206 <fat_file_extend+0x14a>          <== NOT EXECUTED
    /*                                                                
     * if in last cluster allocated for the file there is enough room to
     * handle extention (hence we don't need to add even one cluster to the
     * file ) - return                                                
     */                                                               
    if (bytes2add == 0)                                               
   52120:	4a87           	tstl %d7                                    
   52122:	6700 009e      	beqw 521c2 <fat_file_extend+0x106>          
        return RC_OK;                                                 
                                                                      
    cls2add = ((bytes2add - 1) >> fs_info->vol.bpc_log2) + 1;         
   52126:	4281           	clrl %d1                                    
   52128:	122b 0008      	moveb %a3@(8),%d1                           
   5212c:	2007           	movel %d7,%d0                               
   5212e:	5380           	subql #1,%d0                                
   52130:	e2a8           	lsrl %d1,%d0                                
                                                                      
    rc = fat_scan_fat_for_free_clusters(fs_info, &chain, cls2add,     
   52132:	0285 0000 00ff 	andil #255,%d5                              
   52138:	2f05           	movel %d5,%sp@-                             
   5213a:	486e fff8      	pea %fp@(-8)                                
     * file ) - return                                                
     */                                                               
    if (bytes2add == 0)                                               
        return RC_OK;                                                 
                                                                      
    cls2add = ((bytes2add - 1) >> fs_info->vol.bpc_log2) + 1;         
   5213e:	2a00           	movel %d0,%d5                               
                                                                      
    rc = fat_scan_fat_for_free_clusters(fs_info, &chain, cls2add,     
   52140:	486e fffc      	pea %fp@(-4)                                
     * file ) - return                                                
     */                                                               
    if (bytes2add == 0)                                               
        return RC_OK;                                                 
                                                                      
    cls2add = ((bytes2add - 1) >> fs_info->vol.bpc_log2) + 1;         
   52144:	5285           	addql #1,%d5                                
                                                                      
    rc = fat_scan_fat_for_free_clusters(fs_info, &chain, cls2add,     
   52146:	2f05           	movel %d5,%sp@-                             
   52148:	486e fff0      	pea %fp@(-16)                               
   5214c:	2f0b           	movel %a3,%sp@-                             
   5214e:	4eb9 0005 8fe0 	jsr 58fe0 <fat_scan_fat_for_free_clusters>  
                                        &cls_added, &last_cl, zero_fill);
                                                                      
    /* this means that low level I/O error occured */                 
    if (rc != RC_OK)                                                  
   52154:	4fef 0018      	lea %sp@(24),%sp                            
    if (bytes2add == 0)                                               
        return RC_OK;                                                 
                                                                      
    cls2add = ((bytes2add - 1) >> fs_info->vol.bpc_log2) + 1;         
                                                                      
    rc = fat_scan_fat_for_free_clusters(fs_info, &chain, cls2add,     
   52158:	2800           	movel %d0,%d4                               
                                        &cls_added, &last_cl, zero_fill);
                                                                      
    /* this means that low level I/O error occured */                 
    if (rc != RC_OK)                                                  
   5215a:	665a           	bnes 521b6 <fat_file_extend+0xfa>           <== NEVER TAKEN
        return rc;                                                    
                                                                      
    /* this means that no space left on device */                     
    if ((cls_added == 0) && (bytes_remain == 0))                      
   5215c:	222e fffc      	movel %fp@(-4),%d1                          
   52160:	6606           	bnes 52168 <fat_file_extend+0xac>           <== ALWAYS TAKEN
   52162:	4a83           	tstl %d3                                    <== NOT EXECUTED
   52164:	6700 0086      	beqw 521ec <fat_file_extend+0x130>          <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(ENOSPC);                 
                                                                      
    /*  check wether we satisfied request for 'cls2add' clusters */   
    if (cls2add != cls_added)                                         
   52168:	b285           	cmpl %d5,%d1                                
   5216a:	6718           	beqs 52184 <fat_file_extend+0xc8>           <== ALWAYS TAKEN
    {                                                                 
        new_length -= bytes2add & (fs_info->vol.bpc - 1);             
   5216c:	4283           	clrl %d3                                    <== NOT EXECUTED
        new_length -= (cls2add - cls_added) << fs_info->vol.bpc_log2; 
   5216e:	4280           	clrl %d0                                    <== NOT EXECUTED
   52170:	102b 0008      	moveb %a3@(8),%d0                           <== NOT EXECUTED
   52174:	9a81           	subl %d1,%d5                                <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(ENOSPC);                 
                                                                      
    /*  check wether we satisfied request for 'cls2add' clusters */   
    if (cls2add != cls_added)                                         
    {                                                                 
        new_length -= bytes2add & (fs_info->vol.bpc - 1);             
   52176:	362b 0006      	movew %a3@(6),%d3                           <== NOT EXECUTED
        new_length -= (cls2add - cls_added) << fs_info->vol.bpc_log2; 
   5217a:	e1ad           	lsll %d0,%d5                                <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(ENOSPC);                 
                                                                      
    /*  check wether we satisfied request for 'cls2add' clusters */   
    if (cls2add != cls_added)                                         
    {                                                                 
        new_length -= bytes2add & (fs_info->vol.bpc - 1);             
   5217c:	5383           	subql #1,%d3                                <== NOT EXECUTED
   5217e:	ce83           	andl %d3,%d7                                <== NOT EXECUTED
   52180:	9487           	subl %d7,%d2                                <== NOT EXECUTED
        new_length -= (cls2add - cls_added) << fs_info->vol.bpc_log2; 
   52182:	9485           	subl %d5,%d2                                <== NOT EXECUTED
    }                                                                 
                                                                      
    /* add new chain to the end of existed */                         
    if ( fat_fd->fat_file_size == 0 )                                 
   52184:	206a 0018      	moveal %a2@(24),%a0                         
   52188:	4a88           	tstl %a0                                    
   5218a:	6600 00c2      	bnew 5224e <fat_file_extend+0x192>          
    {                                                                 
        fat_fd->map.disk_cln = fat_fd->cln = chain;                   
   5218e:	202e fff0      	movel %fp@(-16),%d0                         
        fat_fd->map.file_cln = 0;                                     
   52192:	42aa 0032      	clrl %a2@(50)                               
    }                                                                 
                                                                      
    /* add new chain to the end of existed */                         
    if ( fat_fd->fat_file_size == 0 )                                 
    {                                                                 
        fat_fd->map.disk_cln = fat_fd->cln = chain;                   
   52196:	2540 001c      	movel %d0,%a2@(28)                          
   5219a:	2540 0036      	movel %d0,%a2@(54)                          
        }                                                             
        fat_buf_release(fs_info);                                     
    }                                                                 
                                                                      
    /* update number of the last cluster of the file if it changed */ 
    if (cls_added != 0)                                               
   5219e:	4a81           	tstl %d1                                    
   521a0:	670e           	beqs 521b0 <fat_file_extend+0xf4>           <== NEVER TAKEN
    {                                                                 
        fat_fd->map.last_cln = last_cl;                               
   521a2:	256e fff8 003a 	movel %fp@(-8),%a2@(58)                     
        if (fat_fd->fat_file_type == FAT_DIRECTORY)                   
   521a8:	4aaa 0010      	tstl %a2@(16)                               
   521ac:	6700 00d6      	beqw 52284 <fat_file_extend+0x1c8>          
                return rc;                                            
            }                                                         
        }                                                             
    }                                                                 
                                                                      
    *a_length = new_length;                                           
   521b0:	2882           	movel %d2,%a4@                              
    fat_fd->fat_file_size = new_length;                               
   521b2:	2542 0018      	movel %d2,%a2@(24)                          
                                                                      
    return RC_OK;                                                     
}                                                                     
   521b6:	2004           	movel %d4,%d0                               
   521b8:	4cee 1cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a4            
   521be:	4e5e           	unlk %fp                                    
   521c0:	4e75           	rts                                         
    ssize_t        bytes_written;                                     
                                                                      
    *a_length = new_length;                                           
                                                                      
    if (new_length <= fat_fd->fat_file_size)                          
        return RC_OK;                                                 
   521c2:	4284           	clrl %d4                                    
                                                                      
    *a_length = new_length;                                           
    fat_fd->fat_file_size = new_length;                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   521c4:	2004           	movel %d4,%d0                               
   521c6:	4cee 1cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a4            
   521cc:	4e5e           	unlk %fp                                    
   521ce:	4e75           	rts                                         
    bytes2add = new_length - fat_fd->fat_file_size;                   
                                                                      
    if (bytes2add > bytes_remain)                                     
        bytes2add -= bytes_remain;                                    
    else                                                              
        bytes2add = 0;                                                
   521d0:	4287           	clrl %d7                                    <== NOT EXECUTED
   521d2:	6000 ff42      	braw 52116 <fat_file_extend+0x5a>           <== NOT EXECUTED
    *a_length = new_length;                                           
                                                                      
    if (new_length <= fat_fd->fat_file_size)                          
        return RC_OK;                                                 
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
   521d6:	4aaa 0024      	tstl %a2@(36)                               <== NOT EXECUTED
   521da:	6600 ff1a      	bnew 520f6 <fat_file_extend+0x3a>           <== NOT EXECUTED
   521de:	7603           	moveq #3,%d3                                <== NOT EXECUTED
   521e0:	122b 000e      	moveb %a3@(14),%d1                          <== NOT EXECUTED
   521e4:	c283           	andl %d3,%d1                                <== NOT EXECUTED
   521e6:	4a01           	tstb %d1                                    <== NOT EXECUTED
   521e8:	6700 ff0c      	beqw 520f6 <fat_file_extend+0x3a>           <== NOT EXECUTED
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    /* this means that no space left on device */                     
    if ((cls_added == 0) && (bytes_remain == 0))                      
        rtems_set_errno_and_return_minus_one(ENOSPC);                 
   521ec:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   521f2:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   521f4:	761c           	moveq #28,%d3                               <== NOT EXECUTED
   521f6:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
                                                                      
    *a_length = new_length;                                           
    fat_fd->fat_file_size = new_length;                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   521f8:	2004           	movel %d4,%d0                               <== NOT EXECUTED
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    /* this means that no space left on device */                     
    if ((cls_added == 0) && (bytes_remain == 0))                      
        rtems_set_errno_and_return_minus_one(ENOSPC);                 
   521fa:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
                                                                      
    *a_length = new_length;                                           
    fat_fd->fat_file_size = new_length;                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   521fc:	4cee 1cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   52202:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52204:	4e75           	rts                                         <== NOT EXECUTED
        uint32_t start = fat_fd->fat_file_size;                       
        uint32_t cl_start = start >> fs_info->vol.bpc_log2;           
        uint32_t ofs = start & (fs_info->vol.bpc - 1);                
        uint32_t cur_cln;                                             
                                                                      
        rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);     
   52206:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
    else                                                              
        bytes2add = 0;                                                
                                                                      
    if (zero_fill && bytes_remain > 0) {                              
        uint32_t start = fat_fd->fat_file_size;                       
        uint32_t cl_start = start >> fs_info->vol.bpc_log2;           
   5220a:	4281           	clrl %d1                                    <== NOT EXECUTED
   5220c:	122b 0008      	moveb %a3@(8),%d1                           <== NOT EXECUTED
   52210:	e2a8           	lsrl %d1,%d0                                <== NOT EXECUTED
        uint32_t ofs = start & (fs_info->vol.bpc - 1);                
        uint32_t cur_cln;                                             
                                                                      
        rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);     
   52212:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52214:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52216:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   52218:	4eba f64e      	jsr %pc@(51868 <fat_file_lseek>)            <== NOT EXECUTED
        if (rc != RC_OK)                                              
   5221c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
        uint32_t start = fat_fd->fat_file_size;                       
        uint32_t cl_start = start >> fs_info->vol.bpc_log2;           
        uint32_t ofs = start & (fs_info->vol.bpc - 1);                
        uint32_t cur_cln;                                             
                                                                      
        rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);     
   52220:	2801           	movel %d1,%d4                               <== NOT EXECUTED
        if (rc != RC_OK)                                              
   52222:	6692           	bnes 521b6 <fat_file_extend+0xfa>           <== NOT EXECUTED
            return rc;                                                
                                                                      
        bytes_written = fat_cluster_set (fs_info, cur_cln, ofs, bytes_remain, 0);
   52224:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52226:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52228:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5222a:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   5222e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   52230:	4eb9 0005 2b1a 	jsr 52b1a <fat_cluster_set>                 <== NOT EXECUTED
        if (bytes_remain != bytes_written)                            
   52236:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5223a:	b680           	cmpl %d0,%d3                                <== NOT EXECUTED
   5223c:	6700 fee2      	beqw 52120 <fat_file_extend+0x64>           <== NOT EXECUTED
            return -1;                                                
   52240:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
                                                                      
    *a_length = new_length;                                           
    fat_fd->fat_file_size = new_length;                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   52242:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   52244:	4cee 1cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   5224a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5224c:	4e75           	rts                                         <== NOT EXECUTED
        fat_fd->map.disk_cln = fat_fd->cln = chain;                   
        fat_fd->map.file_cln = 0;                                     
    }                                                                 
    else                                                              
    {                                                                 
        if (fat_fd->map.last_cln != FAT_UNDEFINED_VALUE)              
   5224e:	202a 003a      	movel %a2@(58),%d0                          
   52252:	72ff           	moveq #-1,%d1                               
   52254:	b280           	cmpl %d0,%d1                                
   52256:	675c           	beqs 522b4 <fat_file_extend+0x1f8>          <== NEVER TAKEN
                fat_free_fat_clusters_chain(fs_info, chain);          
                return rc;                                            
            }                                                         
        }                                                             
                                                                      
        rc = fat_set_fat_cluster(fs_info, old_last_cl, chain);        
   52258:	2f2e fff0      	movel %fp@(-16),%sp@-                       
   5225c:	2f00           	movel %d0,%sp@-                             
    }                                                                 
    else                                                              
    {                                                                 
        if (fat_fd->map.last_cln != FAT_UNDEFINED_VALUE)              
        {                                                             
            old_last_cl = fat_fd->map.last_cln;                       
   5225e:	2d40 fff4      	movel %d0,%fp@(-12)                         
                fat_free_fat_clusters_chain(fs_info, chain);          
                return rc;                                            
            }                                                         
        }                                                             
                                                                      
        rc = fat_set_fat_cluster(fs_info, old_last_cl, chain);        
   52262:	2f0b           	movel %a3,%sp@-                             
   52264:	4eb9 0005 8c92 	jsr 58c92 <fat_set_fat_cluster>             
        if ( rc != RC_OK )                                            
   5226a:	4fef 000c      	lea %sp@(12),%sp                            
   5226e:	4a80           	tstl %d0                                    
   52270:	6626           	bnes 52298 <fat_file_extend+0x1dc>          <== NEVER TAKEN
        {                                                             
            fat_free_fat_clusters_chain(fs_info, chain);              
            return rc;                                                
        }                                                             
        fat_buf_release(fs_info);                                     
   52272:	2f0b           	movel %a3,%sp@-                             
   52274:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 
   5227a:	222e fffc      	movel %fp@(-4),%d1                          
   5227e:	588f           	addql #4,%sp                                
   52280:	6000 ff1c      	braw 5219e <fat_file_extend+0xe2>           
    if (cls_added != 0)                                               
    {                                                                 
        fat_fd->map.last_cln = last_cl;                               
        if (fat_fd->fat_file_type == FAT_DIRECTORY)                   
        {                                                             
            rc = fat_init_clusters_chain(fs_info, chain);             
   52284:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   52288:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5228a:	4eb9 0005 38fa 	jsr 538fa <fat_init_clusters_chain>         <== NOT EXECUTED
            if ( rc != RC_OK )                                        
   52290:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52292:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52294:	6700 ff1a      	beqw 521b0 <fat_file_extend+0xf4>           <== NOT EXECUTED
            {                                                         
                fat_free_fat_clusters_chain(fs_info, chain);          
   52298:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   5229c:	2800           	movel %d0,%d4                               <== NOT EXECUTED
   5229e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   522a0:	4eb9 0005 8f0e 	jsr 58f0e <fat_free_fat_clusters_chain>     <== NOT EXECUTED
   522a6:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
    *a_length = new_length;                                           
    fat_fd->fat_file_size = new_length;                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   522a8:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   522aa:	4cee 1cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   522b0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   522b2:	4e75           	rts                                         <== NOT EXECUTED
        {                                                             
            old_last_cl = fat_fd->map.last_cln;                       
        }                                                             
        else                                                          
        {                                                             
            rc = fat_file_ioctl(fs_info, fat_fd, F_CLU_NUM,           
   522b4:	486e fff4      	pea %fp@(-12)                               <== NOT EXECUTED
   522b8:	4868 ffff      	pea %a0@(-1)                                <== NOT EXECUTED
   522bc:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   522c0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   522c2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   522c4:	4eb9 0005 2006 	jsr 52006 <fat_file_ioctl>                  <== NOT EXECUTED
                                (fat_fd->fat_file_size - 1), &old_last_cl);
            if ( rc != RC_OK )                                        
   522ca:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   522ce:	4a80           	tstl %d0                                    <== NOT EXECUTED
   522d0:	66c6           	bnes 52298 <fat_file_extend+0x1dc>          <== NOT EXECUTED
                fat_free_fat_clusters_chain(fs_info, chain);          
                return rc;                                            
            }                                                         
        }                                                             
                                                                      
        rc = fat_set_fat_cluster(fs_info, old_last_cl, chain);        
   522d2:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   522d6:	202e fff4      	movel %fp@(-12),%d0                         <== NOT EXECUTED
   522da:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   522dc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   522de:	4eb9 0005 8c92 	jsr 58c92 <fat_set_fat_cluster>             <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   522e4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   522e8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   522ea:	6786           	beqs 52272 <fat_file_extend+0x1b6>          <== NOT EXECUTED
   522ec:	60aa           	bras 52298 <fat_file_extend+0x1dc>          <== NOT EXECUTED
                                                                      

00052006 <fat_file_ioctl>: uint32_t *ret; va_list ap; va_start(ap, cmd); switch (cmd)
   52006:	7001           	moveq #1,%d0                                
fat_file_ioctl(                                                       
    fat_fs_info_t                        *fs_info,                    
    fat_file_fd_t                        *fat_fd,                     
    int                                   cmd,                        
    ...)                                                              
{                                                                     
   52008:	4e56 fffc      	linkw %fp,#-4                               
   5200c:	226e 0008      	moveal %fp@(8),%a1                          
   52010:	2f0a           	movel %a2,%sp@-                             
   52012:	206e 000c      	moveal %fp@(12),%a0                         
   52016:	2f02           	movel %d2,%sp@-                             
    int            rc = RC_OK;                                        
    uint32_t       cur_cln = 0;                                       
   52018:	42ae fffc      	clrl %fp@(-4)                               
    uint32_t      *ret;                                               
    va_list        ap;                                                
                                                                      
    va_start(ap, cmd);                                                
                                                                      
    switch (cmd)                                                      
   5201c:	b0ae 0010      	cmpl %fp@(16),%d0                           
   52020:	671a           	beqs 5203c <fat_file_ioctl+0x36>            <== ALWAYS TAKEN
                                                                      
            *ret = cur_cln;                                           
            break;                                                    
                                                                      
        default:                                                      
            errno = EINVAL;                                           
   52022:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   52028:	7216           	moveq #22,%d1                               <== NOT EXECUTED
   5202a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
            rc = -1;                                                  
   5202c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
            *ret = cur_cln;                                           
            break;                                                    
                                                                      
        default:                                                      
            errno = EINVAL;                                           
   5202e:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
            rc = -1;                                                  
            break;                                                    
    }                                                                 
    va_end(ap);                                                       
    return rc;                                                        
}                                                                     
   52030:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   52034:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   52038:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5203a:	4e75           	rts                                         <== NOT EXECUTED
    va_start(ap, cmd);                                                
                                                                      
    switch (cmd)                                                      
    {                                                                 
        case F_CLU_NUM:                                               
            pos = va_arg(ap, uint32_t);                               
   5203c:	202e 0014      	movel %fp@(20),%d0                          
            ret = va_arg(ap, uint32_t *);                             
   52040:	246e 0018      	moveal %fp@(24),%a2                         
                                                                      
            /* sanity check */                                        
            if ( pos >= fat_fd->fat_file_size ) {                     
   52044:	b0a8 0018      	cmpl %a0@(24),%d0                           
   52048:	6458           	bccs 520a2 <fat_file_ioctl+0x9c>            <== NEVER TAKEN
                va_end(ap);                                           
                rtems_set_errno_and_return_minus_one( EIO );          
            }                                                         
                                                                      
            if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                       
   5204a:	7201           	moveq #1,%d1                                
   5204c:	b2a8 0020      	cmpl %a0@(32),%d1                           
   52050:	672e           	beqs 52080 <fat_file_ioctl+0x7a>            <== ALWAYS TAKEN
                break;                                                
            }                                                         
                                                                      
            cl_start = pos >> fs_info->vol.bpc_log2;                  
                                                                      
            rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln); 
   52052:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
                *ret  = 0;                                            
                rc = RC_OK;                                           
                break;                                                
            }                                                         
                                                                      
            cl_start = pos >> fs_info->vol.bpc_log2;                  
   52056:	4281           	clrl %d1                                    <== NOT EXECUTED
   52058:	1229 0008      	moveb %a1@(8),%d1                           <== NOT EXECUTED
   5205c:	e2a8           	lsrl %d1,%d0                                <== NOT EXECUTED
                                                                      
            rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln); 
   5205e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52060:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   52062:	2f09           	movel %a1,%sp@-                             <== NOT EXECUTED
   52064:	4eba f802      	jsr %pc@(51868 <fat_file_lseek>)            <== NOT EXECUTED
            if ( rc != RC_OK )                                        
   52068:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                break;                                                
            }                                                         
                                                                      
            cl_start = pos >> fs_info->vol.bpc_log2;                  
                                                                      
            rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln); 
   5206c:	2001           	movel %d1,%d0                               <== NOT EXECUTED
            if ( rc != RC_OK )                                        
   5206e:	66c0           	bnes 52030 <fat_file_ioctl+0x2a>            <== NOT EXECUTED
                break;                                                
                                                                      
            *ret = cur_cln;                                           
   52070:	24ae fffc      	movel %fp@(-4),%a2@                         <== NOT EXECUTED
            rc = -1;                                                  
            break;                                                    
    }                                                                 
    va_end(ap);                                                       
    return rc;                                                        
}                                                                     
   52074:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   52078:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   5207c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5207e:	4e75           	rts                                         <== NOT EXECUTED
            if ( pos >= fat_fd->fat_file_size ) {                     
                va_end(ap);                                           
                rtems_set_errno_and_return_minus_one( EIO );          
            }                                                         
                                                                      
            if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                       
   52080:	4aa8 0024      	tstl %a0@(36)                               
   52084:	66cc           	bnes 52052 <fat_file_ioctl+0x4c>            <== NEVER TAKEN
   52086:	7403           	moveq #3,%d2                                
   52088:	1229 000e      	moveb %a1@(14),%d1                          
   5208c:	c282           	andl %d2,%d1                                
   5208e:	4a01           	tstb %d1                                    
   52090:	67c0           	beqs 52052 <fat_file_ioctl+0x4c>            <== NEVER TAKEN
                (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))        
            {                                                         
                /* cluster 0 (zero) reserved for root dir */          
                *ret  = 0;                                            
   52092:	4292           	clrl %a2@                                   
            rc = -1;                                                  
            break;                                                    
    }                                                                 
    va_end(ap);                                                       
    return rc;                                                        
}                                                                     
   52094:	242e fff4      	movel %fp@(-12),%d2                         
            if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                       
                (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))        
            {                                                         
                /* cluster 0 (zero) reserved for root dir */          
                *ret  = 0;                                            
                rc = RC_OK;                                           
   52098:	4280           	clrl %d0                                    
            rc = -1;                                                  
            break;                                                    
    }                                                                 
    va_end(ap);                                                       
    return rc;                                                        
}                                                                     
   5209a:	246e fff8      	moveal %fp@(-8),%a2                         
   5209e:	4e5e           	unlk %fp                                    
   520a0:	4e75           	rts                                         
            ret = va_arg(ap, uint32_t *);                             
                                                                      
            /* sanity check */                                        
            if ( pos >= fat_fd->fat_file_size ) {                     
                va_end(ap);                                           
                rtems_set_errno_and_return_minus_one( EIO );          
   520a2:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   520a8:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   520aa:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   520ac:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   520ae:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
            rc = -1;                                                  
            break;                                                    
    }                                                                 
    va_end(ap);                                                       
    return rc;                                                        
}                                                                     
   520b0:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   520b4:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   520b8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051868 <fat_file_lseek>: fat_fs_info_t *fs_info, fat_file_fd_t *fat_fd, uint32_t file_cln, uint32_t *disk_cln ) {
   51868:	4e56 ffe0      	linkw %fp,#-32                              
   5186c:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 
   51870:	266e 000c      	moveal %fp@(12),%a3                         
   51874:	282e 0008      	movel %fp@(8),%d4                           
   51878:	2c2e 0010      	movel %fp@(16),%d6                          
    int rc = RC_OK;                                                   
                                                                      
    if (file_cln == fat_fd->map.file_cln)                             
   5187c:	202b 0032      	movel %a3@(50),%d0                          
   51880:	bc80           	cmpl %d0,%d6                                
   51882:	6776           	beqs 518fa <fat_file_lseek+0x92>            <== NEVER TAKEN
        uint32_t   i;                                                 
                                                                      
        if (file_cln > fat_fd->map.file_cln)                          
        {                                                             
            cur_cln = fat_fd->map.disk_cln;                           
            count = file_cln - fat_fd->map.file_cln;                  
   51884:	2406           	movel %d6,%d2                               
    {                                                                 
        uint32_t   cur_cln;                                           
        uint32_t   count;                                             
        uint32_t   i;                                                 
                                                                      
        if (file_cln > fat_fd->map.file_cln)                          
   51886:	bc80           	cmpl %d0,%d6                                
   51888:	6354           	blss 518de <fat_file_lseek+0x76>            <== NEVER TAKEN
        {                                                             
            cur_cln = fat_fd->map.disk_cln;                           
            count = file_cln - fat_fd->map.file_cln;                  
   5188a:	9480           	subl %d0,%d2                                
        uint32_t   count;                                             
        uint32_t   i;                                                 
                                                                      
        if (file_cln > fat_fd->map.file_cln)                          
        {                                                             
            cur_cln = fat_fd->map.disk_cln;                           
   5188c:	2d6b 0036 fffc 	movel %a3@(54),%fp@(-4)                     
            cur_cln = fat_fd->cln;                                    
            count = file_cln;                                         
        }                                                             
                                                                      
        /* skip over the clusters */                                  
        for (i = 0; i < count; i++)                                   
   51892:	4a82           	tstl %d2                                    
   51894:	6724           	beqs 518ba <fat_file_lseek+0x52>            <== NEVER TAKEN
   51896:	2a0e           	movel %fp,%d5                               
   51898:	4283           	clrl %d3                                    
   5189a:	5985           	subql #4,%d5                                
   5189c:	45f9 0005 8ac0 	lea 58ac0 <fat_get_fat_cluster>,%a2         
        {                                                             
            rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);     
   518a2:	2f05           	movel %d5,%sp@-                             
   518a4:	2f2e fffc      	movel %fp@(-4),%sp@-                        
            cur_cln = fat_fd->cln;                                    
            count = file_cln;                                         
        }                                                             
                                                                      
        /* skip over the clusters */                                  
        for (i = 0; i < count; i++)                                   
   518a8:	5283           	addql #1,%d3                                
        {                                                             
            rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);     
   518aa:	2f04           	movel %d4,%sp@-                             
   518ac:	4e92           	jsr %a2@                                    
            if ( rc != RC_OK )                                        
   518ae:	4fef 000c      	lea %sp@(12),%sp                            
   518b2:	4a80           	tstl %d0                                    
   518b4:	6630           	bnes 518e6 <fat_file_lseek+0x7e>            <== NEVER TAKEN
            cur_cln = fat_fd->cln;                                    
            count = file_cln;                                         
        }                                                             
                                                                      
        /* skip over the clusters */                                  
        for (i = 0; i < count; i++)                                   
   518b6:	b483           	cmpl %d3,%d2                                
   518b8:	66e8           	bnes 518a2 <fat_file_lseek+0x3a>            <== NEVER TAKEN
                return rc;                                            
        }                                                             
                                                                      
        /* update cache */                                            
        fat_fd->map.file_cln = file_cln;                              
        fat_fd->map.disk_cln = cur_cln;                               
   518ba:	202e fffc      	movel %fp@(-4),%d0                          
            if ( rc != RC_OK )                                        
                return rc;                                            
        }                                                             
                                                                      
        /* update cache */                                            
        fat_fd->map.file_cln = file_cln;                              
   518be:	2746 0032      	movel %d6,%a3@(50)                          
        fat_fd->map.disk_cln = cur_cln;                               
                                                                      
        *disk_cln = cur_cln;                                          
   518c2:	206e 0014      	moveal %fp@(20),%a0                         
                return rc;                                            
        }                                                             
                                                                      
        /* update cache */                                            
        fat_fd->map.file_cln = file_cln;                              
        fat_fd->map.disk_cln = cur_cln;                               
   518c6:	2740 0036      	movel %d0,%a3@(54)                          
                                                                      
        *disk_cln = cur_cln;                                          
    }                                                                 
    return RC_OK;                                                     
   518ca:	4282           	clrl %d2                                    
   518cc:	4283           	clrl %d3                                    
                                                                      
        /* update cache */                                            
        fat_fd->map.file_cln = file_cln;                              
        fat_fd->map.disk_cln = cur_cln;                               
                                                                      
        *disk_cln = cur_cln;                                          
   518ce:	2080           	movel %d0,%a0@                              
    }                                                                 
    return RC_OK;                                                     
}                                                                     
   518d0:	2002           	movel %d2,%d0                               
   518d2:	2203           	movel %d3,%d1                               
   518d4:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            
   518da:	4e5e           	unlk %fp                                    
   518dc:	4e75           	rts                                         
            cur_cln = fat_fd->map.disk_cln;                           
            count = file_cln - fat_fd->map.file_cln;                  
        }                                                             
        else                                                          
        {                                                             
            cur_cln = fat_fd->cln;                                    
   518de:	2d6b 001c fffc 	movel %a3@(28),%fp@(-4)                     <== NOT EXECUTED
   518e4:	60ac           	bras 51892 <fat_file_lseek+0x2a>            <== NOT EXECUTED
        /* skip over the clusters */                                  
        for (i = 0; i < count; i++)                                   
        {                                                             
            rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);     
            if ( rc != RC_OK )                                        
                return rc;                                            
   518e6:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   518e8:	5bc2           	smi %d2                                     <== NOT EXECUTED
   518ea:	49c2           	extbl %d2                                   <== NOT EXECUTED
        fat_fd->map.disk_cln = cur_cln;                               
                                                                      
        *disk_cln = cur_cln;                                          
    }                                                                 
    return RC_OK;                                                     
}                                                                     
   518ec:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   518ee:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   518f0:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            <== NOT EXECUTED
   518f6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   518f8:	4e75           	rts                                         <== NOT EXECUTED
    )                                                                 
{                                                                     
    int rc = RC_OK;                                                   
                                                                      
    if (file_cln == fat_fd->map.file_cln)                             
        *disk_cln = fat_fd->map.disk_cln;                             
   518fa:	206e 0014      	moveal %fp@(20),%a0                         
        fat_fd->map.file_cln = file_cln;                              
        fat_fd->map.disk_cln = cur_cln;                               
                                                                      
        *disk_cln = cur_cln;                                          
    }                                                                 
    return RC_OK;                                                     
   518fe:	4282           	clrl %d2                                    
   51900:	4283           	clrl %d3                                    
    )                                                                 
{                                                                     
    int rc = RC_OK;                                                   
                                                                      
    if (file_cln == fat_fd->map.file_cln)                             
        *disk_cln = fat_fd->map.disk_cln;                             
   51902:	20ab 0036      	movel %a3@(54),%a0@                         
        fat_fd->map.disk_cln = cur_cln;                               
                                                                      
        *disk_cln = cur_cln;                                          
    }                                                                 
    return RC_OK;                                                     
}                                                                     
   51906:	2002           	movel %d2,%d0                               
   51908:	2203           	movel %d3,%d1                               
   5190a:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            
   51910:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052582 <fat_file_mark_removed>: fat_cluster_num_to_sector512_num( const fat_fs_info_t *fs_info, uint32_t cln ) { if (cln == 1)
   52582:	7001           	moveq #1,%d0                                <== NOT EXECUTED
void                                                                  
fat_file_mark_removed(                                                
    fat_fs_info_t                        *fs_info,                    
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   52584:	4e56 fff0      	linkw %fp,#-16                              <== NOT EXECUTED
   52588:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 <== NOT EXECUTED
   5258c:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
   52590:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
   52594:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
   52598:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   5259a:	6700 008c      	beqw 52628 <fat_file_mark_removed+0xa6>     <== NOT EXECUTED
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   5259e:	4a81           	tstl %d1                                    <== NOT EXECUTED
   525a0:	666e           	bnes 52610 <fat_file_mark_removed+0x8e>     <== NOT EXECUTED
   525a2:	7403           	moveq #3,%d2                                <== NOT EXECUTED
   525a4:	102b 000e      	moveb %a3@(14),%d0                          <== NOT EXECUTED
   525a8:	c082           	andl %d2,%d0                                <== NOT EXECUTED
   525aa:	4a00           	tstb %d0                                    <== NOT EXECUTED
   525ac:	6762           	beqs 52610 <fat_file_mark_removed+0x8e>     <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   525ae:	4280           	clrl %d0                                    <== NOT EXECUTED
   525b0:	102b 0003      	moveb %a3@(3),%d0                           <== NOT EXECUTED
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
   525b4:	222b 001e      	movel %a3@(30),%d1                          <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   525b8:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   525ba:	202a 0024      	movel %a2@(36),%d0                          <== NOT EXECUTED
   525be:	7609           	moveq #9,%d3                                <== NOT EXECUTED
   525c0:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   525c2:	e6aa           	lsrl %d3,%d2                                <== NOT EXECUTED
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   525c4:	d282           	addl %d2,%d1                                <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   525c6:	740f           	moveq #15,%d2                               <== NOT EXECUTED
   525c8:	ea88           	lsrl #5,%d0                                 <== NOT EXECUTED
                                                                      
    _hash_delete(fs_info->vhash, key, fat_fd->ino, fat_fd);           
                                                                      
    _hash_insert(fs_info->rhash, key, fat_fd->ino, fat_fd);           
                                                                      
    fat_fd->flags |= FAT_FILE_REMOVED;                                
   525ca:	163c 0001      	moveb #1,%d3                                <== NOT EXECUTED
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   525ce:	e989           	lsll #4,%d1                                 <== NOT EXECUTED
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   525d0:	c082           	andl %d2,%d0                                <== NOT EXECUTED
   525d2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   525d4:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   525d6:	d480           	addl %d0,%d2                                <== NOT EXECUTED
   525d8:	4eb9 0005 5698 	jsr 55698 <_Chain_Extract>                  <== NOT EXECUTED
 */                                                                   
static inline void                                                    
_hash_insert(rtems_chain_control *hash, uint32_t   key1, uint32_t   key2,
             fat_file_fd_t *el)                                       
{                                                                     
    rtems_chain_append((hash) + ((key1) % FAT_HASH_MODULE), &(el)->link);
   525de:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   525e0:	c082           	andl %d2,%d0                                <== NOT EXECUTED
RTEMS_INLINE_ROUTINE void rtems_chain_append(                         
  rtems_chain_control *the_chain,                                     
  rtems_chain_node    *the_node                                       
)                                                                     
{                                                                     
  _Chain_Append( the_chain, the_node );                               
   525e2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   525e4:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   525e6:	e988           	lsll #4,%d0                                 <== NOT EXECUTED
   525e8:	e589           	lsll #2,%d1                                 <== NOT EXECUTED
   525ea:	9081           	subl %d1,%d0                                <== NOT EXECUTED
   525ec:	d0ab 0066      	addl %a3@(102),%d0                          <== NOT EXECUTED
   525f0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   525f2:	4eb9 0004 a044 	jsr 4a044 <_Chain_Append>                   <== NOT EXECUTED
                                                                      
    _hash_delete(fs_info->vhash, key, fat_fd->ino, fat_fd);           
                                                                      
    _hash_insert(fs_info->rhash, key, fat_fd->ino, fat_fd);           
                                                                      
    fat_fd->flags |= FAT_FILE_REMOVED;                                
   525f8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   525fc:	102a 0030      	moveb %a2@(48),%d0                          <== NOT EXECUTED
   52600:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   52602:	1540 0030      	moveb %d0,%a2@(48)                          <== NOT EXECUTED
}                                                                     
   52606:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   5260c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5260e:	4e75           	rts                                         <== NOT EXECUTED
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   52610:	4280           	clrl %d0                                    <== NOT EXECUTED
   52612:	102b 0005      	moveb %a3@(5),%d0                           <== NOT EXECUTED
   52616:	5581           	subql #2,%d1                                <== NOT EXECUTED
   52618:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   5261a:	4280           	clrl %d0                                    <== NOT EXECUTED
   5261c:	102b 0003      	moveb %a3@(3),%d0                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   52620:	d2ab 0030      	addl %a3@(48),%d1                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   52624:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
   52626:	6092           	bras 525ba <fat_file_mark_removed+0x38>     <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   52628:	202a 0024      	movel %a2@(36),%d0                          <== NOT EXECUTED
   5262c:	7609           	moveq #9,%d3                                <== NOT EXECUTED
   5262e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   52630:	e6aa           	lsrl %d3,%d2                                <== NOT EXECUTED
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
   52632:	7201           	moveq #1,%d1                                <== NOT EXECUTED
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   52634:	d282           	addl %d2,%d1                                <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   52636:	740f           	moveq #15,%d2                               <== NOT EXECUTED
   52638:	ea88           	lsrl #5,%d0                                 <== NOT EXECUTED
                                                                      
    _hash_delete(fs_info->vhash, key, fat_fd->ino, fat_fd);           
                                                                      
    _hash_insert(fs_info->rhash, key, fat_fd->ino, fat_fd);           
                                                                      
    fat_fd->flags |= FAT_FILE_REMOVED;                                
   5263a:	163c 0001      	moveb #1,%d3                                <== NOT EXECUTED
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   5263e:	e989           	lsll #4,%d1                                 <== NOT EXECUTED
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   52640:	c082           	andl %d2,%d0                                <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void rtems_chain_extract(                        
  rtems_chain_node *the_node                                          
)                                                                     
{                                                                     
  _Chain_Extract( the_node );                                         
   52642:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   52644:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   52646:	d480           	addl %d0,%d2                                <== NOT EXECUTED
   52648:	4eb9 0005 5698 	jsr 55698 <_Chain_Extract>                  <== NOT EXECUTED
 */                                                                   
static inline void                                                    
_hash_insert(rtems_chain_control *hash, uint32_t   key1, uint32_t   key2,
             fat_file_fd_t *el)                                       
{                                                                     
    rtems_chain_append((hash) + ((key1) % FAT_HASH_MODULE), &(el)->link);
   5264e:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   52650:	c082           	andl %d2,%d0                                <== NOT EXECUTED
RTEMS_INLINE_ROUTINE void rtems_chain_append(                         
  rtems_chain_control *the_chain,                                     
  rtems_chain_node    *the_node                                       
)                                                                     
{                                                                     
  _Chain_Append( the_chain, the_node );                               
   52652:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52654:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   52656:	e988           	lsll #4,%d0                                 <== NOT EXECUTED
   52658:	e589           	lsll #2,%d1                                 <== NOT EXECUTED
   5265a:	9081           	subl %d1,%d0                                <== NOT EXECUTED
   5265c:	d0ab 0066      	addl %a3@(102),%d0                          <== NOT EXECUTED
   52660:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52662:	4eb9 0004 a044 	jsr 4a044 <_Chain_Append>                   <== NOT EXECUTED
                                                                      
    _hash_delete(fs_info->vhash, key, fat_fd->ino, fat_fd);           
                                                                      
    _hash_insert(fs_info->rhash, key, fat_fd->ino, fat_fd);           
                                                                      
    fat_fd->flags |= FAT_FILE_REMOVED;                                
   52668:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5266c:	102a 0030      	moveb %a2@(48),%d0                          <== NOT EXECUTED
   52670:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   52672:	1540 0030      	moveb %d0,%a2@(48)                          <== NOT EXECUTED
}                                                                     
   52676:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   5267c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051914 <fat_file_open>: fat_cluster_num_to_sector512_num( const fat_fs_info_t *fs_info, uint32_t cln ) { if (cln == 1)
   51914:	7201           	moveq #1,%d1                                
fat_file_open(                                                        
    fat_fs_info_t                         *fs_info,                   
    fat_dir_pos_t                         *dir_pos,                   
    fat_file_fd_t                        **fat_fd                     
    )                                                                 
{                                                                     
   51916:	4e56 ffe0      	linkw %fp,#-32                              
   5191a:	48d7 3c3c      	moveml %d2-%d5/%a2-%a5,%sp@                 
   5191e:	286e 000c      	moveal %fp@(12),%a4                         
   51922:	246e 0008      	moveal %fp@(8),%a2                          
   51926:	266e 0010      	moveal %fp@(16),%a3                         
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   5192a:	2014           	movel %a4@,%d0                              
   5192c:	b280           	cmpl %d0,%d1                                
   5192e:	6700 020a      	beqw 51b3a <fat_file_open+0x226>            
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   51932:	4a80           	tstl %d0                                    
   51934:	6600 016e      	bnew 51aa4 <fat_file_open+0x190>            
   51938:	7403           	moveq #3,%d2                                
   5193a:	122a 000e      	moveb %a2@(14),%d1                          
   5193e:	c282           	andl %d2,%d1                                
   51940:	4a01           	tstb %d1                                    
   51942:	6700 0160      	beqw 51aa4 <fat_file_open+0x190>            
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51946:	4281           	clrl %d1                                    
   51948:	122a 0003      	moveb %a2@(3),%d1                           
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
   5194c:	202a 001e      	movel %a2@(30),%d0                          
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51950:	e3a8           	lsll %d1,%d0                                
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   51952:	242c 0004      	movel %a4@(4),%d2                           
   51956:	7609           	moveq #9,%d3                                
   51958:	2202           	movel %d2,%d1                               
   5195a:	e6a9           	lsrl %d3,%d1                                
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   5195c:	d081           	addl %d1,%d0                                
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   5195e:	ea8a           	lsrl #5,%d2                                 
   51960:	780f           	moveq #15,%d4                               
    uint32_t                               key1,                      
    uint32_t                               key2,                      
    fat_file_fd_t                          **ret                      
    )                                                                 
{                                                                     
    uint32_t          mod = (key1) % FAT_HASH_MODULE;                 
   51962:	163c 0001      	moveb #1,%d3                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   51966:	e988           	lsll #4,%d0                                 
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   51968:	c484           	andl %d4,%d2                                
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   5196a:	226a 0062      	moveal %a2@(98),%a1                         
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   5196e:	d480           	addl %d0,%d2                                
   51970:	c682           	andl %d2,%d3                                
    rtems_chain_node *the_node = rtems_chain_first(hash + mod);       
   51972:	2003           	movel %d3,%d0                               
   51974:	e98b           	lsll #4,%d3                                 
   51976:	e588           	lsll #2,%d0                                 
   51978:	9680           	subl %d0,%d3                                
   5197a:	d3c3           	addal %d3,%a1                               
   5197c:	2059           	moveal %a1@+,%a0                            
                                                                      
    for ( ; !rtems_chain_is_tail((hash) + mod, the_node) ; )          
   5197e:	b3c8           	cmpal %a0,%a1                               
   51980:	6752           	beqs 519d4 <fat_file_open+0xc0>             <== NEVER TAKEN
   51982:	2228 0020      	movel %a0@(32),%d1                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51986:	2001           	movel %d1,%d0                               
   51988:	5580           	subql #2,%d0                                
fat_cluster_num_to_sector512_num(                                     
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
   5198a:	7a01           	moveq #1,%d5                                
   5198c:	ba81           	cmpl %d1,%d5                                
   5198e:	6700 0158      	beqw 51ae8 <fat_file_open+0x1d4>            
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   51992:	4a81           	tstl %d1                                    <== NOT EXECUTED
   51994:	6600 0128      	bnew 51abe <fat_file_open+0x1aa>            <== NOT EXECUTED
   51998:	7803           	moveq #3,%d4                                <== NOT EXECUTED
   5199a:	122a 000e      	moveb %a2@(14),%d1                          <== NOT EXECUTED
   5199e:	c284           	andl %d4,%d1                                <== NOT EXECUTED
   519a0:	4a01           	tstb %d1                                    <== NOT EXECUTED
   519a2:	6700 011a      	beqw 51abe <fat_file_open+0x1aa>            <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   519a6:	4281           	clrl %d1                                    <== NOT EXECUTED
   519a8:	122a 0003      	moveb %a2@(3),%d1                           <== NOT EXECUTED
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
   519ac:	202a 001e      	movel %a2@(30),%d0                          <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   519b0:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   519b2:	2228 0024      	movel %a0@(36),%d1                          
   519b6:	7a09           	moveq #9,%d5                                
   519b8:	2801           	movel %d1,%d4                               
   519ba:	eaac           	lsrl %d5,%d4                                
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   519bc:	d084           	addl %d4,%d0                                
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   519be:	ea89           	lsrl #5,%d1                                 
   519c0:	780f           	moveq #15,%d4                               
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   519c2:	e988           	lsll #4,%d0                                 
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   519c4:	c284           	andl %d4,%d1                                
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   519c6:	d081           	addl %d1,%d0                                
    {                                                                 
        fat_file_fd_t *ffd = (fat_file_fd_t *)the_node;               
        uint32_t       ck =  fat_construct_key(fs_info, &ffd->dir_pos.sname);
                                                                      
        if ( (key1) == ck)                                            
   519c8:	b082           	cmpl %d2,%d0                                
   519ca:	6700 010a      	beqw 51ad6 <fat_file_open+0x1c2>            
            {                                                         
                *ret = (void *)the_node;                              
                return 0;                                             
            }                                                         
        }                                                             
        the_node = the_node->next;                                    
   519ce:	2050           	moveal %a0@,%a0                             
    )                                                                 
{                                                                     
    uint32_t          mod = (key1) % FAT_HASH_MODULE;                 
    rtems_chain_node *the_node = rtems_chain_first(hash + mod);       
                                                                      
    for ( ; !rtems_chain_is_tail((hash) + mod, the_node) ; )          
   519d0:	b1c9           	cmpal %a1,%a0                               
   519d2:	66ae           	bnes 51982 <fat_file_open+0x6e>             <== NEVER TAKEN
   519d4:	226a 0066      	moveal %a2@(102),%a1                        
   519d8:	d3c3           	addal %d3,%a1                               
   519da:	2059           	moveal %a1@+,%a0                            
   519dc:	b3c8           	cmpal %a0,%a1                               
   519de:	674e           	beqs 51a2e <fat_file_open+0x11a>            <== ALWAYS TAKEN
   519e0:	2228 0020      	movel %a0@(32),%d1                          <== NOT EXECUTED
fat_cluster_num_to_sector512_num(                                     
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
   519e4:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
   519e6:	ba81           	cmpl %d1,%d5                                <== NOT EXECUTED
   519e8:	6700 0130      	beqw 51b1a <fat_file_open+0x206>            <== NOT EXECUTED
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   519ec:	4a81           	tstl %d1                                    <== NOT EXECUTED
   519ee:	6600 0110      	bnew 51b00 <fat_file_open+0x1ec>            <== NOT EXECUTED
   519f2:	7803           	moveq #3,%d4                                <== NOT EXECUTED
   519f4:	102a 000e      	moveb %a2@(14),%d0                          <== NOT EXECUTED
   519f8:	c084           	andl %d4,%d0                                <== NOT EXECUTED
   519fa:	4a00           	tstb %d0                                    <== NOT EXECUTED
   519fc:	6700 0102      	beqw 51b00 <fat_file_open+0x1ec>            <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51a00:	4280           	clrl %d0                                    <== NOT EXECUTED
   51a02:	102a 0003      	moveb %a2@(3),%d0                           <== NOT EXECUTED
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
   51a06:	222a 001e      	movel %a2@(30),%d1                          <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51a0a:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   51a0c:	2028 0024      	movel %a0@(36),%d0                          <== NOT EXECUTED
   51a10:	7a09           	moveq #9,%d5                                <== NOT EXECUTED
   51a12:	2800           	movel %d0,%d4                               <== NOT EXECUTED
   51a14:	eaac           	lsrl %d5,%d4                                <== NOT EXECUTED
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   51a16:	d284           	addl %d4,%d1                                <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   51a18:	ea88           	lsrl #5,%d0                                 <== NOT EXECUTED
   51a1a:	780f           	moveq #15,%d4                               <== NOT EXECUTED
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   51a1c:	e989           	lsll #4,%d1                                 <== NOT EXECUTED
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   51a1e:	c084           	andl %d4,%d0                                <== NOT EXECUTED
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   51a20:	d081           	addl %d1,%d0                                <== NOT EXECUTED
    {                                                                 
        fat_file_fd_t *ffd = (fat_file_fd_t *)the_node;               
        uint32_t       ck =  fat_construct_key(fs_info, &ffd->dir_pos.sname);
                                                                      
        if ( (key1) == ck)                                            
   51a22:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   51a24:	6700 00c8      	beqw 51aee <fat_file_open+0x1da>            <== NOT EXECUTED
            {                                                         
                *ret = (void *)the_node;                              
                return 0;                                             
            }                                                         
        }                                                             
        the_node = the_node->next;                                    
   51a28:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
    )                                                                 
{                                                                     
    uint32_t          mod = (key1) % FAT_HASH_MODULE;                 
    rtems_chain_node *the_node = rtems_chain_first(hash + mod);       
                                                                      
    for ( ; !rtems_chain_is_tail((hash) + mod, the_node) ; )          
   51a2a:	b3c8           	cmpal %a0,%a1                               <== NOT EXECUTED
   51a2c:	66b2           	bnes 519e0 <fat_file_open+0xcc>             <== NOT EXECUTED
                return 0;                                             
            }                                                         
        }                                                             
        the_node = the_node->next;                                    
    }                                                                 
    return -1;                                                        
   51a2e:	78ff           	moveq #-1,%d4                               
    }                                                                 
                                                                      
    /* access "removed-but-still-open" hash table */                  
    rc = _hash_search(fs_info, fs_info->rhash, key, key, &lfat_fd);   
                                                                      
    lfat_fd = (*fat_fd) = (fat_file_fd_t*)malloc(sizeof(fat_file_fd_t));
   51a30:	4878 0042      	pea 42 <DBL_MANT_DIG+0xd>                   
   51a34:	4eb9 0004 50f4 	jsr 450f4 <malloc>                          
    if ( lfat_fd == NULL )                                            
   51a3a:	588f           	addql #4,%sp                                
    }                                                                 
                                                                      
    /* access "removed-but-still-open" hash table */                  
    rc = _hash_search(fs_info, fs_info->rhash, key, key, &lfat_fd);   
                                                                      
    lfat_fd = (*fat_fd) = (fat_file_fd_t*)malloc(sizeof(fat_file_fd_t));
   51a3c:	2a40           	moveal %d0,%a5                              
   51a3e:	2680           	movel %d0,%a3@                              
    if ( lfat_fd == NULL )                                            
   51a40:	6700 0164      	beqw 51ba6 <fat_file_open+0x292>            
        rtems_set_errno_and_return_minus_one( ENOMEM );               
                                                                      
    memset(lfat_fd, 0, sizeof(fat_file_fd_t));                        
   51a44:	4878 0042      	pea 42 <DBL_MANT_DIG+0xd>                   
                                                                      
    lfat_fd->links_num = 1;                                           
   51a48:	7a01           	moveq #1,%d5                                
                                                                      
    lfat_fd = (*fat_fd) = (fat_file_fd_t*)malloc(sizeof(fat_file_fd_t));
    if ( lfat_fd == NULL )                                            
        rtems_set_errno_and_return_minus_one( ENOMEM );               
                                                                      
    memset(lfat_fd, 0, sizeof(fat_file_fd_t));                        
   51a4a:	42a7           	clrl %sp@-                                  
   51a4c:	2f00           	movel %d0,%sp@-                             
   51a4e:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
                                                                      
    lfat_fd->links_num = 1;                                           
    lfat_fd->flags &= ~FAT_FILE_REMOVED;                              
    lfat_fd->map.last_cln = FAT_UNDEFINED_VALUE;                      
                                                                      
    lfat_fd->dir_pos = *dir_pos;                                      
   51a54:	2b5c 0020      	movel %a4@+,%a5@(32)                        
        rtems_set_errno_and_return_minus_one( ENOMEM );               
                                                                      
    memset(lfat_fd, 0, sizeof(fat_file_fd_t));                        
                                                                      
    lfat_fd->links_num = 1;                                           
    lfat_fd->flags &= ~FAT_FILE_REMOVED;                              
   51a58:	72fe           	moveq #-2,%d1                               
    lfat_fd->map.last_cln = FAT_UNDEFINED_VALUE;                      
                                                                      
    lfat_fd->dir_pos = *dir_pos;                                      
                                                                      
    if ( rc != RC_OK )                                                
   51a5a:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
    lfat_fd->links_num = 1;                                           
    lfat_fd->flags &= ~FAT_FILE_REMOVED;                              
    lfat_fd->map.last_cln = FAT_UNDEFINED_VALUE;                      
                                                                      
    lfat_fd->dir_pos = *dir_pos;                                      
   51a5e:	2b5c 0024      	movel %a4@+,%a5@(36)                        
   51a62:	2b5c 0028      	movel %a4@+,%a5@(40)                        
   51a66:	2b54 002c      	movel %a4@,%a5@(44)                         
        rtems_set_errno_and_return_minus_one( ENOMEM );               
                                                                      
    memset(lfat_fd, 0, sizeof(fat_file_fd_t));                        
                                                                      
    lfat_fd->links_num = 1;                                           
    lfat_fd->flags &= ~FAT_FILE_REMOVED;                              
   51a6a:	102d 0030      	moveb %a5@(48),%d0                          
    if ( lfat_fd == NULL )                                            
        rtems_set_errno_and_return_minus_one( ENOMEM );               
                                                                      
    memset(lfat_fd, 0, sizeof(fat_file_fd_t));                        
                                                                      
    lfat_fd->links_num = 1;                                           
   51a6e:	2b45 0008      	movel %d5,%a5@(8)                           
    lfat_fd->flags &= ~FAT_FILE_REMOVED;                              
    lfat_fd->map.last_cln = FAT_UNDEFINED_VALUE;                      
   51a72:	7aff           	moveq #-1,%d5                               
        rtems_set_errno_and_return_minus_one( ENOMEM );               
                                                                      
    memset(lfat_fd, 0, sizeof(fat_file_fd_t));                        
                                                                      
    lfat_fd->links_num = 1;                                           
    lfat_fd->flags &= ~FAT_FILE_REMOVED;                              
   51a74:	c081           	andl %d1,%d0                                
    lfat_fd->map.last_cln = FAT_UNDEFINED_VALUE;                      
   51a76:	2b45 003a      	movel %d5,%a5@(58)                          
        rtems_set_errno_and_return_minus_one( ENOMEM );               
                                                                      
    memset(lfat_fd, 0, sizeof(fat_file_fd_t));                        
                                                                      
    lfat_fd->links_num = 1;                                           
    lfat_fd->flags &= ~FAT_FILE_REMOVED;                              
   51a7a:	1b40 0030      	moveb %d0,%a5@(48)                          
    lfat_fd->map.last_cln = FAT_UNDEFINED_VALUE;                      
                                                                      
    lfat_fd->dir_pos = *dir_pos;                                      
                                                                      
    if ( rc != RC_OK )                                                
   51a7e:	4a84           	tstl %d4                                    
   51a80:	6700 00f0      	beqw 51b72 <fat_file_open+0x25e>            
        lfat_fd->ino = key;                                           
   51a84:	2b42 000c      	movel %d2,%a5@(12)                          
RTEMS_INLINE_ROUTINE void rtems_chain_append(                         
  rtems_chain_control *the_chain,                                     
  rtems_chain_node    *the_node                                       
)                                                                     
{                                                                     
  _Chain_Append( the_chain, the_node );                               
   51a88:	2f0d           	movel %a5,%sp@-                             
   51a8a:	d6aa 0062      	addl %a2@(98),%d3                           
   51a8e:	2f03           	movel %d3,%sp@-                             
   51a90:	4eb9 0004 a044 	jsr 4a044 <_Chain_Append>                   
   51a96:	508f           	addql #8,%sp                                
    /*                                                                
     * other fields of fat-file descriptor will be initialized on upper
     * level                                                          
     */                                                               
                                                                      
    return RC_OK;                                                     
   51a98:	4280           	clrl %d0                                    
}                                                                     
   51a9a:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            
   51aa0:	4e5e           	unlk %fp                                    
   51aa2:	4e75           	rts                                         
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51aa4:	4281           	clrl %d1                                    <== NOT EXECUTED
   51aa6:	122a 0005      	moveb %a2@(5),%d1                           <== NOT EXECUTED
   51aaa:	5580           	subql #2,%d0                                <== NOT EXECUTED
   51aac:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51aae:	4281           	clrl %d1                                    <== NOT EXECUTED
   51ab0:	122a 0003      	moveb %a2@(3),%d1                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51ab4:	d0aa 0030      	addl %a2@(48),%d0                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51ab8:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   51aba:	6000 fe96      	braw 51952 <fat_file_open+0x3e>             <== NOT EXECUTED
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51abe:	4281           	clrl %d1                                    <== NOT EXECUTED
   51ac0:	122a 0005      	moveb %a2@(5),%d1                           <== NOT EXECUTED
   51ac4:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51ac6:	4281           	clrl %d1                                    <== NOT EXECUTED
   51ac8:	122a 0003      	moveb %a2@(3),%d1                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51acc:	d0aa 0030      	addl %a2@(48),%d0                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51ad0:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   51ad2:	6000 fede      	braw 519b2 <fat_file_open+0x9e>             <== NOT EXECUTED
    /* access "valid" hash table */                                   
    rc = _hash_search(fs_info, fs_info->vhash, key, 0, &lfat_fd);     
    if ( rc == RC_OK )                                                
    {                                                                 
        /* return pointer to fat_file_descriptor allocated before */  
        (*fat_fd) = lfat_fd;                                          
   51ad6:	2688           	movel %a0,%a3@                              <== NOT EXECUTED
        lfat_fd->links_num++;                                         
   51ad8:	4280           	clrl %d0                                    <== NOT EXECUTED
   51ada:	52a8 0008      	addql #1,%a0@(8)                            <== NOT EXECUTED
     * other fields of fat-file descriptor will be initialized on upper
     * level                                                          
     */                                                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   51ade:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            <== NOT EXECUTED
   51ae4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51ae6:	4e75           	rts                                         <== NOT EXECUTED
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
   51ae8:	7001           	moveq #1,%d0                                
   51aea:	6000 fec6      	braw 519b2 <fat_file_open+0x9e>             
        fat_file_fd_t *ffd = (fat_file_fd_t *)the_node;               
        uint32_t       ck =  fat_construct_key(fs_info, &ffd->dir_pos.sname);
                                                                      
        if ( (key1) == ck)                                            
        {                                                             
            if ( ((key2) == 0) || ((key2) == ffd->ino) )              
   51aee:	4a82           	tstl %d2                                    <== NOT EXECUTED
   51af0:	6708           	beqs 51afa <fat_file_open+0x1e6>            <== NOT EXECUTED
   51af2:	b4a8 000c      	cmpl %a0@(12),%d2                           <== NOT EXECUTED
   51af6:	6600 ff30      	bnew 51a28 <fat_file_open+0x114>            <== NOT EXECUTED
            {                                                         
                *ret = (void *)the_node;                              
                return 0;                                             
   51afa:	4284           	clrl %d4                                    <== NOT EXECUTED
   51afc:	6000 ff32      	braw 51a30 <fat_file_open+0x11c>            <== NOT EXECUTED
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51b00:	4280           	clrl %d0                                    <== NOT EXECUTED
   51b02:	102a 0005      	moveb %a2@(5),%d0                           <== NOT EXECUTED
   51b06:	5581           	subql #2,%d1                                <== NOT EXECUTED
   51b08:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51b0a:	4280           	clrl %d0                                    <== NOT EXECUTED
   51b0c:	102a 0003      	moveb %a2@(3),%d0                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51b10:	d2aa 0030      	addl %a2@(48),%d1                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
                                                                      
    return (fat_cluster_num_to_sector_num(fs_info, cln) <<            
   51b14:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
   51b16:	6000 fef4      	braw 51a0c <fat_file_open+0xf8>             <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   51b1a:	2028 0024      	movel %a0@(36),%d0                          <== NOT EXECUTED
   51b1e:	7a09           	moveq #9,%d5                                <== NOT EXECUTED
   51b20:	2800           	movel %d0,%d4                               <== NOT EXECUTED
   51b22:	eaac           	lsrl %d5,%d4                                <== NOT EXECUTED
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if (cln == 1)                                                     
        return 1;                                                     
   51b24:	7201           	moveq #1,%d1                                <== NOT EXECUTED
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   51b26:	d284           	addl %d4,%d1                                <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   51b28:	ea88           	lsrl #5,%d0                                 <== NOT EXECUTED
   51b2a:	780f           	moveq #15,%d4                               <== NOT EXECUTED
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   51b2c:	e989           	lsll #4,%d1                                 <== NOT EXECUTED
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   51b2e:	c084           	andl %d4,%d0                                <== NOT EXECUTED
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   51b30:	d081           	addl %d1,%d0                                <== NOT EXECUTED
    for ( ; !rtems_chain_is_tail((hash) + mod, the_node) ; )          
    {                                                                 
        fat_file_fd_t *ffd = (fat_file_fd_t *)the_node;               
        uint32_t       ck =  fat_construct_key(fs_info, &ffd->dir_pos.sname);
                                                                      
        if ( (key1) == ck)                                            
   51b32:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   51b34:	6600 fef2      	bnew 51a28 <fat_file_open+0x114>            <== NOT EXECUTED
   51b38:	60b4           	bras 51aee <fat_file_open+0x1da>            <== NOT EXECUTED
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   51b3a:	242c 0004      	movel %a4@(4),%d2                           
   51b3e:	7609           	moveq #9,%d3                                
   51b40:	2202           	movel %d2,%d1                               
   51b42:	e6a9           	lsrl %d3,%d1                                
   51b44:	7001           	moveq #1,%d0                                
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   51b46:	d081           	addl %d1,%d0                                
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   51b48:	ea8a           	lsrl #5,%d2                                 
   51b4a:	780f           	moveq #15,%d4                               
    uint32_t                               key1,                      
    uint32_t                               key2,                      
    fat_file_fd_t                          **ret                      
    )                                                                 
{                                                                     
    uint32_t          mod = (key1) % FAT_HASH_MODULE;                 
   51b4c:	163c 0001      	moveb #1,%d3                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
              (pos->ofs >> FAT_SECTOR512_BITS)) << 4)              +  
   51b50:	e988           	lsll #4,%d0                                 
              ((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );  
   51b52:	c484           	andl %d4,%d2                                
   51b54:	226a 0062      	moveal %a2@(98),%a1                         
static inline uint32_t                                                
fat_construct_key(                                                    
    const fat_fs_info_t                  *fs_info,                    
    fat_pos_t                            *pos)                        
{                                                                     
    return ( ((fat_cluster_num_to_sector512_num(fs_info, pos->cln) +  
   51b58:	d480           	addl %d0,%d2                                
   51b5a:	c682           	andl %d2,%d3                                
    rtems_chain_node *the_node = rtems_chain_first(hash + mod);       
   51b5c:	2003           	movel %d3,%d0                               
   51b5e:	e98b           	lsll #4,%d3                                 
   51b60:	e588           	lsll #2,%d0                                 
   51b62:	9680           	subl %d0,%d3                                
   51b64:	d3c3           	addal %d3,%a1                               
   51b66:	2059           	moveal %a1@+,%a0                            
                                                                      
    for ( ; !rtems_chain_is_tail((hash) + mod, the_node) ; )          
   51b68:	b3c8           	cmpal %a0,%a1                               
   51b6a:	6600 fe16      	bnew 51982 <fat_file_open+0x6e>             
   51b6e:	6000 fe64      	braw 519d4 <fat_file_open+0xc0>             
                                                                      
    if ( rc != RC_OK )                                                
        lfat_fd->ino = key;                                           
    else                                                              
    {                                                                 
        lfat_fd->ino = fat_get_unique_ino(fs_info);                   
   51b72:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51b74:	4eb9 0005 3980 	jsr 53980 <fat_get_unique_ino>              <== NOT EXECUTED
                                                                      
        if ( lfat_fd->ino == 0 )                                      
   51b7a:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
    if ( rc != RC_OK )                                                
        lfat_fd->ino = key;                                           
    else                                                              
    {                                                                 
        lfat_fd->ino = fat_get_unique_ino(fs_info);                   
   51b7c:	2b40 000c      	movel %d0,%a5@(12)                          <== NOT EXECUTED
                                                                      
        if ( lfat_fd->ino == 0 )                                      
   51b80:	6600 ff06      	bnew 51a88 <fat_file_open+0x174>            <== NOT EXECUTED
        {                                                             
            free((*fat_fd));                                          
   51b84:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   51b86:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
            /*                                                        
             * XXX: kernel resource is unsufficient, but not the memory,
             * but there is no suitable errno :(                      
             */                                                       
            rtems_set_errno_and_return_minus_one( ENOMEM );           
   51b8c:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   51b92:	588f           	addql #4,%sp                                <== NOT EXECUTED
   51b94:	720c           	moveq #12,%d1                               <== NOT EXECUTED
   51b96:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   51b98:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
     * other fields of fat-file descriptor will be initialized on upper
     * level                                                          
     */                                                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   51b9a:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            <== NOT EXECUTED
            free((*fat_fd));                                          
            /*                                                        
             * XXX: kernel resource is unsufficient, but not the memory,
             * but there is no suitable errno :(                      
             */                                                       
            rtems_set_errno_and_return_minus_one( ENOMEM );           
   51ba0:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
     * other fields of fat-file descriptor will be initialized on upper
     * level                                                          
     */                                                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   51ba2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51ba4:	4e75           	rts                                         <== NOT EXECUTED
    /* access "removed-but-still-open" hash table */                  
    rc = _hash_search(fs_info, fs_info->rhash, key, key, &lfat_fd);   
                                                                      
    lfat_fd = (*fat_fd) = (fat_file_fd_t*)malloc(sizeof(fat_file_fd_t));
    if ( lfat_fd == NULL )                                            
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   51ba6:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   51bac:	740c           	moveq #12,%d2                               <== NOT EXECUTED
   51bae:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   51bb0:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   51bb2:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
     * other fields of fat-file descriptor will be initialized on upper
     * level                                                          
     */                                                               
                                                                      
    return RC_OK;                                                     
}                                                                     
   51bb4:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            <== NOT EXECUTED
   51bba:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051bd0 <fat_file_read>: fat_file_fd_t *fat_fd, uint32_t start, uint32_t count, uint8_t *buf ) {
   51bd0:	4e56 ffcc      	linkw %fp,#-52                              
   51bd4:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   51bd8:	246e 0008      	moveal %fp@(8),%a2                          
   51bdc:	266e 000c      	moveal %fp@(12),%a3                         
   51be0:	282e 0010      	movel %fp@(16),%d4                          
   51be4:	242e 0014      	movel %fp@(20),%d2                          
    int            rc = RC_OK;                                        
    ssize_t        ret = 0;                                           
    uint32_t       cmpltd = 0;                                        
    uint32_t       cur_cln = 0;                                       
   51be8:	42ae fffc      	clrl %fp@(-4)                               
    uint32_t       sec = 0;                                           
    uint32_t       byte = 0;                                          
    uint32_t       c = 0;                                             
                                                                      
    /* it couldn't be removed - otherwise cache update will be broken */
    if (count == 0)                                                   
   51bec:	4a82           	tstl %d2                                    
   51bee:	6700 0106      	beqw 51cf6 <fat_file_read+0x126>            
                                                                      
    /*                                                                
     * >= because start is offset and computed from 0 and file_size   
     * computed from 1                                                
     */                                                               
    if ( start >= fat_fd->fat_file_size )                             
   51bf2:	202b 0018      	movel %a3@(24),%d0                          
   51bf6:	b880           	cmpl %d0,%d4                                
   51bf8:	6400 00fc      	bccw 51cf6 <fat_file_read+0x126>            
        return FAT_EOF;                                               
                                                                      
    if ((count > fat_fd->fat_file_size) ||                            
   51bfc:	b082           	cmpl %d2,%d0                                
   51bfe:	6400 0102      	bccw 51d02 <fat_file_read+0x132>            
        (start > fat_fd->fat_file_size - count))                      
        count = fat_fd->fat_file_size - start;                        
   51c02:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   51c04:	9484           	subl %d4,%d2                                <== NOT EXECUTED
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
   51c06:	7001           	moveq #1,%d0                                
   51c08:	b0ab 0020      	cmpl %a3@(32),%d0                           
   51c0c:	6700 0106      	beqw 51d14 <fat_file_read+0x144>            
            return -1;                                                
                                                                      
        return ret;                                                   
    }                                                                 
                                                                      
    cl_start = start >> fs_info->vol.bpc_log2;                        
   51c10:	4280           	clrl %d0                                    <== NOT EXECUTED
   51c12:	102a 0008      	moveb %a2@(8),%d0                           <== NOT EXECUTED
   51c16:	2604           	movel %d4,%d3                               <== NOT EXECUTED
    save_ofs = ofs = start & (fs_info->vol.bpc - 1);                  
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
   51c18:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
            return -1;                                                
                                                                      
        return ret;                                                   
    }                                                                 
                                                                      
    cl_start = start >> fs_info->vol.bpc_log2;                        
   51c1c:	e0ab           	lsrl %d0,%d3                                <== NOT EXECUTED
    save_ofs = ofs = start & (fs_info->vol.bpc - 1);                  
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
   51c1e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
                                                                      
        return ret;                                                   
    }                                                                 
                                                                      
    cl_start = start >> fs_info->vol.bpc_log2;                        
    save_ofs = ofs = start & (fs_info->vol.bpc - 1);                  
   51c20:	3c2a 0006      	movew %a2@(6),%d6                           <== NOT EXECUTED
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
   51c24:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
            return -1;                                                
                                                                      
        return ret;                                                   
    }                                                                 
                                                                      
    cl_start = start >> fs_info->vol.bpc_log2;                        
   51c26:	2d43 fff8      	movel %d3,%fp@(-8)                          <== NOT EXECUTED
    save_ofs = ofs = start & (fs_info->vol.bpc - 1);                  
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
   51c2a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51c2c:	4eba fc3a      	jsr %pc@(51868 <fat_file_lseek>)            <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   51c30:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   51c34:	4a81           	tstl %d1                                    <== NOT EXECUTED
   51c36:	6600 0138      	bnew 51d70 <fat_file_read+0x1a0>            <== NOT EXECUTED
                                                                      
        return ret;                                                   
    }                                                                 
                                                                      
    cl_start = start >> fs_info->vol.bpc_log2;                        
    save_ofs = ofs = start & (fs_info->vol.bpc - 1);                  
   51c3a:	0286 0000 ffff 	andil #65535,%d6                            <== NOT EXECUTED
   51c40:	5386           	subql #1,%d6                                <== NOT EXECUTED
   51c42:	c886           	andl %d6,%d4                                <== NOT EXECUTED
   51c44:	2d44 fff4      	movel %d4,%fp@(-12)                         <== NOT EXECUTED
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    while (count > 0)                                                 
   51c48:	4a82           	tstl %d2                                    <== NOT EXECUTED
   51c4a:	6700 01b0      	beqw 51dfc <fat_file_read+0x22c>            <== NOT EXECUTED
   51c4e:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
   51c50:	2a0c           	movel %a4,%d5                               <== NOT EXECUTED
   51c52:	284a           	moveal %a2,%a4                              <== NOT EXECUTED
   51c54:	4bf9 0005 29c4 	lea 529c4 <_fat_block_read>,%a5             <== NOT EXECUTED
   51c5a:	1e2a 0002      	moveb %a2@(2),%d7                           <== NOT EXECUTED
   51c5e:	3252           	moveaw %a2@,%a1                             <== NOT EXECUTED
   51c60:	2c2e fff4      	movel %fp@(-12),%d6                         <== NOT EXECUTED
   51c64:	246e 0018      	moveal %fp@(24),%a2                         <== NOT EXECUTED
    {                                                                 
        c = MIN(count, (fs_info->vol.bpc - ofs));                     
   51c68:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
        sec = fat_cluster_num_to_sector_num(fs_info, cur_cln);        
   51c6a:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51c6e:	2208           	movel %a0,%d1                               <== NOT EXECUTED
   51c70:	5581           	subql #2,%d1                                <== NOT EXECUTED
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    while (count > 0)                                                 
    {                                                                 
        c = MIN(count, (fs_info->vol.bpc - ofs));                     
   51c72:	302c 0006      	movew %a4@(6),%d0                           <== NOT EXECUTED
   51c76:	9086           	subl %d6,%d0                                <== NOT EXECUTED
   51c78:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   51c7a:	6402           	bccs 51c7e <fat_file_read+0xae>             <== NOT EXECUTED
   51c7c:	2002           	movel %d2,%d0                               <== NOT EXECUTED
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   51c7e:	4a88           	tstl %a0                                    <== NOT EXECUTED
   51c80:	6600 00fa      	bnew 51d7c <fat_file_read+0x1ac>            <== NOT EXECUTED
   51c84:	7603           	moveq #3,%d3                                <== NOT EXECUTED
   51c86:	182c 000e      	moveb %a4@(14),%d4                          <== NOT EXECUTED
   51c8a:	c883           	andl %d3,%d4                                <== NOT EXECUTED
   51c8c:	4a04           	tstb %d4                                    <== NOT EXECUTED
   51c8e:	6700 00ec      	beqw 51d7c <fat_file_read+0x1ac>            <== NOT EXECUTED
        return fs_info->vol.rdir_loc;                                 
   51c92:	222c 001e      	movel %a4@(30),%d1                          <== NOT EXECUTED
                                                                      
        sec = fat_cluster_num_to_sector_num(fs_info, cur_cln);        
        sec += (ofs >> fs_info->vol.sec_log2);                        
        byte = ofs & (fs_info->vol.bps - 1);                          
   51c96:	4284           	clrl %d4                                    <== NOT EXECUTED
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, c, buf + cmpltd);   
   51c98:	4872 5800      	pea %a2@(00000000,%d5:l)                    <== NOT EXECUTED
        if ( ret < 0 )                                                
            return -1;                                                
                                                                      
        count -= c;                                                   
   51c9c:	9480           	subl %d0,%d2                                <== NOT EXECUTED
        cmpltd += c;                                                  
   51c9e:	da80           	addl %d0,%d5                                <== NOT EXECUTED
                                                                      
        sec = fat_cluster_num_to_sector_num(fs_info, cur_cln);        
        sec += (ofs >> fs_info->vol.sec_log2);                        
        byte = ofs & (fs_info->vol.bps - 1);                          
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, c, buf + cmpltd);   
   51ca0:	2041           	moveal %d1,%a0                              <== NOT EXECUTED
    {                                                                 
        c = MIN(count, (fs_info->vol.bpc - ofs));                     
                                                                      
        sec = fat_cluster_num_to_sector_num(fs_info, cur_cln);        
        sec += (ofs >> fs_info->vol.sec_log2);                        
        byte = ofs & (fs_info->vol.bps - 1);                          
   51ca2:	3809           	movew %a1,%d4                               <== NOT EXECUTED
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, c, buf + cmpltd);   
   51ca4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
    {                                                                 
        c = MIN(count, (fs_info->vol.bpc - ofs));                     
                                                                      
        sec = fat_cluster_num_to_sector_num(fs_info, cur_cln);        
        sec += (ofs >> fs_info->vol.sec_log2);                        
        byte = ofs & (fs_info->vol.bps - 1);                          
   51ca6:	2244           	moveal %d4,%a1                              <== NOT EXECUTED
   51ca8:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   51caa:	5380           	subql #1,%d0                                <== NOT EXECUTED
    while (count > 0)                                                 
    {                                                                 
        c = MIN(count, (fs_info->vol.bpc - ofs));                     
                                                                      
        sec = fat_cluster_num_to_sector_num(fs_info, cur_cln);        
        sec += (ofs >> fs_info->vol.sec_log2);                        
   51cac:	0287 0000 00ff 	andil #255,%d7                              <== NOT EXECUTED
        byte = ofs & (fs_info->vol.bps - 1);                          
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, c, buf + cmpltd);   
   51cb2:	c086           	andl %d6,%d0                                <== NOT EXECUTED
    while (count > 0)                                                 
    {                                                                 
        c = MIN(count, (fs_info->vol.bpc - ofs));                     
                                                                      
        sec = fat_cluster_num_to_sector_num(fs_info, cur_cln);        
        sec += (ofs >> fs_info->vol.sec_log2);                        
   51cb4:	eeae           	lsrl %d7,%d6                                <== NOT EXECUTED
        byte = ofs & (fs_info->vol.bps - 1);                          
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, c, buf + cmpltd);   
   51cb6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   51cb8:	4870 6800      	pea %a0@(00000000,%d6:l)                    <== NOT EXECUTED
   51cbc:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   51cbe:	4e95           	jsr %a5@                                    <== NOT EXECUTED
        if ( ret < 0 )                                                
   51cc0:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   51cc4:	4a80           	tstl %d0                                    <== NOT EXECUTED
   51cc6:	6d00 009c      	bltw 51d64 <fat_file_read+0x194>            <== NOT EXECUTED
            return -1;                                                
                                                                      
        count -= c;                                                   
        cmpltd += c;                                                  
        save_cln = cur_cln;                                           
        rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);         
   51cca:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
        if ( rc != RC_OK )                                            
            return rc;                                                
                                                                      
        ofs = 0;                                                      
   51cce:	4286           	clrl %d6                                    <== NOT EXECUTED
        if ( ret < 0 )                                                
            return -1;                                                
                                                                      
        count -= c;                                                   
        cmpltd += c;                                                  
        save_cln = cur_cln;                                           
   51cd0:	2e2e fffc      	movel %fp@(-4),%d7                          <== NOT EXECUTED
        rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);         
   51cd4:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   51cd6:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   51cd8:	4eb9 0005 8ac0 	jsr 58ac0 <fat_get_fat_cluster>             <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   51cde:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   51ce2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   51ce4:	6612           	bnes 51cf8 <fat_file_read+0x128>            <== NOT EXECUTED
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    while (count > 0)                                                 
   51ce6:	4a82           	tstl %d2                                    <== NOT EXECUTED
   51ce8:	6700 00e4      	beqw 51dce <fat_file_read+0x1fe>            <== NOT EXECUTED
   51cec:	1e2c 0002      	moveb %a4@(2),%d7                           <== NOT EXECUTED
   51cf0:	3254           	moveaw %a4@,%a1                             <== NOT EXECUTED
   51cf2:	6000 ff74      	braw 51c68 <fat_file_read+0x98>             <== NOT EXECUTED
    uint32_t       byte = 0;                                          
    uint32_t       c = 0;                                             
                                                                      
    /* it couldn't be removed - otherwise cache update will be broken */
    if (count == 0)                                                   
        return cmpltd;                                                
   51cf6:	4280           	clrl %d0                                    <== NOT EXECUTED
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
    fat_fd->map.disk_cln = save_cln;                                  
                                                                      
    return cmpltd;                                                    
}                                                                     
   51cf8:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            
   51cfe:	4e5e           	unlk %fp                                    
   51d00:	4e75           	rts                                         
     */                                                               
    if ( start >= fat_fd->fat_file_size )                             
        return FAT_EOF;                                               
                                                                      
    if ((count > fat_fd->fat_file_size) ||                            
        (start > fat_fd->fat_file_size - count))                      
   51d02:	2200           	movel %d0,%d1                               
   51d04:	9282           	subl %d2,%d1                                
     * computed from 1                                                
     */                                                               
    if ( start >= fat_fd->fat_file_size )                             
        return FAT_EOF;                                               
                                                                      
    if ((count > fat_fd->fat_file_size) ||                            
   51d06:	b284           	cmpl %d4,%d1                                
   51d08:	6400 fefc      	bccw 51c06 <fat_file_read+0x36>             
        (start > fat_fd->fat_file_size - count))                      
        count = fat_fd->fat_file_size - start;                        
   51d0c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   51d0e:	9484           	subl %d4,%d2                                <== NOT EXECUTED
   51d10:	6000 fef4      	braw 51c06 <fat_file_read+0x36>             <== NOT EXECUTED
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
   51d14:	4aab 0024      	tstl %a3@(36)                               
   51d18:	6600 fef6      	bnew 51c10 <fat_file_read+0x40>             
   51d1c:	7203           	moveq #3,%d1                                
   51d1e:	102a 000e      	moveb %a2@(14),%d0                          
   51d22:	c081           	andl %d1,%d0                                
   51d24:	4a00           	tstb %d0                                    
   51d26:	6700 fee8      	beqw 51c10 <fat_file_read+0x40>             
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
   51d2a:	202b 001c      	movel %a3@(28),%d0                          
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   51d2e:	665c           	bnes 51d8c <fat_file_read+0x1bc>            <== NEVER TAKEN
        return fs_info->vol.rdir_loc;                                 
   51d30:	202a 001e      	movel %a2@(30),%d0                          
        sec += (start >> fs_info->vol.sec_log2);                      
        byte = start & (fs_info->vol.bps - 1);                        
   51d34:	4281           	clrl %d1                                    
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, count, buf);        
   51d36:	2040           	moveal %d0,%a0                              
   51d38:	2f2e 0018      	movel %fp@(24),%sp@-                        
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
        byte = start & (fs_info->vol.bps - 1);                        
   51d3c:	3212           	movew %a2@,%d1                              
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, count, buf);        
   51d3e:	2f02           	movel %d2,%sp@-                             
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
        byte = start & (fs_info->vol.bps - 1);                        
   51d40:	2401           	movel %d1,%d2                               
   51d42:	5382           	subql #1,%d2                                
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
   51d44:	4281           	clrl %d1                                    
   51d46:	122a 0002      	moveb %a2@(2),%d1                           
        byte = start & (fs_info->vol.bps - 1);                        
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, count, buf);        
   51d4a:	c484           	andl %d4,%d2                                
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
   51d4c:	e2ac           	lsrl %d1,%d4                                
        byte = start & (fs_info->vol.bps - 1);                        
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, count, buf);        
   51d4e:	2f02           	movel %d2,%sp@-                             
   51d50:	4870 4800      	pea %a0@(00000000,%d4:l)                    
   51d54:	2f0a           	movel %a2,%sp@-                             
   51d56:	4eb9 0005 29c4 	jsr 529c4 <_fat_block_read>                 
        if ( ret < 0 )                                                
   51d5c:	4fef 0014      	lea %sp@(20),%sp                            
   51d60:	4a80           	tstl %d0                                    
   51d62:	6c94           	bges 51cf8 <fat_file_read+0x128>            <== ALWAYS TAKEN
        sec += (ofs >> fs_info->vol.sec_log2);                        
        byte = ofs & (fs_info->vol.bps - 1);                          
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, c, buf + cmpltd);   
        if ( ret < 0 )                                                
            return -1;                                                
   51d64:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
    fat_fd->map.disk_cln = save_cln;                                  
                                                                      
    return cmpltd;                                                    
}                                                                     
   51d66:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   51d6c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51d6e:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    cl_start = start >> fs_info->vol.bpc_log2;                        
    save_ofs = ofs = start & (fs_info->vol.bpc - 1);                  
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
    if (rc != RC_OK)                                                  
   51d70:	2001           	movel %d1,%d0                               <== NOT EXECUTED
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
    fat_fd->map.disk_cln = save_cln;                                  
                                                                      
    return cmpltd;                                                    
}                                                                     
   51d72:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   51d78:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51d7a:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   51d7c:	4283           	clrl %d3                                    <== NOT EXECUTED
   51d7e:	162c 0005      	moveb %a4@(5),%d3                           <== NOT EXECUTED
   51d82:	e7a9           	lsll %d3,%d1                                <== NOT EXECUTED
   51d84:	d2ac 0030      	addl %a4@(48),%d1                           <== NOT EXECUTED
   51d88:	6000 ff0c      	braw 51c96 <fat_file_read+0xc6>             <== NOT EXECUTED
   51d8c:	4281           	clrl %d1                                    <== NOT EXECUTED
   51d8e:	122a 0005      	moveb %a2@(5),%d1                           <== NOT EXECUTED
   51d92:	5580           	subql #2,%d0                                <== NOT EXECUTED
   51d94:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
        byte = start & (fs_info->vol.bps - 1);                        
   51d96:	4281           	clrl %d1                                    <== NOT EXECUTED
   51d98:	d0aa 0030      	addl %a2@(48),%d0                           <== NOT EXECUTED
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, count, buf);        
   51d9c:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   51d9e:	2f2e 0018      	movel %fp@(24),%sp@-                        <== NOT EXECUTED
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
        byte = start & (fs_info->vol.bps - 1);                        
   51da2:	3212           	movew %a2@,%d1                              <== NOT EXECUTED
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, count, buf);        
   51da4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
        byte = start & (fs_info->vol.bps - 1);                        
   51da6:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   51da8:	5382           	subql #1,%d2                                <== NOT EXECUTED
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
   51daa:	4281           	clrl %d1                                    <== NOT EXECUTED
   51dac:	122a 0002      	moveb %a2@(2),%d1                           <== NOT EXECUTED
        byte = start & (fs_info->vol.bps - 1);                        
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, count, buf);        
   51db0:	c484           	andl %d4,%d2                                <== NOT EXECUTED
                                                                      
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        sec = fat_cluster_num_to_sector_num(fs_info, fat_fd->cln);    
        sec += (start >> fs_info->vol.sec_log2);                      
   51db2:	e2ac           	lsrl %d1,%d4                                <== NOT EXECUTED
        byte = start & (fs_info->vol.bps - 1);                        
                                                                      
        ret = _fat_block_read(fs_info, sec, byte, count, buf);        
   51db4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51db6:	4870 4800      	pea %a0@(00000000,%d4:l)                    <== NOT EXECUTED
   51dba:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51dbc:	4eb9 0005 29c4 	jsr 529c4 <_fat_block_read>                 <== NOT EXECUTED
        if ( ret < 0 )                                                
   51dc2:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   51dc6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   51dc8:	6c00 ff2e      	bgew 51cf8 <fat_file_read+0x128>            <== NOT EXECUTED
   51dcc:	6096           	bras 51d64 <fat_file_read+0x194>            <== NOT EXECUTED
   51dce:	244c           	moveal %a4,%a2                              <== NOT EXECUTED
   51dd0:	2845           	moveal %d5,%a4                              <== NOT EXECUTED
    }                                                                 
                                                                      
    /* update cache */                                                
    /* XXX: check this - I'm not sure :( */                           
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
   51dd2:	4282           	clrl %d2                                    <== NOT EXECUTED
   51dd4:	142a 0008      	moveb %a2@(8),%d2                           <== NOT EXECUTED
   51dd8:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   51dda:	206e fff4      	moveal %fp@(-12),%a0                        <== NOT EXECUTED
   51dde:	41f0 c8ff      	lea %a0@(ffffffff,%a4:l),%a0                <== NOT EXECUTED
    fat_fd->map.disk_cln = save_cln;                                  
   51de2:	2747 0036      	movel %d7,%a3@(54)                          <== NOT EXECUTED
    }                                                                 
                                                                      
    /* update cache */                                                
    /* XXX: check this - I'm not sure :( */                           
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
   51de6:	2208           	movel %a0,%d1                               <== NOT EXECUTED
   51de8:	e4a9           	lsrl %d2,%d1                                <== NOT EXECUTED
        ofs = 0;                                                      
    }                                                                 
                                                                      
    /* update cache */                                                
    /* XXX: check this - I'm not sure :( */                           
    fat_fd->map.file_cln = cl_start +                                 
   51dea:	d2ae fff8      	addl %fp@(-8),%d1                           <== NOT EXECUTED
   51dee:	2741 0032      	movel %d1,%a3@(50)                          <== NOT EXECUTED
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
    fat_fd->map.disk_cln = save_cln;                                  
                                                                      
    return cmpltd;                                                    
}                                                                     
   51df2:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   51df8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51dfa:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
                                                                      
    /* update cache */                                                
    /* XXX: check this - I'm not sure :( */                           
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
   51dfc:	206e fff4      	moveal %fp@(-12),%a0                        <== NOT EXECUTED
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    while (count > 0)                                                 
   51e00:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
    }                                                                 
                                                                      
    /* update cache */                                                
    /* XXX: check this - I'm not sure :( */                           
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
   51e02:	4282           	clrl %d2                                    <== NOT EXECUTED
   51e04:	142a 0008      	moveb %a2@(8),%d2                           <== NOT EXECUTED
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    while (count > 0)                                                 
   51e08:	4287           	clrl %d7                                    <== NOT EXECUTED
   51e0a:	4280           	clrl %d0                                    <== NOT EXECUTED
    }                                                                 
                                                                      
    /* update cache */                                                
    /* XXX: check this - I'm not sure :( */                           
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
   51e0c:	41f0 c8ff      	lea %a0@(ffffffff,%a4:l),%a0                <== NOT EXECUTED
    fat_fd->map.disk_cln = save_cln;                                  
   51e10:	2747 0036      	movel %d7,%a3@(54)                          <== NOT EXECUTED
    }                                                                 
                                                                      
    /* update cache */                                                
    /* XXX: check this - I'm not sure :( */                           
    fat_fd->map.file_cln = cl_start +                                 
                           ((save_ofs + cmpltd - 1) >> fs_info->vol.bpc_log2);
   51e14:	2208           	movel %a0,%d1                               <== NOT EXECUTED
   51e16:	e4a9           	lsrl %d2,%d1                                <== NOT EXECUTED
        ofs = 0;                                                      
    }                                                                 
                                                                      
    /* update cache */                                                
    /* XXX: check this - I'm not sure :( */                           
    fat_fd->map.file_cln = cl_start +                                 
   51e18:	d2ae fff8      	addl %fp@(-8),%d1                           <== NOT EXECUTED
   51e1c:	2741 0032      	movel %d1,%a3@(50)                          <== NOT EXECUTED
   51e20:	60d0           	bras 51df2 <fat_file_read+0x222>            <== NOT EXECUTED
                                                                      

00052680 <fat_file_size>: int rc = RC_OK; uint32_t cur_cln = fat_fd->cln; uint32_t save_cln = 0; /* Have we requested root dir size for FAT12/16? */ if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&
   52680:	7001           	moveq #1,%d0                                <== NOT EXECUTED
int                                                                   
fat_file_size(                                                        
    fat_fs_info_t                        *fs_info,                    
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   52682:	4e56 ffe4      	linkw %fp,#-28                              <== NOT EXECUTED
   52686:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 <== NOT EXECUTED
   5268a:	266e 000c      	moveal %fp@(12),%a3                         <== NOT EXECUTED
    int            rc = RC_OK;                                        
    uint32_t       cur_cln = fat_fd->cln;                             
   5268e:	242b 001c      	movel %a3@(28),%d2                          <== NOT EXECUTED
int                                                                   
fat_file_size(                                                        
    fat_fs_info_t                        *fs_info,                    
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   52692:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
    int            rc = RC_OK;                                        
    uint32_t       cur_cln = fat_fd->cln;                             
   52696:	2d42 fffc      	movel %d2,%fp@(-4)                          <== NOT EXECUTED
    uint32_t       save_cln = 0;                                      
                                                                      
    /* Have we requested root dir size for FAT12/16? */               
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
   5269a:	b0ab 0020      	cmpl %a3@(32),%d0                           <== NOT EXECUTED
   5269e:	6760           	beqs 52700 <fat_file_size+0x80>             <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    fat_fd->fat_file_size = 0;                                        
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   526a0:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   526a2:	c0aa 0010      	andl %a2@(16),%d0                           <== NOT EXECUTED
    {                                                                 
        fat_fd->fat_file_size = fs_info->vol.rdir_size;               
        return rc;                                                    
    }                                                                 
                                                                      
    fat_fd->fat_file_size = 0;                                        
   526a6:	42ab 0018      	clrl %a3@(24)                               <== NOT EXECUTED
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   526aa:	b0aa 0014      	cmpl %a2@(20),%d0                           <== NOT EXECUTED
   526ae:	6474           	bccs 52724 <fat_file_size+0xa4>             <== NOT EXECUTED
   526b0:	280e           	movel %fp,%d4                               <== NOT EXECUTED
   526b2:	5984           	subql #4,%d4                                <== NOT EXECUTED
   526b4:	49f9 0005 8ac0 	lea 58ac0 <fat_get_fat_cluster>,%a4         <== NOT EXECUTED
    {                                                                 
        save_cln = cur_cln;                                           
        rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);         
   526ba:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   526bc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   526be:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   526c0:	4e94           	jsr %a4@                                    <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   526c2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   526c6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   526c8:	662c           	bnes 526f6 <fat_file_size+0x76>             <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    fat_fd->fat_file_size = 0;                                        
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   526ca:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
        save_cln = cur_cln;                                           
        rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);         
        if ( rc != RC_OK )                                            
            return rc;                                                
                                                                      
        fat_fd->fat_file_size += fs_info->vol.bpc;                    
   526ce:	4283           	clrl %d3                                    <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    fat_fd->fat_file_size = 0;                                        
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   526d0:	2200           	movel %d0,%d1                               <== NOT EXECUTED
        save_cln = cur_cln;                                           
        rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);         
        if ( rc != RC_OK )                                            
            return rc;                                                
                                                                      
        fat_fd->fat_file_size += fs_info->vol.bpc;                    
   526d2:	362a 0006      	movew %a2@(6),%d3                           <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    fat_fd->fat_file_size = 0;                                        
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   526d6:	c2aa 0010      	andl %a2@(16),%d1                           <== NOT EXECUTED
        save_cln = cur_cln;                                           
        rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);         
        if ( rc != RC_OK )                                            
            return rc;                                                
                                                                      
        fat_fd->fat_file_size += fs_info->vol.bpc;                    
   526da:	d7ab 0018      	addl %d3,%a3@(24)                           <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    fat_fd->fat_file_size = 0;                                        
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   526de:	b2aa 0014      	cmpl %a2@(20),%d1                           <== NOT EXECUTED
   526e2:	6442           	bccs 52726 <fat_file_size+0xa6>             <== NOT EXECUTED
    {                                                                 
        save_cln = cur_cln;                                           
        rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);         
   526e4:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    fat_fd->fat_file_size = 0;                                        
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   526e6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    {                                                                 
        save_cln = cur_cln;                                           
        rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);         
   526e8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   526ea:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   526ec:	4e94           	jsr %a4@                                    <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   526ee:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   526f2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   526f4:	67d4           	beqs 526ca <fat_file_size+0x4a>             <== NOT EXECUTED
                                                                      
        fat_fd->fat_file_size += fs_info->vol.bpc;                    
    }                                                                 
    fat_fd->map.last_cln = save_cln;                                  
    return rc;                                                        
}                                                                     
   526f6:	4cee 1c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   526fc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   526fe:	4e75           	rts                                         <== NOT EXECUTED
    int            rc = RC_OK;                                        
    uint32_t       cur_cln = fat_fd->cln;                             
    uint32_t       save_cln = 0;                                      
                                                                      
    /* Have we requested root dir size for FAT12/16? */               
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
   52700:	4aab 0024      	tstl %a3@(36)                               <== NOT EXECUTED
   52704:	669a           	bnes 526a0 <fat_file_size+0x20>             <== NOT EXECUTED
   52706:	7203           	moveq #3,%d1                                <== NOT EXECUTED
   52708:	102a 000e      	moveb %a2@(14),%d0                          <== NOT EXECUTED
   5270c:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   5270e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   52710:	678e           	beqs 526a0 <fat_file_size+0x20>             <== NOT EXECUTED
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        fat_fd->fat_file_size = fs_info->vol.rdir_size;               
        return rc;                                                    
   52712:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
    /* Have we requested root dir size for FAT12/16? */               
    if ((FAT_FD_OF_ROOT_DIR(fat_fd)) &&                               
        (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)))                
    {                                                                 
        fat_fd->fat_file_size = fs_info->vol.rdir_size;               
   52714:	276a 0028 0018 	movel %a2@(40),%a3@(24)                     <== NOT EXECUTED
                                                                      
        fat_fd->fat_file_size += fs_info->vol.bpc;                    
    }                                                                 
    fat_fd->map.last_cln = save_cln;                                  
    return rc;                                                        
}                                                                     
   5271a:	4cee 1c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   52720:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52722:	4e75           	rts                                         <== NOT EXECUTED
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
    int            rc = RC_OK;                                        
    uint32_t       cur_cln = fat_fd->cln;                             
    uint32_t       save_cln = 0;                                      
   52724:	4282           	clrl %d2                                    <== NOT EXECUTED
        if ( rc != RC_OK )                                            
            return rc;                                                
                                                                      
        fat_fd->fat_file_size += fs_info->vol.bpc;                    
    }                                                                 
    fat_fd->map.last_cln = save_cln;                                  
   52726:	2742 003a      	movel %d2,%a3@(58)                          <== NOT EXECUTED
   5272a:	4280           	clrl %d0                                    <== NOT EXECUTED
    return rc;                                                        
}                                                                     
   5272c:	4cee 1c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   52732:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

00051e22 <fat_file_truncate>: ) { int rc = RC_OK; uint32_t cur_cln = 0; uint32_t cl_start = 0; uint32_t new_last_cln = FAT_UNDEFINED_VALUE;
   51e22:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
fat_file_truncate(                                                    
    fat_fs_info_t                        *fs_info,                    
    fat_file_fd_t                        *fat_fd,                     
    uint32_t                              new_length                  
    )                                                                 
{                                                                     
   51e24:	4e56 ffe4      	linkw %fp,#-28                              <== NOT EXECUTED
   51e28:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   51e2c:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 <== NOT EXECUTED
   51e30:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
   51e34:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
    uint32_t       cur_cln = 0;                                       
    uint32_t       cl_start = 0;                                      
    uint32_t       new_last_cln = FAT_UNDEFINED_VALUE;                
                                                                      
                                                                      
    if ( new_length >= fat_fd->fat_file_size )                        
   51e38:	202a 0018      	movel %a2@(24),%d0                          <== NOT EXECUTED
    fat_file_fd_t                        *fat_fd,                     
    uint32_t                              new_length                  
    )                                                                 
{                                                                     
    int            rc = RC_OK;                                        
    uint32_t       cur_cln = 0;                                       
   51e3c:	42ae fff8      	clrl %fp@(-8)                               <== NOT EXECUTED
    uint32_t       cl_start = 0;                                      
    uint32_t       new_last_cln = FAT_UNDEFINED_VALUE;                
   51e40:	2d41 fffc      	movel %d1,%fp@(-4)                          <== NOT EXECUTED
                                                                      
                                                                      
    if ( new_length >= fat_fd->fat_file_size )                        
   51e44:	b1c0           	cmpal %d0,%a0                               <== NOT EXECUTED
   51e46:	646c           	bccs 51eb4 <fat_file_truncate+0x92>         <== NOT EXECUTED
        return rc;                                                    
                                                                      
    assert(fat_fd->fat_file_size);                                    
   51e48:	4a80           	tstl %d0                                    <== NOT EXECUTED
   51e4a:	6700 00ae      	beqw 51efa <fat_file_truncate+0xd8>         <== NOT EXECUTED
                                                                      
    cl_start = (new_length + fs_info->vol.bpc - 1) >> fs_info->vol.bpc_log2;
   51e4e:	4282           	clrl %d2                                    <== NOT EXECUTED
   51e50:	4281           	clrl %d1                                    <== NOT EXECUTED
   51e52:	122b 0008      	moveb %a3@(8),%d1                           <== NOT EXECUTED
   51e56:	342b 0006      	movew %a3@(6),%d2                           <== NOT EXECUTED
   51e5a:	41f0 28ff      	lea %a0@(ffffffff,%d2:l),%a0                <== NOT EXECUTED
   51e5e:	2408           	movel %a0,%d2                               <== NOT EXECUTED
   51e60:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
                                                                      
    if ((cl_start << fs_info->vol.bpc_log2) >= fat_fd->fat_file_size) 
   51e62:	2602           	movel %d2,%d3                               <== NOT EXECUTED
   51e64:	e3ab           	lsll %d1,%d3                                <== NOT EXECUTED
   51e66:	b680           	cmpl %d0,%d3                                <== NOT EXECUTED
   51e68:	644a           	bccs 51eb4 <fat_file_truncate+0x92>         <== NOT EXECUTED
        return RC_OK;                                                 
                                                                      
    if (cl_start != 0)                                                
   51e6a:	4a82           	tstl %d2                                    <== NOT EXECUTED
   51e6c:	6752           	beqs 51ec0 <fat_file_truncate+0x9e>         <== NOT EXECUTED
    {                                                                 
        rc = fat_file_lseek(fs_info, fat_fd, cl_start - 1, &new_last_cln);
   51e6e:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   51e72:	2042           	moveal %d2,%a0                              <== NOT EXECUTED
   51e74:	4868 ffff      	pea %a0@(-1)                                <== NOT EXECUTED
   51e78:	49fa f9ee      	lea %pc@(51868 <fat_file_lseek>),%a4        <== NOT EXECUTED
   51e7c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51e7e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51e80:	4e94           	jsr %a4@                                    <== NOT EXECUTED
        if (rc != RC_OK)                                              
   51e82:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    if ((cl_start << fs_info->vol.bpc_log2) >= fat_fd->fat_file_size) 
        return RC_OK;                                                 
                                                                      
    if (cl_start != 0)                                                
    {                                                                 
        rc = fat_file_lseek(fs_info, fat_fd, cl_start - 1, &new_last_cln);
   51e86:	2001           	movel %d1,%d0                               <== NOT EXECUTED
        if (rc != RC_OK)                                              
   51e88:	662c           	bnes 51eb6 <fat_file_truncate+0x94>         <== NOT EXECUTED
            return rc;                                                
                                                                      
    }                                                                 
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
   51e8a:	486e fff8      	pea %fp@(-8)                                <== NOT EXECUTED
   51e8e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51e90:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51e92:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51e94:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   51e96:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
        if (rc != RC_OK)                                              
            return rc;                                                
                                                                      
    }                                                                 
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, cl_start, &cur_cln);         
   51e9a:	2001           	movel %d1,%d0                               <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   51e9c:	6618           	bnes 51eb6 <fat_file_truncate+0x94>         <== NOT EXECUTED
        return rc;                                                    
                                                                      
    rc = fat_free_fat_clusters_chain(fs_info, cur_cln);               
   51e9e:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
   51ea2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51ea4:	4eb9 0005 8f0e 	jsr 58f0e <fat_free_fat_clusters_chain>     <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   51eaa:	508f           	addql #8,%sp                                <== NOT EXECUTED
   51eac:	4a80           	tstl %d0                                    <== NOT EXECUTED
   51eae:	6606           	bnes 51eb6 <fat_file_truncate+0x94>         <== NOT EXECUTED
        return rc;                                                    
                                                                      
    if (cl_start != 0)                                                
   51eb0:	4a82           	tstl %d2                                    <== NOT EXECUTED
   51eb2:	6612           	bnes 51ec6 <fat_file_truncate+0xa4>         <== NOT EXECUTED
    uint32_t       cl_start = 0;                                      
    uint32_t       new_last_cln = FAT_UNDEFINED_VALUE;                
                                                                      
                                                                      
    if ( new_length >= fat_fd->fat_file_size )                        
        return rc;                                                    
   51eb4:	4280           	clrl %d0                                    <== NOT EXECUTED
        fat_fd->map.file_cln = cl_start - 1;                          
        fat_fd->map.disk_cln = new_last_cln;                          
        fat_fd->map.last_cln = new_last_cln;                          
    }                                                                 
    return RC_OK;                                                     
}                                                                     
   51eb6:	4cee 1c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   51ebc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51ebe:	4e75           	rts                                         <== NOT EXECUTED
   51ec0:	49fa f9a6      	lea %pc@(51868 <fat_file_lseek>),%a4        <== NOT EXECUTED
   51ec4:	60c4           	bras 51e8a <fat_file_truncate+0x68>         <== NOT EXECUTED
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    if (cl_start != 0)                                                
    {                                                                 
        rc = fat_set_fat_cluster(fs_info, new_last_cln, FAT_GENFAT_EOC);
   51ec6:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   51eca:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   51ece:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51ed0:	4eb9 0005 8c92 	jsr 58c92 <fat_set_fat_cluster>             <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   51ed6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   51eda:	4a80           	tstl %d0                                    <== NOT EXECUTED
   51edc:	66d8           	bnes 51eb6 <fat_file_truncate+0x94>         <== NOT EXECUTED
            return rc;                                                
        fat_fd->map.file_cln = cl_start - 1;                          
        fat_fd->map.disk_cln = new_last_cln;                          
   51ede:	222e fffc      	movel %fp@(-4),%d1                          <== NOT EXECUTED
    if (cl_start != 0)                                                
    {                                                                 
        rc = fat_set_fat_cluster(fs_info, new_last_cln, FAT_GENFAT_EOC);
        if ( rc != RC_OK )                                            
            return rc;                                                
        fat_fd->map.file_cln = cl_start - 1;                          
   51ee2:	5382           	subql #1,%d2                                <== NOT EXECUTED
        fat_fd->map.disk_cln = new_last_cln;                          
   51ee4:	2541 0036      	movel %d1,%a2@(54)                          <== NOT EXECUTED
    if (cl_start != 0)                                                
    {                                                                 
        rc = fat_set_fat_cluster(fs_info, new_last_cln, FAT_GENFAT_EOC);
        if ( rc != RC_OK )                                            
            return rc;                                                
        fat_fd->map.file_cln = cl_start - 1;                          
   51ee8:	2542 0032      	movel %d2,%a2@(50)                          <== NOT EXECUTED
        fat_fd->map.disk_cln = new_last_cln;                          
        fat_fd->map.last_cln = new_last_cln;                          
   51eec:	2541 003a      	movel %d1,%a2@(58)                          <== NOT EXECUTED
    }                                                                 
    return RC_OK;                                                     
}                                                                     
   51ef0:	4cee 1c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   51ef6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51ef8:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
                                                                      
    if ( new_length >= fat_fd->fat_file_size )                        
        return rc;                                                    
                                                                      
    assert(fat_fd->fat_file_size);                                    
   51efa:	4879 0006 9d7e 	pea 69d7e <rtems_filesystem_handlers_default+0x2c><== NOT EXECUTED
   51f00:	4879 0006 9ddc 	pea 69ddc <__FUNCTION__.7464>               <== NOT EXECUTED
   51f06:	4878 02d1      	pea 2d1 <DBL_MANT_DIG+0x29c>                <== NOT EXECUTED
   51f0a:	4879 0006 9d94 	pea 69d94 <rtems_filesystem_handlers_default+0x42><== NOT EXECUTED
   51f10:	4eb9 0005 43cc 	jsr 543cc <__assert_func>                   <== NOT EXECUTED
                                                                      

000522ee <fat_file_write>: fat_file_fd_t *fat_fd, uint32_t start, uint32_t count, const uint8_t *buf ) {
   522ee:	4e56 ffc8      	linkw %fp,#-56                              
   522f2:	202e 0014      	movel %fp@(20),%d0                          
   522f6:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   522fa:	246e 000c      	moveal %fp@(12),%a2                         
   522fe:	266e 0008      	moveal %fp@(8),%a3                          
   52302:	262e 0010      	movel %fp@(16),%d3                          
    int            rc = RC_OK;                                        
    ssize_t        ret;                                               
    uint32_t       cmpltd = 0;                                        
    uint32_t       byte;                                              
    uint32_t       c = 0;                                             
    bool           zero_fill = start > fat_fd->fat_file_size;         
   52306:	222a 0018      	movel %a2@(24),%d1                          
    uint32_t       file_cln_initial = fat_fd->map.file_cln;           
   5230a:	282a 0032      	movel %a2@(50),%d4                          
{                                                                     
    int            rc = RC_OK;                                        
    ssize_t        ret;                                               
    uint32_t       cmpltd = 0;                                        
    uint32_t       byte;                                              
    uint32_t       c = 0;                                             
   5230e:	42ae fff8      	clrl %fp@(-8)                               
    bool           zero_fill = start > fat_fd->fat_file_size;         
    uint32_t       file_cln_initial = fat_fd->map.file_cln;           
    uint32_t       cln;                                               
                                                                      
                                                                      
    if ( count == 0 )                                                 
   52312:	4a80           	tstl %d0                                    
   52314:	6700 0146      	beqw 5245c <fat_file_write+0x16e>           
        return cmpltd;                                                
                                                                      
    if (start >= fat_fd->size_limit)                                  
   52318:	242a 0014      	movel %a2@(20),%d2                          
   5231c:	b483           	cmpl %d3,%d2                                
   5231e:	6300 0204      	blsw 52524 <fat_file_write+0x236>           
        rtems_set_errno_and_return_minus_one(EFBIG);                  
                                                                      
    if (count > fat_fd->size_limit - start)                           
   52322:	9483           	subl %d3,%d2                                
   52324:	b082           	cmpl %d2,%d0                                
   52326:	6500 0108      	bcsw 52430 <fat_file_write+0x142>           
        count = fat_fd->size_limit - start;                           
                                                                      
    rc = fat_file_extend(fs_info, fat_fd, zero_fill, start + count, &c);
   5232a:	486e fff8      	pea %fp@(-8)                                <== NOT EXECUTED
    int            rc = RC_OK;                                        
    ssize_t        ret;                                               
    uint32_t       cmpltd = 0;                                        
    uint32_t       byte;                                              
    uint32_t       c = 0;                                             
    bool           zero_fill = start > fat_fd->fat_file_size;         
   5232e:	b681           	cmpl %d1,%d3                                <== NOT EXECUTED
   52330:	52c0           	shi %d0                                     <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(EFBIG);                  
                                                                      
    if (count > fat_fd->size_limit - start)                           
        count = fat_fd->size_limit - start;                           
                                                                      
    rc = fat_file_extend(fs_info, fat_fd, zero_fill, start + count, &c);
   52332:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
   52334:	da83           	addl %d3,%d5                                <== NOT EXECUTED
    int            rc = RC_OK;                                        
    ssize_t        ret;                                               
    uint32_t       cmpltd = 0;                                        
    uint32_t       byte;                                              
    uint32_t       c = 0;                                             
    bool           zero_fill = start > fat_fd->fat_file_size;         
   52336:	49c0           	extbl %d0                                   <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(EFBIG);                  
                                                                      
    if (count > fat_fd->size_limit - start)                           
        count = fat_fd->size_limit - start;                           
                                                                      
    rc = fat_file_extend(fs_info, fat_fd, zero_fill, start + count, &c);
   52338:	4480           	negl %d0                                    <== NOT EXECUTED
   5233a:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5233c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5233e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52340:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   52342:	4eb9 0005 20bc 	jsr 520bc <fat_file_extend>                 <== NOT EXECUTED
    if (RC_OK == rc)                                                  
   52348:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5234c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5234e:	6600 00d6      	bnew 52426 <fat_file_write+0x138>           <== NOT EXECUTED
    {                                                                 
        /*                                                            
         * check whether there was enough room on device to locate    
         * file of 'start + count' bytes                              
         */                                                           
        if (c != (start + count))                                     
   52352:	202e fff8      	movel %fp@(-8),%d0                          
   52356:	b085           	cmpl %d5,%d0                                
   52358:	6704           	beqs 5235e <fat_file_write+0x70>            <== ALWAYS TAKEN
            count = c - start;                                        
   5235a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5235c:	9483           	subl %d3,%d2                                <== NOT EXECUTED
 */                                                                   
static bool                                                           
 fat_is_fat12_or_fat16_root_dir (const fat_file_fd_t *fat_fd,         
                                 const uint8_t volume_type)           
{                                                                     
    return (FAT_FD_OF_ROOT_DIR(fat_fd)) && (volume_type & (FAT_FAT12 | FAT_FAT16));
   5235e:	7201           	moveq #1,%d1                                
         */                                                           
        if (c != (start + count))                                     
            count = c - start;                                        
                                                                      
        /* for the root directory of FAT12 and FAT16 we need this special handling */
        if (fat_is_fat12_or_fat16_root_dir(fat_fd, fs_info->vol.type))
   52360:	102b 000e      	moveb %a3@(14),%d0                          
 */                                                                   
static bool                                                           
 fat_is_fat12_or_fat16_root_dir (const fat_file_fd_t *fat_fd,         
                                 const uint8_t volume_type)           
{                                                                     
    return (FAT_FD_OF_ROOT_DIR(fat_fd)) && (volume_type & (FAT_FAT12 | FAT_FAT16));
   52364:	b2aa 0020      	cmpl %a2@(32),%d1                           
   52368:	6700 00fe      	beqw 52468 <fat_file_write+0x17a>           
     const uint8_t                        *buf,                       
     const uint32_t                        file_cln_initial)          
{                                                                     
    int            rc = RC_OK;                                        
    uint32_t       cmpltd = 0;                                        
    uint32_t       cur_cln = 0;                                       
   5236c:	2a4e           	moveal %fp,%a5                              
    uint32_t       save_cln = 0; /* FIXME: This might be incorrect, cf. below */
    uint32_t       start_cln = start >> fs_info->vol.bpc_log2;        
   5236e:	4286           	clrl %d6                                    
   52370:	1c2b 0008      	moveb %a3@(8),%d6                           
   52374:	2a03           	movel %d3,%d5                               
   52376:	ecad           	lsrl %d6,%d5                                
     const uint8_t                        *buf,                       
     const uint32_t                        file_cln_initial)          
{                                                                     
    int            rc = RC_OK;                                        
    uint32_t       cmpltd = 0;                                        
    uint32_t       cur_cln = 0;                                       
   52378:	42a5           	clrl %a5@-                                  
    uint32_t       file_cln_cnt;                                      
    ssize_t        ret;                                               
    uint32_t       c;                                                 
    bool           overwrite_cluster = false;                         
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, start_cln, &cur_cln);        
   5237a:	2f0d           	movel %a5,%sp@-                             
   5237c:	2f05           	movel %d5,%sp@-                             
   5237e:	2f0a           	movel %a2,%sp@-                             
   52380:	2f0b           	movel %a3,%sp@-                             
   52382:	4eba f4e4      	jsr %pc@(51868 <fat_file_lseek>)            
    if (RC_OK == rc)                                                  
   52386:	4fef 0010      	lea %sp@(16),%sp                            
   5238a:	4a81           	tstl %d1                                    
   5238c:	6600 0090      	bnew 5241e <fat_file_write+0x130>           
    int            rc = RC_OK;                                        
    uint32_t       cmpltd = 0;                                        
    uint32_t       cur_cln = 0;                                       
    uint32_t       save_cln = 0; /* FIXME: This might be incorrect, cf. below */
    uint32_t       start_cln = start >> fs_info->vol.bpc_log2;        
    uint32_t       ofs_cln = start - (start_cln << fs_info->vol.bpc_log2);
   52390:	2005           	movel %d5,%d0                               
   52392:	eda8           	lsll %d6,%d0                                
    bool           overwrite_cluster = false;                         
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, start_cln, &cur_cln);        
    if (RC_OK == rc)                                                  
    {                                                                 
        file_cln_cnt = cur_cln - fat_fd->cln;                         
   52394:	206e fffc      	moveal %fp@(-4),%a0                         
    int            rc = RC_OK;                                        
    uint32_t       cmpltd = 0;                                        
    uint32_t       cur_cln = 0;                                       
    uint32_t       save_cln = 0; /* FIXME: This might be incorrect, cf. below */
    uint32_t       start_cln = start >> fs_info->vol.bpc_log2;        
    uint32_t       ofs_cln = start - (start_cln << fs_info->vol.bpc_log2);
   52398:	9680           	subl %d0,%d3                                
    bool           overwrite_cluster = false;                         
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, start_cln, &cur_cln);        
    if (RC_OK == rc)                                                  
    {                                                                 
        file_cln_cnt = cur_cln - fat_fd->cln;                         
   5239a:	2e08           	movel %a0,%d7                               
   5239c:	9eaa 001c      	subl %a2@(28),%d7                           
    int            rc = RC_OK;                                        
    uint32_t       cmpltd = 0;                                        
    uint32_t       cur_cln = 0;                                       
    uint32_t       save_cln = 0; /* FIXME: This might be incorrect, cf. below */
    uint32_t       start_cln = start >> fs_info->vol.bpc_log2;        
    uint32_t       ofs_cln = start - (start_cln << fs_info->vol.bpc_log2);
   523a0:	2d43 fff4      	movel %d3,%fp@(-12)                         
    rc = fat_file_lseek(fs_info, fat_fd, start_cln, &cur_cln);        
    if (RC_OK == rc)                                                  
    {                                                                 
        file_cln_cnt = cur_cln - fat_fd->cln;                         
        while (   (RC_OK == rc)                                       
               && (bytes_to_write > 0))                               
   523a4:	4a82           	tstl %d2                                    
   523a6:	6700 0194      	beqw 5253c <fat_file_write+0x24e>           
   523aa:	2243           	moveal %d3,%a1                              
   523ac:	99cc           	subal %a4,%a4                               
   523ae:	4283           	clrl %d3                                    
   523b0:	4206           	clrb %d6                                    
   523b2:	2d4d fff0      	movel %a5,%fp@(-16)                         
        {                                                             
            c = MIN(bytes_to_write, (fs_info->vol.bpc - ofs_cln));    
   523b6:	4280           	clrl %d0                                    
                                                                      
            if (file_cln_initial < file_cln_cnt)                      
   523b8:	7201           	moveq #1,%d1                                
    {                                                                 
        file_cln_cnt = cur_cln - fat_fd->cln;                         
        while (   (RC_OK == rc)                                       
               && (bytes_to_write > 0))                               
        {                                                             
            c = MIN(bytes_to_write, (fs_info->vol.bpc - ofs_cln));    
   523ba:	302b 0006      	movew %a3@(6),%d0                           
   523be:	9089           	subl %a1,%d0                                
   523c0:	b480           	cmpl %d0,%d2                                
   523c2:	6402           	bccs 523c6 <fat_file_write+0xd8>            
   523c4:	2002           	movel %d2,%d0                               
                                                                      
            if (file_cln_initial < file_cln_cnt)                      
   523c6:	be84           	cmpl %d4,%d7                                
   523c8:	6200 00f2      	bhiw 524bc <fat_file_write+0x1ce>           
   523cc:	4281           	clrl %d1                                    
   523ce:	1206           	moveb %d6,%d1                               
            if (0 > ret)                                              
              rc = -1;                                                
                                                                      
            if (RC_OK == rc)                                          
            {                                                         
                ++file_cln_cnt;                                       
   523d0:	5287           	addql #1,%d7                                
            c = MIN(bytes_to_write, (fs_info->vol.bpc - ofs_cln));    
                                                                      
            if (file_cln_initial < file_cln_cnt)                      
                overwrite_cluster = true;                             
                                                                      
            ret = fat_cluster_write(fs_info,                          
   523d2:	2a6e 0018      	moveal %fp@(24),%a5                         
   523d6:	2f01           	movel %d1,%sp@-                             
   523d8:	4875 c800      	pea %a5@(00000000,%a4:l)                    
   523dc:	2f00           	movel %d0,%sp@-                             
   523de:	2f09           	movel %a1,%sp@-                             
   523e0:	2f08           	movel %a0,%sp@-                             
   523e2:	2f0b           	movel %a3,%sp@-                             
   523e4:	4eb9 0005 2c78 	jsr 52c78 <fat_cluster_write>               
                                      cur_cln,                        
                                      ofs_cln,                        
                                      c,                              
                                      &buf[cmpltd],                   
                                      overwrite_cluster);             
            if (0 > ret)                                              
   523ea:	4fef 0018      	lea %sp@(24),%sp                            
   523ee:	4a80           	tstl %d0                                    
   523f0:	6d00 00f0      	bltw 524e2 <fat_file_write+0x1f4>           
            if (RC_OK == rc)                                          
            {                                                         
                ++file_cln_cnt;                                       
                bytes_to_write -= ret;                                
                cmpltd += ret;                                        
                save_cln = cur_cln;                                   
   523f4:	262e fffc      	movel %fp@(-4),%d3                          
              rc = -1;                                                
                                                                      
            if (RC_OK == rc)                                          
            {                                                         
                ++file_cln_cnt;                                       
                bytes_to_write -= ret;                                
   523f8:	9480           	subl %d0,%d2                                
                cmpltd += ret;                                        
   523fa:	d9c0           	addal %d0,%a4                               
                save_cln = cur_cln;                                   
                if (0 < bytes_to_write)                               
   523fc:	6600 0106      	bnew 52504 <fat_file_write+0x216>           
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   52400:	2a6e fff4      	moveal %fp@(-12),%a5                        
   52404:	4282           	clrl %d2                                    
   52406:	142b 0008      	moveb %a3@(8),%d2                           
   5240a:	220c           	movel %a4,%d1                               
   5240c:	4bf4 d8ff      	lea %a4@(ffffffff,%a5:l),%a5                
        fat_fd->map.disk_cln = save_cln;                              
   52410:	2543 0036      	movel %d3,%a2@(54)                          
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   52414:	200d           	movel %a5,%d0                               
   52416:	e4a8           	lsrl %d2,%d0                                
            }                                                         
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
   52418:	d085           	addl %d5,%d0                                
   5241a:	2540 0032      	movel %d0,%a2@(50)                          
                                                       fat_fd,        
                                                       start,         
                                                       count,         
                                                       buf,           
                                                       file_cln_initial);
            if (0 > ret)                                              
   5241e:	4a81           	tstl %d1                                    
   52420:	6d00 008e      	bltw 524b0 <fat_file_write+0x1c2>           
              rc = -1;                                                
            else                                                      
              cmpltd = ret;                                           
   52424:	2001           	movel %d1,%d0                               
    }                                                                 
    if (RC_OK != rc)                                                  
        return rc;                                                    
    else                                                              
        return cmpltd;                                                
}                                                                     
   52426:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   5242c:	4e5e           	unlk %fp                                    
   5242e:	4e75           	rts                                         
   52430:	2400           	movel %d0,%d2                               
        rtems_set_errno_and_return_minus_one(EFBIG);                  
                                                                      
    if (count > fat_fd->size_limit - start)                           
        count = fat_fd->size_limit - start;                           
                                                                      
    rc = fat_file_extend(fs_info, fat_fd, zero_fill, start + count, &c);
   52432:	486e fff8      	pea %fp@(-8)                                
    int            rc = RC_OK;                                        
    ssize_t        ret;                                               
    uint32_t       cmpltd = 0;                                        
    uint32_t       byte;                                              
    uint32_t       c = 0;                                             
    bool           zero_fill = start > fat_fd->fat_file_size;         
   52436:	b681           	cmpl %d1,%d3                                
   52438:	52c0           	shi %d0                                     
        rtems_set_errno_and_return_minus_one(EFBIG);                  
                                                                      
    if (count > fat_fd->size_limit - start)                           
        count = fat_fd->size_limit - start;                           
                                                                      
    rc = fat_file_extend(fs_info, fat_fd, zero_fill, start + count, &c);
   5243a:	2a02           	movel %d2,%d5                               
   5243c:	da83           	addl %d3,%d5                                
    int            rc = RC_OK;                                        
    ssize_t        ret;                                               
    uint32_t       cmpltd = 0;                                        
    uint32_t       byte;                                              
    uint32_t       c = 0;                                             
    bool           zero_fill = start > fat_fd->fat_file_size;         
   5243e:	49c0           	extbl %d0                                   
        rtems_set_errno_and_return_minus_one(EFBIG);                  
                                                                      
    if (count > fat_fd->size_limit - start)                           
        count = fat_fd->size_limit - start;                           
                                                                      
    rc = fat_file_extend(fs_info, fat_fd, zero_fill, start + count, &c);
   52440:	4480           	negl %d0                                    
   52442:	2f05           	movel %d5,%sp@-                             
   52444:	2f00           	movel %d0,%sp@-                             
   52446:	2f0a           	movel %a2,%sp@-                             
   52448:	2f0b           	movel %a3,%sp@-                             
   5244a:	4eb9 0005 20bc 	jsr 520bc <fat_file_extend>                 
    if (RC_OK == rc)                                                  
   52450:	4fef 0014      	lea %sp@(20),%sp                            
   52454:	4a80           	tstl %d0                                    
   52456:	66ce           	bnes 52426 <fat_file_write+0x138>           <== NEVER TAKEN
   52458:	6000 fef8      	braw 52352 <fat_file_write+0x64>            
    uint32_t       file_cln_initial = fat_fd->map.file_cln;           
    uint32_t       cln;                                               
                                                                      
                                                                      
    if ( count == 0 )                                                 
        return cmpltd;                                                
   5245c:	4280           	clrl %d0                                    <== NOT EXECUTED
    }                                                                 
    if (RC_OK != rc)                                                  
        return rc;                                                    
    else                                                              
        return cmpltd;                                                
}                                                                     
   5245e:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   52464:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52466:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static bool                                                           
 fat_is_fat12_or_fat16_root_dir (const fat_file_fd_t *fat_fd,         
                                 const uint8_t volume_type)           
{                                                                     
    return (FAT_FD_OF_ROOT_DIR(fat_fd)) && (volume_type & (FAT_FAT12 | FAT_FAT16));
   52468:	4aaa 0024      	tstl %a2@(36)                               
   5246c:	6600 fefe      	bnew 5236c <fat_file_write+0x7e>            
   52470:	123c 0003      	moveb #3,%d1                                
   52474:	c081           	andl %d1,%d0                                
   52476:	4a00           	tstb %d0                                    
   52478:	6700 fef2      	beqw 5236c <fat_file_write+0x7e>            
        /* for the root directory of FAT12 and FAT16 we need this special handling */
        if (fat_is_fat12_or_fat16_root_dir(fat_fd, fs_info->vol.type))
        {                                                             
            cln = fat_fd->cln;                                        
            cln += (start >> fs_info->vol.bpc_log2);                  
            byte = start & (fs_info->vol.bpc -1);                     
   5247c:	4281           	clrl %d1                                    
                                                                      
        /* for the root directory of FAT12 and FAT16 we need this special handling */
        if (fat_is_fat12_or_fat16_root_dir(fat_fd, fs_info->vol.type))
        {                                                             
            cln = fat_fd->cln;                                        
            cln += (start >> fs_info->vol.bpc_log2);                  
   5247e:	4280           	clrl %d0                                    
            byte = start & (fs_info->vol.bpc -1);                     
                                                                      
            ret = fat_cluster_write(fs_info,                          
   52480:	42a7           	clrl %sp@-                                  
        /* for the root directory of FAT12 and FAT16 we need this special handling */
        if (fat_is_fat12_or_fat16_root_dir(fat_fd, fs_info->vol.type))
        {                                                             
            cln = fat_fd->cln;                                        
            cln += (start >> fs_info->vol.bpc_log2);                  
            byte = start & (fs_info->vol.bpc -1);                     
   52482:	322b 0006      	movew %a3@(6),%d1                           
                                                                      
            ret = fat_cluster_write(fs_info,                          
   52486:	2f2e 0018      	movel %fp@(24),%sp@-                        
        /* for the root directory of FAT12 and FAT16 we need this special handling */
        if (fat_is_fat12_or_fat16_root_dir(fat_fd, fs_info->vol.type))
        {                                                             
            cln = fat_fd->cln;                                        
            cln += (start >> fs_info->vol.bpc_log2);                  
            byte = start & (fs_info->vol.bpc -1);                     
   5248a:	5381           	subql #1,%d1                                
                                                                      
            ret = fat_cluster_write(fs_info,                          
   5248c:	c283           	andl %d3,%d1                                
   5248e:	2f02           	movel %d2,%sp@-                             
                                                                      
        /* for the root directory of FAT12 and FAT16 we need this special handling */
        if (fat_is_fat12_or_fat16_root_dir(fat_fd, fs_info->vol.type))
        {                                                             
            cln = fat_fd->cln;                                        
            cln += (start >> fs_info->vol.bpc_log2);                  
   52490:	102b 0008      	moveb %a3@(8),%d0                           
   52494:	e0ab           	lsrl %d0,%d3                                
            byte = start & (fs_info->vol.bpc -1);                     
                                                                      
            ret = fat_cluster_write(fs_info,                          
   52496:	2f01           	movel %d1,%sp@-                             
   52498:	d6aa 001c      	addl %a2@(28),%d3                           
   5249c:	2f03           	movel %d3,%sp@-                             
   5249e:	2f0b           	movel %a3,%sp@-                             
   524a0:	4eb9 0005 2c78 	jsr 52c78 <fat_cluster_write>               
                                      cln,                            
                                      byte,                           
                                      count,                          
                                      buf,                            
                                      false);                         
            if (0 > ret)                                              
   524a6:	4fef 0018      	lea %sp@(24),%sp                            
   524aa:	4a80           	tstl %d0                                    
   524ac:	6c00 ff78      	bgew 52426 <fat_file_write+0x138>           
                                                       start,         
                                                       count,         
                                                       buf,           
                                                       file_cln_initial);
            if (0 > ret)                                              
              rc = -1;                                                
   524b0:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
    }                                                                 
    if (RC_OK != rc)                                                  
        return rc;                                                    
    else                                                              
        return cmpltd;                                                
}                                                                     
   524b2:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   524b8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   524ba:	4e75           	rts                                         <== NOT EXECUTED
            c = MIN(bytes_to_write, (fs_info->vol.bpc - ofs_cln));    
                                                                      
            if (file_cln_initial < file_cln_cnt)                      
                overwrite_cluster = true;                             
                                                                      
            ret = fat_cluster_write(fs_info,                          
   524bc:	2a6e 0018      	moveal %fp@(24),%a5                         
            if (0 > ret)                                              
              rc = -1;                                                
                                                                      
            if (RC_OK == rc)                                          
            {                                                         
                ++file_cln_cnt;                                       
   524c0:	5287           	addql #1,%d7                                
            c = MIN(bytes_to_write, (fs_info->vol.bpc - ofs_cln));    
                                                                      
            if (file_cln_initial < file_cln_cnt)                      
                overwrite_cluster = true;                             
                                                                      
            ret = fat_cluster_write(fs_info,                          
   524c2:	2f01           	movel %d1,%sp@-                             
   524c4:	4875 c800      	pea %a5@(00000000,%a4:l)                    
               && (bytes_to_write > 0))                               
        {                                                             
            c = MIN(bytes_to_write, (fs_info->vol.bpc - ofs_cln));    
                                                                      
            if (file_cln_initial < file_cln_cnt)                      
                overwrite_cluster = true;                             
   524c8:	7c01           	moveq #1,%d6                                
                                                                      
            ret = fat_cluster_write(fs_info,                          
   524ca:	2f00           	movel %d0,%sp@-                             
   524cc:	2f09           	movel %a1,%sp@-                             
   524ce:	2f08           	movel %a0,%sp@-                             
   524d0:	2f0b           	movel %a3,%sp@-                             
   524d2:	4eb9 0005 2c78 	jsr 52c78 <fat_cluster_write>               
                                      cur_cln,                        
                                      ofs_cln,                        
                                      c,                              
                                      &buf[cmpltd],                   
                                      overwrite_cluster);             
            if (0 > ret)                                              
   524d8:	4fef 0018      	lea %sp@(24),%sp                            
   524dc:	4a80           	tstl %d0                                    
   524de:	6c00 ff14      	bgew 523f4 <fat_file_write+0x106>           
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   524e2:	206e fff4      	moveal %fp@(-12),%a0                        <== NOT EXECUTED
   524e6:	4282           	clrl %d2                                    <== NOT EXECUTED
   524e8:	142b 0008      	moveb %a3@(8),%d2                           <== NOT EXECUTED
                                      cur_cln,                        
                                      ofs_cln,                        
                                      c,                              
                                      &buf[cmpltd],                   
                                      overwrite_cluster);             
            if (0 > ret)                                              
   524ec:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   524ee:	41f4 88ff      	lea %a4@(ffffffff,%a0:l),%a0                <== NOT EXECUTED
        fat_fd->map.disk_cln = save_cln;                              
   524f2:	2543 0036      	movel %d3,%a2@(54)                          <== NOT EXECUTED
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   524f6:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   524f8:	e4a8           	lsrl %d2,%d0                                <== NOT EXECUTED
            }                                                         
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
   524fa:	d085           	addl %d5,%d0                                <== NOT EXECUTED
   524fc:	2540 0032      	movel %d0,%a2@(50)                          <== NOT EXECUTED
   52500:	6000 ff1c      	braw 5241e <fat_file_write+0x130>           <== NOT EXECUTED
                ++file_cln_cnt;                                       
                bytes_to_write -= ret;                                
                cmpltd += ret;                                        
                save_cln = cur_cln;                                   
                if (0 < bytes_to_write)                               
                  rc = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);
   52504:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   52508:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5250a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5250c:	4eb9 0005 8ac0 	jsr 58ac0 <fat_get_fat_cluster>             <== NOT EXECUTED
                                                                      
    rc = fat_file_lseek(fs_info, fat_fd, start_cln, &cur_cln);        
    if (RC_OK == rc)                                                  
    {                                                                 
        file_cln_cnt = cur_cln - fat_fd->cln;                         
        while (   (RC_OK == rc)                                       
   52512:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   52516:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
   52518:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5251a:	6644           	bnes 52560 <fat_file_write+0x272>           <== NOT EXECUTED
   5251c:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   52520:	6000 fe94      	braw 523b6 <fat_file_write+0xc8>            <== NOT EXECUTED
                                                                      
    if ( count == 0 )                                                 
        return cmpltd;                                                
                                                                      
    if (start >= fat_fd->size_limit)                                  
        rtems_set_errno_and_return_minus_one(EFBIG);                  
   52524:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5252a:	781b           	moveq #27,%d4                               <== NOT EXECUTED
   5252c:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5252e:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   52530:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
    }                                                                 
    if (RC_OK != rc)                                                  
        return rc;                                                    
    else                                                              
        return cmpltd;                                                
}                                                                     
   52532:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   52538:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5253a:	4e75           	rts                                         <== NOT EXECUTED
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   5253c:	2a6e fff4      	moveal %fp@(-12),%a5                        <== NOT EXECUTED
     const uint32_t                        count,                     
     const uint8_t                        *buf,                       
     const uint32_t                        file_cln_initial)          
{                                                                     
    int            rc = RC_OK;                                        
    uint32_t       cmpltd = 0;                                        
   52540:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   52542:	4282           	clrl %d2                                    <== NOT EXECUTED
   52544:	142b 0008      	moveb %a3@(8),%d2                           <== NOT EXECUTED
     const uint32_t                        file_cln_initial)          
{                                                                     
    int            rc = RC_OK;                                        
    uint32_t       cmpltd = 0;                                        
    uint32_t       cur_cln = 0;                                       
    uint32_t       save_cln = 0; /* FIXME: This might be incorrect, cf. below */
   52548:	4283           	clrl %d3                                    <== NOT EXECUTED
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   5254a:	4bf4 d8ff      	lea %a4@(ffffffff,%a5:l),%a5                <== NOT EXECUTED
        fat_fd->map.disk_cln = save_cln;                              
   5254e:	2543 0036      	movel %d3,%a2@(54)                          <== NOT EXECUTED
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   52552:	200d           	movel %a5,%d0                               <== NOT EXECUTED
   52554:	e4a8           	lsrl %d2,%d0                                <== NOT EXECUTED
            }                                                         
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
   52556:	d085           	addl %d5,%d0                                <== NOT EXECUTED
   52558:	2540 0032      	movel %d0,%a2@(50)                          <== NOT EXECUTED
   5255c:	6000 fec0      	braw 5241e <fat_file_write+0x130>           <== NOT EXECUTED
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   52560:	206e fff4      	moveal %fp@(-12),%a0                        <== NOT EXECUTED
   52564:	4282           	clrl %d2                                    <== NOT EXECUTED
   52566:	142b 0008      	moveb %a3@(8),%d2                           <== NOT EXECUTED
   5256a:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5256c:	41f4 88ff      	lea %a4@(ffffffff,%a0:l),%a0                <== NOT EXECUTED
        fat_fd->map.disk_cln = save_cln;                              
   52570:	2543 0036      	movel %d3,%a2@(54)                          <== NOT EXECUTED
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
                               ((ofs_cln_save + cmpltd - 1) >> fs_info->vol.bpc_log2);
   52574:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   52576:	e4a8           	lsrl %d2,%d0                                <== NOT EXECUTED
            }                                                         
        }                                                             
                                                                      
        /* update cache */                                            
        /* XXX: check this - I'm not sure :( */                       
        fat_fd->map.file_cln = start_cln +                            
   52578:	d085           	addl %d5,%d0                                <== NOT EXECUTED
   5257a:	2540 0032      	movel %d0,%a2@(50)                          <== NOT EXECUTED
   5257e:	6000 fe9e      	braw 5241e <fat_file_write+0x130>           <== NOT EXECUTED
                                                                      

00058f0e <fat_free_fat_clusters_chain>: int fat_free_fat_clusters_chain( fat_fs_info_t *fs_info, uint32_t chain ) {
   58f0e:	4e56 ffd8      	linkw %fp,#-40                              <== NOT EXECUTED
   58f12:	48d7 1cfc      	moveml %d2-%d7/%a2-%a4,%sp@                 <== NOT EXECUTED
   58f16:	2e2e 000c      	movel %fp@(12),%d7                          <== NOT EXECUTED
    int            rc = RC_OK, rc1 = RC_OK;                           
    uint32_t       cur_cln = chain;                                   
    uint32_t       next_cln = 0;                                      
    uint32_t       freed_cls_cnt = 0;                                 
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   58f1a:	2007           	movel %d7,%d0                               <== NOT EXECUTED
int                                                                   
fat_free_fat_clusters_chain(                                          
    fat_fs_info_t                        *fs_info,                    
    uint32_t                              chain                       
    )                                                                 
{                                                                     
   58f1c:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
    int            rc = RC_OK, rc1 = RC_OK;                           
    uint32_t       cur_cln = chain;                                   
    uint32_t       next_cln = 0;                                      
    uint32_t       freed_cls_cnt = 0;                                 
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   58f20:	c0aa 0010      	andl %a2@(16),%d0                           <== NOT EXECUTED
    uint32_t                              chain                       
    )                                                                 
{                                                                     
    int            rc = RC_OK, rc1 = RC_OK;                           
    uint32_t       cur_cln = chain;                                   
    uint32_t       next_cln = 0;                                      
   58f24:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
    uint32_t       freed_cls_cnt = 0;                                 
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   58f28:	b0aa 0014      	cmpl %a2@(20),%d0                           <== NOT EXECUTED
   58f2c:	6400 009e      	bccw 58fcc <fat_free_fat_clusters_chain+0xbe><== NOT EXECUTED
   58f30:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   58f32:	2407           	movel %d7,%d2                               <== NOT EXECUTED
   58f34:	4284           	clrl %d4                                    <== NOT EXECUTED
   58f36:	4286           	clrl %d6                                    <== NOT EXECUTED
   58f38:	5985           	subql #4,%d5                                <== NOT EXECUTED
   58f3a:	47f9 0005 8ac0 	lea 58ac0 <fat_get_fat_cluster>,%a3         <== NOT EXECUTED
                                                                      
            fat_buf_release(fs_info);                                 
            return rc;                                                
        }                                                             
                                                                      
        rc = fat_set_fat_cluster(fs_info, cur_cln, FAT_GENFAT_FREE);  
   58f40:	49f9 0005 8c92 	lea 58c92 <fat_set_fat_cluster>,%a4         <== NOT EXECUTED
    uint32_t       next_cln = 0;                                      
    uint32_t       freed_cls_cnt = 0;                                 
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
    {                                                                 
        rc = fat_get_fat_cluster(fs_info, cur_cln, &next_cln);        
   58f46:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   58f48:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   58f4a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58f4c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   58f4e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    uint32_t       next_cln = 0;                                      
    uint32_t       freed_cls_cnt = 0;                                 
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
    {                                                                 
        rc = fat_get_fat_cluster(fs_info, cur_cln, &next_cln);        
   58f52:	2600           	movel %d0,%d3                               <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   58f54:	6650           	bnes 58fa6 <fat_free_fat_clusters_chain+0x98><== NOT EXECUTED
                                                                      
            fat_buf_release(fs_info);                                 
            return rc;                                                
        }                                                             
                                                                      
        rc = fat_set_fat_cluster(fs_info, cur_cln, FAT_GENFAT_FREE);  
   58f56:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
        if ( rc != RC_OK )                                            
            rc1 = rc;                                                 
                                                                      
        freed_cls_cnt++;                                              
   58f58:	5284           	addql #1,%d4                                <== NOT EXECUTED
                                                                      
            fat_buf_release(fs_info);                                 
            return rc;                                                
        }                                                             
                                                                      
        rc = fat_set_fat_cluster(fs_info, cur_cln, FAT_GENFAT_FREE);  
   58f5a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   58f5c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58f5e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   58f60:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   58f64:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58f66:	6702           	beqs 58f6a <fat_free_fat_clusters_chain+0x5c><== NOT EXECUTED
   58f68:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
            rc1 = rc;                                                 
                                                                      
        freed_cls_cnt++;                                              
        cur_cln = next_cln;                                           
   58f6a:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
    int            rc = RC_OK, rc1 = RC_OK;                           
    uint32_t       cur_cln = chain;                                   
    uint32_t       next_cln = 0;                                      
    uint32_t       freed_cls_cnt = 0;                                 
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   58f6e:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   58f70:	c0aa 0010      	andl %a2@(16),%d0                           <== NOT EXECUTED
   58f74:	b0aa 0014      	cmpl %a2@(20),%d0                           <== NOT EXECUTED
   58f78:	65cc           	bcss 58f46 <fat_free_fat_clusters_chain+0x38><== NOT EXECUTED
        freed_cls_cnt++;                                              
        cur_cln = next_cln;                                           
    }                                                                 
                                                                      
        fs_info->vol.next_cl = chain;                                 
        if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)             
   58f7a:	202a 003e      	movel %a2@(62),%d0                          <== NOT EXECUTED
   58f7e:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
                                                                      
        freed_cls_cnt++;                                              
        cur_cln = next_cln;                                           
    }                                                                 
                                                                      
        fs_info->vol.next_cl = chain;                                 
   58f80:	2547 0046      	movel %d7,%a2@(70)                          <== NOT EXECUTED
        if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)             
   58f84:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   58f86:	6706           	beqs 58f8e <fat_free_fat_clusters_chain+0x80><== NOT EXECUTED
            fs_info->vol.free_cls += freed_cls_cnt;                   
   58f88:	d880           	addl %d0,%d4                                <== NOT EXECUTED
   58f8a:	2544 003e      	movel %d4,%a2@(62)                          <== NOT EXECUTED
                                                                      
    fat_buf_release(fs_info);                                         
   58f8e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58f90:	2606           	movel %d6,%d3                               <== NOT EXECUTED
   58f92:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 <== NOT EXECUTED
   58f98:	588f           	addql #4,%sp                                <== NOT EXECUTED
    if (rc1 != RC_OK)                                                 
        return rc1;                                                   
                                                                      
    return RC_OK;                                                     
}                                                                     
   58f9a:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   58f9c:	4cee 1cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   58fa2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58fa4:	4e75           	rts                                         <== NOT EXECUTED
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
    {                                                                 
        rc = fat_get_fat_cluster(fs_info, cur_cln, &next_cln);        
        if ( rc != RC_OK )                                            
        {                                                             
              if(fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)        
   58fa6:	202a 003e      	movel %a2@(62),%d0                          <== NOT EXECUTED
   58faa:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   58fac:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   58fae:	6706           	beqs 58fb6 <fat_free_fat_clusters_chain+0xa8><== NOT EXECUTED
                fs_info->vol.free_cls += freed_cls_cnt;               
   58fb0:	d880           	addl %d0,%d4                                <== NOT EXECUTED
   58fb2:	2544 003e      	movel %d4,%a2@(62)                          <== NOT EXECUTED
                                                                      
            fat_buf_release(fs_info);                                 
   58fb6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58fb8:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 <== NOT EXECUTED
   58fbe:	588f           	addql #4,%sp                                <== NOT EXECUTED
    fat_buf_release(fs_info);                                         
    if (rc1 != RC_OK)                                                 
        return rc1;                                                   
                                                                      
    return RC_OK;                                                     
}                                                                     
   58fc0:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   58fc2:	4cee 1cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   58fc8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58fca:	4e75           	rts                                         <== NOT EXECUTED
        freed_cls_cnt++;                                              
        cur_cln = next_cln;                                           
    }                                                                 
                                                                      
        fs_info->vol.next_cl = chain;                                 
        if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)             
   58fcc:	202a 003e      	movel %a2@(62),%d0                          <== NOT EXECUTED
    )                                                                 
{                                                                     
    int            rc = RC_OK, rc1 = RC_OK;                           
    uint32_t       cur_cln = chain;                                   
    uint32_t       next_cln = 0;                                      
    uint32_t       freed_cls_cnt = 0;                                 
   58fd0:	4284           	clrl %d4                                    <== NOT EXECUTED
fat_free_fat_clusters_chain(                                          
    fat_fs_info_t                        *fs_info,                    
    uint32_t                              chain                       
    )                                                                 
{                                                                     
    int            rc = RC_OK, rc1 = RC_OK;                           
   58fd2:	4286           	clrl %d6                                    <== NOT EXECUTED
        freed_cls_cnt++;                                              
        cur_cln = next_cln;                                           
    }                                                                 
                                                                      
        fs_info->vol.next_cl = chain;                                 
        if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)             
   58fd4:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
                                                                      
        freed_cls_cnt++;                                              
        cur_cln = next_cln;                                           
    }                                                                 
                                                                      
        fs_info->vol.next_cl = chain;                                 
   58fd6:	2547 0046      	movel %d7,%a2@(70)                          <== NOT EXECUTED
        if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)             
   58fda:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   58fdc:	66aa           	bnes 58f88 <fat_free_fat_clusters_chain+0x7a><== NOT EXECUTED
   58fde:	60ae           	bras 58f8e <fat_free_fat_clusters_chain+0x80><== NOT EXECUTED
                                                                      

00053a3e <fat_free_unique_ino>: fat_free_unique_ino( fat_fs_info_t *fs_info, uint32_t ino ) { FAT_SET_UNIQ_INO_FREE((ino - fs_info->uino_base), fs_info->uino);
   53a3e:	7001           	moveq #1,%d0                                <== NOT EXECUTED
void                                                                  
fat_free_unique_ino(                                                  
    fat_fs_info_t                        *fs_info,                    
    uint32_t                              ino                         
    )                                                                 
{                                                                     
   53a40:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   53a44:	226e 0008      	moveal %fp@(8),%a1                          <== NOT EXECUTED
    FAT_SET_UNIQ_INO_FREE((ino - fs_info->uino_base), fs_info->uino); 
   53a48:	222e 000c      	movel %fp@(12),%d1                          <== NOT EXECUTED
   53a4c:	92a9 0076      	subl %a1@(118),%d1                          <== NOT EXECUTED
void                                                                  
fat_free_unique_ino(                                                  
    fat_fs_info_t                        *fs_info,                    
    uint32_t                              ino                         
    )                                                                 
{                                                                     
   53a50:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
    FAT_SET_UNIQ_INO_FREE((ino - fs_info->uino_base), fs_info->uino); 
   53a52:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   53a54:	e68a           	lsrl #3,%d2                                 <== NOT EXECUTED
   53a56:	2069 006a      	moveal %a1@(106),%a0                        <== NOT EXECUTED
   53a5a:	d1c2           	addal %d2,%a0                               <== NOT EXECUTED
   53a5c:	7407           	moveq #7,%d2                                <== NOT EXECUTED
   53a5e:	c282           	andl %d2,%d1                                <== NOT EXECUTED
   53a60:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   53a62:	1210           	moveb %a0@,%d1                              <== NOT EXECUTED
   53a64:	4680           	notl %d0                                    <== NOT EXECUTED
   53a66:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   53a68:	1080           	moveb %d0,%a0@                              <== NOT EXECUTED
}                                                                     
   53a6a:	241f           	movel %sp@+,%d2                             <== NOT EXECUTED
   53a6c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058ac0 <fat_get_fat_cluster>: uint8_t *sec_buf; uint32_t sec = 0; uint32_t ofs = 0; /* sanity check */ if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )
   58ac0:	7001           	moveq #1,%d0                                
fat_get_fat_cluster(                                                  
    fat_fs_info_t                        *fs_info,                    
    uint32_t                              cln,                        
    uint32_t                             *ret_val                     
    )                                                                 
{                                                                     
   58ac2:	4e56 ffe0      	linkw %fp,#-32                              
   58ac6:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 
   58aca:	246e 0008      	moveal %fp@(8),%a2                          
   58ace:	242e 000c      	movel %fp@(12),%d2                          
    uint8_t                *sec_buf;                                  
    uint32_t                sec = 0;                                  
    uint32_t                ofs = 0;                                  
                                                                      
    /* sanity check */                                                
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
   58ad2:	b082           	cmpl %d2,%d0                                
   58ad4:	6400 0164      	bccw 58c3a <fat_get_fat_cluster+0x17a>      
   58ad8:	202a 0034      	movel %a2@(52),%d0                          
   58adc:	5280           	addql #1,%d0                                
   58ade:	b082           	cmpl %d2,%d0                                
   58ae0:	6500 0158      	bcsw 58c3a <fat_get_fat_cluster+0x17a>      
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
   58ae4:	102a 000e      	moveb %a2@(14),%d0                          
   58ae8:	0800 0000      	btst #0,%d0                                 
   58aec:	667a           	bnes 58b68 <fat_get_fat_cluster+0xa8>       <== ALWAYS TAKEN
   58aee:	7202           	moveq #2,%d1                                <== NOT EXECUTED
   58af0:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
   58af2:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   58af4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   58af6:	6778           	beqs 58b70 <fat_get_fat_cluster+0xb0>       <== NOT EXECUTED
   58af8:	da85           	addl %d5,%d5                                <== NOT EXECUTED
   58afa:	4280           	clrl %d0                                    
   58afc:	102a 0002      	moveb %a2@(2),%d0                           
   58b00:	2605           	movel %d5,%d3                               
   58b02:	e0ab           	lsrl %d0,%d3                                
   58b04:	d6aa 0050      	addl %a2@(80),%d3                           
          fs_info->vol.afat_loc;                                      
    ofs = FAT_FAT_OFFSET(fs_info->vol.type, cln) & (fs_info->vol.bps - 1);
                                                                      
    rc = fat_buf_access(fs_info, sec, FAT_OP_TYPE_READ, &sec_buf);    
   58b08:	47f9 0005 2908 	lea 52908 <fat_buf_access>,%a3              
   58b0e:	486e fffc      	pea %fp@(-4)                                
   58b12:	4878 0001      	pea 1 <ADD>                                 
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
          fs_info->vol.afat_loc;                                      
    ofs = FAT_FAT_OFFSET(fs_info->vol.type, cln) & (fs_info->vol.bps - 1);
   58b16:	3c12           	movew %a2@,%d6                              
                                                                      
    rc = fat_buf_access(fs_info, sec, FAT_OP_TYPE_READ, &sec_buf);    
   58b18:	2f03           	movel %d3,%sp@-                             
   58b1a:	2f0a           	movel %a2,%sp@-                             
   58b1c:	4e93           	jsr %a3@                                    
    if (rc != RC_OK)                                                  
   58b1e:	4fef 0010      	lea %sp@(16),%sp                            
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
          fs_info->vol.afat_loc;                                      
    ofs = FAT_FAT_OFFSET(fs_info->vol.type, cln) & (fs_info->vol.bps - 1);
                                                                      
    rc = fat_buf_access(fs_info, sec, FAT_OP_TYPE_READ, &sec_buf);    
   58b22:	2800           	movel %d0,%d4                               
    if (rc != RC_OK)                                                  
   58b24:	6636           	bnes 58b5c <fat_get_fat_cluster+0x9c>       <== NEVER TAKEN
        return rc;                                                    
                                                                      
    switch ( fs_info->vol.type )                                      
   58b26:	4280           	clrl %d0                                    
   58b28:	102a 000e      	moveb %a2@(14),%d0                          
   58b2c:	7202           	moveq #2,%d1                                
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
          fs_info->vol.afat_loc;                                      
    ofs = FAT_FAT_OFFSET(fs_info->vol.type, cln) & (fs_info->vol.bps - 1);
   58b2e:	0286 0000 ffff 	andil #65535,%d6                            
   58b34:	5386           	subql #1,%d6                                
   58b36:	ca86           	andl %d6,%d5                                
                                                                      
    rc = fat_buf_access(fs_info, sec, FAT_OP_TYPE_READ, &sec_buf);    
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    switch ( fs_info->vol.type )                                      
   58b38:	b280           	cmpl %d0,%d1                                
   58b3a:	6738           	beqs 58b74 <fat_get_fat_cluster+0xb4>       <== NEVER TAKEN
   58b3c:	123c 0004      	moveb #4,%d1                                
   58b40:	b280           	cmpl %d0,%d1                                
   58b42:	6700 00a0      	beqw 58be4 <fat_get_fat_cluster+0x124>      
   58b46:	123c 0001      	moveb #1,%d1                                
   58b4a:	b280           	cmpl %d0,%d1                                
   58b4c:	6750           	beqs 58b9e <fat_get_fat_cluster+0xde>       <== ALWAYS TAKEN
            *ret_val = *((uint32_t   *)(sec_buf + ofs));              
            *ret_val = CF_LE_L(*ret_val);                             
            break;                                                    
                                                                      
        default:                                                      
            rtems_set_errno_and_return_minus_one(EIO);                
   58b4e:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   58b54:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   58b56:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   58b58:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   58b5a:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
            break;                                                    
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58b5c:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   58b5e:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            <== NOT EXECUTED
   58b64:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58b66:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    /* sanity check */                                                
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
   58b68:	2a02           	movel %d2,%d5                               
   58b6a:	e28d           	lsrl #1,%d5                                 
   58b6c:	da82           	addl %d2,%d5                                
   58b6e:	608a           	bras 58afa <fat_get_fat_cluster+0x3a>       
   58b70:	e58d           	lsll #2,%d5                                 <== NOT EXECUTED
   58b72:	6086           	bras 58afa <fat_get_fat_cluster+0x3a>       <== NOT EXECUTED
            else                                                      
                *ret_val = (*ret_val) & FAT_FAT12_MASK;               
            break;                                                    
                                                                      
        case FAT_FAT16:                                               
            *ret_val = *((uint16_t   *)(sec_buf + ofs));              
   58b74:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
                                                                      
static inline uint16_t m68k_swap_u16(                                 
  uint16_t value                                                      
)                                                                     
{                                                                     
  return (((value & 0xff) << 8) | ((value >> 8) & 0xff));             
   58b78:	4281           	clrl %d1                                    <== NOT EXECUTED
   58b7a:	3230 5800      	movew %a0@(00000000,%d5:l),%d1              <== NOT EXECUTED
            *ret_val = CF_LE_W(*ret_val);                             
   58b7e:	226e 0010      	moveal %fp@(16),%a1                         <== NOT EXECUTED
   58b82:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   58b84:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   58b86:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   58b88:	0280 0000 ff00 	andil #65280,%d0                            <== NOT EXECUTED
   58b8e:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   58b90:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
            break;                                                    
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58b92:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   58b94:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            <== NOT EXECUTED
   58b9a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58b9c:	4e75           	rts                                         <== NOT EXECUTED
        case FAT_FAT12:                                               
            /*                                                        
             * we are enforced in complex computations for FAT12 to escape CPU
             * align problems for some architectures                  
             */                                                       
            *ret_val = (*(sec_buf + ofs));                            
   58b9e:	206e fffc      	moveal %fp@(-4),%a0                         
   58ba2:	4281           	clrl %d1                                    
            if ( ofs == (fs_info->vol.bps - 1) )                      
   58ba4:	4280           	clrl %d0                                    
        case FAT_FAT12:                                               
            /*                                                        
             * we are enforced in complex computations for FAT12 to escape CPU
             * align problems for some architectures                  
             */                                                       
            *ret_val = (*(sec_buf + ofs));                            
   58ba6:	1230 5800      	moveb %a0@(00000000,%d5:l),%d1              
            if ( ofs == (fs_info->vol.bps - 1) )                      
   58baa:	3012           	movew %a2@,%d0                              
        case FAT_FAT12:                                               
            /*                                                        
             * we are enforced in complex computations for FAT12 to escape CPU
             * align problems for some architectures                  
             */                                                       
            *ret_val = (*(sec_buf + ofs));                            
   58bac:	226e 0010      	moveal %fp@(16),%a1                         
            if ( ofs == (fs_info->vol.bps - 1) )                      
   58bb0:	5380           	subql #1,%d0                                
        case FAT_FAT12:                                               
            /*                                                        
             * we are enforced in complex computations for FAT12 to escape CPU
             * align problems for some architectures                  
             */                                                       
            *ret_val = (*(sec_buf + ofs));                            
   58bb2:	2281           	movel %d1,%a1@                              
            if ( ofs == (fs_info->vol.bps - 1) )                      
   58bb4:	ba80           	cmpl %d0,%d5                                
   58bb6:	6700 009c      	beqw 58c54 <fat_get_fat_cluster+0x194>      
                                                                      
                *ret_val |= *sec_buf << 8;                            
            }                                                         
            else                                                      
            {                                                         
                *ret_val |= *(sec_buf + ofs + 1) << 8;                
   58bba:	4280           	clrl %d0                                    
   58bbc:	1030 5801      	moveb %a0@(00000001,%d5:l),%d0              
   58bc0:	e188           	lsll #8,%d0                                 
   58bc2:	206e 0010      	moveal %fp@(16),%a0                         
   58bc6:	8081           	orl %d1,%d0                                 
   58bc8:	2080           	movel %d0,%a0@                              
            }                                                         
                                                                      
            if ( FAT_CLUSTER_IS_ODD(cln) )                            
   58bca:	0802 0000      	btst #0,%d2                                 
   58bce:	6752           	beqs 58c22 <fat_get_fat_cluster+0x162>      
                *ret_val = (*ret_val) >> FAT12_SHIFT;                 
   58bd0:	226e 0010      	moveal %fp@(16),%a1                         
   58bd4:	e888           	lsrl #4,%d0                                 
   58bd6:	2280           	movel %d0,%a1@                              
            rtems_set_errno_and_return_minus_one(EIO);                
            break;                                                    
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58bd8:	2004           	movel %d4,%d0                               
   58bda:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            
   58be0:	4e5e           	unlk %fp                                    
   58be2:	4e75           	rts                                         
            *ret_val = *((uint16_t   *)(sec_buf + ofs));              
            *ret_val = CF_LE_W(*ret_val);                             
            break;                                                    
                                                                      
        case FAT_FAT32:                                               
            *ret_val = *((uint32_t   *)(sec_buf + ofs));              
   58be4:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   58be8:	7018           	moveq #24,%d0                               <== NOT EXECUTED
   58bea:	2230 5800      	movel %a0@(00000000,%d5:l),%d1              <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   58bee:	7a18           	moveq #24,%d5                               <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   58bf0:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   58bf2:	e0ab           	lsrl %d0,%d3                                <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
   58bf4:	2401           	movel %d1,%d2                               <== NOT EXECUTED
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   58bf6:	2001           	movel %d1,%d0                               <== NOT EXECUTED
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
   58bf8:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   58bfa:	eba8           	lsll %d5,%d0                                <== NOT EXECUTED
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   58bfc:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   58bfe:	0282 0000 ff00 	andil #65280,%d2                            <== NOT EXECUTED
   58c04:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   58c06:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   58c0a:	0281 00ff 0000 	andil #16711680,%d1                         <== NOT EXECUTED
   58c10:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   58c12:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   58c14:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
            break;                                                    
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58c16:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   58c18:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            <== NOT EXECUTED
   58c1e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58c20:	4e75           	rts                                         <== NOT EXECUTED
            }                                                         
                                                                      
            if ( FAT_CLUSTER_IS_ODD(cln) )                            
                *ret_val = (*ret_val) >> FAT12_SHIFT;                 
            else                                                      
                *ret_val = (*ret_val) & FAT_FAT12_MASK;               
   58c22:	206e 0010      	moveal %fp@(16),%a0                         
   58c26:	0280 0000 0fff 	andil #4095,%d0                             
   58c2c:	2080           	movel %d0,%a0@                              
            rtems_set_errno_and_return_minus_one(EIO);                
            break;                                                    
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58c2e:	2004           	movel %d4,%d0                               
   58c30:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            
   58c36:	4e5e           	unlk %fp                                    
   58c38:	4e75           	rts                                         
    uint32_t                sec = 0;                                  
    uint32_t                ofs = 0;                                  
                                                                      
    /* sanity check */                                                
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
        rtems_set_errno_and_return_minus_one(EIO);                    
   58c3a:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   58c40:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   58c42:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   58c44:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
            break;                                                    
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58c46:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   58c48:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            <== NOT EXECUTED
    uint32_t                sec = 0;                                  
    uint32_t                ofs = 0;                                  
                                                                      
    /* sanity check */                                                
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
        rtems_set_errno_and_return_minus_one(EIO);                    
   58c4e:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
            break;                                                    
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58c50:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58c52:	4e75           	rts                                         <== NOT EXECUTED
             * align problems for some architectures                  
             */                                                       
            *ret_val = (*(sec_buf + ofs));                            
            if ( ofs == (fs_info->vol.bps - 1) )                      
            {                                                         
                rc = fat_buf_access(fs_info, sec + 1, FAT_OP_TYPE_READ,
   58c54:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   58c58:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   58c5a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   58c5e:	4868 0001      	pea %a0@(1)                                 <== NOT EXECUTED
   58c62:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58c64:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                    &sec_buf);                        
                if (rc != RC_OK)                                      
   58c66:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   58c6a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58c6c:	6616           	bnes 58c84 <fat_get_fat_cluster+0x1c4>      <== NOT EXECUTED
                    return rc;                                        
                                                                      
                *ret_val |= *sec_buf << 8;                            
   58c6e:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   58c72:	4280           	clrl %d0                                    <== NOT EXECUTED
   58c74:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   58c76:	226e 0010      	moveal %fp@(16),%a1                         <== NOT EXECUTED
   58c7a:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   58c7c:	8091           	orl %a1@,%d0                                <== NOT EXECUTED
   58c7e:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
   58c80:	6000 ff48      	braw 58bca <fat_get_fat_cluster+0x10a>      <== NOT EXECUTED
            *ret_val = (*(sec_buf + ofs));                            
            if ( ofs == (fs_info->vol.bps - 1) )                      
            {                                                         
                rc = fat_buf_access(fs_info, sec + 1, FAT_OP_TYPE_READ,
                                    &sec_buf);                        
                if (rc != RC_OK)                                      
   58c84:	2800           	movel %d0,%d4                               <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
            break;                                                    
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58c86:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   58c88:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            <== NOT EXECUTED
   58c8e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00053980 <fat_get_unique_ino>: * 0 means FAILED !!! * */ uint32_t fat_get_unique_ino(fat_fs_info_t *fs_info) {
   53980:	4e56 ffe8      	linkw %fp,#-24                              <== NOT EXECUTED
   53984:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 <== NOT EXECUTED
   53988:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
        }                                                             
                                                                      
        if ((fs_info->uino_pool_size << 1) < (0x0FFFFFFF - fs_info->uino_base))
        {                                                             
            fs_info->uino_pool_size <<= 1;                            
            fs_info->uino = realloc(fs_info->uino, fs_info->uino_pool_size);
   5398c:	47f9 0004 5c8c 	lea 45c8c <realloc>,%a3                     <== NOT EXECUTED
   53992:	242a 0072      	movel %a2@(114),%d2                         <== NOT EXECUTED
    uint32_t                j = 0;                                    
    bool                    resrc_unsuff = false;                     
                                                                      
    while (!resrc_unsuff)                                             
    {                                                                 
        for (j = 0; j < fs_info->uino_pool_size; j++)                 
   53996:	4a82           	tstl %d2                                    <== NOT EXECUTED
   53998:	6768           	beqs 53a02 <fat_get_unique_ino+0x82>        <== NOT EXECUTED
        {                                                             
            if (!FAT_UNIQ_INO_IS_BUSY(fs_info->index, fs_info->uino)) 
   5399a:	202a 006e      	movel %a2@(110),%d0                         <== NOT EXECUTED
   5399e:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   539a0:	e689           	lsrl #3,%d1                                 <== NOT EXECUTED
   539a2:	7807           	moveq #7,%d4                                <== NOT EXECUTED
   539a4:	226a 006a      	moveal %a2@(106),%a1                        <== NOT EXECUTED
   539a8:	41f1 1800      	lea %a1@(00000000,%d1:l),%a0                <== NOT EXECUTED
   539ac:	1610           	moveb %a0@,%d3                              <== NOT EXECUTED
   539ae:	c880           	andl %d0,%d4                                <== NOT EXECUTED
   539b0:	1203           	moveb %d3,%d1                               <== NOT EXECUTED
   539b2:	49c1           	extbl %d1                                   <== NOT EXECUTED
   539b4:	0901           	btst %d4,%d1                                <== NOT EXECUTED
   539b6:	6730           	beqs 539e8 <fat_get_unique_ino+0x68>        <== NOT EXECUTED
   539b8:	4281           	clrl %d1                                    <== NOT EXECUTED
            {                                                         
                FAT_SET_UNIQ_INO_BUSY(fs_info->index, fs_info->uino); 
                return (fs_info->uino_base + fs_info->index);         
            }                                                         
            fs_info->index++;                                         
   539ba:	5280           	addql #1,%d0                                <== NOT EXECUTED
    uint32_t                j = 0;                                    
    bool                    resrc_unsuff = false;                     
                                                                      
    while (!resrc_unsuff)                                             
    {                                                                 
        for (j = 0; j < fs_info->uino_pool_size; j++)                 
   539bc:	5281           	addql #1,%d1                                <== NOT EXECUTED
            if (!FAT_UNIQ_INO_IS_BUSY(fs_info->index, fs_info->uino)) 
            {                                                         
                FAT_SET_UNIQ_INO_BUSY(fs_info->index, fs_info->uino); 
                return (fs_info->uino_base + fs_info->index);         
            }                                                         
            fs_info->index++;                                         
   539be:	2540 006e      	movel %d0,%a2@(110)                         <== NOT EXECUTED
            if (fs_info->index >= fs_info->uino_pool_size)            
   539c2:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   539c4:	6204           	bhis 539ca <fat_get_unique_ino+0x4a>        <== NOT EXECUTED
                fs_info->index = 0;                                   
   539c6:	42aa 006e      	clrl %a2@(110)                              <== NOT EXECUTED
    uint32_t                j = 0;                                    
    bool                    resrc_unsuff = false;                     
                                                                      
    while (!resrc_unsuff)                                             
    {                                                                 
        for (j = 0; j < fs_info->uino_pool_size; j++)                 
   539ca:	b481           	cmpl %d1,%d2                                <== NOT EXECUTED
   539cc:	6734           	beqs 53a02 <fat_get_unique_ino+0x82>        <== NOT EXECUTED
        {                                                             
            if (!FAT_UNIQ_INO_IS_BUSY(fs_info->index, fs_info->uino)) 
   539ce:	202a 006e      	movel %a2@(110),%d0                         <== NOT EXECUTED
   539d2:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   539d4:	e68b           	lsrl #3,%d3                                 <== NOT EXECUTED
   539d6:	41f1 3800      	lea %a1@(00000000,%d3:l),%a0                <== NOT EXECUTED
   539da:	7807           	moveq #7,%d4                                <== NOT EXECUTED
   539dc:	1610           	moveb %a0@,%d3                              <== NOT EXECUTED
   539de:	c880           	andl %d0,%d4                                <== NOT EXECUTED
   539e0:	1a03           	moveb %d3,%d5                               <== NOT EXECUTED
   539e2:	49c5           	extbl %d5                                   <== NOT EXECUTED
   539e4:	0905           	btst %d4,%d5                                <== NOT EXECUTED
   539e6:	66d2           	bnes 539ba <fat_get_unique_ino+0x3a>        <== NOT EXECUTED
            {                                                         
                FAT_SET_UNIQ_INO_BUSY(fs_info->index, fs_info->uino); 
   539e8:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   539ea:	e9a8           	lsll %d4,%d0                                <== NOT EXECUTED
   539ec:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   539ee:	1080           	moveb %d0,%a0@                              <== NOT EXECUTED
                return (fs_info->uino_base + fs_info->index);         
   539f0:	202a 006e      	movel %a2@(110),%d0                         <== NOT EXECUTED
   539f4:	d0aa 0076      	addl %a2@(118),%d0                          <== NOT EXECUTED
        }                                                             
        else                                                          
            resrc_unsuff = true;                                      
    }                                                                 
    return 0;                                                         
}                                                                     
   539f8:	4cee 0c3c ffe8 	moveml %fp@(-24),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   539fe:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   53a00:	4e75           	rts                                         <== NOT EXECUTED
            fs_info->index++;                                         
            if (fs_info->index >= fs_info->uino_pool_size)            
                fs_info->index = 0;                                   
        }                                                             
                                                                      
        if ((fs_info->uino_pool_size << 1) < (0x0FFFFFFF - fs_info->uino_base))
   53a02:	203c 0fff ffff 	movel #268435455,%d0                        <== NOT EXECUTED
   53a08:	90aa 0076      	subl %a2@(118),%d0                          <== NOT EXECUTED
   53a0c:	d482           	addl %d2,%d2                                <== NOT EXECUTED
   53a0e:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   53a10:	620c           	bhis 53a1e <fat_get_unique_ino+0x9e>        <== NOT EXECUTED
                resrc_unsuff = true;                                  
        }                                                             
        else                                                          
            resrc_unsuff = true;                                      
    }                                                                 
    return 0;                                                         
   53a12:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   53a14:	4cee 0c3c ffe8 	moveml %fp@(-24),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   53a1a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   53a1c:	4e75           	rts                                         <== NOT EXECUTED
        }                                                             
                                                                      
        if ((fs_info->uino_pool_size << 1) < (0x0FFFFFFF - fs_info->uino_base))
        {                                                             
            fs_info->uino_pool_size <<= 1;                            
            fs_info->uino = realloc(fs_info->uino, fs_info->uino_pool_size);
   53a1e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   53a20:	2f2a 006a      	movel %a2@(106),%sp@-                       <== NOT EXECUTED
                fs_info->index = 0;                                   
        }                                                             
                                                                      
        if ((fs_info->uino_pool_size << 1) < (0x0FFFFFFF - fs_info->uino_base))
        {                                                             
            fs_info->uino_pool_size <<= 1;                            
   53a24:	2542 0072      	movel %d2,%a2@(114)                         <== NOT EXECUTED
            fs_info->uino = realloc(fs_info->uino, fs_info->uino_pool_size);
   53a28:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            if (fs_info->uino != NULL)                                
   53a2a:	508f           	addql #8,%sp                                <== NOT EXECUTED
        }                                                             
                                                                      
        if ((fs_info->uino_pool_size << 1) < (0x0FFFFFFF - fs_info->uino_base))
        {                                                             
            fs_info->uino_pool_size <<= 1;                            
            fs_info->uino = realloc(fs_info->uino, fs_info->uino_pool_size);
   53a2c:	2540 006a      	movel %d0,%a2@(106)                         <== NOT EXECUTED
            if (fs_info->uino != NULL)                                
   53a30:	67e0           	beqs 53a12 <fat_get_unique_ino+0x92>        <== NOT EXECUTED
                fs_info->index = fs_info->uino_pool_size;             
   53a32:	242a 0072      	movel %a2@(114),%d2                         <== NOT EXECUTED
   53a36:	2542 006e      	movel %d2,%a2@(110)                         <== NOT EXECUTED
   53a3a:	6000 ff5a      	braw 53996 <fat_get_unique_ino+0x16>        <== NOT EXECUTED
                                                                      

000538fa <fat_init_clusters_chain>: int fat_init_clusters_chain( fat_fs_info_t *fs_info, uint32_t start_cln ) {
   538fa:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   538fe:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
    int                     rc = RC_OK;                               
    ssize_t                 ret = 0;                                  
    uint32_t                cur_cln = start_cln;                      
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   53902:	2200           	movel %d0,%d1                               <== NOT EXECUTED
int                                                                   
fat_init_clusters_chain(                                              
    fat_fs_info_t                        *fs_info,                    
    uint32_t                              start_cln                   
    )                                                                 
{                                                                     
   53904:	48d7 3c00      	moveml %a2-%a5,%sp@                         <== NOT EXECUTED
   53908:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
    int                     rc = RC_OK;                               
    ssize_t                 ret = 0;                                  
    uint32_t                cur_cln = start_cln;                      
   5390c:	264e           	moveal %fp,%a3                              <== NOT EXECUTED
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
    {                                                                 
        ret = fat_cluster_set(fs_info, cur_cln, 0, fs_info->vol.bpc, 0);
   5390e:	49f9 0005 2b1a 	lea 52b1a <fat_cluster_set>,%a4             <== NOT EXECUTED
        if ( ret != fs_info->vol.bpc )                                
        {                                                             
            return -1;                                                
        }                                                             
                                                                      
        rc  = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);        
   53914:	4bf9 0005 8ac0 	lea 58ac0 <fat_get_fat_cluster>,%a5         <== NOT EXECUTED
{                                                                     
    int                     rc = RC_OK;                               
    ssize_t                 ret = 0;                                  
    uint32_t                cur_cln = start_cln;                      
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   5391a:	c2aa 0010      	andl %a2@(16),%d1                           <== NOT EXECUTED
    uint32_t                              start_cln                   
    )                                                                 
{                                                                     
    int                     rc = RC_OK;                               
    ssize_t                 ret = 0;                                  
    uint32_t                cur_cln = start_cln;                      
   5391e:	2700           	movel %d0,%a3@-                             <== NOT EXECUTED
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   53920:	b2aa 0014      	cmpl %a2@(20),%d1                           <== NOT EXECUTED
   53924:	6442           	bccs 53968 <fat_init_clusters_chain+0x6e>   <== NOT EXECUTED
    {                                                                 
        ret = fat_cluster_set(fs_info, cur_cln, 0, fs_info->vol.bpc, 0);
   53926:	4281           	clrl %d1                                    <== NOT EXECUTED
   53928:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5392a:	322a 0006      	movew %a2@(6),%d1                           <== NOT EXECUTED
   5392e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   53930:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   53932:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   53934:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   53936:	4e94           	jsr %a4@                                    <== NOT EXECUTED
        if ( ret != fs_info->vol.bpc )                                
   53938:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5393c:	4281           	clrl %d1                                    <== NOT EXECUTED
   5393e:	322a 0006      	movew %a2@(6),%d1                           <== NOT EXECUTED
   53942:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   53944:	662e           	bnes 53974 <fat_init_clusters_chain+0x7a>   <== NOT EXECUTED
        {                                                             
            return -1;                                                
        }                                                             
                                                                      
        rc  = fat_get_fat_cluster(fs_info, cur_cln, &cur_cln);        
   53946:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   53948:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   5394c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5394e:	4e95           	jsr %a5@                                    <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   53950:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   53954:	4a80           	tstl %d0                                    <== NOT EXECUTED
   53956:	6612           	bnes 5396a <fat_init_clusters_chain+0x70>   <== NOT EXECUTED
   53958:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
{                                                                     
    int                     rc = RC_OK;                               
    ssize_t                 ret = 0;                                  
    uint32_t                cur_cln = start_cln;                      
                                                                      
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
   5395c:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5395e:	c2aa 0010      	andl %a2@(16),%d1                           <== NOT EXECUTED
   53962:	b2aa 0014      	cmpl %a2@(20),%d1                           <== NOT EXECUTED
   53966:	65be           	bcss 53926 <fat_init_clusters_chain+0x2c>   <== NOT EXECUTED
            return rc;                                                
        }                                                             
                                                                      
    }                                                                 
                                                                      
    return rc;                                                        
   53968:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5396a:	4cee 3c00 ffec 	moveml %fp@(-20),%a2-%a5                    <== NOT EXECUTED
   53970:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   53972:	4e75           	rts                                         <== NOT EXECUTED
    while ((cur_cln & fs_info->vol.mask) < fs_info->vol.eoc_val)      
    {                                                                 
        ret = fat_cluster_set(fs_info, cur_cln, 0, fs_info->vol.bpc, 0);
        if ( ret != fs_info->vol.bpc )                                
        {                                                             
            return -1;                                                
   53974:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
        }                                                             
                                                                      
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   53976:	4cee 3c00 ffec 	moveml %fp@(-20),%a2-%a5                    <== NOT EXECUTED
   5397c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052df2 <fat_init_volume_info>: * RC_OK on success, or -1 if error occured * and errno set appropriately */ int fat_init_volume_info(fat_fs_info_t *fs_info, const char *device) {
   52df2:	4e56 ff60      	linkw %fp,#-160                             
   52df6:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
    ssize_t             ret = 0;                                      
    struct stat         stat_buf;                                     
    int                 i = 0;                                        
    rtems_bdbuf_buffer *block = NULL;                                 
                                                                      
    vol->fd = open(device, O_RDWR);                                   
   52dfa:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   52dfe:	2f2e 000c      	movel %fp@(12),%sp@-                        
 *     RC_OK on success, or -1 if error occured                       
 *     and errno set appropriately                                    
 */                                                                   
int                                                                   
fat_init_volume_info(fat_fs_info_t *fs_info, const char *device)      
{                                                                     
   52e02:	246e 0008      	moveal %fp@(8),%a2                          
    char                boot_rec[FAT_MAX_BPB_SIZE];                   
    char                fs_info_sector[FAT_USEFUL_INFO_SIZE];         
    ssize_t             ret = 0;                                      
    struct stat         stat_buf;                                     
    int                 i = 0;                                        
    rtems_bdbuf_buffer *block = NULL;                                 
   52e06:	42ae ffaa      	clrl %fp@(-86)                              
                                                                      
    vol->fd = open(device, O_RDWR);                                   
   52e0a:	4eb9 0004 5a28 	jsr 45a28 <open>                            
    if (vol->fd < 0)                                                  
   52e10:	508f           	addql #8,%sp                                
    ssize_t             ret = 0;                                      
    struct stat         stat_buf;                                     
    int                 i = 0;                                        
    rtems_bdbuf_buffer *block = NULL;                                 
                                                                      
    vol->fd = open(device, O_RDWR);                                   
   52e12:	2540 0056      	movel %d0,%a2@(86)                          
    if (vol->fd < 0)                                                  
   52e16:	6d00 07a4      	bltw 535bc <fat_init_volume_info+0x7ca>     
    {                                                                 
        rtems_set_errno_and_return_minus_one(ENXIO);                  
    }                                                                 
                                                                      
    rc = fstat(vol->fd, &stat_buf);                                   
   52e1a:	486e ffba      	pea %fp@(-70)                               
   52e1e:	2f00           	movel %d0,%sp@-                             
   52e20:	4eb9 0004 4c7c 	jsr 44c7c <fstat>                           
    if (rc != 0)                                                      
   52e26:	508f           	addql #8,%sp                                
   52e28:	4a80           	tstl %d0                                    
   52e2a:	6600 06e2      	bnew 5350e <fat_init_volume_info+0x71c>     
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one(ENXIO);                  
    }                                                                 
                                                                      
    /* Must be a block device. */                                     
    if (!S_ISBLK(stat_buf.st_mode))                                   
   52e2e:	202e ffc6      	movel %fp@(-58),%d0                         
   52e32:	0280 0000 f000 	andil #61440,%d0                            
   52e38:	0c80 0000 6000 	cmpil #24576,%d0                            
   52e3e:	6600 06ce      	bnew 5350e <fat_init_volume_info+0x71c>     
static inline int rtems_disk_fd_get_disk_device(                      
  int fd,                                                             
  rtems_disk_device **dd_ptr                                          
)                                                                     
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_GETDISKDEV, dd_ptr);                   
   52e42:	486a 005a      	pea %a2@(90)                                
   52e46:	2f3c 4004 4209 	movel #1074020873,%sp@-                     
   52e4c:	2f2a 0056      	movel %a2@(86),%sp@-                        
   52e50:	4eb9 0005 46f4 	jsr 546f4 <ioctl>                           
        rtems_set_errno_and_return_minus_one(ENXIO);                  
    }                                                                 
                                                                      
    /* check that device is registred as block device and lock it */  
    rc = rtems_disk_fd_get_disk_device(vol->fd, &vol->dd);            
    if (rc != 0) {                                                    
   52e56:	4fef 000c      	lea %sp@(12),%sp                            
   52e5a:	4a80           	tstl %d0                                    
   52e5c:	6600 06b0      	bnew 5350e <fat_init_volume_info+0x71c>     
        rtems_set_errno_and_return_minus_one(ENXIO);                  
    }                                                                 
                                                                      
    /* Read boot record */                                            
    /* FIXME: Asserts FAT_MAX_BPB_SIZE < bdbuf block size */          
    sc = rtems_bdbuf_read( vol->dd, 0, &block);                       
   52e60:	486e ffaa      	pea %fp@(-86)                               
   52e64:	42a7           	clrl %sp@-                                  
   52e66:	2f2a 005a      	movel %a2@(90),%sp@-                        
   52e6a:	4eb9 0005 05f2 	jsr 505f2 <rtems_bdbuf_read>                
    if (sc != RTEMS_SUCCESSFUL)                                       
   52e70:	4fef 000c      	lea %sp@(12),%sp                            
   52e74:	4a80           	tstl %d0                                    
   52e76:	6600 06f4      	bnew 5356c <fat_init_volume_info+0x77a>     
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EIO);                   
    }                                                                 
                                                                      
    memcpy( boot_rec, block->buffer, FAT_MAX_BPB_SIZE);               
   52e7a:	226e ffaa      	moveal %fp@(-86),%a1                        
   52e7e:	2069 001a      	moveal %a1@(26),%a0                         
   52e82:	1228 0010      	moveb %a0@(16),%d1                          
   52e86:	1a28 0011      	moveb %a0@(17),%d5                          
   52e8a:	1c28 0012      	moveb %a0@(18),%d6                          
   52e8e:	3841           	moveaw %d1,%a4                              
   52e90:	1228 0013      	moveb %a0@(19),%d1                          
   52e94:	1d45 ffa7      	moveb %d5,%fp@(-89)                         
   52e98:	1d41 ffa5      	moveb %d1,%fp@(-91)                         
   52e9c:	1228 0020      	moveb %a0@(32),%d1                          
   52ea0:	1a28 0014      	moveb %a0@(20),%d5                          
   52ea4:	1d41 ff96      	moveb %d1,%fp@(-106)                        
   52ea8:	1228 0021      	moveb %a0@(33),%d1                          
   52eac:	1d46 ffa6      	moveb %d6,%fp@(-90)                         
   52eb0:	1d41 ff9d      	moveb %d1,%fp@(-99)                         
   52eb4:	1228 0022      	moveb %a0@(34),%d1                          
   52eb8:	1d45 ffa4      	moveb %d5,%fp@(-92)                         
   52ebc:	1d41 ff9c      	moveb %d1,%fp@(-100)                        
   52ec0:	1228 0023      	moveb %a0@(35),%d1                          
   52ec4:	1028 000f      	moveb %a0@(15),%d0                          
   52ec8:	1d41 ff9b      	moveb %d1,%fp@(-101)                        
   52ecc:	1228 0024      	moveb %a0@(36),%d1                          
   52ed0:	1428 000b      	moveb %a0@(11),%d2                          
   52ed4:	1d41 ff97      	moveb %d1,%fp@(-105)                        
   52ed8:	1228 0025      	moveb %a0@(37),%d1                          
   52edc:	1828 000c      	moveb %a0@(12),%d4                          
   52ee0:	1d41 ff9f      	moveb %d1,%fp@(-97)                         
   52ee4:	1228 0026      	moveb %a0@(38),%d1                          
   52ee8:	1628 000d      	moveb %a0@(13),%d3                          
   52eec:	1d41 ff9e      	moveb %d1,%fp@(-98)                         
   52ef0:	1228 0027      	moveb %a0@(39),%d1                          
   52ef4:	1e28 000e      	moveb %a0@(14),%d7                          
   52ef8:	1a28 0016      	moveb %a0@(22),%d5                          
   52efc:	1c28 0017      	moveb %a0@(23),%d6                          
   52f00:	1d41 ffa3      	moveb %d1,%fp@(-93)                         
   52f04:	1228 0028      	moveb %a0@(40),%d1                          
   52f08:	3640           	moveaw %d0,%a3                              
   52f0a:	1d41 ff95      	moveb %d1,%fp@(-107)                        
   52f0e:	1228 002c      	moveb %a0@(44),%d1                          
   52f12:	1d41 ff8f      	moveb %d1,%fp@(-113)                        
   52f16:	1228 002d      	moveb %a0@(45),%d1                          
   52f1a:	1d41 ff8e      	moveb %d1,%fp@(-114)                        
   52f1e:	1228 002e      	moveb %a0@(46),%d1                          
   52f22:	1d41 ff8d      	moveb %d1,%fp@(-115)                        
   52f26:	1228 002f      	moveb %a0@(47),%d1                          
   52f2a:	1d41 ff8b      	moveb %d1,%fp@(-117)                        
   52f2e:	1228 0030      	moveb %a0@(48),%d1                          
   52f32:	1d41 ff91      	moveb %d1,%fp@(-111)                        
   52f36:	1228 0031      	moveb %a0@(49),%d1                          
                                                                      
    sc = rtems_bdbuf_release( block);                                 
   52f3a:	2f09           	movel %a1,%sp@-                             
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EIO);                   
    }                                                                 
                                                                      
    memcpy( boot_rec, block->buffer, FAT_MAX_BPB_SIZE);               
   52f3c:	1d41 ff90      	moveb %d1,%fp@(-112)                        
                                                                      
    sc = rtems_bdbuf_release( block);                                 
   52f40:	4eb9 0005 07c4 	jsr 507c4 <rtems_bdbuf_release>             
    if (sc != RTEMS_SUCCESSFUL)                                       
   52f46:	588f           	addql #4,%sp                                
   52f48:	4a80           	tstl %d0                                    
   52f4a:	6600 0620      	bnew 5356c <fat_init_volume_info+0x77a>     
    }                                                                 
                                                                      
    /* Evaluate boot record */                                        
    vol->bps = FAT_GET_BR_BYTES_PER_SECTOR(boot_rec);                 
                                                                      
    if ( (vol->bps != 512)  &&                                        
   52f4e:	4280           	clrl %d0                                    
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EIO );                  
    }                                                                 
                                                                      
    /* Evaluate boot record */                                        
    vol->bps = FAT_GET_BR_BYTES_PER_SECTOR(boot_rec);                 
   52f50:	0284 0000 00ff 	andil #255,%d4                              
   52f56:	0282 0000 00ff 	andil #255,%d2                              
   52f5c:	e18c           	lsll #8,%d4                                 
   52f5e:	8882           	orl %d2,%d4                                 
                                                                      
    if ( (vol->bps != 512)  &&                                        
   52f60:	3004           	movew %d4,%d0                               
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EIO );                  
    }                                                                 
                                                                      
    /* Evaluate boot record */                                        
    vol->bps = FAT_GET_BR_BYTES_PER_SECTOR(boot_rec);                 
   52f62:	3484           	movew %d4,%a2@                              
   52f64:	3a44           	moveaw %d4,%a5                              
                                                                      
    if ( (vol->bps != 512)  &&                                        
   52f66:	0c80 0000 0200 	cmpil #512,%d0                              
   52f6c:	6700 055e      	beqw 534cc <fat_init_volume_info+0x6da>     
   52f70:	0c80 0000 0400 	cmpil #1024,%d0                             <== NOT EXECUTED
   52f76:	6712           	beqs 52f8a <fat_init_volume_info+0x198>     <== NOT EXECUTED
         (vol->bps != 1024) &&                                        
   52f78:	0c80 0000 0800 	cmpil #2048,%d0                             <== NOT EXECUTED
   52f7e:	670a           	beqs 52f8a <fat_init_volume_info+0x198>     <== NOT EXECUTED
         (vol->bps != 2048) &&                                        
   52f80:	0c80 0000 1000 	cmpil #4096,%d0                             <== NOT EXECUTED
   52f86:	6600 05c0      	bnew 53548 <fat_init_volume_info+0x756>     <== NOT EXECUTED
         (vol->bps != 4096))                                          
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EINVAL );               
    }                                                                 
    for (vol->sec_mul = 0, i = (vol->bps >> FAT_SECTOR512_BITS); (i & 1) == 0;
   52f8a:	4281           	clrl %d1                                    <== NOT EXECUTED
   52f8c:	7409           	moveq #9,%d2                                <== NOT EXECUTED
   52f8e:	320d           	movew %a5,%d1                               <== NOT EXECUTED
   52f90:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
   52f92:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   52f94:	e4a8           	lsrl %d2,%d0                                <== NOT EXECUTED
         i >>= 1, vol->sec_mul++);                                    
   52f96:	e280           	asrl #1,%d0                                 <== NOT EXECUTED
         (vol->bps != 4096))                                          
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EINVAL );               
    }                                                                 
    for (vol->sec_mul = 0, i = (vol->bps >> FAT_SECTOR512_BITS); (i & 1) == 0;
   52f98:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   52f9a:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   52f9c:	5282           	addql #1,%d2                                <== NOT EXECUTED
   52f9e:	0800 0000      	btst #0,%d0                                 <== NOT EXECUTED
   52fa2:	660e           	bnes 52fb2 <fat_init_volume_info+0x1c0>     <== NOT EXECUTED
         i >>= 1, vol->sec_mul++);                                    
   52fa4:	e280           	asrl #1,%d0                                 <== NOT EXECUTED
         (vol->bps != 4096))                                          
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EINVAL );               
    }                                                                 
    for (vol->sec_mul = 0, i = (vol->bps >> FAT_SECTOR512_BITS); (i & 1) == 0;
   52fa6:	1202           	moveb %d2,%d1                               <== NOT EXECUTED
   52fa8:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   52faa:	5282           	addql #1,%d2                                <== NOT EXECUTED
   52fac:	0800 0000      	btst #0,%d0                                 <== NOT EXECUTED
   52fb0:	67f2           	beqs 52fa4 <fat_init_volume_info+0x1b2>     <== NOT EXECUTED
   52fb2:	1541 0003      	moveb %d1,%a2@(3)                           <== NOT EXECUTED
         i >>= 1, vol->sec_mul++);                                    
    for (vol->sec_log2 = 0, i = vol->bps; (i & 1) == 0;               
   52fb6:	4202           	clrb %d2                                    
   52fb8:	1542 0002      	moveb %d2,%a2@(2)                           
   52fbc:	0804 0000      	btst #0,%d4                                 
   52fc0:	6600 057a      	bnew 5353c <fat_init_volume_info+0x74a>     
   52fc4:	2009           	movel %a1,%d0                               
         i >>= 1, vol->sec_log2++);                                   
   52fc6:	e280           	asrl #1,%d0                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EINVAL );               
    }                                                                 
    for (vol->sec_mul = 0, i = (vol->bps >> FAT_SECTOR512_BITS); (i & 1) == 0;
         i >>= 1, vol->sec_mul++);                                    
    for (vol->sec_log2 = 0, i = vol->bps; (i & 1) == 0;               
   52fc8:	7201           	moveq #1,%d1                                
   52fca:	2401           	movel %d1,%d2                               
   52fcc:	5282           	addql #1,%d2                                
   52fce:	0800 0000      	btst #0,%d0                                 
   52fd2:	660e           	bnes 52fe2 <fat_init_volume_info+0x1f0>     <== NEVER TAKEN
         i >>= 1, vol->sec_log2++);                                   
   52fd4:	e280           	asrl #1,%d0                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EINVAL );               
    }                                                                 
    for (vol->sec_mul = 0, i = (vol->bps >> FAT_SECTOR512_BITS); (i & 1) == 0;
         i >>= 1, vol->sec_mul++);                                    
    for (vol->sec_log2 = 0, i = vol->bps; (i & 1) == 0;               
   52fd6:	1202           	moveb %d2,%d1                               
   52fd8:	2401           	movel %d1,%d2                               
   52fda:	5282           	addql #1,%d2                                
   52fdc:	0800 0000      	btst #0,%d0                                 
   52fe0:	67f2           	beqs 52fd4 <fat_init_volume_info+0x1e2>     
   52fe2:	1541 0002      	moveb %d1,%a2@(2)                           
         i >>= 1, vol->sec_log2++);                                   
                                                                      
    vol->bytes_per_block = vol->bps;                                  
    vol->bytes_per_block_log2 = vol->sec_log2;                        
    vol->sectors_per_block = 1;                                       
   52fe6:	7801           	moveq #1,%d4                                
    for (vol->sec_mul = 0, i = (vol->bps >> FAT_SECTOR512_BITS); (i & 1) == 0;
         i >>= 1, vol->sec_mul++);                                    
    for (vol->sec_log2 = 0, i = vol->bps; (i & 1) == 0;               
         i >>= 1, vol->sec_log2++);                                   
                                                                      
    vol->bytes_per_block = vol->bps;                                  
   52fe8:	354d 000a      	movew %a5,%a2@(10)                          
    vol->bytes_per_block_log2 = vol->sec_log2;                        
   52fec:	1541 000c      	moveb %d1,%a2@(12)                          
    vol->sectors_per_block = 1;                                       
   52ff0:	1544 0009      	moveb %d4,%a2@(9)                           
                                                                      
    vol->spc = FAT_GET_BR_SECTORS_PER_CLUSTER(boot_rec);              
   52ff4:	1543 0004      	moveb %d3,%a2@(4)                           
    /*                                                                
     * "sectors per cluster" of zero is invalid                       
     * (and would hang the following loop)                            
     */                                                               
    if (vol->spc == 0)                                                
   52ff8:	6700 054e      	beqw 53548 <fat_init_volume_info+0x756>     
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one(EINVAL);                 
    }                                                                 
                                                                      
    for (vol->spc_log2 = 0, i = vol->spc; (i & 1) == 0;               
   52ffc:	4282           	clrl %d2                                    
   52ffe:	1403           	moveb %d3,%d2                               
   53000:	4200           	clrb %d0                                    
   53002:	1540 0005      	moveb %d0,%a2@(5)                           
   53006:	2002           	movel %d2,%d0                               
   53008:	0803 0000      	btst #0,%d3                                 
   5300c:	6600 0534      	bnew 53542 <fat_init_volume_info+0x750>     
         i >>= 1, vol->spc_log2++);                                   
   53010:	e280           	asrl #1,%d0                                 
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one(EINVAL);                 
    }                                                                 
                                                                      
    for (vol->spc_log2 = 0, i = vol->spc; (i & 1) == 0;               
   53012:	7601           	moveq #1,%d3                                
   53014:	2803           	movel %d3,%d4                               
   53016:	5284           	addql #1,%d4                                
   53018:	0800 0000      	btst #0,%d0                                 
   5301c:	660e           	bnes 5302c <fat_init_volume_info+0x23a>     <== ALWAYS TAKEN
         i >>= 1, vol->spc_log2++);                                   
   5301e:	e280           	asrl #1,%d0                                 <== NOT EXECUTED
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one(EINVAL);                 
    }                                                                 
                                                                      
    for (vol->spc_log2 = 0, i = vol->spc; (i & 1) == 0;               
   53020:	1604           	moveb %d4,%d3                               <== NOT EXECUTED
   53022:	2803           	movel %d3,%d4                               <== NOT EXECUTED
   53024:	5284           	addql #1,%d4                                <== NOT EXECUTED
   53026:	0800 0000      	btst #0,%d0                                 <== NOT EXECUTED
   5302a:	67f2           	beqs 5301e <fat_init_volume_info+0x22c>     <== NOT EXECUTED
   5302c:	1543 0005      	moveb %d3,%a2@(5)                           
   53030:	0283 0000 00ff 	andil #255,%d3                              
         i >>= 1, vol->spc_log2++);                                   
                                                                      
    /*                                                                
     * "bytes per cluster" value greater than 32K is invalid          
     */                                                               
    if ((vol->bpc = vol->bps << vol->spc_log2) > MS_BYTES_PER_CLUSTER_LIMIT)
   53036:	2809           	movel %a1,%d4                               
   53038:	4280           	clrl %d0                                    
   5303a:	e7ac           	lsll %d3,%d4                                
   5303c:	3004           	movew %d4,%d0                               
   5303e:	3544 0006      	movew %d4,%a2@(6)                           
   53042:	0c80 0000 8000 	cmpil #32768,%d0                            
   53048:	6200 04fe      	bhiw 53548 <fat_init_volume_info+0x756>     
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one(EINVAL);                 
    }                                                                 
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
   5304c:	2004           	movel %d4,%d0                               
   5304e:	4203           	clrb %d3                                    
   53050:	0280 0000 ffff 	andil #65535,%d0                            
   53056:	1543 0008      	moveb %d3,%a2@(8)                           
   5305a:	7601           	moveq #1,%d3                                
   5305c:	0804 0000      	btst #0,%d4                                 
   53060:	661e           	bnes 53080 <fat_init_volume_info+0x28e>     <== NEVER TAKEN
   53062:	2803           	movel %d3,%d4                               
   53064:	5284           	addql #1,%d4                                
         i >>= 1, vol->bpc_log2++);                                   
   53066:	e280           	asrl #1,%d0                                 
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one(EINVAL);                 
    }                                                                 
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
   53068:	0800 0000      	btst #0,%d0                                 
   5306c:	660e           	bnes 5307c <fat_init_volume_info+0x28a>     <== NEVER TAKEN
         i >>= 1, vol->bpc_log2++);                                   
   5306e:	e280           	asrl #1,%d0                                 
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one(EINVAL);                 
    }                                                                 
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
   53070:	1604           	moveb %d4,%d3                               
   53072:	2803           	movel %d3,%d4                               
   53074:	5284           	addql #1,%d4                                
   53076:	0800 0000      	btst #0,%d0                                 
   5307a:	67f2           	beqs 5306e <fat_init_volume_info+0x27c>     
   5307c:	1543 0008      	moveb %d3,%a2@(8)                           
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
   53080:	4280           	clrl %d0                                    
   53082:	102e ffa7      	moveb %fp@(-89),%d0                         
   53086:	4284           	clrl %d4                                    
   53088:	2040           	moveal %d0,%a0                              
   5308a:	182e ffa6      	moveb %fp@(-90),%d4                         
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
   5308e:	4283           	clrl %d3                                    
   53090:	300b           	movew %a3,%d0                               
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
   53092:	e18c           	lsll #8,%d4                                 
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
   53094:	0286 0000 00ff 	andil #255,%d6                              
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
   5309a:	1600           	moveb %d0,%d3                               
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
   5309c:	2008           	movel %a0,%d0                               
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
   5309e:	2646           	moveal %d6,%a3                              
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
   530a0:	2c09           	movel %a1,%d6                               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
   530a2:	8880           	orl %d0,%d4                                 
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
   530a4:	0287 0000 00ff 	andil #255,%d7                              
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
   530aa:	0281 0000 00ff 	andil #255,%d1                              
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
   530b0:	2004           	movel %d4,%d0                               
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
   530b2:	2a47           	moveal %d7,%a5                              
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
   530b4:	eb88           	lsll #5,%d0                                 
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
   530b6:	e18b           	lsll #8,%d3                                 
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
   530b8:	0285 0000 00ff 	andil #255,%d5                              
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
   530be:	41f1 08ff      	lea %a1@(ffffffff,%d0:l),%a0                
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
   530c2:	3544 0022      	movew %d4,%a2@(34)                          
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
   530c6:	2008           	movel %a0,%d0                               
   530c8:	4c46 0800      	remsl %d6,%d0,%d0                           
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
   530cc:	2c0b           	movel %a3,%d6                               
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
   530ce:	2e0d           	movel %a5,%d7                               
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
   530d0:	e18e           	lsll #8,%d6                                 
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
   530d2:	8687           	orl %d7,%d3                                 
    }                                                                 
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
   530d4:	3e0c           	movew %a4,%d7                               
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
   530d6:	2646           	moveal %d6,%a3                              
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
   530d8:	2c00           	movel %d0,%d6                               
   530da:	e3ae           	lsll %d1,%d6                                
    }                                                                 
                                                                      
    for (vol->bpc_log2 = 0, i = vol->bpc; (i & 1) == 0;               
         i >>= 1, vol->bpc_log2++);                                   
                                                                      
    vol->fats = FAT_GET_BR_FAT_NUM(boot_rec);                         
   530dc:	1547 000d      	moveb %d7,%a2@(13)                          
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
   530e0:	3543 0018      	movew %d3,%a2@(24)                          
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
   530e4:	2206           	movel %d6,%d1                               
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
   530e6:	2c0b           	movel %a3,%d6                               
   530e8:	8c85           	orl %d5,%d6                                 
    vol->fat_loc = FAT_GET_BR_RESERVED_SECTORS_NUM(boot_rec);         
                                                                      
    vol->rdir_entrs = FAT_GET_BR_FILES_PER_ROOT_DIR(boot_rec);        
                                                                      
    /* calculate the count of sectors occupied by the root directory */
    vol->rdir_secs = ((vol->rdir_entrs * FAT_DIRENTRY_SIZE) + (vol->bps - 1)) /
   530ea:	2540 0024      	movel %d0,%a2@(36)                          
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
   530ee:	2541 0028      	movel %d1,%a2@(40)                          
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
   530f2:	4a46           	tstw %d6                                    
   530f4:	6700 01d0      	beqw 532c6 <fat_init_volume_info+0x4d4>     
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   530f8:	4284           	clrl %d4                                    
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   530fa:	4281           	clrl %d1                                    
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   530fc:	182e ffa4      	moveb %fp@(-92),%d4                         
   53100:	4285           	clrl %d5                                    
   53102:	1a2e ffa5      	moveb %fp@(-91),%d5                         
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   53106:	3e0c           	movew %a4,%d7                               
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
   53108:	0286 0000 ffff 	andil #65535,%d6                            
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   5310e:	0283 0000 ffff 	andil #65535,%d3                            
   53114:	1207           	moveb %d7,%d1                               
   53116:	4c06 1800      	mulsl %d6,%d1                               
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   5311a:	e18c           	lsll #8,%d4                                 
                     vol->bps;                                        
                                                                      
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
   5311c:	2546 001a      	movel %d6,%a2@(26)                          
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   53120:	d681           	addl %d1,%d3                                
   53122:	d083           	addl %d3,%d0                                
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   53124:	8885           	orl %d5,%d4                                 
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   53126:	2540 0030      	movel %d0,%a2@(48)                          
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
   5312a:	2543 001e      	movel %d3,%a2@(30)                          
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   5312e:	4a44           	tstw %d4                                    
   53130:	6700 01f0      	beqw 53322 <fat_init_volume_info+0x530>     
        vol->tot_secs = FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec);     
   53134:	0284 0000 ffff 	andil #65535,%d4                            
   5313a:	2544 002c      	movel %d4,%a2@(44)                          
    else                                                              
        vol->tot_secs = FAT_GET_BR_TOTAL_SECTORS_NUM32(boot_rec);     
                                                                      
    data_secs = vol->tot_secs - vol->data_fsec;                       
   5313e:	9880           	subl %d0,%d4                                
                                                                      
    vol->data_cls = data_secs / vol->spc;                             
   53140:	4c42 4004      	remul %d2,%d4,%d4                           
   53144:	2544 0034      	movel %d4,%a2@(52)                          
                                                                      
    /* determine FAT type at least */                                 
    if ( vol->data_cls < FAT_FAT12_MAX_CLN)                           
   53148:	0c84 0000 0ff4 	cmpil #4084,%d4                             
   5314e:	6200 0210      	bhiw 53360 <fat_init_volume_info+0x56e>     
    else                                                              
    {                                                                 
        vol->rdir_cl = 0;                                             
        vol->mirror = 0;                                              
        vol->afat = 0;                                                
        vol->free_cls = FAT_UNDEFINED_VALUE;                          
   53152:	76ff           	moveq #-1,%d3                               
                                                                      
    /* determine FAT type at least */                                 
    if ( vol->data_cls < FAT_FAT12_MAX_CLN)                           
    {                                                                 
        vol->type = FAT_FAT12;                                        
        vol->mask = FAT_FAT12_MASK;                                   
   53154:	2c3c 0000 0fff 	movel #4095,%d6                             
        vol->eoc_val = FAT_FAT12_EOC;                                 
   5315a:	307c 0ff8      	moveaw #4088,%a0                            
        }                                                             
    }                                                                 
    else                                                              
    {                                                                 
        vol->rdir_cl = 0;                                             
        vol->mirror = 0;                                              
   5315e:	4204           	clrb %d4                                    
    vol->data_cls = data_secs / vol->spc;                             
                                                                      
    /* determine FAT type at least */                                 
    if ( vol->data_cls < FAT_FAT12_MAX_CLN)                           
    {                                                                 
        vol->type = FAT_FAT12;                                        
   53160:	7e01           	moveq #1,%d7                                
        vol->mask = FAT_FAT12_MASK;                                   
   53162:	2546 0010      	movel %d6,%a2@(16)                          
    vol->data_cls = data_secs / vol->spc;                             
                                                                      
    /* determine FAT type at least */                                 
    if ( vol->data_cls < FAT_FAT12_MAX_CLN)                           
    {                                                                 
        vol->type = FAT_FAT12;                                        
   53166:	1547 000e      	moveb %d7,%a2@(14)                          
        vol->mask = FAT_FAT12_MASK;                                   
        vol->eoc_val = FAT_FAT12_EOC;                                 
   5316a:	2548 0014      	movel %a0,%a2@(20)                          
        }                                                             
    }                                                                 
    else                                                              
    {                                                                 
        vol->rdir_cl = 0;                                             
        vol->mirror = 0;                                              
   5316e:	1544 004e      	moveb %d4,%a2@(78)                          
        vol->afat = 0;                                                
   53172:	1544 0054      	moveb %d4,%a2@(84)                          
            }                                                         
        }                                                             
    }                                                                 
    else                                                              
    {                                                                 
        vol->rdir_cl = 0;                                             
   53176:	42aa 0038      	clrl %a2@(56)                               
        vol->mirror = 0;                                              
        vol->afat = 0;                                                
        vol->free_cls = FAT_UNDEFINED_VALUE;                          
   5317a:	2543 003e      	movel %d3,%a2@(62)                          
        vol->next_cl = FAT_UNDEFINED_VALUE;                           
   5317e:	2543 0046      	movel %d3,%a2@(70)                          
 *     0 on success, or -1 if error occured and errno set appropriately
 */                                                                   
int                                                                   
_fat_block_release(fat_fs_info_t *fs_info)                            
{                                                                     
    return fat_buf_release(fs_info);                                  
   53182:	2f0a           	movel %a2,%sp@-                             
    _fat_block_release(fs_info);                                      
                                                                      
    vol->afat_loc = vol->fat_loc + vol->fat_length * vol->afat;       
                                                                      
    /* set up collection of fat-files fd */                           
    fs_info->vhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
   53184:	47f9 0004 48cc 	lea 448cc <calloc>,%a3                      
 *     0 on success, or -1 if error occured and errno set appropriately
 */                                                                   
int                                                                   
_fat_block_release(fat_fs_info_t *fs_info)                            
{                                                                     
    return fat_buf_release(fs_info);                                  
   5318a:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 
    _fat_block_release(fs_info);                                      
                                                                      
    vol->afat_loc = vol->fat_loc + vol->fat_length * vol->afat;       
                                                                      
    /* set up collection of fat-files fd */                           
    fs_info->vhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
   53190:	4878 000c      	pea c <OPER1>                               
        vol->next_cl = FAT_UNDEFINED_VALUE;                           
    }                                                                 
                                                                      
    _fat_block_release(fs_info);                                      
                                                                      
    vol->afat_loc = vol->fat_loc + vol->fat_length * vol->afat;       
   53194:	4280           	clrl %d0                                    
                                                                      
    /* set up collection of fat-files fd */                           
    fs_info->vhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
   53196:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
        vol->next_cl = FAT_UNDEFINED_VALUE;                           
    }                                                                 
                                                                      
    _fat_block_release(fs_info);                                      
                                                                      
    vol->afat_loc = vol->fat_loc + vol->fat_length * vol->afat;       
   5319a:	102a 0054      	moveb %a2@(84),%d0                          
   5319e:	41ea 001a      	lea %a2@(26),%a0                            
   531a2:	4c10 0800      	mulsl %a0@,%d0                              
   531a6:	4281           	clrl %d1                                    
   531a8:	322a 0018      	movew %a2@(24),%d1                          
   531ac:	d081           	addl %d1,%d0                                
   531ae:	2540 0050      	movel %d0,%a2@(80)                          
                                                                      
    /* set up collection of fat-files fd */                           
    fs_info->vhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
   531b2:	4e93           	jsr %a3@                                    
    if ( fs_info->vhash == NULL )                                     
   531b4:	4fef 000c      	lea %sp@(12),%sp                            
    _fat_block_release(fs_info);                                      
                                                                      
    vol->afat_loc = vol->fat_loc + vol->fat_length * vol->afat;       
                                                                      
    /* set up collection of fat-files fd */                           
    fs_info->vhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
   531b8:	2040           	moveal %d0,%a0                              
   531ba:	2540 0062      	movel %d0,%a2@(98)                          
    if ( fs_info->vhash == NULL )                                     
   531be:	6700 044c      	beqw 5360c <fat_init_volume_info+0x81a>     
    }                                                                 
                                                                      
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
        rtems_chain_initialize_empty(fs_info->vhash + i);             
                                                                      
    fs_info->rhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
   531c2:	4878 000c      	pea c <OPER1>                               
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   531c6:	2240           	moveal %d0,%a1                              
   531c8:	5889           	addql #4,%a1                                
   531ca:	2089           	movel %a1,%a0@                              
   531cc:	43e8 0010      	lea %a0@(16),%a1                            
   531d0:	2149 000c      	movel %a1,%a0@(12)                          
   531d4:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   531d8:	43e8 000c      	lea %a0@(12),%a1                            
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   531dc:	42a8 0004      	clrl %a0@(4)                                
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   531e0:	2149 0014      	movel %a1,%a0@(20)                          
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
  tail->previous = head;                                              
   531e4:	2140 0008      	movel %d0,%a0@(8)                           
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   531e8:	42a8 0010      	clrl %a0@(16)                               
   531ec:	4e93           	jsr %a3@                                    
    if ( fs_info->rhash == NULL )                                     
   531ee:	508f           	addql #8,%sp                                
    }                                                                 
                                                                      
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
        rtems_chain_initialize_empty(fs_info->vhash + i);             
                                                                      
    fs_info->rhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
   531f0:	2040           	moveal %d0,%a0                              
   531f2:	2540 0066      	movel %d0,%a2@(102)                         
    if ( fs_info->rhash == NULL )                                     
   531f6:	6700 0476      	beqw 5366e <fat_init_volume_info+0x87c>     
    }                                                                 
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
        rtems_chain_initialize_empty(fs_info->rhash + i);             
                                                                      
    fs_info->uino_pool_size = FAT_UINO_POOL_INIT_SIZE;                
    fs_info->uino_base = (vol->tot_secs << vol->sec_mul) << 4;        
   531fa:	222a 002c      	movel %a2@(44),%d1                          
    fs_info->index = 0;                                               
    fs_info->uino = (char *)calloc(fs_info->uino_pool_size, sizeof(char));
   531fe:	4878 0001      	pea 1 <ADD>                                 
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   53202:	43e8 0010      	lea %a0@(16),%a1                            
   53206:	5880           	addql #4,%d0                                
   53208:	2149 000c      	movel %a1,%a0@(12)                          
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   5320c:	43e8 000c      	lea %a0@(12),%a1                            
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   53210:	2080           	movel %d0,%a0@                              
   53212:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
    }                                                                 
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
        rtems_chain_initialize_empty(fs_info->rhash + i);             
                                                                      
    fs_info->uino_pool_size = FAT_UINO_POOL_INIT_SIZE;                
    fs_info->uino_base = (vol->tot_secs << vol->sec_mul) << 4;        
   53216:	4280           	clrl %d0                                    
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   53218:	2149 0014      	movel %a1,%a0@(20)                          
   5321c:	102a 0003      	moveb %a2@(3),%d0                           
   53220:	e1a9           	lsll %d0,%d1                                
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   53222:	42a8 0004      	clrl %a0@(4)                                
        rtems_set_errno_and_return_minus_one( ENOMEM );               
    }                                                                 
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
        rtems_chain_initialize_empty(fs_info->rhash + i);             
                                                                      
    fs_info->uino_pool_size = FAT_UINO_POOL_INIT_SIZE;                
   53226:	203c 0000 0100 	movel #256,%d0                              
  tail->previous = head;                                              
   5322c:	2148 0008      	movel %a0,%a0@(8)                           
    fs_info->uino_base = (vol->tot_secs << vol->sec_mul) << 4;        
   53230:	e989           	lsll #4,%d1                                 
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   53232:	42a8 0010      	clrl %a0@(16)                               
        rtems_set_errno_and_return_minus_one( ENOMEM );               
    }                                                                 
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
        rtems_chain_initialize_empty(fs_info->rhash + i);             
                                                                      
    fs_info->uino_pool_size = FAT_UINO_POOL_INIT_SIZE;                
   53236:	2540 0072      	movel %d0,%a2@(114)                         
    fs_info->uino_base = (vol->tot_secs << vol->sec_mul) << 4;        
   5323a:	2541 0076      	movel %d1,%a2@(118)                         
    fs_info->index = 0;                                               
   5323e:	42aa 006e      	clrl %a2@(110)                              
    fs_info->uino = (char *)calloc(fs_info->uino_pool_size, sizeof(char));
   53242:	4e93           	jsr %a3@                                    
    if ( fs_info->uino == NULL )                                      
   53244:	508f           	addql #8,%sp                                
        rtems_chain_initialize_empty(fs_info->rhash + i);             
                                                                      
    fs_info->uino_pool_size = FAT_UINO_POOL_INIT_SIZE;                
    fs_info->uino_base = (vol->tot_secs << vol->sec_mul) << 4;        
    fs_info->index = 0;                                               
    fs_info->uino = (char *)calloc(fs_info->uino_pool_size, sizeof(char));
   53246:	2540 006a      	movel %d0,%a2@(106)                         
    if ( fs_info->uino == NULL )                                      
   5324a:	6700 0388      	beqw 535d4 <fat_init_volume_info+0x7e2>     
        close(vol->fd);                                               
        free(fs_info->vhash);                                         
        free(fs_info->rhash);                                         
        rtems_set_errno_and_return_minus_one( ENOMEM );               
    }                                                                 
    fs_info->sec_buf = (uint8_t *)calloc(vol->bps, sizeof(uint8_t));  
   5324e:	4878 0001      	pea 1 <ADD>                                 
   53252:	4280           	clrl %d0                                    
   53254:	3012           	movew %a2@,%d0                              
   53256:	2f00           	movel %d0,%sp@-                             
   53258:	4e93           	jsr %a3@                                    
    if (fs_info->sec_buf == NULL)                                     
   5325a:	508f           	addql #8,%sp                                
        close(vol->fd);                                               
        free(fs_info->vhash);                                         
        free(fs_info->rhash);                                         
        rtems_set_errno_and_return_minus_one( ENOMEM );               
    }                                                                 
    fs_info->sec_buf = (uint8_t *)calloc(vol->bps, sizeof(uint8_t));  
   5325c:	2540 0084      	movel %d0,%a2@(132)                         
    if (fs_info->sec_buf == NULL)                                     
   53260:	6700 03ce      	beqw 53630 <fat_init_volume_info+0x83e>     
      return bytes_written;                                           
}                                                                     
                                                                      
static bool is_cluster_aligned(const fat_vol_t *vol, uint32_t sec_num)
{                                                                     
    return (sec_num & (vol->spc - 1)) == 0;                           
   53264:	4280           	clrl %d0                                    
   53266:	102a 0004      	moveb %a2@(4),%d0                           
   5326a:	5380           	subql #1,%d0                                
   5326c:	2200           	movel %d0,%d1                               
   5326e:	c2aa 0030      	andl %a2@(48),%d1                           
    /*                                                                
     * If possible we will use the cluster size as bdbuf block size for faster
     * file access. This requires that certain sectors are aligned to cluster
     * borders.                                                       
     */                                                               
    if (is_cluster_aligned(vol, vol->data_fsec)                       
   53272:	6600 024c      	bnew 534c0 <fat_init_volume_info+0x6ce>     
        && (FAT_FAT32 == vol->type || is_cluster_aligned(vol, vol->rdir_loc)))
   53276:	4281           	clrl %d1                                    
   53278:	122a 000e      	moveb %a2@(14),%d1                          
   5327c:	7404           	moveq #4,%d2                                
   5327e:	b481           	cmpl %d1,%d2                                
   53280:	6708           	beqs 5328a <fat_init_volume_info+0x498>     <== NEVER TAKEN
      return bytes_written;                                           
}                                                                     
                                                                      
static bool is_cluster_aligned(const fat_vol_t *vol, uint32_t sec_num)
{                                                                     
    return (sec_num & (vol->spc - 1)) == 0;                           
   53282:	c0aa 001e      	andl %a2@(30),%d0                           
     * If possible we will use the cluster size as bdbuf block size for faster
     * file access. This requires that certain sectors are aligned to cluster
     * borders.                                                       
     */                                                               
    if (is_cluster_aligned(vol, vol->data_fsec)                       
        && (FAT_FAT32 == vol->type || is_cluster_aligned(vol, vol->rdir_loc)))
   53286:	6600 0238      	bnew 534c0 <fat_init_volume_info+0x6ce>     
    {                                                                 
        sc = rtems_bdbuf_set_block_size (vol->dd, vol->bpc, true);    
   5328a:	4878 0001      	pea 1 <ADD>                                 
   5328e:	4280           	clrl %d0                                    
   53290:	302a 0006      	movew %a2@(6),%d0                           
   53294:	2f00           	movel %d0,%sp@-                             
   53296:	2f2a 005a      	movel %a2@(90),%sp@-                        
   5329a:	4eb9 0005 0c52 	jsr 50c52 <rtems_bdbuf_set_block_size>      
        if (sc == RTEMS_SUCCESSFUL)                                   
   532a0:	4fef 000c      	lea %sp@(12),%sp                            
   532a4:	4a80           	tstl %d0                                    
   532a6:	6600 0218      	bnew 534c0 <fat_init_volume_info+0x6ce>     
        {                                                             
            vol->bytes_per_block = vol->bpc;                          
            vol->bytes_per_block_log2 = vol->bpc_log2;                
   532aa:	156a 0008 000c 	moveb %a2@(8),%a2@(12)                      
            vol->sectors_per_block = vol->spc;                        
   532b0:	156a 0004 0009 	moveb %a2@(4),%a2@(9)                       
        && (FAT_FAT32 == vol->type || is_cluster_aligned(vol, vol->rdir_loc)))
    {                                                                 
        sc = rtems_bdbuf_set_block_size (vol->dd, vol->bpc, true);    
        if (sc == RTEMS_SUCCESSFUL)                                   
        {                                                             
            vol->bytes_per_block = vol->bpc;                          
   532b6:	356a 0006 000a 	movew %a2@(6),%a2@(10)                      
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   532bc:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           
   532c2:	4e5e           	unlk %fp                                    
   532c4:	4e75           	rts                                         
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
   532c6:	4286           	clrl %d6                                    <== NOT EXECUTED
   532c8:	4281           	clrl %d1                                    <== NOT EXECUTED
   532ca:	1c2e ff9f      	moveb %fp@(-97),%d6                         <== NOT EXECUTED
   532ce:	122e ff9e      	moveb %fp@(-98),%d1                         <== NOT EXECUTED
   532d2:	4284           	clrl %d4                                    <== NOT EXECUTED
   532d4:	182e ff97      	moveb %fp@(-105),%d4                        <== NOT EXECUTED
   532d8:	7a18           	moveq #24,%d5                               <== NOT EXECUTED
   532da:	4841           	swap %d1                                    <== NOT EXECUTED
   532dc:	4241           	clrw %d1                                    <== NOT EXECUTED
   532de:	e18e           	lsll #8,%d6                                 <== NOT EXECUTED
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   532e0:	3e0c           	movew %a4,%d7                               <== NOT EXECUTED
   532e2:	0283 0000 ffff 	andil #65535,%d3                            <== NOT EXECUTED
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
   532e8:	8c81           	orl %d1,%d6                                 <== NOT EXECUTED
   532ea:	122e ffa3      	moveb %fp@(-93),%d1                         <== NOT EXECUTED
   532ee:	8c84           	orl %d4,%d6                                 <== NOT EXECUTED
   532f0:	eba9           	lsll %d5,%d1                                <== NOT EXECUTED
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   532f2:	4284           	clrl %d4                                    <== NOT EXECUTED
   532f4:	182e ffa4      	moveb %fp@(-92),%d4                         <== NOT EXECUTED
   532f8:	4285           	clrl %d5                                    <== NOT EXECUTED
   532fa:	1a2e ffa5      	moveb %fp@(-91),%d5                         <== NOT EXECUTED
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
   532fe:	8c81           	orl %d1,%d6                                 <== NOT EXECUTED
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   53300:	4281           	clrl %d1                                    <== NOT EXECUTED
   53302:	1207           	moveb %d7,%d1                               <== NOT EXECUTED
   53304:	4c06 1800      	mulsl %d6,%d1                               <== NOT EXECUTED
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   53308:	e18c           	lsll #8,%d4                                 <== NOT EXECUTED
    vol->rdir_size = vol->rdir_secs << vol->sec_log2;                 
                                                                      
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
   5330a:	2546 001a      	movel %d6,%a2@(26)                          <== NOT EXECUTED
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   5330e:	d681           	addl %d1,%d3                                <== NOT EXECUTED
   53310:	d083           	addl %d3,%d0                                <== NOT EXECUTED
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   53312:	8885           	orl %d5,%d4                                 <== NOT EXECUTED
    if ( (FAT_GET_BR_SECTORS_PER_FAT(boot_rec)) != 0)                 
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT(boot_rec);       
    else                                                              
        vol->fat_length = FAT_GET_BR_SECTORS_PER_FAT32(boot_rec);     
                                                                      
    vol->data_fsec = vol->fat_loc + vol->fats * vol->fat_length +     
   53314:	2540 0030      	movel %d0,%a2@(48)                          <== NOT EXECUTED
                     vol->rdir_secs;                                  
                                                                      
    /* for  FAT12/16 root dir starts at(sector) */                    
    vol->rdir_loc = vol->fat_loc + vol->fats * vol->fat_length;       
   53318:	2543 001e      	movel %d3,%a2@(30)                          <== NOT EXECUTED
                                                                      
    if ( (FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec)) != 0)             
   5331c:	4a44           	tstw %d4                                    <== NOT EXECUTED
   5331e:	6600 fe14      	bnew 53134 <fat_init_volume_info+0x342>     <== NOT EXECUTED
        vol->tot_secs = FAT_GET_BR_TOTAL_SECTORS_NUM16(boot_rec);     
    else                                                              
        vol->tot_secs = FAT_GET_BR_TOTAL_SECTORS_NUM32(boot_rec);     
   53322:	4284           	clrl %d4                                    <== NOT EXECUTED
   53324:	4281           	clrl %d1                                    <== NOT EXECUTED
   53326:	182e ff9d      	moveb %fp@(-99),%d4                         <== NOT EXECUTED
   5332a:	122e ff9c      	moveb %fp@(-100),%d1                        <== NOT EXECUTED
   5332e:	4283           	clrl %d3                                    <== NOT EXECUTED
   53330:	162e ff96      	moveb %fp@(-106),%d3                        <== NOT EXECUTED
   53334:	7a18           	moveq #24,%d5                               <== NOT EXECUTED
   53336:	4841           	swap %d1                                    <== NOT EXECUTED
   53338:	4241           	clrw %d1                                    <== NOT EXECUTED
   5333a:	e18c           	lsll #8,%d4                                 <== NOT EXECUTED
   5333c:	8881           	orl %d1,%d4                                 <== NOT EXECUTED
   5333e:	122e ff9b      	moveb %fp@(-101),%d1                        <== NOT EXECUTED
   53342:	8883           	orl %d3,%d4                                 <== NOT EXECUTED
   53344:	eba9           	lsll %d5,%d1                                <== NOT EXECUTED
   53346:	8881           	orl %d1,%d4                                 <== NOT EXECUTED
   53348:	2544 002c      	movel %d4,%a2@(44)                          <== NOT EXECUTED
                                                                      
    data_secs = vol->tot_secs - vol->data_fsec;                       
   5334c:	9880           	subl %d0,%d4                                <== NOT EXECUTED
                                                                      
    vol->data_cls = data_secs / vol->spc;                             
   5334e:	4c42 4004      	remul %d2,%d4,%d4                           <== NOT EXECUTED
   53352:	2544 0034      	movel %d4,%a2@(52)                          <== NOT EXECUTED
                                                                      
    /* determine FAT type at least */                                 
    if ( vol->data_cls < FAT_FAT12_MAX_CLN)                           
   53356:	0c84 0000 0ff4 	cmpil #4084,%d4                             <== NOT EXECUTED
   5335c:	6300 fdf4      	blsw 53152 <fat_init_volume_info+0x360>     <== NOT EXECUTED
        vol->mask = FAT_FAT12_MASK;                                   
        vol->eoc_val = FAT_FAT12_EOC;                                 
    }                                                                 
    else                                                              
    {                                                                 
        if ( vol->data_cls < FAT_FAT16_MAX_CLN)                       
   53360:	0c84 0000 fff4 	cmpil #65524,%d4                            <== NOT EXECUTED
   53366:	6300 0170      	blsw 534d8 <fat_init_volume_info+0x6e6>     <== NOT EXECUTED
        }                                                             
    }                                                                 
                                                                      
    if (vol->type == FAT_FAT32)                                       
    {                                                                 
        vol->rdir_cl = FAT_GET_BR_FAT32_ROOT_CLUSTER(boot_rec);       
   5336a:	4280           	clrl %d0                                    <== NOT EXECUTED
   5336c:	4281           	clrl %d1                                    <== NOT EXECUTED
   5336e:	102e ff8e      	moveb %fp@(-114),%d0                        <== NOT EXECUTED
   53372:	122e ff8d      	moveb %fp@(-115),%d1                        <== NOT EXECUTED
   53376:	4283           	clrl %d3                                    <== NOT EXECUTED
   53378:	162e ff8f      	moveb %fp@(-113),%d3                        <== NOT EXECUTED
   5337c:	7818           	moveq #24,%d4                               <== NOT EXECUTED
                                                                      
        vol->mirror = FAT_GET_BR_EXT_FLAGS(boot_rec) & FAT_BR_EXT_FLAGS_MIRROR;
   5337e:	7a80           	moveq #-128,%d5                             <== NOT EXECUTED
            vol->eoc_val = FAT_FAT16_EOC;                             
        }                                                             
        else                                                          
        {                                                             
            vol->type = FAT_FAT32;                                    
            vol->mask = FAT_FAT32_MASK;                               
   53380:	2e3c 0fff ffff 	movel #268435455,%d7                        <== NOT EXECUTED
            vol->eoc_val = FAT_FAT32_EOC;                             
   53386:	207c 0fff fff8 	moveal #268435448,%a0                       <== NOT EXECUTED
        }                                                             
    }                                                                 
                                                                      
    if (vol->type == FAT_FAT32)                                       
    {                                                                 
        vol->rdir_cl = FAT_GET_BR_FAT32_ROOT_CLUSTER(boot_rec);       
   5338c:	4841           	swap %d1                                    <== NOT EXECUTED
   5338e:	4241           	clrw %d1                                    <== NOT EXECUTED
   53390:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   53392:	142e ff8b      	moveb %fp@(-117),%d2                        <== NOT EXECUTED
            vol->mask = FAT_FAT16_MASK;                               
            vol->eoc_val = FAT_FAT16_EOC;                             
        }                                                             
        else                                                          
        {                                                             
            vol->type = FAT_FAT32;                                    
   53396:	7c04           	moveq #4,%d6                                <== NOT EXECUTED
            vol->mask = FAT_FAT32_MASK;                               
   53398:	2547 0010      	movel %d7,%a2@(16)                          <== NOT EXECUTED
        }                                                             
    }                                                                 
                                                                      
    if (vol->type == FAT_FAT32)                                       
    {                                                                 
        vol->rdir_cl = FAT_GET_BR_FAT32_ROOT_CLUSTER(boot_rec);       
   5339c:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
                                                                      
        vol->mirror = FAT_GET_BR_EXT_FLAGS(boot_rec) & FAT_BR_EXT_FLAGS_MIRROR;
   5339e:	122e ff95      	moveb %fp@(-107),%d1                        <== NOT EXECUTED
        }                                                             
        else                                                          
        {                                                             
            vol->type = FAT_FAT32;                                    
            vol->mask = FAT_FAT32_MASK;                               
            vol->eoc_val = FAT_FAT32_EOC;                             
   533a2:	2548 0014      	movel %a0,%a2@(20)                          <== NOT EXECUTED
        }                                                             
    }                                                                 
                                                                      
    if (vol->type == FAT_FAT32)                                       
    {                                                                 
        vol->rdir_cl = FAT_GET_BR_FAT32_ROOT_CLUSTER(boot_rec);       
   533a6:	e9aa           	lsll %d4,%d2                                <== NOT EXECUTED
   533a8:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
                                                                      
        vol->mirror = FAT_GET_BR_EXT_FLAGS(boot_rec) & FAT_BR_EXT_FLAGS_MIRROR;
   533aa:	c285           	andl %d5,%d1                                <== NOT EXECUTED
        }                                                             
    }                                                                 
                                                                      
    if (vol->type == FAT_FAT32)                                       
    {                                                                 
        vol->rdir_cl = FAT_GET_BR_FAT32_ROOT_CLUSTER(boot_rec);       
   533ac:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
            vol->mask = FAT_FAT16_MASK;                               
            vol->eoc_val = FAT_FAT16_EOC;                             
        }                                                             
        else                                                          
        {                                                             
            vol->type = FAT_FAT32;                                    
   533ae:	1546 000e      	moveb %d6,%a2@(14)                          <== NOT EXECUTED
                                                                      
    if (vol->type == FAT_FAT32)                                       
    {                                                                 
        vol->rdir_cl = FAT_GET_BR_FAT32_ROOT_CLUSTER(boot_rec);       
                                                                      
        vol->mirror = FAT_GET_BR_EXT_FLAGS(boot_rec) & FAT_BR_EXT_FLAGS_MIRROR;
   533b2:	1541 004e      	moveb %d1,%a2@(78)                          <== NOT EXECUTED
        }                                                             
    }                                                                 
                                                                      
    if (vol->type == FAT_FAT32)                                       
    {                                                                 
        vol->rdir_cl = FAT_GET_BR_FAT32_ROOT_CLUSTER(boot_rec);       
   533b6:	2540 0038      	movel %d0,%a2@(56)                          <== NOT EXECUTED
                                                                      
        vol->mirror = FAT_GET_BR_EXT_FLAGS(boot_rec) & FAT_BR_EXT_FLAGS_MIRROR;
        if (vol->mirror)                                              
   533ba:	4a01           	tstb %d1                                    <== NOT EXECUTED
   533bc:	6700 0174      	beqw 53532 <fat_init_volume_info+0x740>     <== NOT EXECUTED
            vol->afat = FAT_GET_BR_EXT_FLAGS(boot_rec) & FAT_BR_EXT_FLAGS_FAT_NUM;
   533c0:	720f           	moveq #15,%d1                               <== NOT EXECUTED
   533c2:	102e ff95      	moveb %fp@(-107),%d0                        <== NOT EXECUTED
   533c6:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   533c8:	1540 0054      	moveb %d0,%a2@(84)                          <== NOT EXECUTED
        else                                                          
            vol->afat = 0;                                            
                                                                      
        vol->info_sec = FAT_GET_BR_FAT32_FS_INFO_SECTOR(boot_rec);    
   533cc:	4280           	clrl %d0                                    <== NOT EXECUTED
   533ce:	102e ff90      	moveb %fp@(-112),%d0                        <== NOT EXECUTED
   533d2:	4281           	clrl %d1                                    <== NOT EXECUTED
   533d4:	122e ff91      	moveb %fp@(-111),%d1                        <== NOT EXECUTED
   533d8:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   533da:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   533dc:	3540 003c      	movew %d0,%a2@(60)                          <== NOT EXECUTED
        if( vol->info_sec == 0 )                                      
   533e0:	6700 0166      	beqw 53548 <fat_init_volume_info+0x756>     <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one( EINVAL );           
        }                                                             
        else                                                          
        {                                                             
            ret = _fat_block_read(fs_info, vol->info_sec , 0,         
                                  FAT_FSI_LEADSIG_SIZE, fs_info_sector);
   533e4:	260e           	movel %fp,%d3                               <== NOT EXECUTED
   533e6:	0683 ffff ffae 	addil #-82,%d3                              <== NOT EXECUTED
            close(vol->fd);                                           
            rtems_set_errno_and_return_minus_one( EINVAL );           
        }                                                             
        else                                                          
        {                                                             
            ret = _fat_block_read(fs_info, vol->info_sec , 0,         
   533ec:	47f9 0005 29c4 	lea 529c4 <_fat_block_read>,%a3             <== NOT EXECUTED
   533f2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   533f4:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   533f8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   533fa:	3f00           	movew %d0,%sp@-                             <== NOT EXECUTED
   533fc:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   533fe:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   53400:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                  FAT_FSI_LEADSIG_SIZE, fs_info_sector);
            if ( ret < 0 )                                            
   53402:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   53406:	4a80           	tstl %d0                                    <== NOT EXECUTED
   53408:	6d00 0292      	bltw 5369c <fat_init_volume_info+0x8aa>     <== NOT EXECUTED
            {                                                         
                close(vol->fd);                                       
                return -1;                                            
            }                                                         
                                                                      
            if (FAT_GET_FSINFO_LEAD_SIGNATURE(fs_info_sector) !=      
   5340c:	4281           	clrl %d1                                    <== NOT EXECUTED
   5340e:	4282           	clrl %d2                                    <== NOT EXECUTED
   53410:	122e ffaf      	moveb %fp@(-81),%d1                         <== NOT EXECUTED
   53414:	142e ffb0      	moveb %fp@(-80),%d2                         <== NOT EXECUTED
   53418:	4280           	clrl %d0                                    <== NOT EXECUTED
   5341a:	102e ffae      	moveb %fp@(-82),%d0                         <== NOT EXECUTED
   5341e:	7818           	moveq #24,%d4                               <== NOT EXECUTED
   53420:	4842           	swap %d2                                    <== NOT EXECUTED
   53422:	4242           	clrw %d2                                    <== NOT EXECUTED
   53424:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   53426:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
   53428:	4282           	clrl %d2                                    <== NOT EXECUTED
   5342a:	142e ffb1      	moveb %fp@(-79),%d2                         <== NOT EXECUTED
   5342e:	8280           	orl %d0,%d1                                 <== NOT EXECUTED
   53430:	e9aa           	lsll %d4,%d2                                <== NOT EXECUTED
   53432:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
   53434:	0c81 4161 5252 	cmpil #1096897106,%d1                       <== NOT EXECUTED
   5343a:	6600 0154      	bnew 53590 <fat_init_volume_info+0x79e>     <== NOT EXECUTED
                close(vol->fd);                                       
                rtems_set_errno_and_return_minus_one( EINVAL );       
            }                                                         
            else                                                      
            {                                                         
                ret = _fat_block_read(fs_info, vol->info_sec , FAT_FSI_INFO,
   5343e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   53440:	4878 000c      	pea c <OPER1>                               <== NOT EXECUTED
   53444:	4280           	clrl %d0                                    <== NOT EXECUTED
   53446:	4878 01e4      	pea 1e4 <DBL_MANT_DIG+0x1af>                <== NOT EXECUTED
   5344a:	302a 003c      	movew %a2@(60),%d0                          <== NOT EXECUTED
   5344e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   53450:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   53452:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                      FAT_USEFUL_INFO_SIZE, fs_info_sector);
                if ( ret < 0 )                                        
   53454:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   53458:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5345a:	6d00 0258      	bltw 536b4 <fat_init_volume_info+0x8c2>     <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   5345e:	4281           	clrl %d1                                    <== NOT EXECUTED
   53460:	4283           	clrl %d3                                    <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   53462:	4280           	clrl %d0                                    <== NOT EXECUTED
   53464:	4282           	clrl %d2                                    <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   53466:	122e ffb3      	moveb %fp@(-77),%d1                         <== NOT EXECUTED
   5346a:	162e ffb4      	moveb %fp@(-76),%d3                         <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   5346e:	102e ffb7      	moveb %fp@(-73),%d0                         <== NOT EXECUTED
   53472:	142e ffb8      	moveb %fp@(-72),%d2                         <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   53476:	4285           	clrl %d5                                    <== NOT EXECUTED
   53478:	1a2e ffb2      	moveb %fp@(-78),%d5                         <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   5347c:	4284           	clrl %d4                                    <== NOT EXECUTED
   5347e:	182e ffb6      	moveb %fp@(-74),%d4                         <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   53482:	4843           	swap %d3                                    <== NOT EXECUTED
   53484:	4243           	clrw %d3                                    <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   53486:	4842           	swap %d2                                    <== NOT EXECUTED
   53488:	4242           	clrw %d2                                    <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   5348a:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   5348c:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   5348e:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   53490:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   53492:	4283           	clrl %d3                                    <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   53494:	4282           	clrl %d2                                    <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   53496:	162e ffb5      	moveb %fp@(-75),%d3                         <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   5349a:	142e ffb9      	moveb %fp@(-71),%d2                         <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   5349e:	8285           	orl %d5,%d1                                 <== NOT EXECUTED
   534a0:	7a18           	moveq #24,%d5                               <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   534a2:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   534a4:	ebab           	lsll %d5,%d3                                <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   534a6:	ebaa           	lsll %d5,%d2                                <== NOT EXECUTED
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
   534a8:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
                vol->free_cls = vol->free_cls_in_fs_info;             
                vol->next_cl_in_fs_info =                             
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
   534aa:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
                    _fat_block_release(fs_info);                      
                    close(vol->fd);                                   
                    return -1;                                        
                }                                                     
                                                                      
                vol->free_cls_in_fs_info =                            
   534ac:	2541 0042      	movel %d1,%a2@(66)                          <== NOT EXECUTED
                  FAT_GET_FSINFO_FREE_CLUSTER_COUNT(fs_info_sector);  
                vol->free_cls = vol->free_cls_in_fs_info;             
   534b0:	2541 003e      	movel %d1,%a2@(62)                          <== NOT EXECUTED
                vol->next_cl_in_fs_info =                             
   534b4:	2540 004a      	movel %d0,%a2@(74)                          <== NOT EXECUTED
                  FAT_GET_FSINFO_NEXT_FREE_CLUSTER(fs_info_sector);   
                vol->next_cl = vol->next_cl_in_fs_info;               
   534b8:	2540 0046      	movel %d0,%a2@(70)                          <== NOT EXECUTED
   534bc:	6000 fcc4      	braw 53182 <fat_init_volume_info+0x390>     <== NOT EXECUTED
            vol->bytes_per_block_log2 = vol->bpc_log2;                
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
   534c0:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   534c2:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   534c8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   534ca:	4e75           	rts                                         <== NOT EXECUTED
   534cc:	2240           	moveal %d0,%a1                              
         (vol->bps != 4096))                                          
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EINVAL );               
    }                                                                 
    for (vol->sec_mul = 0, i = (vol->bps >> FAT_SECTOR512_BITS); (i & 1) == 0;
   534ce:	4200           	clrb %d0                                    
   534d0:	1540 0003      	moveb %d0,%a2@(3)                           
   534d4:	6000 fae0      	braw 52fb6 <fat_init_volume_info+0x1c4>     
    else                                                              
    {                                                                 
        vol->rdir_cl = 0;                                             
        vol->mirror = 0;                                              
        vol->afat = 0;                                                
        vol->free_cls = FAT_UNDEFINED_VALUE;                          
   534d8:	76ff           	moveq #-1,%d3                               <== NOT EXECUTED
    else                                                              
    {                                                                 
        if ( vol->data_cls < FAT_FAT16_MAX_CLN)                       
        {                                                             
            vol->type = FAT_FAT16;                                    
            vol->mask = FAT_FAT16_MASK;                               
   534da:	227c 0000 ffff 	moveal #65535,%a1                           <== NOT EXECUTED
            vol->eoc_val = FAT_FAT16_EOC;                             
   534e0:	223c 0000 fff8 	movel #65528,%d1                            <== NOT EXECUTED
        }                                                             
    }                                                                 
    else                                                              
    {                                                                 
        vol->rdir_cl = 0;                                             
        vol->mirror = 0;                                              
   534e6:	4204           	clrb %d4                                    <== NOT EXECUTED
    }                                                                 
    else                                                              
    {                                                                 
        if ( vol->data_cls < FAT_FAT16_MAX_CLN)                       
        {                                                             
            vol->type = FAT_FAT16;                                    
   534e8:	7002           	moveq #2,%d0                                <== NOT EXECUTED
            vol->mask = FAT_FAT16_MASK;                               
   534ea:	2549 0010      	movel %a1,%a2@(16)                          <== NOT EXECUTED
    }                                                                 
    else                                                              
    {                                                                 
        if ( vol->data_cls < FAT_FAT16_MAX_CLN)                       
        {                                                             
            vol->type = FAT_FAT16;                                    
   534ee:	1540 000e      	moveb %d0,%a2@(14)                          <== NOT EXECUTED
            vol->mask = FAT_FAT16_MASK;                               
            vol->eoc_val = FAT_FAT16_EOC;                             
   534f2:	2541 0014      	movel %d1,%a2@(20)                          <== NOT EXECUTED
            }                                                         
        }                                                             
    }                                                                 
    else                                                              
    {                                                                 
        vol->rdir_cl = 0;                                             
   534f6:	42aa 0038      	clrl %a2@(56)                               <== NOT EXECUTED
        vol->mirror = 0;                                              
   534fa:	1544 004e      	moveb %d4,%a2@(78)                          <== NOT EXECUTED
        vol->afat = 0;                                                
        vol->free_cls = FAT_UNDEFINED_VALUE;                          
   534fe:	2543 003e      	movel %d3,%a2@(62)                          <== NOT EXECUTED
    }                                                                 
    else                                                              
    {                                                                 
        vol->rdir_cl = 0;                                             
        vol->mirror = 0;                                              
        vol->afat = 0;                                                
   53502:	1544 0054      	moveb %d4,%a2@(84)                          <== NOT EXECUTED
        vol->free_cls = FAT_UNDEFINED_VALUE;                          
        vol->next_cl = FAT_UNDEFINED_VALUE;                           
   53506:	2543 0046      	movel %d3,%a2@(70)                          <== NOT EXECUTED
   5350a:	6000 fc76      	braw 53182 <fat_init_volume_info+0x390>     <== NOT EXECUTED
    }                                                                 
                                                                      
    /* check that device is registred as block device and lock it */  
    rc = rtems_disk_fd_get_disk_device(vol->fd, &vol->dd);            
    if (rc != 0) {                                                    
        close(vol->fd);                                               
   5350e:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(ENXIO);                  
   53512:	7806           	moveq #6,%d4                                <== NOT EXECUTED
    }                                                                 
                                                                      
    /* check that device is registred as block device and lock it */  
    rc = rtems_disk_fd_get_disk_device(vol->fd, &vol->dd);            
    if (rc != 0) {                                                    
        close(vol->fd);                                               
   53514:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(ENXIO);                  
   5351a:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   53520:	588f           	addql #4,%sp                                <== NOT EXECUTED
   53522:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   53524:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   53526:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   53528:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5352e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   53530:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
        vol->mirror = FAT_GET_BR_EXT_FLAGS(boot_rec) & FAT_BR_EXT_FLAGS_MIRROR;
        if (vol->mirror)                                              
            vol->afat = FAT_GET_BR_EXT_FLAGS(boot_rec) & FAT_BR_EXT_FLAGS_FAT_NUM;
        else                                                          
            vol->afat = 0;                                            
   53532:	4202           	clrb %d2                                    <== NOT EXECUTED
   53534:	1542 0054      	moveb %d2,%a2@(84)                          <== NOT EXECUTED
   53538:	6000 fe92      	braw 533cc <fat_init_volume_info+0x5da>     <== NOT EXECUTED
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one( EINVAL );               
    }                                                                 
    for (vol->sec_mul = 0, i = (vol->bps >> FAT_SECTOR512_BITS); (i & 1) == 0;
         i >>= 1, vol->sec_mul++);                                    
    for (vol->sec_log2 = 0, i = vol->bps; (i & 1) == 0;               
   5353c:	4201           	clrb %d1                                    <== NOT EXECUTED
   5353e:	6000 faa6      	braw 52fe6 <fat_init_volume_info+0x1f4>     <== NOT EXECUTED
    {                                                                 
        close(vol->fd);                                               
        rtems_set_errno_and_return_minus_one(EINVAL);                 
    }                                                                 
                                                                      
    for (vol->spc_log2 = 0, i = vol->spc; (i & 1) == 0;               
   53542:	4283           	clrl %d3                                    
   53544:	6000 faf0      	braw 53036 <fat_init_volume_info+0x244>     
            vol->afat = 0;                                            
                                                                      
        vol->info_sec = FAT_GET_BR_FAT32_FS_INFO_SECTOR(boot_rec);    
        if( vol->info_sec == 0 )                                      
        {                                                             
            close(vol->fd);                                           
   53548:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one( EINVAL );           
   5354c:	7416           	moveq #22,%d2                               <== NOT EXECUTED
            vol->afat = 0;                                            
                                                                      
        vol->info_sec = FAT_GET_BR_FAT32_FS_INFO_SECTOR(boot_rec);    
        if( vol->info_sec == 0 )                                      
        {                                                             
            close(vol->fd);                                           
   5354e:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one( EINVAL );           
   53554:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5355a:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5355c:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5355e:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   53560:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   53562:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   53568:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5356a:	4e75           	rts                                         <== NOT EXECUTED
    memcpy( boot_rec, block->buffer, FAT_MAX_BPB_SIZE);               
                                                                      
    sc = rtems_bdbuf_release( block);                                 
    if (sc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        close(vol->fd);                                               
   5356c:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( EIO );                  
   53570:	7605           	moveq #5,%d3                                <== NOT EXECUTED
    memcpy( boot_rec, block->buffer, FAT_MAX_BPB_SIZE);               
                                                                      
    sc = rtems_bdbuf_release( block);                                 
    if (sc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        close(vol->fd);                                               
   53572:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( EIO );                  
   53578:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5357e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   53580:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   53582:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   53584:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   53586:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5358c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5358e:	4e75           	rts                                         <== NOT EXECUTED
 *     0 on success, or -1 if error occured and errno set appropriately
 */                                                                   
int                                                                   
_fat_block_release(fat_fs_info_t *fs_info)                            
{                                                                     
    return fat_buf_release(fs_info);                                  
   53590:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   53592:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 <== NOT EXECUTED
                                                                      
            if (FAT_GET_FSINFO_LEAD_SIGNATURE(fs_info_sector) !=      
                FAT_FSINFO_LEAD_SIGNATURE_VALUE)                      
            {                                                         
                _fat_block_release(fs_info);                          
                close(vol->fd);                                       
   53598:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
   5359c:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
                rtems_set_errno_and_return_minus_one( EINVAL );       
   535a2:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   535a8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   535aa:	7216           	moveq #22,%d1                               <== NOT EXECUTED
   535ac:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   535ae:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   535b0:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
            if (FAT_GET_FSINFO_LEAD_SIGNATURE(fs_info_sector) !=      
                FAT_FSINFO_LEAD_SIGNATURE_VALUE)                      
            {                                                         
                _fat_block_release(fs_info);                          
                close(vol->fd);                                       
                rtems_set_errno_and_return_minus_one( EINVAL );       
   535b6:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   535b8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   535ba:	4e75           	rts                                         <== NOT EXECUTED
    rtems_bdbuf_buffer *block = NULL;                                 
                                                                      
    vol->fd = open(device, O_RDWR);                                   
    if (vol->fd < 0)                                                  
    {                                                                 
        rtems_set_errno_and_return_minus_one(ENXIO);                  
   535bc:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   535c2:	7a06           	moveq #6,%d5                                <== NOT EXECUTED
   535c4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   535c6:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   535c8:	2085           	movel %d5,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   535ca:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   535d0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   535d2:	4e75           	rts                                         <== NOT EXECUTED
    fs_info->uino_base = (vol->tot_secs << vol->sec_mul) << 4;        
    fs_info->index = 0;                                               
    fs_info->uino = (char *)calloc(fs_info->uino_pool_size, sizeof(char));
    if ( fs_info->uino == NULL )                                      
    {                                                                 
        close(vol->fd);                                               
   535d4:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
        free(fs_info->vhash);                                         
   535d8:	47f9 0004 4bec 	lea 44bec <free>,%a3                        <== NOT EXECUTED
        free(fs_info->rhash);                                         
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   535de:	7a0c           	moveq #12,%d5                               <== NOT EXECUTED
    fs_info->uino_base = (vol->tot_secs << vol->sec_mul) << 4;        
    fs_info->index = 0;                                               
    fs_info->uino = (char *)calloc(fs_info->uino_pool_size, sizeof(char));
    if ( fs_info->uino == NULL )                                      
    {                                                                 
        close(vol->fd);                                               
   535e0:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
        free(fs_info->vhash);                                         
   535e6:	2f2a 0062      	movel %a2@(98),%sp@-                        <== NOT EXECUTED
   535ea:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        free(fs_info->rhash);                                         
   535ec:	2f2a 0066      	movel %a2@(102),%sp@-                       <== NOT EXECUTED
   535f0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   535f2:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   535f8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   535fc:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   535fe:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   53600:	2085           	movel %d5,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   53602:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   53608:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5360a:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    /* set up collection of fat-files fd */                           
    fs_info->vhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
    if ( fs_info->vhash == NULL )                                     
    {                                                                 
        close(vol->fd);                                               
   5360c:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   53610:	7e0c           	moveq #12,%d7                               <== NOT EXECUTED
                                                                      
    /* set up collection of fat-files fd */                           
    fs_info->vhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
    if ( fs_info->vhash == NULL )                                     
    {                                                                 
        close(vol->fd);                                               
   53612:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   53618:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5361e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   53620:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   53622:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   53624:	2087           	movel %d7,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   53626:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5362c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5362e:	4e75           	rts                                         <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( ENOMEM );               
    }                                                                 
    fs_info->sec_buf = (uint8_t *)calloc(vol->bps, sizeof(uint8_t));  
    if (fs_info->sec_buf == NULL)                                     
    {                                                                 
        close(vol->fd);                                               
   53630:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
        free(fs_info->vhash);                                         
   53634:	47f9 0004 4bec 	lea 44bec <free>,%a3                        <== NOT EXECUTED
        free(fs_info->rhash);                                         
        free(fs_info->uino);                                          
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   5363a:	780c           	moveq #12,%d4                               <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( ENOMEM );               
    }                                                                 
    fs_info->sec_buf = (uint8_t *)calloc(vol->bps, sizeof(uint8_t));  
    if (fs_info->sec_buf == NULL)                                     
    {                                                                 
        close(vol->fd);                                               
   5363c:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
        free(fs_info->vhash);                                         
   53642:	2f2a 0062      	movel %a2@(98),%sp@-                        <== NOT EXECUTED
   53646:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        free(fs_info->rhash);                                         
   53648:	2f2a 0066      	movel %a2@(102),%sp@-                       <== NOT EXECUTED
   5364c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        free(fs_info->uino);                                          
   5364e:	2f2a 006a      	movel %a2@(106),%sp@-                       <== NOT EXECUTED
   53652:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   53654:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5365a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5365e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   53660:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   53662:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   53664:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5366a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5366c:	4e75           	rts                                         <== NOT EXECUTED
        rtems_chain_initialize_empty(fs_info->vhash + i);             
                                                                      
    fs_info->rhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
    if ( fs_info->rhash == NULL )                                     
    {                                                                 
        close(vol->fd);                                               
   5366e:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
        free(fs_info->vhash);                                         
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   53672:	7c0c           	moveq #12,%d6                               <== NOT EXECUTED
        rtems_chain_initialize_empty(fs_info->vhash + i);             
                                                                      
    fs_info->rhash = calloc(FAT_HASH_SIZE, sizeof(rtems_chain_control));
    if ( fs_info->rhash == NULL )                                     
    {                                                                 
        close(vol->fd);                                               
   53674:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
        free(fs_info->vhash);                                         
   5367a:	2f2a 0062      	movel %a2@(98),%sp@-                        <== NOT EXECUTED
   5367e:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one( ENOMEM );               
   53684:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5368a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5368c:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5368e:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   53690:	2086           	movel %d6,%a0@                              <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   53692:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   53698:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5369a:	4e75           	rts                                         <== NOT EXECUTED
        {                                                             
            ret = _fat_block_read(fs_info, vol->info_sec , 0,         
                                  FAT_FSI_LEADSIG_SIZE, fs_info_sector);
            if ( ret < 0 )                                            
            {                                                         
                close(vol->fd);                                       
   5369c:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
   536a0:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
   536a6:	588f           	addql #4,%sp                                <== NOT EXECUTED
                return -1;                                            
   536a8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   536aa:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   536b0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   536b2:	4e75           	rts                                         <== NOT EXECUTED
 *     0 on success, or -1 if error occured and errno set appropriately
 */                                                                   
int                                                                   
_fat_block_release(fat_fs_info_t *fs_info)                            
{                                                                     
    return fat_buf_release(fs_info);                                  
   536b4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   536b6:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 <== NOT EXECUTED
                ret = _fat_block_read(fs_info, vol->info_sec , FAT_FSI_INFO,
                                      FAT_USEFUL_INFO_SIZE, fs_info_sector);
                if ( ret < 0 )                                        
                {                                                     
                    _fat_block_release(fs_info);                      
                    close(vol->fd);                                   
   536bc:	2f2a 0056      	movel %a2@(86),%sp@-                        <== NOT EXECUTED
   536c0:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
   536c6:	508f           	addql #8,%sp                                <== NOT EXECUTED
                    return -1;                                        
   536c8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            vol->sectors_per_block = vol->spc;                        
        }                                                             
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   536ca:	4cee 3cfc ff60 	moveml %fp@(-160),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   536d0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058fe0 <fat_scan_fat_for_free_clusters>: uint32_t count, uint32_t *cls_added, uint32_t *last_cl, bool zero_fill ) {
   58fe0:	4e56 ffd0      	linkw %fp,#-48                              
   58fe4:	122e 001f      	moveb %fp@(31),%d1                          
   58fe8:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   58fec:	246e 0008      	moveal %fp@(8),%a2                          
   58ff0:	266e 0014      	moveal %fp@(20),%a3                         
    int            rc = RC_OK;                                        
    uint32_t       cl4find = 2;                                       
    uint32_t       next_cln = 0;                                      
    uint32_t       save_cln = 0;                                      
    uint32_t       data_cls_val = fs_info->vol.data_cls + 2;          
   58ff4:	282a 0034      	movel %a2@(52),%d4                          
    uint32_t                              count,                      
    uint32_t                             *cls_added,                  
    uint32_t                             *last_cl,                    
    bool                                  zero_fill                   
    )                                                                 
{                                                                     
   58ff8:	1d41 fffb      	moveb %d1,%fp@(-5)                          
    int            rc = RC_OK;                                        
    uint32_t       cl4find = 2;                                       
    uint32_t       next_cln = 0;                                      
   58ffc:	42ae fffc      	clrl %fp@(-4)                               
    uint32_t       save_cln = 0;                                      
    uint32_t       data_cls_val = fs_info->vol.data_cls + 2;          
    uint32_t       i = 2;                                             
    ssize_t        bytes_written;                                     
                                                                      
    *cls_added = 0;                                                   
   59000:	4293           	clrl %a3@                                   
                                                                      
    if (count == 0)                                                   
   59002:	4aae 0010      	tstl %fp@(16)                               
   59006:	6700 0146      	beqw 5914e <fat_scan_fat_for_free_clusters+0x16e>
        return rc;                                                    
                                                                      
    if (fs_info->vol.next_cl != FAT_UNDEFINED_VALUE)                  
   5900a:	2e2a 0046      	movel %a2@(70),%d7                          
   5900e:	70ff           	moveq #-1,%d0                               
   59010:	b087           	cmpl %d7,%d0                                
   59012:	6700 0148      	beqw 5915c <fat_scan_fat_for_free_clusters+0x17c>
{                                                                     
    int            rc = RC_OK;                                        
    uint32_t       cl4find = 2;                                       
    uint32_t       next_cln = 0;                                      
    uint32_t       save_cln = 0;                                      
    uint32_t       data_cls_val = fs_info->vol.data_cls + 2;          
   59016:	5484           	addql #2,%d4                                
    /*                                                                
     * fs_info->vol.data_cls is exactly the count of data clusters    
     * starting at cluster 2, so the maximum valid cluster number is  
     * (fs_info->vol.data_cls + 1)                                    
     */                                                               
    while (i < data_cls_val)                                          
   59018:	7202           	moveq #2,%d1                                
   5901a:	b284           	cmpl %d4,%d1                                
   5901c:	6400 01c2      	bccw 591e0 <fat_scan_fat_for_free_clusters+0x200>
   59020:	2a0e           	movel %fp,%d5                               
   59022:	7402           	moveq #2,%d2                                
   59024:	4286           	clrl %d6                                    
   59026:	5985           	subql #4,%d5                                
   59028:	49f9 0005 8ac0 	lea 58ac0 <fat_get_fat_cluster>,%a4         
    {                                                                 
        rc = fat_get_fat_cluster(fs_info, cl4find, &next_cln);        
   5902e:	2f05           	movel %d5,%sp@-                             
   59030:	2f07           	movel %d7,%sp@-                             
   59032:	2f0a           	movel %a2,%sp@-                             
   59034:	4e94           	jsr %a4@                                    
        if ( rc != RC_OK )                                            
   59036:	4fef 000c      	lea %sp@(12),%sp                            
     * starting at cluster 2, so the maximum valid cluster number is  
     * (fs_info->vol.data_cls + 1)                                    
     */                                                               
    while (i < data_cls_val)                                          
    {                                                                 
        rc = fat_get_fat_cluster(fs_info, cl4find, &next_cln);        
   5903a:	2600           	movel %d0,%d3                               
        if ( rc != RC_OK )                                            
   5903c:	6600 0124      	bnew 59162 <fat_scan_fat_for_free_clusters+0x182>
            if (*cls_added != 0)                                      
                fat_free_fat_clusters_chain(fs_info, (*chain));       
            return rc;                                                
        }                                                             
                                                                      
        if (next_cln == FAT_GENFAT_FREE)                              
   59040:	4aae fffc      	tstl %fp@(-4)                               
   59044:	663c           	bnes 59082 <fat_scan_fat_for_free_clusters+0xa2>
            /*                                                        
             * We are enforced to process allocation of the first free cluster
             * by separate 'if' statement because otherwise undo function
             * wouldn't work properly                                 
             */                                                       
            if (*cls_added == 0)                                      
   59046:	4a93           	tstl %a3@                                   
   59048:	6600 00ce      	bnew 59118 <fat_scan_fat_for_free_clusters+0x138>
            {                                                         
                *chain = cl4find;                                     
                rc = fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_EOC);
   5904c:	4878 ffff      	pea ffffffff <LESS>                         
   59050:	4bf9 0005 8c92 	lea 58c92 <fat_set_fat_cluster>,%a5         
             * by separate 'if' statement because otherwise undo function
             * wouldn't work properly                                 
             */                                                       
            if (*cls_added == 0)                                      
            {                                                         
                *chain = cl4find;                                     
   59056:	206e 000c      	moveal %fp@(12),%a0                         
                rc = fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_EOC);
   5905a:	2f07           	movel %d7,%sp@-                             
             * by separate 'if' statement because otherwise undo function
             * wouldn't work properly                                 
             */                                                       
            if (*cls_added == 0)                                      
            {                                                         
                *chain = cl4find;                                     
   5905c:	2087           	movel %d7,%a0@                              
                rc = fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_EOC);
   5905e:	2f0a           	movel %a2,%sp@-                             
   59060:	4e95           	jsr %a5@                                    
                if ( rc != RC_OK )                                    
   59062:	4fef 000c      	lea %sp@(12),%sp                            
   59066:	4a80           	tstl %d0                                    
   59068:	6600 014a      	bnew 591b4 <fat_scan_fat_for_free_clusters+0x1d4>
                rc = fat_set_fat_cluster(fs_info, save_cln, cl4find); 
                if ( rc != RC_OK )                                    
                    goto cleanup;                                     
            }                                                         
                                                                      
            if (zero_fill)                                            
   5906c:	4a2e fffb      	tstb %fp@(-5)                               
   59070:	6650           	bnes 590c2 <fat_scan_fat_for_free_clusters+0xe2><== NEVER TAKEN
                    goto cleanup;                                     
                }                                                     
            }                                                         
                                                                      
            save_cln = cl4find;                                       
            (*cls_added)++;                                           
   59072:	2013           	movel %a3@,%d0                              
   59074:	5280           	addql #1,%d0                                
   59076:	2680           	movel %d0,%a3@                              
                                                                      
            /* have we satisfied request ? */                         
            if (*cls_added == count)                                  
   59078:	b0ae 0010      	cmpl %fp@(16),%d0                           
   5907c:	6700 0106      	beqw 59184 <fat_scan_fat_for_free_clusters+0x1a4>
   59080:	2c07           	movel %d7,%d6                               <== NOT EXECUTED
                *last_cl = save_cln;                                  
                fat_buf_release(fs_info);                             
                return rc;                                            
            }                                                         
        }                                                             
        i++;                                                          
   59082:	5282           	addql #1,%d2                                
        cl4find++;                                                    
   59084:	5287           	addql #1,%d7                                
        if (cl4find >= data_cls_val)                                  
   59086:	be84           	cmpl %d4,%d7                                
   59088:	6502           	bcss 5908c <fat_scan_fat_for_free_clusters+0xac><== ALWAYS TAKEN
            cl4find = 2;                                              
   5908a:	7e02           	moveq #2,%d7                                <== NOT EXECUTED
    /*                                                                
     * fs_info->vol.data_cls is exactly the count of data clusters    
     * starting at cluster 2, so the maximum valid cluster number is  
     * (fs_info->vol.data_cls + 1)                                    
     */                                                               
    while (i < data_cls_val)                                          
   5908c:	b484           	cmpl %d4,%d2                                
   5908e:	669e           	bnes 5902e <fat_scan_fat_for_free_clusters+0x4e><== ALWAYS TAKEN
        if (cl4find >= data_cls_val)                                  
            cl4find = 2;                                              
    }                                                                 
                                                                      
        fs_info->vol.next_cl = save_cln;                              
        if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)             
   59090:	202a 003e      	movel %a2@(62),%d0                          <== NOT EXECUTED
   59094:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
        cl4find++;                                                    
        if (cl4find >= data_cls_val)                                  
            cl4find = 2;                                              
    }                                                                 
                                                                      
        fs_info->vol.next_cl = save_cln;                              
   59096:	2546 0046      	movel %d6,%a2@(70)                          <== NOT EXECUTED
        if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)             
   5909a:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5909c:	6706           	beqs 590a4 <fat_scan_fat_for_free_clusters+0xc4><== NOT EXECUTED
            fs_info->vol.free_cls -= (*cls_added);                    
   5909e:	9093           	subl %a3@,%d0                               <== NOT EXECUTED
   590a0:	2540 003e      	movel %d0,%a2@(62)                          <== NOT EXECUTED
                                                                      
    *last_cl = save_cln;                                              
   590a4:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
    fat_buf_release(fs_info);                                         
    return RC_OK;                                                     
   590a8:	4283           	clrl %d3                                    <== NOT EXECUTED
                                                                      
        fs_info->vol.next_cl = save_cln;                              
        if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE)             
            fs_info->vol.free_cls -= (*cls_added);                    
                                                                      
    *last_cl = save_cln;                                              
   590aa:	2086           	movel %d6,%a0@                              <== NOT EXECUTED
    fat_buf_release(fs_info);                                         
   590ac:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   590ae:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 <== NOT EXECUTED
   590b4:	588f           	addql #4,%sp                                <== NOT EXECUTED
    fat_free_fat_clusters_chain(fs_info, (*chain));                   
    /* trying to save last allocated cluster for future use */        
    fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_FREE);           
    fat_buf_release(fs_info);                                         
    return rc;                                                        
}                                                                     
   590b6:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   590b8:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   590be:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   590c0:	4e75           	rts                                         <== NOT EXECUTED
                    goto cleanup;                                     
            }                                                         
                                                                      
            if (zero_fill)                                            
            {                                                         
                bytes_written = fat_cluster_set (fs_info, cl4find, 0, fs_info->vol.bpc, 0);
   590c2:	4280           	clrl %d0                                    <== NOT EXECUTED
                if (fs_info->vol.bpc != bytes_written)                
   590c4:	4286           	clrl %d6                                    <== NOT EXECUTED
                    goto cleanup;                                     
            }                                                         
                                                                      
            if (zero_fill)                                            
            {                                                         
                bytes_written = fat_cluster_set (fs_info, cl4find, 0, fs_info->vol.bpc, 0);
   590c6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   590c8:	302a 0006      	movew %a2@(6),%d0                           <== NOT EXECUTED
   590cc:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   590ce:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   590d0:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   590d2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   590d4:	4eb9 0005 2b1a 	jsr 52b1a <fat_cluster_set>                 <== NOT EXECUTED
                if (fs_info->vol.bpc != bytes_written)                
   590da:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   590de:	3c2a 0006      	movew %a2@(6),%d6                           <== NOT EXECUTED
   590e2:	b086           	cmpl %d6,%d0                                <== NOT EXECUTED
   590e4:	678c           	beqs 59072 <fat_scan_fat_for_free_clusters+0x92><== NOT EXECUTED
                {                                                     
                    rc = -1;                                          
   590e6:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
    return RC_OK;                                                     
                                                                      
cleanup:                                                              
                                                                      
    /* cleanup activity */                                            
    fat_free_fat_clusters_chain(fs_info, (*chain));                   
   590e8:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
    /* trying to save last allocated cluster for future use */        
    fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_FREE);           
    fat_buf_release(fs_info);                                         
    return rc;                                                        
   590ec:	2600           	movel %d0,%d3                               <== NOT EXECUTED
    return RC_OK;                                                     
                                                                      
cleanup:                                                              
                                                                      
    /* cleanup activity */                                            
    fat_free_fat_clusters_chain(fs_info, (*chain));                   
   590ee:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   590f0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   590f2:	4eb9 0005 8f0e 	jsr 58f0e <fat_free_fat_clusters_chain>     <== NOT EXECUTED
    /* trying to save last allocated cluster for future use */        
    fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_FREE);           
   590f8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   590fa:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   590fc:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   590fe:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    fat_buf_release(fs_info);                                         
   59100:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59102:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 <== NOT EXECUTED
   59108:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
    return rc;                                                        
}                                                                     
   5910c:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5910e:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   59114:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59116:	4e75           	rts                                         <== NOT EXECUTED
                }                                                     
            }                                                         
            else                                                      
            {                                                         
                /* set EOC value to new allocated cluster */          
                rc = fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_EOC);
   59118:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   5911c:	4bf9 0005 8c92 	lea 58c92 <fat_set_fat_cluster>,%a5         <== NOT EXECUTED
   59122:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   59124:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59126:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                if ( rc != RC_OK )                                    
   59128:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5912c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5912e:	6600 0092      	bnew 591c2 <fat_scan_fat_for_free_clusters+0x1e2><== NOT EXECUTED
                    /* cleanup activity */                            
                    fat_free_fat_clusters_chain(fs_info, (*chain));   
                    return rc;                                        
                }                                                     
                                                                      
                rc = fat_set_fat_cluster(fs_info, save_cln, cl4find); 
   59132:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   59134:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   59136:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59138:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                if ( rc != RC_OK )                                    
   5913a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5913e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59140:	66a6           	bnes 590e8 <fat_scan_fat_for_free_clusters+0x108><== NOT EXECUTED
                    goto cleanup;                                     
            }                                                         
                                                                      
            if (zero_fill)                                            
   59142:	4a2e fffb      	tstb %fp@(-5)                               <== NOT EXECUTED
   59146:	6700 ff2a      	beqw 59072 <fat_scan_fat_for_free_clusters+0x92><== NOT EXECUTED
   5914a:	6000 ff76      	braw 590c2 <fat_scan_fat_for_free_clusters+0xe2><== NOT EXECUTED
    ssize_t        bytes_written;                                     
                                                                      
    *cls_added = 0;                                                   
                                                                      
    if (count == 0)                                                   
        return rc;                                                    
   5914e:	4283           	clrl %d3                                    <== NOT EXECUTED
    fat_free_fat_clusters_chain(fs_info, (*chain));                   
    /* trying to save last allocated cluster for future use */        
    fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_FREE);           
    fat_buf_release(fs_info);                                         
    return rc;                                                        
}                                                                     
   59150:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   59152:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   59158:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5915a:	4e75           	rts                                         <== NOT EXECUTED
    uint32_t                             *last_cl,                    
    bool                                  zero_fill                   
    )                                                                 
{                                                                     
    int            rc = RC_OK;                                        
    uint32_t       cl4find = 2;                                       
   5915c:	7e02           	moveq #2,%d7                                
   5915e:	6000 feb6      	braw 59016 <fat_scan_fat_for_free_clusters+0x36>
    while (i < data_cls_val)                                          
    {                                                                 
        rc = fat_get_fat_cluster(fs_info, cl4find, &next_cln);        
        if ( rc != RC_OK )                                            
        {                                                             
            if (*cls_added != 0)                                      
   59162:	4a93           	tstl %a3@                                   <== NOT EXECUTED
   59164:	6700 ff50      	beqw 590b6 <fat_scan_fat_for_free_clusters+0xd6><== NOT EXECUTED
                fat_free_fat_clusters_chain(fs_info, (*chain));       
   59168:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5916c:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5916e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59170:	4eb9 0005 8f0e 	jsr 58f0e <fat_free_fat_clusters_chain>     <== NOT EXECUTED
   59176:	508f           	addql #8,%sp                                <== NOT EXECUTED
    fat_free_fat_clusters_chain(fs_info, (*chain));                   
    /* trying to save last allocated cluster for future use */        
    fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_FREE);           
    fat_buf_release(fs_info);                                         
    return rc;                                                        
}                                                                     
   59178:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5917a:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   59180:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59182:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
            /* have we satisfied request ? */                         
            if (*cls_added == count)                                  
            {                                                         
                    fs_info->vol.next_cl = save_cln;                  
                    if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE) 
   59184:	202a 003e      	movel %a2@(62),%d0                          
   59188:	72ff           	moveq #-1,%d1                               
            (*cls_added)++;                                           
                                                                      
            /* have we satisfied request ? */                         
            if (*cls_added == count)                                  
            {                                                         
                    fs_info->vol.next_cl = save_cln;                  
   5918a:	2547 0046      	movel %d7,%a2@(70)                          
                    if (fs_info->vol.free_cls != FAT_UNDEFINED_VALUE) 
   5918e:	b280           	cmpl %d0,%d1                                
   59190:	6706           	beqs 59198 <fat_scan_fat_for_free_clusters+0x1b8><== ALWAYS TAKEN
                        fs_info->vol.free_cls -= (*cls_added);        
   59192:	9093           	subl %a3@,%d0                               <== NOT EXECUTED
   59194:	2540 003e      	movel %d0,%a2@(62)                          <== NOT EXECUTED
                *last_cl = save_cln;                                  
   59198:	206e 0018      	moveal %fp@(24),%a0                         
   5919c:	2087           	movel %d7,%a0@                              
                fat_buf_release(fs_info);                             
   5919e:	2f0a           	movel %a2,%sp@-                             
   591a0:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 
   591a6:	588f           	addql #4,%sp                                
    fat_free_fat_clusters_chain(fs_info, (*chain));                   
    /* trying to save last allocated cluster for future use */        
    fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_FREE);           
    fat_buf_release(fs_info);                                         
    return rc;                                                        
}                                                                     
   591a8:	2003           	movel %d3,%d0                               
   591aa:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   591b0:	4e5e           	unlk %fp                                    
   591b2:	4e75           	rts                                         
             * wouldn't work properly                                 
             */                                                       
            if (*cls_added == 0)                                      
            {                                                         
                *chain = cl4find;                                     
                rc = fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_EOC);
   591b4:	2600           	movel %d0,%d3                               <== NOT EXECUTED
    fat_free_fat_clusters_chain(fs_info, (*chain));                   
    /* trying to save last allocated cluster for future use */        
    fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_FREE);           
    fat_buf_release(fs_info);                                         
    return rc;                                                        
}                                                                     
   591b6:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   591b8:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   591be:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   591c0:	4e75           	rts                                         <== NOT EXECUTED
                /* set EOC value to new allocated cluster */          
                rc = fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_EOC);
                if ( rc != RC_OK )                                    
                {                                                     
                    /* cleanup activity */                            
                    fat_free_fat_clusters_chain(fs_info, (*chain));   
   591c2:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
                }                                                     
            }                                                         
            else                                                      
            {                                                         
                /* set EOC value to new allocated cluster */          
                rc = fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_EOC);
   591c6:	2600           	movel %d0,%d3                               <== NOT EXECUTED
                if ( rc != RC_OK )                                    
                {                                                     
                    /* cleanup activity */                            
                    fat_free_fat_clusters_chain(fs_info, (*chain));   
   591c8:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   591ca:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   591cc:	4eb9 0005 8f0e 	jsr 58f0e <fat_free_fat_clusters_chain>     <== NOT EXECUTED
   591d2:	508f           	addql #8,%sp                                <== NOT EXECUTED
    fat_free_fat_clusters_chain(fs_info, (*chain));                   
    /* trying to save last allocated cluster for future use */        
    fat_set_fat_cluster(fs_info, cl4find, FAT_GENFAT_FREE);           
    fat_buf_release(fs_info);                                         
    return rc;                                                        
}                                                                     
   591d4:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   591d6:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   591dc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   591de:	4e75           	rts                                         <== NOT EXECUTED
    /*                                                                
     * fs_info->vol.data_cls is exactly the count of data clusters    
     * starting at cluster 2, so the maximum valid cluster number is  
     * (fs_info->vol.data_cls + 1)                                    
     */                                                               
    while (i < data_cls_val)                                          
   591e0:	4286           	clrl %d6                                    <== NOT EXECUTED
   591e2:	6000 feac      	braw 59090 <fat_scan_fat_for_free_clusters+0xb0><== NOT EXECUTED
	...                                                                  
                                                                      

00052a5a <fat_sector_write>: fat_fs_info_t *fs_info, uint32_t start, uint32_t offset, uint32_t count, const void *buff) {
   52a5a:	4e56 ffd4      	linkw %fp,#-44                              
   52a5e:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   52a62:	246e 0008      	moveal %fp@(8),%a2                          
   52a66:	262e 0014      	movel %fp@(20),%d3                          
   52a6a:	286e 0018      	moveal %fp@(24),%a4                         
    uint32_t            sec_num = start;                              
    uint32_t            ofs = offset;                                 
    uint8_t            *sec_buf;                                      
    uint32_t            c = 0;                                        
                                                                      
    while(count > 0)                                                  
   52a6e:	6700 009c      	beqw 52b0c <fat_sector_write+0xb2>          
   52a72:	2e0e           	movel %fp,%d7                               
   52a74:	4284           	clrl %d4                                    
   52a76:	5987           	subql #4,%d7                                
   52a78:	47f9 0005 2908 	lea 52908 <fat_buf_access>,%a3              
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
        if (rc != RC_OK)                                              
            return -1;                                                
                                                                      
        memcpy((sec_buf + ofs), (buff + cmpltd), c);                  
   52a7e:	4bf9 0005 b188 	lea 5b188 <memcpy>,%a5                      
    uint32_t            sec_num = start;                              
    uint32_t            ofs = offset;                                 
    uint8_t            *sec_buf;                                      
    uint32_t            c = 0;                                        
                                                                      
    while(count > 0)                                                  
   52a84:	2c2e 0010      	movel %fp@(16),%d6                          
   52a88:	2a2e 000c      	movel %fp@(12),%d5                          
    {                                                                 
        c = MIN(count, (fs_info->vol.bps - ofs));                     
   52a8c:	4282           	clrl %d2                                    
   52a8e:	3412           	movew %a2@,%d2                              
   52a90:	9486           	subl %d6,%d2                                
   52a92:	b682           	cmpl %d2,%d3                                
   52a94:	6402           	bccs 52a98 <fat_sector_write+0x3e>          <== NEVER TAKEN
   52a96:	2403           	movel %d3,%d2                               
                                                                      
        if (c == fs_info->vol.bytes_per_block)                        
   52a98:	4280           	clrl %d0                                    
   52a9a:	302a 000a      	movew %a2@(10),%d0                          
   52a9e:	b480           	cmpl %d0,%d2                                
   52aa0:	6744           	beqs 52ae6 <fat_sector_write+0x8c>          <== NEVER TAKEN
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &sec_buf);
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
   52aa2:	2f07           	movel %d7,%sp@-                             
   52aa4:	4878 0001      	pea 1 <ADD>                                 
                                                                      
        memcpy((sec_buf + ofs), (buff + cmpltd), c);                  
                                                                      
        fat_buf_mark_modified(fs_info);                               
                                                                      
        count -= c;                                                   
   52aa8:	9682           	subl %d2,%d3                                
        c = MIN(count, (fs_info->vol.bps - ofs));                     
                                                                      
        if (c == fs_info->vol.bytes_per_block)                        
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &sec_buf);
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
   52aaa:	2f05           	movel %d5,%sp@-                             
                                                                      
        fat_buf_mark_modified(fs_info);                               
                                                                      
        count -= c;                                                   
        cmpltd +=c;                                                   
        sec_num++;                                                    
   52aac:	5285           	addql #1,%d5                                
        c = MIN(count, (fs_info->vol.bps - ofs));                     
                                                                      
        if (c == fs_info->vol.bytes_per_block)                        
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &sec_buf);
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
   52aae:	2f0a           	movel %a2,%sp@-                             
   52ab0:	4e93           	jsr %a3@                                    
   52ab2:	4fef 0010      	lea %sp@(16),%sp                            
        if (rc != RC_OK)                                              
   52ab6:	4a80           	tstl %d0                                    
   52ab8:	6644           	bnes 52afe <fat_sector_write+0xa4>          <== NEVER TAKEN
            return -1;                                                
                                                                      
        memcpy((sec_buf + ofs), (buff + cmpltd), c);                  
   52aba:	2f02           	movel %d2,%sp@-                             
   52abc:	4874 4800      	pea %a4@(00000000,%d4:l)                    
   52ac0:	dcae fffc      	addl %fp@(-4),%d6                           
                                                                      
        fat_buf_mark_modified(fs_info);                               
                                                                      
        count -= c;                                                   
        cmpltd +=c;                                                   
   52ac4:	d882           	addl %d2,%d4                                
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
        if (rc != RC_OK)                                              
            return -1;                                                
                                                                      
        memcpy((sec_buf + ofs), (buff + cmpltd), c);                  
   52ac6:	2f06           	movel %d6,%sp@-                             
        fat_buf_mark_modified(fs_info);                               
                                                                      
        count -= c;                                                   
        cmpltd +=c;                                                   
        sec_num++;                                                    
        ofs = 0;                                                      
   52ac8:	4286           	clrl %d6                                    
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
        if (rc != RC_OK)                                              
            return -1;                                                
                                                                      
        memcpy((sec_buf + ofs), (buff + cmpltd), c);                  
   52aca:	4e95           	jsr %a5@                                    
    uint32_t            sec_num = start;                              
    uint32_t            ofs = offset;                                 
    uint8_t            *sec_buf;                                      
    uint32_t            c = 0;                                        
                                                                      
    while(count > 0)                                                  
   52acc:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
                                                                      
static inline void                                                    
fat_buf_mark_modified(fat_fs_info_t *fs_info)                         
{                                                                     
    fs_info->c.modified = true;                                       
   52ad0:	7001           	moveq #1,%d0                                
   52ad2:	1540 007e      	moveb %d0,%a2@(126)                         
   52ad6:	4a83           	tstl %d3                                    
   52ad8:	66b2           	bnes 52a8c <fat_sector_write+0x32>          <== NEVER TAKEN
        cmpltd +=c;                                                   
        sec_num++;                                                    
        ofs = 0;                                                      
    }                                                                 
    return cmpltd;                                                    
}                                                                     
   52ada:	2004           	movel %d4,%d0                               
   52adc:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   52ae2:	4e5e           	unlk %fp                                    
   52ae4:	4e75           	rts                                         
    while(count > 0)                                                  
    {                                                                 
        c = MIN(count, (fs_info->vol.bps - ofs));                     
                                                                      
        if (c == fs_info->vol.bytes_per_block)                        
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &sec_buf);
   52ae6:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   52ae8:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
                                                                      
        memcpy((sec_buf + ofs), (buff + cmpltd), c);                  
                                                                      
        fat_buf_mark_modified(fs_info);                               
                                                                      
        count -= c;                                                   
   52aec:	9682           	subl %d2,%d3                                <== NOT EXECUTED
    while(count > 0)                                                  
    {                                                                 
        c = MIN(count, (fs_info->vol.bps - ofs));                     
                                                                      
        if (c == fs_info->vol.bytes_per_block)                        
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &sec_buf);
   52aee:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
                                                                      
        fat_buf_mark_modified(fs_info);                               
                                                                      
        count -= c;                                                   
        cmpltd +=c;                                                   
        sec_num++;                                                    
   52af0:	5285           	addql #1,%d5                                <== NOT EXECUTED
    while(count > 0)                                                  
    {                                                                 
        c = MIN(count, (fs_info->vol.bps - ofs));                     
                                                                      
        if (c == fs_info->vol.bytes_per_block)                        
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_GET, &sec_buf);
   52af2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52af4:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   52af6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
        else                                                          
            rc = fat_buf_access(fs_info, sec_num, FAT_OP_TYPE_READ, &sec_buf);
        if (rc != RC_OK)                                              
   52afa:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52afc:	67bc           	beqs 52aba <fat_sector_write+0x60>          <== NOT EXECUTED
            return -1;                                                
   52afe:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
        cmpltd +=c;                                                   
        sec_num++;                                                    
        ofs = 0;                                                      
    }                                                                 
    return cmpltd;                                                    
}                                                                     
   52b00:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   52b02:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   52b08:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52b0a:	4e75           	rts                                         <== NOT EXECUTED
    uint32_t                              offset,                     
    uint32_t                              count,                      
    const void                           *buff)                       
{                                                                     
    int                 rc = RC_OK;                                   
    ssize_t             cmpltd = 0;                                   
   52b0c:	4284           	clrl %d4                                    <== NOT EXECUTED
        cmpltd +=c;                                                   
        sec_num++;                                                    
        ofs = 0;                                                      
    }                                                                 
    return cmpltd;                                                    
}                                                                     
   52b0e:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   52b10:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   52b16:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058c92 <fat_set_fat_cluster>: uint16_t fat16_clv = 0; uint32_t fat32_clv = 0; uint8_t *sec_buf = NULL; /* sanity check */ if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )
   58c92:	7001           	moveq #1,%d0                                
fat_set_fat_cluster(                                                  
    fat_fs_info_t                        *fs_info,                    
    uint32_t                              cln,                        
    uint32_t                              in_val                      
    )                                                                 
{                                                                     
   58c94:	4e56 ffe4      	linkw %fp,#-28                              
   58c98:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
   58c9c:	246e 0008      	moveal %fp@(8),%a2                          
   58ca0:	242e 000c      	movel %fp@(12),%d2                          
    int                 rc = RC_OK;                                   
    uint32_t            sec = 0;                                      
    uint32_t            ofs = 0;                                      
    uint16_t            fat16_clv = 0;                                
    uint32_t            fat32_clv = 0;                                
    uint8_t            *sec_buf = NULL;                               
   58ca4:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
    /* sanity check */                                                
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
   58ca8:	b082           	cmpl %d2,%d0                                
   58caa:	6476           	bccs 58d22 <fat_set_fat_cluster+0x90>       <== NEVER TAKEN
   58cac:	202a 0034      	movel %a2@(52),%d0                          
   58cb0:	5280           	addql #1,%d0                                
   58cb2:	b082           	cmpl %d2,%d0                                
   58cb4:	656c           	bcss 58d22 <fat_set_fat_cluster+0x90>       <== NEVER TAKEN
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
   58cb6:	102a 000e      	moveb %a2@(14),%d0                          
   58cba:	0800 0000      	btst #0,%d0                                 
   58cbe:	667a           	bnes 58d3a <fat_set_fat_cluster+0xa8>       
   58cc0:	7202           	moveq #2,%d1                                <== NOT EXECUTED
   58cc2:	2802           	movel %d2,%d4                               <== NOT EXECUTED
   58cc4:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   58cc6:	4a00           	tstb %d0                                    <== NOT EXECUTED
   58cc8:	6778           	beqs 58d42 <fat_set_fat_cluster+0xb0>       <== NOT EXECUTED
   58cca:	d884           	addl %d4,%d4                                <== NOT EXECUTED
   58ccc:	4280           	clrl %d0                                    
   58cce:	102a 0002      	moveb %a2@(2),%d0                           
   58cd2:	2604           	movel %d4,%d3                               
   58cd4:	e0ab           	lsrl %d0,%d3                                
   58cd6:	d6aa 0050      	addl %a2@(80),%d3                           
          fs_info->vol.afat_loc;                                      
    ofs = FAT_FAT_OFFSET(fs_info->vol.type, cln) & (fs_info->vol.bps - 1);
                                                                      
    rc = fat_buf_access(fs_info, sec, FAT_OP_TYPE_READ, &sec_buf);    
   58cda:	47f9 0005 2908 	lea 52908 <fat_buf_access>,%a3              
   58ce0:	486e fffc      	pea %fp@(-4)                                
   58ce4:	4878 0001      	pea 1 <ADD>                                 
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
          fs_info->vol.afat_loc;                                      
    ofs = FAT_FAT_OFFSET(fs_info->vol.type, cln) & (fs_info->vol.bps - 1);
   58ce8:	3a12           	movew %a2@,%d5                              
                                                                      
    rc = fat_buf_access(fs_info, sec, FAT_OP_TYPE_READ, &sec_buf);    
   58cea:	2f03           	movel %d3,%sp@-                             
   58cec:	2f0a           	movel %a2,%sp@-                             
   58cee:	4e93           	jsr %a3@                                    
    if (rc != RC_OK)                                                  
   58cf0:	4fef 0010      	lea %sp@(16),%sp                            
   58cf4:	4a80           	tstl %d0                                    
   58cf6:	6638           	bnes 58d30 <fat_set_fat_cluster+0x9e>       <== NEVER TAKEN
        return rc;                                                    
                                                                      
    switch ( fs_info->vol.type )                                      
   58cf8:	4281           	clrl %d1                                    
   58cfa:	122a 000e      	moveb %a2@(14),%d1                          
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
          fs_info->vol.afat_loc;                                      
    ofs = FAT_FAT_OFFSET(fs_info->vol.type, cln) & (fs_info->vol.bps - 1);
   58cfe:	0285 0000 ffff 	andil #65535,%d5                            
   58d04:	5385           	subql #1,%d5                                
   58d06:	c885           	andl %d5,%d4                                
                                                                      
    rc = fat_buf_access(fs_info, sec, FAT_OP_TYPE_READ, &sec_buf);    
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    switch ( fs_info->vol.type )                                      
   58d08:	7a02           	moveq #2,%d5                                
   58d0a:	ba81           	cmpl %d1,%d5                                
   58d0c:	6700 00ec      	beqw 58dfa <fat_set_fat_cluster+0x168>      
   58d10:	1a3c 0004      	moveb #4,%d5                                
   58d14:	ba81           	cmpl %d1,%d5                                
   58d16:	6700 0092      	beqw 58daa <fat_set_fat_cluster+0x118>      
   58d1a:	1a3c 0001      	moveb #1,%d5                                
   58d1e:	ba81           	cmpl %d1,%d5                                
   58d20:	6724           	beqs 58d46 <fat_set_fat_cluster+0xb4>       <== ALWAYS TAKEN
                                                                      
            fat_buf_mark_modified(fs_info);                           
            break;                                                    
                                                                      
        default:                                                      
            rtems_set_errno_and_return_minus_one(EIO);                
   58d22:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   58d28:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   58d2a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   58d2c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   58d2e:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
            break;                                                    
                                                                      
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58d30:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   58d36:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58d38:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    /* sanity check */                                                
    if ( (cln < 2) || (cln > (fs_info->vol.data_cls + 1)) )           
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    sec = (FAT_FAT_OFFSET(fs_info->vol.type, cln) >> fs_info->vol.sec_log2) +
   58d3a:	2802           	movel %d2,%d4                               
   58d3c:	e28c           	lsrl #1,%d4                                 
   58d3e:	d882           	addl %d2,%d4                                
   58d40:	608a           	bras 58ccc <fat_set_fat_cluster+0x3a>       
   58d42:	e58c           	lsll #2,%d4                                 <== NOT EXECUTED
   58d44:	6086           	bras 58ccc <fat_set_fat_cluster+0x3a>       <== NOT EXECUTED
    {                                                                 
        case FAT_FAT12:                                               
            if ( FAT_CLUSTER_IS_ODD(cln) )                            
            {                                                         
                fat16_clv = ((uint16_t  )in_val) << FAT_FAT12_SHIFT;  
                *(sec_buf + ofs) &= 0x0F;                             
   58d46:	206e fffc      	moveal %fp@(-4),%a0                         
        return rc;                                                    
                                                                      
    switch ( fs_info->vol.type )                                      
    {                                                                 
        case FAT_FAT12:                                               
            if ( FAT_CLUSTER_IS_ODD(cln) )                            
   58d4a:	0802 0000      	btst #0,%d2                                 
   58d4e:	6700 00d4      	beqw 58e24 <fat_set_fat_cluster+0x192>      
            {                                                         
                fat16_clv = ((uint16_t  )in_val) << FAT_FAT12_SHIFT;  
                *(sec_buf + ofs) &= 0x0F;                             
   58d52:	d1c4           	addal %d4,%a0                               
   58d54:	1a3c 000f      	moveb #15,%d5                               
   58d58:	1210           	moveb %a0@,%d1                              
    switch ( fs_info->vol.type )                                      
    {                                                                 
        case FAT_FAT12:                                               
            if ( FAT_CLUSTER_IS_ODD(cln) )                            
            {                                                         
                fat16_clv = ((uint16_t  )in_val) << FAT_FAT12_SHIFT;  
   58d5a:	242e 0010      	movel %fp@(16),%d2                          
                *(sec_buf + ofs) &= 0x0F;                             
   58d5e:	c285           	andl %d5,%d1                                
    switch ( fs_info->vol.type )                                      
    {                                                                 
        case FAT_FAT12:                                               
            if ( FAT_CLUSTER_IS_ODD(cln) )                            
            {                                                         
                fat16_clv = ((uint16_t  )in_val) << FAT_FAT12_SHIFT;  
   58d60:	e98a           	lsll #4,%d2                                 
                *(sec_buf + ofs) &= 0x0F;                             
   58d62:	1081           	moveb %d1,%a0@                              
                                                                      
                *(sec_buf + ofs) |= (uint8_t)(fat16_clv & 0x00F0);    
   58d64:	206e fffc      	moveal %fp@(-4),%a0                         
   58d68:	d1c4           	addal %d4,%a0                               
   58d6a:	1210           	moveb %a0@,%d1                              
   58d6c:	8282           	orl %d2,%d1                                 
   58d6e:	1081           	moveb %d1,%a0@                              
}                                                                     
                                                                      
static inline void                                                    
fat_buf_mark_modified(fat_fs_info_t *fs_info)                         
{                                                                     
    fs_info->c.modified = true;                                       
   58d70:	7201           	moveq #1,%d1                                
   58d72:	1541 007e      	moveb %d1,%a2@(126)                         
                                                                      
                fat_buf_mark_modified(fs_info);                       
                                                                      
                if ( ofs == (fs_info->vol.bps - 1) )                  
   58d76:	4281           	clrl %d1                                    
   58d78:	3212           	movew %a2@,%d1                              
   58d7a:	5381           	subql #1,%d1                                
   58d7c:	b881           	cmpl %d1,%d4                                
   58d7e:	6700 0100      	beqw 58e80 <fat_set_fat_cluster+0x1ee>      
                                                                      
                     fat_buf_mark_modified(fs_info);                  
                }                                                     
                else                                                  
                {                                                     
                    *(sec_buf + ofs + 1) &= 0x00;                     
   58d82:	206e fffc      	moveal %fp@(-4),%a0                         
   58d86:	5284           	addql #1,%d4                                
                                                                      
                    *(sec_buf + ofs + 1) |= (uint8_t  )((fat16_clv & 0xFF00)>>8);
   58d88:	4281           	clrl %d1                                    
                                                                      
                     fat_buf_mark_modified(fs_info);                  
                }                                                     
                else                                                  
                {                                                     
                    *(sec_buf + ofs + 1) &= 0x00;                     
   58d8a:	4203           	clrb %d3                                    
                                                                      
                    *(sec_buf + ofs + 1) |= (uint8_t  )((fat16_clv & 0xFF00)>>8);
   58d8c:	3202           	movew %d2,%d1                               
                                                                      
                     fat_buf_mark_modified(fs_info);                  
                }                                                     
                else                                                  
                {                                                     
                    *(sec_buf + ofs + 1) &= 0x00;                     
   58d8e:	1183 4800      	moveb %d3,%a0@(00000000,%d4:l)              
                                                                      
                    *(sec_buf + ofs + 1) |= (uint8_t  )((fat16_clv & 0xFF00)>>8);
   58d92:	e089           	lsrl #8,%d1                                 
   58d94:	206e fffc      	moveal %fp@(-4),%a0                         
   58d98:	d1c4           	addal %d4,%a0                               
   58d9a:	1a10           	moveb %a0@,%d5                              
   58d9c:	8285           	orl %d5,%d1                                 
   58d9e:	1081           	moveb %d1,%a0@                              
            break;                                                    
                                                                      
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58da0:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            
   58da6:	4e5e           	unlk %fp                                    
   58da8:	4e75           	rts                                         
                    (uint16_t  )(CT_LE_W(in_val));                    
            fat_buf_mark_modified(fs_info);                           
            break;                                                    
                                                                      
        case FAT_FAT32:                                               
            fat32_clv = CT_LE_L((in_val & FAT_FAT32_MASK));           
   58daa:	262e 0010      	movel %fp@(16),%d3                          <== NOT EXECUTED
   58dae:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   58db0:	0283 0fff ffff 	andil #268435455,%d3                        <== NOT EXECUTED
   58db6:	222e 0010      	movel %fp@(16),%d1                          <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   58dba:	2a03           	movel %d3,%d5                               <== NOT EXECUTED
   58dbc:	e4ad           	lsrl %d2,%d5                                <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   58dbe:	e5a9           	lsll %d2,%d1                                <== NOT EXECUTED
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
   58dc0:	2403           	movel %d3,%d2                               <== NOT EXECUTED
   58dc2:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
  byte2 = (value >> 8)  & 0xff;                                       
   58dc4:	e18b           	lsll #8,%d3                                 <== NOT EXECUTED
                                                                      
            *((uint32_t *)(sec_buf + ofs)) &= CT_LE_L(0xF0000000);    
   58dc6:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   58dca:	d1c4           	addal %d4,%a0                               <== NOT EXECUTED
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   58dcc:	8285           	orl %d5,%d1                                 <== NOT EXECUTED
   58dce:	0283 00ff 0000 	andil #16711680,%d3                         <== NOT EXECUTED
   58dd4:	2810           	movel %a0@,%d4                              <== NOT EXECUTED
   58dd6:	0282 0000 ff00 	andil #65280,%d2                            <== NOT EXECUTED
   58ddc:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
   58dde:	0284 0000 00f0 	andil #240,%d4                              <== NOT EXECUTED
   58de4:	7601           	moveq #1,%d3                                <== NOT EXECUTED
   58de6:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
                                                                      
            *((uint32_t *)(sec_buf + ofs)) |= fat32_clv;              
   58de8:	8284           	orl %d4,%d1                                 <== NOT EXECUTED
   58dea:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
   58dec:	1543 007e      	moveb %d3,%a2@(126)                         <== NOT EXECUTED
            break;                                                    
                                                                      
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58df0:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   58df6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58df8:	4e75           	rts                                         <== NOT EXECUTED
   58dfa:	222e 0010      	movel %fp@(16),%d1                          <== NOT EXECUTED
   58dfe:	0281 0000 ffff 	andil #65535,%d1                            <== NOT EXECUTED
                }                                                     
            }                                                         
            break;                                                    
                                                                      
        case FAT_FAT16:                                               
            *((uint16_t   *)(sec_buf + ofs)) =                        
   58e04:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
                                                                      
static inline uint16_t m68k_swap_u16(                                 
  uint16_t value                                                      
)                                                                     
{                                                                     
  return (((value & 0xff) << 8) | ((value >> 8) & 0xff));             
   58e08:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   58e0a:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   58e0c:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
   58e0e:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
   58e10:	3181 4800      	movew %d1,%a0@(00000000,%d4:l)              <== NOT EXECUTED
   58e14:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   58e16:	1541 007e      	moveb %d1,%a2@(126)                         <== NOT EXECUTED
            break;                                                    
                                                                      
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58e1a:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   58e20:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58e22:	4e75           	rts                                         <== NOT EXECUTED
                    *(sec_buf + ofs + 1) |= (uint8_t  )((fat16_clv & 0xFF00)>>8);
                }                                                     
            }                                                         
            else                                                      
            {                                                         
                fat16_clv = ((uint16_t  )in_val) & FAT_FAT12_MASK;    
   58e24:	242e 0010      	movel %fp@(16),%d2                          
                *(sec_buf + ofs) &= 0x00;                             
   58e28:	4201           	clrb %d1                                    
                    *(sec_buf + ofs + 1) |= (uint8_t  )((fat16_clv & 0xFF00)>>8);
                }                                                     
            }                                                         
            else                                                      
            {                                                         
                fat16_clv = ((uint16_t  )in_val) & FAT_FAT12_MASK;    
   58e2a:	0282 0000 0fff 	andil #4095,%d2                             
                *(sec_buf + ofs) &= 0x00;                             
   58e30:	1181 4800      	moveb %d1,%a0@(00000000,%d4:l)              
                    *(sec_buf + ofs + 1) |= (uint8_t  )((fat16_clv & 0xFF00)>>8);
                }                                                     
            }                                                         
            else                                                      
            {                                                         
                fat16_clv = ((uint16_t  )in_val) & FAT_FAT12_MASK;    
   58e34:	3a02           	movew %d2,%d5                               
                *(sec_buf + ofs) &= 0x00;                             
                                                                      
                *(sec_buf + ofs) |= (uint8_t)(fat16_clv & 0x00FF);    
   58e36:	206e fffc      	moveal %fp@(-4),%a0                         
   58e3a:	d1c4           	addal %d4,%a0                               
   58e3c:	1210           	moveb %a0@,%d1                              
   58e3e:	8481           	orl %d1,%d2                                 
   58e40:	1082           	moveb %d2,%a0@                              
   58e42:	7401           	moveq #1,%d2                                
   58e44:	1542 007e      	moveb %d2,%a2@(126)                         
                                                                      
                fat_buf_mark_modified(fs_info);                       
                                                                      
                if ( ofs == (fs_info->vol.bps - 1) )                  
   58e48:	4282           	clrl %d2                                    
   58e4a:	3412           	movew %a2@,%d2                              
   58e4c:	2042           	moveal %d2,%a0                              
   58e4e:	5388           	subql #1,%a0                                
   58e50:	b888           	cmpl %a0,%d4                                
   58e52:	6770           	beqs 58ec4 <fat_set_fat_cluster+0x232>      <== NEVER TAKEN
                                                                      
                    fat_buf_mark_modified(fs_info);                   
                }                                                     
                else                                                  
                {                                                     
                    *(sec_buf + ofs + 1) &= 0xF0;                     
   58e54:	206e fffc      	moveal %fp@(-4),%a0                         
   58e58:	5284           	addql #1,%d4                                
   58e5a:	d1c4           	addal %d4,%a0                               
   58e5c:	76f0           	moveq #-16,%d3                              
                                                                      
                    *(sec_buf + ofs+1) |= (uint8_t)((fat16_clv & 0xFF00)>>8);
   58e5e:	4281           	clrl %d1                                    
                                                                      
                    fat_buf_mark_modified(fs_info);                   
                }                                                     
                else                                                  
                {                                                     
                    *(sec_buf + ofs + 1) &= 0xF0;                     
   58e60:	1410           	moveb %a0@,%d2                              
                                                                      
                    *(sec_buf + ofs+1) |= (uint8_t)((fat16_clv & 0xFF00)>>8);
   58e62:	3205           	movew %d5,%d1                               
                                                                      
                    fat_buf_mark_modified(fs_info);                   
                }                                                     
                else                                                  
                {                                                     
                    *(sec_buf + ofs + 1) &= 0xF0;                     
   58e64:	c483           	andl %d3,%d2                                
                                                                      
                    *(sec_buf + ofs+1) |= (uint8_t)((fat16_clv & 0xFF00)>>8);
   58e66:	e089           	lsrl #8,%d1                                 
                                                                      
                    fat_buf_mark_modified(fs_info);                   
                }                                                     
                else                                                  
                {                                                     
                    *(sec_buf + ofs + 1) &= 0xF0;                     
   58e68:	1082           	moveb %d2,%a0@                              
                                                                      
                    *(sec_buf + ofs+1) |= (uint8_t)((fat16_clv & 0xFF00)>>8);
   58e6a:	206e fffc      	moveal %fp@(-4),%a0                         
   58e6e:	d1c4           	addal %d4,%a0                               
   58e70:	1a10           	moveb %a0@,%d5                              
   58e72:	8285           	orl %d5,%d1                                 
   58e74:	1081           	moveb %d1,%a0@                              
            break;                                                    
                                                                      
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58e76:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            
   58e7c:	4e5e           	unlk %fp                                    
   58e7e:	4e75           	rts                                         
                                                                      
                fat_buf_mark_modified(fs_info);                       
                                                                      
                if ( ofs == (fs_info->vol.bps - 1) )                  
                {                                                     
                    rc = fat_buf_access(fs_info, sec + 1, FAT_OP_TYPE_READ,
   58e80:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   58e84:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   58e86:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   58e8a:	4868 0001      	pea %a0@(1)                                 <== NOT EXECUTED
   58e8e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58e90:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                        &sec_buf);                    
                    if (rc != RC_OK)                                  
   58e92:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   58e96:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58e98:	6600 fe96      	bnew 58d30 <fat_set_fat_cluster+0x9e>       <== NOT EXECUTED
                        return rc;                                    
                                                                      
                     *sec_buf &= 0x00;                                
   58e9c:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   58ea0:	4210           	clrb %a0@                                   <== NOT EXECUTED
                                                                      
                     *sec_buf |= (uint8_t)((fat16_clv & 0xFF00)>>8);  
   58ea2:	0282 0000 ffff 	andil #65535,%d2                            <== NOT EXECUTED
   58ea8:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   58eac:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
   58eae:	1210           	moveb %a0@,%d1                              <== NOT EXECUTED
   58eb0:	8481           	orl %d1,%d2                                 <== NOT EXECUTED
   58eb2:	1082           	moveb %d2,%a0@                              <== NOT EXECUTED
   58eb4:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   58eb6:	1542 007e      	moveb %d2,%a2@(126)                         <== NOT EXECUTED
            break;                                                    
                                                                      
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58eba:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   58ec0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58ec2:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
                fat_buf_mark_modified(fs_info);                       
                                                                      
                if ( ofs == (fs_info->vol.bps - 1) )                  
                {                                                     
                    rc = fat_buf_access(fs_info, sec + 1, FAT_OP_TYPE_READ,
   58ec4:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   58ec8:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   58eca:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   58ece:	4868 0001      	pea %a0@(1)                                 <== NOT EXECUTED
   58ed2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58ed4:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                        &sec_buf);                    
                    if (rc != RC_OK)                                  
   58ed6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   58eda:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58edc:	6600 fe52      	bnew 58d30 <fat_set_fat_cluster+0x9e>       <== NOT EXECUTED
                        return rc;                                    
                                                                      
                    *sec_buf &= 0xF0;                                 
   58ee0:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   58ee4:	74f0           	moveq #-16,%d2                              <== NOT EXECUTED
   58ee6:	1210           	moveb %a0@,%d1                              <== NOT EXECUTED
                                                                      
                    *sec_buf |= (uint8_t)((fat16_clv & 0xFF00)>>8);   
   58ee8:	0285 0000 ffff 	andil #65535,%d5                            <== NOT EXECUTED
                    rc = fat_buf_access(fs_info, sec + 1, FAT_OP_TYPE_READ,
                                        &sec_buf);                    
                    if (rc != RC_OK)                                  
                        return rc;                                    
                                                                      
                    *sec_buf &= 0xF0;                                 
   58eee:	c282           	andl %d2,%d1                                <== NOT EXECUTED
                                                                      
                    *sec_buf |= (uint8_t)((fat16_clv & 0xFF00)>>8);   
   58ef0:	e08d           	lsrl #8,%d5                                 <== NOT EXECUTED
                    rc = fat_buf_access(fs_info, sec + 1, FAT_OP_TYPE_READ,
                                        &sec_buf);                    
                    if (rc != RC_OK)                                  
                        return rc;                                    
                                                                      
                    *sec_buf &= 0xF0;                                 
   58ef2:	1081           	moveb %d1,%a0@                              <== NOT EXECUTED
                                                                      
                    *sec_buf |= (uint8_t)((fat16_clv & 0xFF00)>>8);   
   58ef4:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   58ef8:	1610           	moveb %a0@,%d3                              <== NOT EXECUTED
   58efa:	8a83           	orl %d3,%d5                                 <== NOT EXECUTED
   58efc:	1085           	moveb %d5,%a0@                              <== NOT EXECUTED
   58efe:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
   58f00:	1545 007e      	moveb %d5,%a2@(126)                         <== NOT EXECUTED
            break;                                                    
                                                                      
    }                                                                 
                                                                      
    return RC_OK;                                                     
}                                                                     
   58f04:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   58f0a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00053810 <fat_shutdown_drive>: * RC_OK on success, or -1 if error occured * and errno set appropriately */ int fat_shutdown_drive(fat_fs_info_t *fs_info) {
   53810:	4e56 ffe8      	linkw %fp,#-24                              
   53814:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
   53818:	286e 0008      	moveal %fp@(8),%a4                          
    int            rc = RC_OK;                                        
    int            i = 0;                                             
                                                                      
    rc = fat_sync(fs_info);                                           
   5381c:	2f0c           	movel %a4,%sp@-                             
   5381e:	4eb9 0005 36d4 	jsr 536d4 <fat_sync>                        
    if ( rc != RC_OK )                                                
   53824:	588f           	addql #4,%sp                                
fat_shutdown_drive(fat_fs_info_t *fs_info)                            
{                                                                     
    int            rc = RC_OK;                                        
    int            i = 0;                                             
                                                                      
    rc = fat_sync(fs_info);                                           
   53826:	2800           	movel %d0,%d4                               
    if ( rc != RC_OK )                                                
   53828:	6600 00bc      	bnew 538e6 <fat_shutdown_drive+0xd6>        
        rc = -1;                                                      
   5382c:	4283           	clrl %d3                                    
   5382e:	45f9 0004 4bec 	lea 44bec <free>,%a2                        
   53834:	47f9 0004 a07c 	lea 4a07c <_Chain_Get>,%a3                  
                                                                      
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
    {                                                                 
        rtems_chain_node    *node = NULL;                             
        rtems_chain_control *the_chain = fs_info->vhash + i;          
   5383a:	242c 0062      	movel %a4@(98),%d2                          
   5383e:	d483           	addl %d3,%d2                                
 */                                                                   
RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get(               
  rtems_chain_control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Get( the_chain );                                     
   53840:	2f02           	movel %d2,%sp@-                             
   53842:	4e93           	jsr %a3@                                    
                                                                      
        while ( (node = rtems_chain_get(the_chain)) != NULL )         
   53844:	588f           	addql #4,%sp                                
   53846:	4a80           	tstl %d0                                    
   53848:	6710           	beqs 5385a <fat_shutdown_drive+0x4a>        <== ALWAYS TAKEN
            free(node);                                               
   5384a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5384c:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5384e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   53850:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   53852:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
    {                                                                 
        rtems_chain_node    *node = NULL;                             
        rtems_chain_control *the_chain = fs_info->vhash + i;          
                                                                      
        while ( (node = rtems_chain_get(the_chain)) != NULL )         
   53854:	588f           	addql #4,%sp                                <== NOT EXECUTED
   53856:	4a80           	tstl %d0                                    <== NOT EXECUTED
   53858:	66f0           	bnes 5384a <fat_shutdown_drive+0x3a>        <== NOT EXECUTED
   5385a:	0683 0000 000c 	addil #12,%d3                               
                                                                      
    rc = fat_sync(fs_info);                                           
    if ( rc != RC_OK )                                                
        rc = -1;                                                      
                                                                      
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
   53860:	103c 0018      	moveb #24,%d0                               
   53864:	b083           	cmpl %d3,%d0                                
   53866:	66d2           	bnes 5383a <fat_shutdown_drive+0x2a>        
   53868:	4283           	clrl %d3                                    
    }                                                                 
                                                                      
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
    {                                                                 
        rtems_chain_node    *node = NULL;                             
        rtems_chain_control *the_chain = fs_info->rhash + i;          
   5386a:	242c 0066      	movel %a4@(102),%d2                         
   5386e:	d483           	addl %d3,%d2                                
   53870:	2f02           	movel %d2,%sp@-                             
   53872:	4e93           	jsr %a3@                                    
                                                                      
        while ( (node = rtems_chain_get(the_chain)) != NULL )         
   53874:	588f           	addql #4,%sp                                
   53876:	4a80           	tstl %d0                                    
   53878:	6710           	beqs 5388a <fat_shutdown_drive+0x7a>        <== ALWAYS TAKEN
            free(node);                                               
   5387a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5387c:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5387e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   53880:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   53882:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
    {                                                                 
        rtems_chain_node    *node = NULL;                             
        rtems_chain_control *the_chain = fs_info->rhash + i;          
                                                                      
        while ( (node = rtems_chain_get(the_chain)) != NULL )         
   53884:	588f           	addql #4,%sp                                <== NOT EXECUTED
   53886:	4a80           	tstl %d0                                    <== NOT EXECUTED
   53888:	66f0           	bnes 5387a <fat_shutdown_drive+0x6a>        <== NOT EXECUTED
   5388a:	0683 0000 000c 	addil #12,%d3                               
                                                                      
        while ( (node = rtems_chain_get(the_chain)) != NULL )         
            free(node);                                               
    }                                                                 
                                                                      
    for (i = 0; i < FAT_HASH_SIZE; i++)                               
   53890:	103c 0018      	moveb #24,%d0                               
   53894:	b083           	cmpl %d3,%d0                                
   53896:	66d2           	bnes 5386a <fat_shutdown_drive+0x5a>        
                                                                      
        while ( (node = rtems_chain_get(the_chain)) != NULL )         
            free(node);                                               
    }                                                                 
                                                                      
    free(fs_info->vhash);                                             
   53898:	2f2c 0062      	movel %a4@(98),%sp@-                        
   5389c:	4e92           	jsr %a2@                                    
    free(fs_info->rhash);                                             
   5389e:	2f2c 0066      	movel %a4@(102),%sp@-                       
   538a2:	4e92           	jsr %a2@                                    
                                                                      
    free(fs_info->uino);                                              
   538a4:	2f2c 006a      	movel %a4@(106),%sp@-                       
   538a8:	4e92           	jsr %a2@                                    
    free(fs_info->sec_buf);                                           
   538aa:	2f2c 0084      	movel %a4@(132),%sp@-                       
   538ae:	4e92           	jsr %a2@                                    
    close(fs_info->vol.fd);                                           
   538b0:	2f2c 0056      	movel %a4@(86),%sp@-                        
   538b4:	4eb9 0004 4918 	jsr 44918 <close>                           
                                                                      
    if (rc)                                                           
   538ba:	4fef 0014      	lea %sp@(20),%sp                            
   538be:	4a84           	tstl %d4                                    
   538c0:	660c           	bnes 538ce <fat_shutdown_drive+0xbe>        <== NEVER TAKEN
        errno = EIO;                                                  
    return rc;                                                        
}                                                                     
   538c2:	2004           	movel %d4,%d0                               
   538c4:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   538ca:	4e5e           	unlk %fp                                    
   538cc:	4e75           	rts                                         
    free(fs_info->uino);                                              
    free(fs_info->sec_buf);                                           
    close(fs_info->vol.fd);                                           
                                                                      
    if (rc)                                                           
        errno = EIO;                                                  
   538ce:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   538d4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   538d6:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   538d8:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
    return rc;                                                        
}                                                                     
   538da:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   538dc:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   538e2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   538e4:	4e75           	rts                                         <== NOT EXECUTED
    int            rc = RC_OK;                                        
    int            i = 0;                                             
                                                                      
    rc = fat_sync(fs_info);                                           
    if ( rc != RC_OK )                                                
        rc = -1;                                                      
   538e6:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   538e8:	4283           	clrl %d3                                    <== NOT EXECUTED
   538ea:	45f9 0004 4bec 	lea 44bec <free>,%a2                        <== NOT EXECUTED
   538f0:	47f9 0004 a07c 	lea 4a07c <_Chain_Get>,%a3                  <== NOT EXECUTED
   538f6:	6000 ff42      	braw 5383a <fat_shutdown_drive+0x2a>        <== NOT EXECUTED
                                                                      

000536d4 <fat_sync>: static int fat_fat32_update_fsinfo_sector(fat_fs_info_t *fs_info) { ssize_t ret1 = 0, ret2 = 0; if (fs_info->vol.type == FAT_FAT32)
   536d4:	4280           	clrl %d0                                    
   536d6:	7204           	moveq #4,%d1                                
    return RC_OK;                                                     
}                                                                     
                                                                      
int                                                                   
fat_sync(fat_fs_info_t *fs_info)                                      
{                                                                     
   536d8:	4e56 ffe0      	linkw %fp,#-32                              
   536dc:	48d7 1c3c      	moveml %d2-%d5/%a2-%a4,%sp@                 
   536e0:	246e 0008      	moveal %fp@(8),%a2                          
static int                                                            
fat_fat32_update_fsinfo_sector(fat_fs_info_t *fs_info)                
{                                                                     
    ssize_t ret1 = 0, ret2 = 0;                                       
                                                                      
    if (fs_info->vol.type == FAT_FAT32)                               
   536e4:	102a 000e      	moveb %a2@(14),%d0                          
   536e8:	b280           	cmpl %d0,%d1                                
   536ea:	6728           	beqs 53714 <fat_sync+0x40>                  <== NEVER TAKEN
 *     RC_OK on success, or -1 if error occured (errno set appropriately)
 */                                                                   
static int                                                            
fat_fat32_update_fsinfo_sector(fat_fs_info_t *fs_info)                
{                                                                     
    ssize_t ret1 = 0, ret2 = 0;                                       
   536ec:	4282           	clrl %d2                                    
                                                                      
    rc = fat_fat32_update_fsinfo_sector(fs_info);                     
    if ( rc != RC_OK )                                                
        rc = -1;                                                      
                                                                      
    fat_buf_release(fs_info);                                         
   536ee:	2f0a           	movel %a2,%sp@-                             
   536f0:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 
                                                                      
    if (rtems_bdbuf_syncdev(fs_info->vol.dd) != RTEMS_SUCCESSFUL)     
   536f6:	2f2a 005a      	movel %a2@(90),%sp@-                        
   536fa:	4eb9 0005 0a20 	jsr 50a20 <rtems_bdbuf_syncdev>             
   53700:	508f           	addql #8,%sp                                
   53702:	4a80           	tstl %d0                                    
   53704:	6600 00fc      	bnew 53802 <fat_sync+0x12e>                 
        rc = -1;                                                      
                                                                      
    return rc;                                                        
}                                                                     
   53708:	2002           	movel %d2,%d0                               
   5370a:	4cee 1c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a4            
   53710:	4e5e           	unlk %fp                                    
   53712:	4e75           	rts                                         
{                                                                     
    ssize_t ret1 = 0, ret2 = 0;                                       
                                                                      
    if (fs_info->vol.type == FAT_FAT32)                               
    {                                                                 
        uint32_t free_count = fs_info->vol.free_cls;                  
   53714:	222a 003e      	movel %a2@(62),%d1                          <== NOT EXECUTED
        uint32_t next_free = fs_info->vol.next_cl;                    
   53718:	242a 0046      	movel %a2@(70),%d2                          <== NOT EXECUTED
                                                                      
        if (free_count != fs_info->vol.free_cls_in_fs_info)           
   5371c:	b2aa 0042      	cmpl %a2@(66),%d1                           <== NOT EXECUTED
   53720:	677a           	beqs 5379c <fat_sync+0xc8>                  <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   53722:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   53724:	7618           	moveq #24,%d3                               <== NOT EXECUTED
   53726:	e6a8           	lsrl %d3,%d0                                <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   53728:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   5372a:	7a18           	moveq #24,%d5                               <== NOT EXECUTED
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
   5372c:	2801           	movel %d1,%d4                               <== NOT EXECUTED
   5372e:	e08c           	lsrl #8,%d4                                 <== NOT EXECUTED
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   53730:	264e           	moveal %fp,%a3                              <== NOT EXECUTED
        {                                                             
            uint32_t le_free_count = CT_LE_L(free_count);             
                                                                      
            fs_info->vol.free_cls_in_fs_info = free_count;            
                                                                      
            ret1 = fat_sector_write(fs_info,                          
   53732:	49f9 0005 2a5a 	lea 52a5a <fat_sector_write>,%a4            <== NOT EXECUTED
   53738:	ebab           	lsll %d5,%d3                                <== NOT EXECUTED
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   5373a:	2a01           	movel %d1,%d5                               <== NOT EXECUTED
   5373c:	e18d           	lsll #8,%d5                                 <== NOT EXECUTED
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   5373e:	8680           	orl %d0,%d3                                 <== NOT EXECUTED
   53740:	0284 0000 ff00 	andil #65280,%d4                            <== NOT EXECUTED
   53746:	0285 00ff 0000 	andil #16711680,%d5                         <== NOT EXECUTED
                                                                      
        if (free_count != fs_info->vol.free_cls_in_fs_info)           
        {                                                             
            uint32_t le_free_count = CT_LE_L(free_count);             
                                                                      
            fs_info->vol.free_cls_in_fs_info = free_count;            
   5374c:	2541 0042      	movel %d1,%a2@(66)                          <== NOT EXECUTED
                                                                      
            ret1 = fat_sector_write(fs_info,                          
   53750:	4280           	clrl %d0                                    <== NOT EXECUTED
   53752:	8685           	orl %d5,%d3                                 <== NOT EXECUTED
   53754:	302a 003c      	movew %a2@(60),%d0                          <== NOT EXECUTED
   53758:	8684           	orl %d4,%d3                                 <== NOT EXECUTED
   5375a:	2703           	movel %d3,%a3@-                             <== NOT EXECUTED
   5375c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5375e:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   53762:	4878 01e8      	pea 1e8 <DBL_MANT_DIG+0x1b3>                <== NOT EXECUTED
   53766:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   53768:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5376a:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                    FAT_FSINFO_FREE_CLUSTER_COUNT_OFFSET,
                                    sizeof(le_free_count),            
                                    &le_free_count);                  
        }                                                             
                                                                      
        if (next_free != fs_info->vol.next_cl_in_fs_info)             
   5376c:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
        {                                                             
            uint32_t le_free_count = CT_LE_L(free_count);             
                                                                      
            fs_info->vol.free_cls_in_fs_info = free_count;            
                                                                      
            ret1 = fat_sector_write(fs_info,                          
   53770:	2800           	movel %d0,%d4                               <== NOT EXECUTED
                                    FAT_FSINFO_FREE_CLUSTER_COUNT_OFFSET,
                                    sizeof(le_free_count),            
                                    &le_free_count);                  
        }                                                             
                                                                      
        if (next_free != fs_info->vol.next_cl_in_fs_info)             
   53772:	b4aa 004a      	cmpl %a2@(74),%d2                           <== NOT EXECUTED
   53776:	6638           	bnes 537b0 <fat_sync+0xdc>                  <== NOT EXECUTED
                                    sizeof(le_next_free),             
                                    &le_next_free);                   
        }                                                             
    }                                                                 
                                                                      
    if ( (ret1 < 0) || (ret2 < 0) )                                   
   53778:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5377a:	6c00 ff70      	bgew 536ec <fat_sync+0x18>                  <== NOT EXECUTED
                                                                      
    rc = fat_fat32_update_fsinfo_sector(fs_info);                     
    if ( rc != RC_OK )                                                
        rc = -1;                                                      
                                                                      
    fat_buf_release(fs_info);                                         
   5377e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
{                                                                     
    int rc = RC_OK;                                                   
                                                                      
    rc = fat_fat32_update_fsinfo_sector(fs_info);                     
    if ( rc != RC_OK )                                                
        rc = -1;                                                      
   53780:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
                                                                      
    fat_buf_release(fs_info);                                         
   53782:	4eb9 0005 2738 	jsr 52738 <fat_buf_release>                 <== NOT EXECUTED
                                                                      
    if (rtems_bdbuf_syncdev(fs_info->vol.dd) != RTEMS_SUCCESSFUL)     
   53788:	2f2a 005a      	movel %a2@(90),%sp@-                        <== NOT EXECUTED
   5378c:	4eb9 0005 0a20 	jsr 50a20 <rtems_bdbuf_syncdev>             <== NOT EXECUTED
   53792:	508f           	addql #8,%sp                                <== NOT EXECUTED
   53794:	4a80           	tstl %d0                                    <== NOT EXECUTED
   53796:	6700 ff70      	beqw 53708 <fat_sync+0x34>                  <== NOT EXECUTED
   5379a:	6066           	bras 53802 <fat_sync+0x12e>                 <== NOT EXECUTED
                                    FAT_FSINFO_FREE_CLUSTER_COUNT_OFFSET,
                                    sizeof(le_free_count),            
                                    &le_free_count);                  
        }                                                             
                                                                      
        if (next_free != fs_info->vol.next_cl_in_fs_info)             
   5379c:	b4aa 004a      	cmpl %a2@(74),%d2                           <== NOT EXECUTED
   537a0:	6700 ff4a      	beqw 536ec <fat_sync+0x18>                  <== NOT EXECUTED
 *     RC_OK on success, or -1 if error occured (errno set appropriately)
 */                                                                   
static int                                                            
fat_fat32_update_fsinfo_sector(fat_fs_info_t *fs_info)                
{                                                                     
    ssize_t ret1 = 0, ret2 = 0;                                       
   537a4:	4284           	clrl %d4                                    <== NOT EXECUTED
   537a6:	47ee fffc      	lea %fp@(-4),%a3                            <== NOT EXECUTED
   537aa:	49f9 0005 2a5a 	lea 52a5a <fat_sector_write>,%a4            <== NOT EXECUTED
        {                                                             
            uint32_t le_next_free = CT_LE_L(next_free);               
                                                                      
            fs_info->vol.next_cl_in_fs_info = next_free;              
                                                                      
            ret2 = fat_sector_write(fs_info,                          
   537b0:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   537b2:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   537b6:	7018           	moveq #24,%d0                               <== NOT EXECUTED
   537b8:	4878 01ec      	pea 1ec <DBL_MANT_DIG+0x1b7>                <== NOT EXECUTED
   537bc:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
   537be:	2602           	movel %d2,%d3                               <== NOT EXECUTED
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   537c0:	2202           	movel %d2,%d1                               <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   537c2:	e0ad           	lsrl %d0,%d5                                <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
   537c4:	e08b           	lsrl #8,%d3                                 <== NOT EXECUTED
                                                                      
        if (next_free != fs_info->vol.next_cl_in_fs_info)             
        {                                                             
            uint32_t le_next_free = CT_LE_L(next_free);               
                                                                      
            fs_info->vol.next_cl_in_fs_info = next_free;              
   537c6:	2542 004a      	movel %d2,%a2@(74)                          <== NOT EXECUTED
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   537ca:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   537cc:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
                                                                      
            ret2 = fat_sector_write(fs_info,                          
   537ce:	4280           	clrl %d0                                    <== NOT EXECUTED
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   537d0:	8285           	orl %d5,%d1                                 <== NOT EXECUTED
   537d2:	0282 00ff 0000 	andil #16711680,%d2                         <== NOT EXECUTED
   537d8:	302a 003c      	movew %a2@(60),%d0                          <== NOT EXECUTED
   537dc:	0283 0000 ff00 	andil #65280,%d3                            <== NOT EXECUTED
   537e2:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
   537e4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   537e6:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
   537e8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   537ea:	2d41 fffc      	movel %d1,%fp@(-4)                          <== NOT EXECUTED
   537ee:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                    sizeof(le_next_free),             
                                    &le_next_free);                   
        }                                                             
    }                                                                 
                                                                      
    if ( (ret1 < 0) || (ret2 < 0) )                                   
   537f0:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   537f4:	4a84           	tstl %d4                                    <== NOT EXECUTED
   537f6:	6d86           	blts 5377e <fat_sync+0xaa>                  <== NOT EXECUTED
   537f8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   537fa:	6d82           	blts 5377e <fat_sync+0xaa>                  <== NOT EXECUTED
 *     RC_OK on success, or -1 if error occured (errno set appropriately)
 */                                                                   
static int                                                            
fat_fat32_update_fsinfo_sector(fat_fs_info_t *fs_info)                
{                                                                     
    ssize_t ret1 = 0, ret2 = 0;                                       
   537fc:	4282           	clrl %d2                                    <== NOT EXECUTED
   537fe:	6000 feee      	braw 536ee <fat_sync+0x1a>                  <== NOT EXECUTED
        rc = -1;                                                      
                                                                      
    fat_buf_release(fs_info);                                         
                                                                      
    if (rtems_bdbuf_syncdev(fs_info->vol.dd) != RTEMS_SUCCESSFUL)     
        rc = -1;                                                      
   53802:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
                                                                      
    return rc;                                                        
}                                                                     
   53804:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   53806:	4cee 1c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a4            <== NOT EXECUTED
   5380c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00073120 <fchdir>: /** * compatible with SVr4, 4.4BSD and X/OPEN - Change Directory */ int fchdir( int fd ) {
   73120:	4e56 ff9c      	linkw %fp,#-100                             
  rtems_libio_t *iop;                                                 
  struct stat st;                                                     
  rtems_filesystem_location_info_t loc;                               
                                                                      
  st.st_mode = 0;                                                     
  st.st_uid = 0;                                                      
   73124:	4241           	clrw %d1                                    
                                                                      
/**                                                                   
 *  compatible with SVr4, 4.4BSD and X/OPEN - Change Directory        
 */                                                                   
int fchdir( int fd )                                                  
{                                                                     
   73126:	202e 0008      	movel %fp@(8),%d0                           
   7312a:	2f0a           	movel %a2,%sp@-                             
  rtems_libio_t *iop;                                                 
  struct stat st;                                                     
  rtems_filesystem_location_info_t loc;                               
                                                                      
  st.st_mode = 0;                                                     
  st.st_uid = 0;                                                      
   7312c:	3d41 ffcc      	movew %d1,%fp@(-52)                         
                                                                      
/**                                                                   
 *  compatible with SVr4, 4.4BSD and X/OPEN - Change Directory        
 */                                                                   
int fchdir( int fd )                                                  
{                                                                     
   73130:	2f02           	movel %d2,%sp@-                             
  struct stat st;                                                     
  rtems_filesystem_location_info_t loc;                               
                                                                      
  st.st_mode = 0;                                                     
  st.st_uid = 0;                                                      
  st.st_gid = 0;                                                      
   73132:	3d41 ffce      	movew %d1,%fp@(-50)                         
  int rv = 0;                                                         
  rtems_libio_t *iop;                                                 
  struct stat st;                                                     
  rtems_filesystem_location_info_t loc;                               
                                                                      
  st.st_mode = 0;                                                     
   73136:	42ae ffc6      	clrl %fp@(-58)                              
  st.st_uid = 0;                                                      
  st.st_gid = 0;                                                      
                                                                      
  rtems_libio_check_fd( fd );                                         
   7313a:	b0b9 0009 b1bc 	cmpl 9b1bc <rtems_libio_number_iops>,%d0    
   73140:	6400 0100      	bccw 73242 <fchdir+0x122>                   
  iop = rtems_libio_iop( fd );                                        
   73144:	2200           	movel %d0,%d1                               
   73146:	ed88           	lsll #6,%d0                                 
   73148:	e989           	lsll #4,%d1                                 
   7314a:	2479 0009 fd68 	moveal 9fd68 <rtems_libio_iops>,%a2         
   73150:	9081           	subl %d1,%d0                                
   73152:	d5c0           	addal %d0,%a2                               
  rtems_libio_check_is_open( iop );                                   
   73154:	202a 000c      	movel %a2@(12),%d0                          
   73158:	0280 0000 0100 	andil #256,%d0                              
   7315e:	6700 00e2      	beqw 73242 <fchdir+0x122>                   
  if ( rv == 0 ) {                                                    
    rv = rtems_filesystem_chdir( &loc );                              
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   73162:	206a 0024      	moveal %a2@(36),%a0                         
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
                                                                      
  rtems_filesystem_instance_lock( &iop->pathinfo );                   
  rv = (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, &st );     
   73166:	240a           	movel %a2,%d2                               
   73168:	0682 0000 0010 	addil #16,%d2                               
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  (*mt_entry->ops->lock_h)( mt_entry );                               
   7316e:	2268 000c      	moveal %a0@(12),%a1                         
   73172:	2f08           	movel %a0,%sp@-                             
   73174:	2051           	moveal %a1@,%a0                             
   73176:	4e90           	jsr %a0@                                    
   73178:	206a 0020      	moveal %a2@(32),%a0                         
   7317c:	486e ffba      	pea %fp@(-70)                               
   73180:	2f02           	movel %d2,%sp@-                             
   73182:	2068 0018      	moveal %a0@(24),%a0                         
   73186:	4e90           	jsr %a0@                                    
  if ( rv == 0 ) {                                                    
   73188:	4fef 000c      	lea %sp@(12),%sp                            
   7318c:	4a80           	tstl %d0                                    
   7318e:	6726           	beqs 731b6 <fchdir+0x96>                    <== ALWAYS TAKEN
  if ( rv == 0 ) {                                                    
    rv = rtems_filesystem_chdir( &loc );                              
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   73190:	206a 0024      	moveal %a2@(36),%a0                         <== NOT EXECUTED
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  (*mt_entry->ops->unlock_h)( mt_entry );                             
   73194:	2268 000c      	moveal %a0@(12),%a1                         <== NOT EXECUTED
   73198:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   7319a:	2069 0004      	moveal %a1@(4),%a0                          <== NOT EXECUTED
   7319e:	2d40 ff9c      	movel %d0,%fp@(-100)                        <== NOT EXECUTED
   731a2:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   731a4:	202e ff9c      	movel %fp@(-100),%d0                        <== NOT EXECUTED
   731a8:	588f           	addql #4,%sp                                <== NOT EXECUTED
   731aa:	242e ff94      	movel %fp@(-108),%d2                        
   731ae:	246e ff98      	moveal %fp@(-104),%a2                       
   731b2:	4e5e           	unlk %fp                                    
   731b4:	4e75           	rts                                         
  rtems_libio_check_is_open( iop );                                   
                                                                      
  rtems_filesystem_instance_lock( &iop->pathinfo );                   
  rv = (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, &st );     
  if ( rv == 0 ) {                                                    
    bool access_ok = rtems_filesystem_check_access(                   
   731b6:	4281           	clrl %d1                                    
   731b8:	4280           	clrl %d0                                    
   731ba:	322e ffce      	movew %fp@(-50),%d1                         
   731be:	302e ffcc      	movew %fp@(-52),%d0                         
   731c2:	2f01           	movel %d1,%sp@-                             
   731c4:	2f00           	movel %d0,%sp@-                             
   731c6:	2f2e ffc6      	movel %fp@(-58),%sp@-                       
   731ca:	4878 0001      	pea 1 <ADD>                                 
   731ce:	4eb9 0004 e0f4 	jsr 4e0f4 <rtems_filesystem_check_access>   
      st.st_mode,                                                     
      st.st_uid,                                                      
      st.st_gid                                                       
    );                                                                
                                                                      
    if ( access_ok ) {                                                
   731d4:	4fef 0010      	lea %sp@(16),%sp                            
   731d8:	4a00           	tstb %d0                                    
   731da:	673a           	beqs 73216 <fchdir+0xf6>                    
      rtems_filesystem_location_clone( &loc, &iop->pathinfo );        
   731dc:	2f02           	movel %d2,%sp@-                             
   731de:	240e           	movel %fp,%d2                               
   731e0:	0682 ffff ffa2 	addil #-94,%d2                              
   731e6:	2f02           	movel %d2,%sp@-                             
   731e8:	4eb9 0004 da78 	jsr 4da78 <rtems_filesystem_location_clone> 
  if ( rv == 0 ) {                                                    
    rv = rtems_filesystem_chdir( &loc );                              
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   731ee:	206a 0024      	moveal %a2@(36),%a0                         
   731f2:	2268 000c      	moveal %a0@(12),%a1                         
   731f6:	2f08           	movel %a0,%sp@-                             
   731f8:	2069 0004      	moveal %a1@(4),%a0                          
   731fc:	4e90           	jsr %a0@                                    
    }                                                                 
  }                                                                   
  rtems_filesystem_instance_unlock( &iop->pathinfo );                 
                                                                      
  if ( rv == 0 ) {                                                    
    rv = rtems_filesystem_chdir( &loc );                              
   731fe:	2f02           	movel %d2,%sp@-                             
   73200:	4eb9 0006 3ff0 	jsr 63ff0 <rtems_filesystem_chdir>          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   73206:	242e ff94      	movel %fp@(-108),%d2                        
    }                                                                 
  }                                                                   
  rtems_filesystem_instance_unlock( &iop->pathinfo );                 
                                                                      
  if ( rv == 0 ) {                                                    
    rv = rtems_filesystem_chdir( &loc );                              
   7320a:	4fef 0010      	lea %sp@(16),%sp                            
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   7320e:	246e ff98      	moveal %fp@(-104),%a2                       
   73212:	4e5e           	unlk %fp                                    
   73214:	4e75           	rts                                         
    );                                                                
                                                                      
    if ( access_ok ) {                                                
      rtems_filesystem_location_clone( &loc, &iop->pathinfo );        
    } else {                                                          
      errno = EACCES;                                                 
   73216:	4eb9 0007 7798 	jsr 77798 <__errno>                         
   7321c:	720d           	moveq #13,%d1                               
   7321e:	2040           	moveal %d0,%a0                              
      rv = -1;                                                        
   73220:	70ff           	moveq #-1,%d0                               
    );                                                                
                                                                      
    if ( access_ok ) {                                                
      rtems_filesystem_location_clone( &loc, &iop->pathinfo );        
    } else {                                                          
      errno = EACCES;                                                 
   73222:	2081           	movel %d1,%a0@                              
  if ( rv == 0 ) {                                                    
    rv = rtems_filesystem_chdir( &loc );                              
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   73224:	206a 0024      	moveal %a2@(36),%a0                         
   73228:	2268 000c      	moveal %a0@(12),%a1                         
   7322c:	2f08           	movel %a0,%sp@-                             
   7322e:	2069 0004      	moveal %a1@(4),%a0                          
   73232:	2d40 ff9c      	movel %d0,%fp@(-100)                        
   73236:	4e90           	jsr %a0@                                    
   73238:	202e ff9c      	movel %fp@(-100),%d0                        
   7323c:	588f           	addql #4,%sp                                
   7323e:	6000 ff6a      	braw 731aa <fchdir+0x8a>                    
  st.st_uid = 0;                                                      
  st.st_gid = 0;                                                      
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
   73242:	4eb9 0007 7798 	jsr 77798 <__errno>                         
   73248:	7409           	moveq #9,%d2                                
   7324a:	2040           	moveal %d0,%a0                              
   7324c:	70ff           	moveq #-1,%d0                               
   7324e:	2082           	movel %d2,%a0@                              
  if ( rv == 0 ) {                                                    
    rv = rtems_filesystem_chdir( &loc );                              
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   73250:	242e ff94      	movel %fp@(-108),%d2                        
   73254:	246e ff98      	moveal %fp@(-104),%a2                       
   73258:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00064318 <fchmod>: /** * POSIX 1003.1b 5.6.4 - Change File Modes */ int fchmod( int fd, mode_t mode ) {
   64318:	4e56 fffc      	linkw %fp,#-4                               
   6431c:	202e 0008      	movel %fp@(8),%d0                           
   64320:	2f0a           	movel %a2,%sp@-                             
  int rv;                                                             
  rtems_libio_t *iop;                                                 
                                                                      
  rtems_libio_check_fd( fd );                                         
   64322:	b0b9 0009 b1bc 	cmpl 9b1bc <rtems_libio_number_iops>,%d0    
   64328:	6400 0082      	bccw 643ac <fchmod+0x94>                    
  iop = rtems_libio_iop( fd );                                        
   6432c:	2200           	movel %d0,%d1                               
   6432e:	ed88           	lsll #6,%d0                                 
   64330:	e989           	lsll #4,%d1                                 
   64332:	2479 0009 fd68 	moveal 9fd68 <rtems_libio_iops>,%a2         
   64338:	9081           	subl %d1,%d0                                
   6433a:	d5c0           	addal %d0,%a2                               
  rtems_libio_check_is_open(iop);                                     
   6433c:	202a 000c      	movel %a2@(12),%d0                          
   64340:	0280 0000 0100 	andil #256,%d0                              
   64346:	6764           	beqs 643ac <fchmod+0x94>                    
                                                                      
  if (iop->pathinfo.mt_entry->writeable) {                            
   64348:	206a 0024      	moveal %a2@(36),%a0                         
   6434c:	4a28 0029      	tstb %a0@(41)                               
   64350:	6744           	beqs 64396 <fchmod+0x7e>                    <== NEVER TAKEN
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  (*mt_entry->ops->lock_h)( mt_entry );                               
   64352:	2268 000c      	moveal %a0@(12),%a1                         
   64356:	2f08           	movel %a0,%sp@-                             
   64358:	2051           	moveal %a1@,%a0                             
   6435a:	4e90           	jsr %a0@                                    
    rtems_filesystem_instance_lock( &iop->pathinfo );                 
    rv = (*iop->pathinfo.mt_entry->ops->fchmod_h)( &iop->pathinfo, mode );
   6435c:	206a 0024      	moveal %a2@(36),%a0                         
   64360:	2068 000c      	moveal %a0@(12),%a0                         
   64364:	2f2e 000c      	movel %fp@(12),%sp@-                        
   64368:	486a 0010      	pea %a2@(16)                                
   6436c:	2068 0020      	moveal %a0@(32),%a0                         
   64370:	4e90           	jsr %a0@                                    
    errno = EROFS;                                                    
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   64372:	206a 0024      	moveal %a2@(36),%a0                         
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  (*mt_entry->ops->unlock_h)( mt_entry );                             
   64376:	2268 000c      	moveal %a0@(12),%a1                         
   6437a:	2f08           	movel %a0,%sp@-                             
   6437c:	2069 0004      	moveal %a1@(4),%a0                          
   64380:	2d40 fffc      	movel %d0,%fp@(-4)                          
   64384:	4e90           	jsr %a0@                                    
   64386:	202e fffc      	movel %fp@(-4),%d0                          
   6438a:	4fef 0010      	lea %sp@(16),%sp                            
   6438e:	246e fff8      	moveal %fp@(-8),%a2                         
   64392:	4e5e           	unlk %fp                                    
   64394:	4e75           	rts                                         
  if (iop->pathinfo.mt_entry->writeable) {                            
    rtems_filesystem_instance_lock( &iop->pathinfo );                 
    rv = (*iop->pathinfo.mt_entry->ops->fchmod_h)( &iop->pathinfo, mode );
    rtems_filesystem_instance_unlock( &iop->pathinfo );               
  } else {                                                            
    errno = EROFS;                                                    
   64396:	4eb9 0007 7798 	jsr 77798 <__errno>                         <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   6439c:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
  if (iop->pathinfo.mt_entry->writeable) {                            
    rtems_filesystem_instance_lock( &iop->pathinfo );                 
    rv = (*iop->pathinfo.mt_entry->ops->fchmod_h)( &iop->pathinfo, mode );
    rtems_filesystem_instance_unlock( &iop->pathinfo );               
  } else {                                                            
    errno = EROFS;                                                    
   643a0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   643a2:	721e           	moveq #30,%d1                               <== NOT EXECUTED
    rv = -1;                                                          
   643a4:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   643a6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  if (iop->pathinfo.mt_entry->writeable) {                            
    rtems_filesystem_instance_lock( &iop->pathinfo );                 
    rv = (*iop->pathinfo.mt_entry->ops->fchmod_h)( &iop->pathinfo, mode );
    rtems_filesystem_instance_unlock( &iop->pathinfo );               
  } else {                                                            
    errno = EROFS;                                                    
   643a8:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   643aa:	4e75           	rts                                         <== NOT EXECUTED
  int rv;                                                             
  rtems_libio_t *iop;                                                 
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open(iop);                                     
   643ac:	4eb9 0007 7798 	jsr 77798 <__errno>                         
    errno = EROFS;                                                    
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   643b2:	246e fff8      	moveal %fp@(-8),%a2                         
  int rv;                                                             
  rtems_libio_t *iop;                                                 
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open(iop);                                     
   643b6:	2040           	moveal %d0,%a0                              
   643b8:	7209           	moveq #9,%d1                                
   643ba:	70ff           	moveq #-1,%d0                               
    errno = EROFS;                                                    
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   643bc:	4e5e           	unlk %fp                                    
  int rv;                                                             
  rtems_libio_t *iop;                                                 
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open(iop);                                     
   643be:	2081           	movel %d1,%a0@                              
    errno = EROFS;                                                    
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
	...                                                                  
                                                                      

000643c4 <fchown>: /** * POSIX 1003.1b 5.6.5 - Change Owner and Group of a File */ int fchown( int fd, uid_t owner, gid_t group ) {
   643c4:	4e56 fff0      	linkw %fp,#-16                              
   643c8:	202e 0008      	movel %fp@(8),%d0                           
   643cc:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   643d0:	342e 000e      	movew %fp@(14),%d2                          
   643d4:	362e 0012      	movew %fp@(18),%d3                          
  int rv = 0;                                                         
  rtems_libio_t *iop;                                                 
                                                                      
  rtems_libio_check_fd( fd );                                         
   643d8:	b0b9 0009 b1bc 	cmpl 9b1bc <rtems_libio_number_iops>,%d0    
   643de:	6400 008a      	bccw 6446a <fchown+0xa6>                    
  iop = rtems_libio_iop( fd );                                        
   643e2:	2200           	movel %d0,%d1                               
   643e4:	ed88           	lsll #6,%d0                                 
   643e6:	e989           	lsll #4,%d1                                 
   643e8:	2479 0009 fd68 	moveal 9fd68 <rtems_libio_iops>,%a2         
   643ee:	9081           	subl %d1,%d0                                
   643f0:	d5c0           	addal %d0,%a2                               
  rtems_libio_check_is_open(iop);                                     
   643f2:	202a 000c      	movel %a2@(12),%d0                          
   643f6:	0280 0000 0100 	andil #256,%d0                              
   643fc:	676c           	beqs 6446a <fchown+0xa6>                    <== NEVER TAKEN
                                                                      
  if (iop->pathinfo.mt_entry->writeable) {                            
   643fe:	206a 0024      	moveal %a2@(36),%a0                         
   64402:	4a28 0029      	tstb %a0@(41)                               
   64406:	674a           	beqs 64452 <fchown+0x8e>                    <== NEVER TAKEN
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  (*mt_entry->ops->lock_h)( mt_entry );                               
   64408:	2268 000c      	moveal %a0@(12),%a1                         
   6440c:	2f08           	movel %a0,%sp@-                             
   6440e:	2051           	moveal %a1@,%a0                             
   64410:	4e90           	jsr %a0@                                    
    rtems_filesystem_instance_lock( &iop->pathinfo );                 
    rv = (*iop->pathinfo.mt_entry->ops->chown_h)(                     
   64412:	206a 0024      	moveal %a2@(36),%a0                         
   64416:	2068 000c      	moveal %a0@(12),%a0                         
   6441a:	3f03           	movew %d3,%sp@-                             
   6441c:	4267           	clrw %sp@-                                  
   6441e:	3f02           	movew %d2,%sp@-                             
   64420:	4267           	clrw %sp@-                                  
   64422:	486a 0010      	pea %a2@(16)                                
   64426:	2068 0024      	moveal %a0@(36),%a0                         
   6442a:	4e90           	jsr %a0@                                    
    errno = EROFS;                                                    
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   6442c:	206a 0024      	moveal %a2@(36),%a0                         
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  (*mt_entry->ops->unlock_h)( mt_entry );                             
   64430:	2268 000c      	moveal %a0@(12),%a1                         
   64434:	2f08           	movel %a0,%sp@-                             
   64436:	2069 0004      	moveal %a1@(4),%a0                          
   6443a:	2d40 fffc      	movel %d0,%fp@(-4)                          
   6443e:	4e90           	jsr %a0@                                    
   64440:	202e fffc      	movel %fp@(-4),%d0                          
   64444:	4fef 0014      	lea %sp@(20),%sp                            
   64448:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                
   6444e:	4e5e           	unlk %fp                                    
   64450:	4e75           	rts                                         
      owner,                                                          
      group                                                           
    );                                                                
    rtems_filesystem_instance_unlock( &iop->pathinfo );               
  } else {                                                            
    errno = EROFS;                                                    
   64452:	4eb9 0007 7798 	jsr 77798 <__errno>                         <== NOT EXECUTED
   64458:	721e           	moveq #30,%d1                               <== NOT EXECUTED
   6445a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    rv = -1;                                                          
   6445c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   6445e:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                <== NOT EXECUTED
      owner,                                                          
      group                                                           
    );                                                                
    rtems_filesystem_instance_unlock( &iop->pathinfo );               
  } else {                                                            
    errno = EROFS;                                                    
   64464:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   64466:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   64468:	4e75           	rts                                         <== NOT EXECUTED
  int rv = 0;                                                         
  rtems_libio_t *iop;                                                 
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open(iop);                                     
   6446a:	4eb9 0007 7798 	jsr 77798 <__errno>                         
   64470:	7409           	moveq #9,%d2                                
   64472:	2040           	moveal %d0,%a0                              
   64474:	70ff           	moveq #-1,%d0                               
   64476:	2082           	movel %d2,%a0@                              
    errno = EROFS;                                                    
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   64478:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                
   6447e:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0006ebf8 <fcntl>: int fcntl( int fd, int cmd, ... ) {
   6ebf8:	4e56 ffec      	linkw %fp,#-20                              
   6ebfc:	202e 0008      	movel %fp@(8),%d0                           
   6ec00:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
   6ec04:	262e 000c      	movel %fp@(12),%d3                          
  int            fd2;                                                 
  int            flags;                                               
  int            mask;                                                
  int            ret = 0;                                             
                                                                      
  rtems_libio_check_fd( fd );                                         
   6ec08:	b0b9 0007 40d8 	cmpl 740d8 <rtems_libio_number_iops>,%d0    
   6ec0e:	6400 0194      	bccw 6eda4 <fcntl+0x1ac>                    
  iop = rtems_libio_iop( fd );                                        
   6ec12:	2200           	movel %d0,%d1                               
   6ec14:	ed88           	lsll #6,%d0                                 
   6ec16:	e989           	lsll #4,%d1                                 
   6ec18:	2479 0008 58c4 	moveal 858c4 <rtems_libio_iops>,%a2         
   6ec1e:	9081           	subl %d1,%d0                                
   6ec20:	d5c0           	addal %d0,%a2                               
  rtems_libio_check_is_open(iop);                                     
   6ec22:	202a 000c      	movel %a2@(12),%d0                          
   6ec26:	0800 0008      	btst #8,%d0                                 
   6ec2a:	6700 0178      	beqw 6eda4 <fcntl+0x1ac>                    
                                                                      
  /*                                                                  
   *  This switch should contain all the cases from POSIX.            
   */                                                                 
                                                                      
  switch ( cmd ) {                                                    
   6ec2e:	7209           	moveq #9,%d1                                
   6ec30:	b283           	cmpl %d3,%d1                                
   6ec32:	641a           	bccs 6ec4e <fcntl+0x56>                     
      errno = ENOTSUP;                                                
      ret = -1;                                                       
      break;                                                          
                                                                      
    default:                                                          
      errno = EINVAL;                                                 
   6ec34:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   6ec3a:	2040           	moveal %d0,%a0                              
   6ec3c:	7016           	moveq #22,%d0                               
   6ec3e:	2080           	movel %d0,%a0@                              
  int            mask;                                                
  int            ret = 0;                                             
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open(iop);                                     
   6ec40:	74ff           	moveq #-1,%d2                               
  va_list        ap;                                                  
  va_start( ap, cmd );                                                
  ret = vfcntl(fd,cmd,ap);                                            
  va_end(ap);                                                         
  return ret;                                                         
}                                                                     
   6ec42:	2002           	movel %d2,%d0                               
   6ec44:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   6ec4a:	4e5e           	unlk %fp                                    
   6ec4c:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  This switch should contain all the cases from POSIX.            
   */                                                                 
                                                                      
  switch ( cmd ) {                                                    
   6ec4e:	323b 3a08      	movew %pc@(6ec58 <fcntl+0x60>,%d3:l:2),%d1  
   6ec52:	48c1           	extl %d1                                    
   6ec54:	4efb 1802      	jmp %pc@(6ec58 <fcntl+0x60>,%d1:l)          
   6ec58:	00b0 00a4 0090 	oril #10748048,%d0                          <== NOT EXECUTED
   6ec5e:	0076           	.short 0x0076                               <== NOT EXECUTED
   6ec60:	0026           	.short 0x0026                               <== NOT EXECUTED
   6ec62:	0014           	.short 0x0014                               <== NOT EXECUTED
   6ec64:	0014           	.short 0x0014                               <== NOT EXECUTED
   6ec66:	0014           	.short 0x0014                               <== NOT EXECUTED
   6ec68:	0014           	.short 0x0014                               <== NOT EXECUTED
   6ec6a:	0014           	.short 0x0014                               <== NOT EXECUTED
      errno = ENOTSUP;                                                
      ret = -1;                                                       
      break;                                                          
                                                                      
    case F_GETOWN:       /*  for sockets. */                          
      errno = ENOTSUP;                                                
   6ec6c:	4eb9 0006 0414 	jsr 60414 <__errno>                         
  int            mask;                                                
  int            ret = 0;                                             
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open(iop);                                     
   6ec72:	74ff           	moveq #-1,%d2                               
      errno = ENOTSUP;                                                
      ret = -1;                                                       
      break;                                                          
                                                                      
    case F_GETOWN:       /*  for sockets. */                          
      errno = ENOTSUP;                                                
   6ec74:	2040           	moveal %d0,%a0                              
   6ec76:	20bc 0000 0086 	movel #134,%a0@                             
   6ec7c:	60c4           	bras 6ec42 <fcntl+0x4a>                     
    case F_GETFL:        /* more flags (cloexec) */                   
      ret = rtems_libio_to_fcntl_flags( iop->flags );                 
      break;                                                          
                                                                      
    case F_SETFL:                                                     
      flags = rtems_libio_fcntl_flags( va_arg( ap, int ) );           
   6ec7e:	2f2e 0010      	movel %fp@(16),%sp@-                        
{                                                                     
  rtems_libio_t *iop;                                                 
  int            fd2;                                                 
  int            flags;                                               
  int            mask;                                                
  int            ret = 0;                                             
   6ec82:	4282           	clrl %d2                                    
    case F_GETFL:        /* more flags (cloexec) */                   
      ret = rtems_libio_to_fcntl_flags( iop->flags );                 
      break;                                                          
                                                                      
    case F_SETFL:                                                     
      flags = rtems_libio_fcntl_flags( va_arg( ap, int ) );           
   6ec84:	4eb9 0004 7644 	jsr 47644 <rtems_libio_fcntl_flags>         
                                                                      
      /*                                                              
       *  XXX If we are turning on append, should we seek to the end? 
       */                                                             
                                                                      
      iop->flags = (iop->flags & ~mask) | (flags & mask);             
   6ec8a:	222a 000c      	movel %a2@(12),%d1                          
   6ec8e:	588f           	addql #4,%sp                                
   6ec90:	0280 0000 0201 	andil #513,%d0                              
   6ec96:	0281 ffff fdfe 	andil #-514,%d1                             
   6ec9c:	8081           	orl %d1,%d0                                 
   6ec9e:	2540 000c      	movel %d0,%a2@(12)                          
   *  If we got this far successfully, then we give the optional      
   *  filesystem specific handler a chance to process this.           
   */                                                                 
                                                                      
  if (ret >= 0) {                                                     
    int err = (*iop->pathinfo.handlers->fcntl_h)( iop, cmd );         
   6eca2:	206a 0020      	moveal %a2@(32),%a0                         
   6eca6:	2f03           	movel %d3,%sp@-                             
   6eca8:	2f0a           	movel %a2,%sp@-                             
   6ecaa:	2068 0028      	moveal %a0@(40),%a0                         
   6ecae:	4e90           	jsr %a0@                                    
    if (err) {                                                        
   6ecb0:	508f           	addql #8,%sp                                
   *  If we got this far successfully, then we give the optional      
   *  filesystem specific handler a chance to process this.           
   */                                                                 
                                                                      
  if (ret >= 0) {                                                     
    int err = (*iop->pathinfo.handlers->fcntl_h)( iop, cmd );         
   6ecb2:	2600           	movel %d0,%d3                               
    if (err) {                                                        
   6ecb4:	678c           	beqs 6ec42 <fcntl+0x4a>                     <== ALWAYS TAKEN
      errno = err;                                                    
   6ecb6:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
      ret = -1;                                                       
   6ecbc:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   */                                                                 
                                                                      
  if (ret >= 0) {                                                     
    int err = (*iop->pathinfo.handlers->fcntl_h)( iop, cmd );         
    if (err) {                                                        
      errno = err;                                                    
   6ecbe:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  va_list        ap;                                                  
  va_start( ap, cmd );                                                
  ret = vfcntl(fd,cmd,ap);                                            
  va_end(ap);                                                         
  return ret;                                                         
}                                                                     
   6ecc0:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   */                                                                 
                                                                      
  if (ret >= 0) {                                                     
    int err = (*iop->pathinfo.handlers->fcntl_h)( iop, cmd );         
    if (err) {                                                        
      errno = err;                                                    
   6ecc2:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
  va_list        ap;                                                  
  va_start( ap, cmd );                                                
  ret = vfcntl(fd,cmd,ap);                                            
  va_end(ap);                                                         
  return ret;                                                         
}                                                                     
   6ecc4:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   6ecca:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   6eccc:	4e75           	rts                                         <== NOT EXECUTED
      else                                                            
        iop->flags &= ~LIBIO_FLAGS_CLOSE_ON_EXEC;                     
      break;                                                          
                                                                      
    case F_GETFL:        /* more flags (cloexec) */                   
      ret = rtems_libio_to_fcntl_flags( iop->flags );                 
   6ecce:	2f00           	movel %d0,%sp@-                             
   6ecd0:	4eb9 0004 7684 	jsr 47684 <rtems_libio_to_fcntl_flags>      
   6ecd6:	588f           	addql #4,%sp                                
   6ecd8:	2400           	movel %d0,%d2                               
  /*                                                                  
   *  If we got this far successfully, then we give the optional      
   *  filesystem specific handler a chance to process this.           
   */                                                                 
                                                                      
  if (ret >= 0) {                                                     
   6ecda:	6cc6           	bges 6eca2 <fcntl+0xaa>                     <== ALWAYS TAKEN
  va_list        ap;                                                  
  va_start( ap, cmd );                                                
  ret = vfcntl(fd,cmd,ap);                                            
  va_end(ap);                                                         
  return ret;                                                         
}                                                                     
   6ecdc:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   6ecde:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   6ece4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   6ece6:	4e75           	rts                                         <== NOT EXECUTED
{                                                                     
  rtems_libio_t *iop;                                                 
  int            fd2;                                                 
  int            flags;                                               
  int            mask;                                                
  int            ret = 0;                                             
   6ece8:	4282           	clrl %d2                                    
       *  if a new process is exec()'ed.  Since RTEMS does not support
       *  processes, then we can ignore this one except to make       
       *  F_GETFD work.                                               
       */                                                             
                                                                      
      if ( va_arg( ap, int ) )                                        
   6ecea:	4aae 0010      	tstl %fp@(16)                               
   6ecee:	6700 00a8      	beqw 6ed98 <fcntl+0x1a0>                    
        iop->flags |= LIBIO_FLAGS_CLOSE_ON_EXEC;                      
   6ecf2:	08c0 000b      	bset #11,%d0                                
   6ecf6:	2540 000c      	movel %d0,%a2@(12)                          
   6ecfa:	60a6           	bras 6eca2 <fcntl+0xaa>                     
      fd2 = va_arg( ap, int );                                        
      ret = duplicate_iop( iop, fd2 );                                
      break;                                                          
                                                                      
    case F_GETFD:        /* get f_flags */                            
      ret = ((iop->flags & LIBIO_FLAGS_CLOSE_ON_EXEC) != 0);          
   6ecfc:	2400           	movel %d0,%d2                               
   6ecfe:	720b           	moveq #11,%d1                               
   6ed00:	e2aa           	lsrl %d1,%d2                                
   6ed02:	7001           	moveq #1,%d0                                
   6ed04:	c480           	andl %d0,%d2                                
   6ed06:	609a           	bras 6eca2 <fcntl+0xaa>                     
                                                                      
  /*                                                                  
   * FIXME: We ignore the start value fd2 for the file descriptor search.  This
   * is not POSIX conform.                                            
   */                                                                 
  rtems_libio_t *diop = rtems_libio_allocate();                       
   6ed08:	4eb9 0004 76d4 	jsr 476d4 <rtems_libio_allocate>            
   6ed0e:	2640           	moveal %d0,%a3                              
                                                                      
  if (diop != NULL) {                                                 
   6ed10:	4a80           	tstl %d0                                    
   6ed12:	6700 ff2c      	beqw 6ec40 <fcntl+0x48>                     
    int oflag = rtems_libio_to_fcntl_flags( iop->flags );             
   6ed16:	2f2a 000c      	movel %a2@(12),%sp@-                        
   6ed1a:	4eb9 0004 7684 	jsr 47684 <rtems_libio_to_fcntl_flags>      
                                                                      
    oflag &= ~O_CREAT;                                                
    diop->flags |= rtems_libio_fcntl_flags( oflag );                  
   6ed20:	282b 000c      	movel %a3@(12),%d4                          
  rtems_libio_t *diop = rtems_libio_allocate();                       
                                                                      
  if (diop != NULL) {                                                 
    int oflag = rtems_libio_to_fcntl_flags( iop->flags );             
                                                                      
    oflag &= ~O_CREAT;                                                
   6ed24:	2400           	movel %d0,%d2                               
   6ed26:	0882 0009      	bclr #9,%d2                                 
    diop->flags |= rtems_libio_fcntl_flags( oflag );                  
   6ed2a:	2f02           	movel %d2,%sp@-                             
   6ed2c:	4eb9 0004 7644 	jsr 47644 <rtems_libio_fcntl_flags>         
  int cmd,                                                            
  int arg                                                             
)                                                                     
{                                                                     
  return fcntl( fd, cmd, arg );                                       
}                                                                     
   6ed32:	206a 0024      	moveal %a2@(36),%a0                         
                                                                      
  if (diop != NULL) {                                                 
    int oflag = rtems_libio_to_fcntl_flags( iop->flags );             
                                                                      
    oflag &= ~O_CREAT;                                                
    diop->flags |= rtems_libio_fcntl_flags( oflag );                  
   6ed36:	8084           	orl %d4,%d0                                 
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  (*mt_entry->ops->lock_h)( mt_entry );                               
   6ed38:	2268 000c      	moveal %a0@(12),%a1                         
   6ed3c:	2740 000c      	movel %d0,%a3@(12)                          
   6ed40:	2f08           	movel %a0,%sp@-                             
   6ed42:	2051           	moveal %a1@,%a0                             
   6ed44:	4e90           	jsr %a0@                                    
                                                                      
    rtems_filesystem_instance_lock( &iop->pathinfo );                 
    rtems_filesystem_location_clone( &diop->pathinfo, &iop->pathinfo );
   6ed46:	486a 0010      	pea %a2@(16)                                
   6ed4a:	486b 0010      	pea %a3@(16)                                
   6ed4e:	4eb9 0005 63d4 	jsr 563d4 <rtems_filesystem_location_clone> 
  int cmd,                                                            
  int arg                                                             
)                                                                     
{                                                                     
  return fcntl( fd, cmd, arg );                                       
}                                                                     
   6ed54:	206a 0024      	moveal %a2@(36),%a0                         
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  (*mt_entry->ops->unlock_h)( mt_entry );                             
   6ed58:	2268 000c      	moveal %a0@(12),%a1                         
   6ed5c:	2f08           	movel %a0,%sp@-                             
   6ed5e:	2069 0004      	moveal %a1@(4),%a0                          
   6ed62:	4e90           	jsr %a0@                                    
    /*                                                                
     * XXX: We call the open handler here to have a proper open and close pair.
     *                                                                
     * FIXME: What to do with the path?                               
     */                                                               
    rv = (*diop->pathinfo.handlers->open_h)( diop, NULL, oflag, 0 );  
   6ed64:	206b 0020      	moveal %a3@(32),%a0                         
   6ed68:	42a7           	clrl %sp@-                                  
   6ed6a:	2f02           	movel %d2,%sp@-                             
   6ed6c:	42a7           	clrl %sp@-                                  
   6ed6e:	2f0b           	movel %a3,%sp@-                             
   6ed70:	2050           	moveal %a0@,%a0                             
   6ed72:	4e90           	jsr %a0@                                    
    if ( rv == 0 ) {                                                  
   6ed74:	4fef 0028      	lea %sp@(40),%sp                            
    /*                                                                
     * XXX: We call the open handler here to have a proper open and close pair.
     *                                                                
     * FIXME: What to do with the path?                               
     */                                                               
    rv = (*diop->pathinfo.handlers->open_h)( diop, NULL, oflag, 0 );  
   6ed78:	2400           	movel %d0,%d2                               
    if ( rv == 0 ) {                                                  
   6ed7a:	6642           	bnes 6edbe <fcntl+0x1c6>                    <== NEVER TAKEN
      rv = diop - rtems_libio_iops;                                   
   6ed7c:	240b           	movel %a3,%d2                               
   6ed7e:	94b9 0008 58c4 	subl 858c4 <rtems_libio_iops>,%d2           
   6ed84:	203c aaaa aaab 	movel #-1431655765,%d0                      
   6ed8a:	e882           	asrl #4,%d2                                 
   6ed8c:	4c00 2800      	mulsl %d0,%d2                               
  /*                                                                  
   *  If we got this far successfully, then we give the optional      
   *  filesystem specific handler a chance to process this.           
   */                                                                 
                                                                      
  if (ret >= 0) {                                                     
   6ed90:	6a00 ff10      	bplw 6eca2 <fcntl+0xaa>                     
   6ed94:	6000 ff46      	braw 6ecdc <fcntl+0xe4>                     <== NOT EXECUTED
       */                                                             
                                                                      
      if ( va_arg( ap, int ) )                                        
        iop->flags |= LIBIO_FLAGS_CLOSE_ON_EXEC;                      
      else                                                            
        iop->flags &= ~LIBIO_FLAGS_CLOSE_ON_EXEC;                     
   6ed98:	0880 000b      	bclr #11,%d0                                
   6ed9c:	2540 000c      	movel %d0,%a2@(12)                          
   6eda0:	6000 ff00      	braw 6eca2 <fcntl+0xaa>                     
  int            mask;                                                
  int            ret = 0;                                             
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open(iop);                                     
   6eda4:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   6edaa:	74ff           	moveq #-1,%d2                               
   6edac:	7209           	moveq #9,%d1                                
   6edae:	2040           	moveal %d0,%a0                              
  va_list        ap;                                                  
  va_start( ap, cmd );                                                
  ret = vfcntl(fd,cmd,ap);                                            
  va_end(ap);                                                         
  return ret;                                                         
}                                                                     
   6edb0:	2002           	movel %d2,%d0                               
   6edb2:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
  int            mask;                                                
  int            ret = 0;                                             
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open(iop);                                     
   6edb8:	2081           	movel %d1,%a0@                              
  va_list        ap;                                                  
  va_start( ap, cmd );                                                
  ret = vfcntl(fd,cmd,ap);                                            
  va_end(ap);                                                         
  return ret;                                                         
}                                                                     
   6edba:	4e5e           	unlk %fp                                    
   6edbc:	4e75           	rts                                         
     */                                                               
    rv = (*diop->pathinfo.handlers->open_h)( diop, NULL, oflag, 0 );  
    if ( rv == 0 ) {                                                  
      rv = diop - rtems_libio_iops;                                   
    } else {                                                          
      rtems_libio_free( diop );                                       
   6edbe:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   6edc0:	4eb9 0004 773c 	jsr 4773c <rtems_libio_free>                <== NOT EXECUTED
   6edc6:	588f           	addql #4,%sp                                <== NOT EXECUTED
  /*                                                                  
   *  If we got this far successfully, then we give the optional      
   *  filesystem specific handler a chance to process this.           
   */                                                                 
                                                                      
  if (ret >= 0) {                                                     
   6edc8:	4a82           	tstl %d2                                    <== NOT EXECUTED
   6edca:	6c00 fed6      	bgew 6eca2 <fcntl+0xaa>                     <== NOT EXECUTED
   6edce:	6000 ff0c      	braw 6ecdc <fcntl+0xe4>                     <== NOT EXECUTED
                                                                      

0004d784 <fifo_open>: int fifo_open( pipe_control_t **pipep, rtems_libio_t *iop ) {
   4d784:	4e56 ffe8      	linkw %fp,#-24                              
                                                                      
static int pipe_lock(void)                                            
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (pipe_semaphore == RTEMS_ID_NONE) {                              
   4d788:	2039 0006 1718 	movel 61718 <pipe_semaphore>,%d0            
                                                                      
int fifo_open(                                                        
  pipe_control_t **pipep,                                             
  rtems_libio_t *iop                                                  
)                                                                     
{                                                                     
   4d78e:	48d7 3c04      	moveml %d2/%a2-%a5,%sp@                     
   4d792:	47f9 0004 8df0 	lea 48df0 <rtems_semaphore_obtain>,%a3      
                                                                      
static int pipe_lock(void)                                            
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (pipe_semaphore == RTEMS_ID_NONE) {                              
   4d798:	4a80           	tstl %d0                                    
   4d79a:	6758           	beqs 4d7f4 <fifo_open+0x70>                 
                                                                      
    rtems_libio_unlock();                                             
  }                                                                   
                                                                      
  if (sc == RTEMS_SUCCESSFUL) {                                       
    sc = rtems_semaphore_obtain(pipe_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   4d79c:	42a7           	clrl %sp@-                                  
   4d79e:	42a7           	clrl %sp@-                                  
   4d7a0:	2f00           	movel %d0,%sp@-                             
   4d7a2:	4e93           	jsr %a3@                                    
  }                                                                   
                                                                      
  if (sc == RTEMS_SUCCESSFUL) {                                       
   4d7a4:	4fef 000c      	lea %sp@(12),%sp                            
   4d7a8:	4a80           	tstl %d0                                    
   4d7aa:	6600 0208      	bnew 4d9b4 <fifo_open+0x230>                
                                                                      
  err = pipe_lock();                                                  
  if (err)                                                            
    return err;                                                       
                                                                      
  pipe = *pipep;                                                      
   4d7ae:	206e 0008      	moveal %fp@(8),%a0                          
   4d7b2:	2850           	moveal %a0@,%a4                             
  if (pipe == NULL) {                                                 
   4d7b4:	4a8c           	tstl %a4                                    
   4d7b6:	676e           	beqs 4d826 <fifo_open+0xa2>                 
    err = pipe_alloc(&pipe);                                          
    if (err)                                                          
      goto out;                                                       
  }                                                                   
                                                                      
  if (! PIPE_LOCK(pipe))                                              
   4d7b8:	42a7           	clrl %sp@-                                  
   4d7ba:	42a7           	clrl %sp@-                                  
   4d7bc:	2f2c 0028      	movel %a4@(40),%sp@-                        
   4d7c0:	4e93           	jsr %a3@                                    
   4d7c2:	4fef 000c      	lea %sp@(12),%sp                            
   4d7c6:	4a80           	tstl %d0                                    
   4d7c8:	6700 015c      	beqw 4d926 <fifo_open+0x1a2>                
    err = -EINTR;                                                     
                                                                      
  if (*pipep == NULL) {                                               
   4d7cc:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   4d7d0:	4a90           	tstl %a0@                                   <== NOT EXECUTED
   4d7d2:	6700 01f0      	beqw 4d9c4 <fifo_open+0x240>                <== NOT EXECUTED
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4d7d6:	2f39 0006 1718 	movel 61718 <pipe_semaphore>,%sp@-          <== NOT EXECUTED
    if (err)                                                          
      goto out;                                                       
  }                                                                   
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    err = -EINTR;                                                     
   4d7dc:	347c fffc      	moveaw #-4,%a2                              <== NOT EXECUTED
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4d7e0:	4eb9 0004 8f48 	jsr 48f48 <rtems_semaphore_release>         <== NOT EXECUTED
   4d7e6:	588f           	addql #4,%sp                                <== NOT EXECUTED
  return 0;                                                           
                                                                      
out_error:                                                            
  pipe_release(pipep, iop);                                           
  return err;                                                         
}                                                                     
   4d7e8:	200a           	movel %a2,%d0                               
   4d7ea:	4cee 3c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a5                
   4d7f0:	4e5e           	unlk %fp                                    
   4d7f2:	4e75           	rts                                         
 */                                                                   
#include <rtems/userenv.h>                                            
                                                                      
static inline void rtems_libio_lock( void )                           
{                                                                     
  rtems_semaphore_obtain( rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
   4d7f4:	42a7           	clrl %sp@-                                  
   4d7f6:	42a7           	clrl %sp@-                                  
   4d7f8:	2f39 0006 1e10 	movel 61e10 <rtems_libio_semaphore>,%sp@-   
   4d7fe:	4e93           	jsr %a3@                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (pipe_semaphore == RTEMS_ID_NONE) {                              
    rtems_libio_lock();                                               
                                                                      
    if (pipe_semaphore == RTEMS_ID_NONE) {                            
   4d800:	4fef 000c      	lea %sp@(12),%sp                            
   4d804:	4ab9 0006 1718 	tstl 61718 <pipe_semaphore>                 
   4d80a:	6700 0174      	beqw 4d980 <fifo_open+0x1fc>                
}                                                                     
                                                                      
static inline void rtems_libio_unlock( void )                         
{                                                                     
  rtems_semaphore_release( rtems_libio_semaphore );                   
   4d80e:	2f39 0006 1e10 	movel 61e10 <rtems_libio_semaphore>,%sp@-   <== NOT EXECUTED
   4d814:	4eb9 0004 8f48 	jsr 48f48 <rtems_semaphore_release>         <== NOT EXECUTED
   4d81a:	2039 0006 1718 	movel 61718 <pipe_semaphore>,%d0            <== NOT EXECUTED
   4d820:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4d822:	6000 ff78      	braw 4d79c <fifo_open+0x18>                 <== NOT EXECUTED
{                                                                     
  static char c = 'a';                                                
  pipe_control_t *pipe;                                               
  int err = -ENOMEM;                                                  
                                                                      
  pipe = malloc(sizeof(pipe_control_t));                              
   4d826:	4878 0034      	pea 34 <OPER2+0x20>                         
   4d82a:	45f9 0004 47d4 	lea 447d4 <malloc>,%a2                      
   4d830:	4e92           	jsr %a2@                                    
  if (pipe == NULL)                                                   
   4d832:	588f           	addql #4,%sp                                
{                                                                     
  static char c = 'a';                                                
  pipe_control_t *pipe;                                               
  int err = -ENOMEM;                                                  
                                                                      
  pipe = malloc(sizeof(pipe_control_t));                              
   4d834:	2840           	moveal %d0,%a4                              
  if (pipe == NULL)                                                   
   4d836:	4a80           	tstl %d0                                    
   4d838:	6700 0202      	beqw 4da3c <fifo_open+0x2b8>                
    return err;                                                       
  memset(pipe, 0, sizeof(pipe_control_t));                            
   4d83c:	2040           	moveal %d0,%a0                              
                                                                      
  pipe->Size = PIPE_BUF;                                              
   4d83e:	203c 0000 0200 	movel #512,%d0                              
  int err = -ENOMEM;                                                  
                                                                      
  pipe = malloc(sizeof(pipe_control_t));                              
  if (pipe == NULL)                                                   
    return err;                                                       
  memset(pipe, 0, sizeof(pipe_control_t));                            
   4d844:	4298           	clrl %a0@+                                  
   4d846:	5888           	addql #4,%a0                                
   4d848:	4298           	clrl %a0@+                                  
   4d84a:	4298           	clrl %a0@+                                  
   4d84c:	4298           	clrl %a0@+                                  
   4d84e:	4298           	clrl %a0@+                                  
   4d850:	4298           	clrl %a0@+                                  
   4d852:	4298           	clrl %a0@+                                  
   4d854:	4298           	clrl %a0@+                                  
   4d856:	4298           	clrl %a0@+                                  
   4d858:	4298           	clrl %a0@+                                  
   4d85a:	4298           	clrl %a0@+                                  
   4d85c:	4290           	clrl %a0@                                   
                                                                      
  pipe->Size = PIPE_BUF;                                              
   4d85e:	2940 0004      	movel %d0,%a4@(4)                           
  pipe->Buffer = malloc(pipe->Size);                                  
   4d862:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                
   4d866:	4e92           	jsr %a2@                                    
  if (! pipe->Buffer)                                                 
   4d868:	588f           	addql #4,%sp                                
   4d86a:	45f9 0004 4394 	lea 44394 <free>,%a2                        
  if (pipe == NULL)                                                   
    return err;                                                       
  memset(pipe, 0, sizeof(pipe_control_t));                            
                                                                      
  pipe->Size = PIPE_BUF;                                              
  pipe->Buffer = malloc(pipe->Size);                                  
   4d870:	2880           	movel %d0,%a4@                              
  if (! pipe->Buffer)                                                 
   4d872:	6700 01c2      	beqw 4da36 <fifo_open+0x2b2>                
    goto err_buf;                                                     
                                                                      
  err = -ENOMEM;                                                      
                                                                      
  if (rtems_barrier_create(                                           
   4d876:	486c 002c      	pea %a4@(44)                                
   4d87a:	45f9 0004 eaf8 	lea 4eaf8 <rtems_barrier_create>,%a2        
        rtems_build_name ('P', 'I', 'r', c),                          
   4d880:	1039 0006 0858 	moveb 60858 <c.6147>,%d0                    
  if (! pipe->Buffer)                                                 
    goto err_buf;                                                     
                                                                      
  err = -ENOMEM;                                                      
                                                                      
  if (rtems_barrier_create(                                           
   4d886:	42a7           	clrl %sp@-                                  
        rtems_build_name ('P', 'I', 'r', c),                          
   4d888:	49c0           	extbl %d0                                   
  if (! pipe->Buffer)                                                 
    goto err_buf;                                                     
                                                                      
  err = -ENOMEM;                                                      
                                                                      
  if (rtems_barrier_create(                                           
   4d88a:	42a7           	clrl %sp@-                                  
   4d88c:	0080 5049 7200 	oril #1346990592,%d0                        
   4d892:	2f00           	movel %d0,%sp@-                             
   4d894:	4e92           	jsr %a2@                                    
   4d896:	4fef 0010      	lea %sp@(16),%sp                            
   4d89a:	4a80           	tstl %d0                                    
   4d89c:	6600 018c      	bnew 4da2a <fifo_open+0x2a6>                
        rtems_build_name ('P', 'I', 'r', c),                          
        RTEMS_BARRIER_MANUAL_RELEASE, 0,                              
        &pipe->readBarrier) != RTEMS_SUCCESSFUL)                      
    goto err_rbar;                                                    
  if (rtems_barrier_create(                                           
   4d8a0:	486c 0030      	pea %a4@(48)                                
        rtems_build_name ('P', 'I', 'w', c),                          
   4d8a4:	1039 0006 0858 	moveb 60858 <c.6147>,%d0                    
  if (rtems_barrier_create(                                           
        rtems_build_name ('P', 'I', 'r', c),                          
        RTEMS_BARRIER_MANUAL_RELEASE, 0,                              
        &pipe->readBarrier) != RTEMS_SUCCESSFUL)                      
    goto err_rbar;                                                    
  if (rtems_barrier_create(                                           
   4d8aa:	42a7           	clrl %sp@-                                  
        rtems_build_name ('P', 'I', 'w', c),                          
   4d8ac:	49c0           	extbl %d0                                   
  if (rtems_barrier_create(                                           
        rtems_build_name ('P', 'I', 'r', c),                          
        RTEMS_BARRIER_MANUAL_RELEASE, 0,                              
        &pipe->readBarrier) != RTEMS_SUCCESSFUL)                      
    goto err_rbar;                                                    
  if (rtems_barrier_create(                                           
   4d8ae:	42a7           	clrl %sp@-                                  
   4d8b0:	0080 5049 7700 	oril #1346991872,%d0                        
   4d8b6:	2f00           	movel %d0,%sp@-                             
   4d8b8:	4e92           	jsr %a2@                                    
   4d8ba:	4fef 0010      	lea %sp@(16),%sp                            
   4d8be:	45f9 0004 ebcc 	lea 4ebcc <rtems_barrier_delete>,%a2        
   4d8c4:	4a80           	tstl %d0                                    
   4d8c6:	6600 015a      	bnew 4da22 <fifo_open+0x29e>                
        rtems_build_name ('P', 'I', 'w', c),                          
        RTEMS_BARRIER_MANUAL_RELEASE, 0,                              
        &pipe->writeBarrier) != RTEMS_SUCCESSFUL)                     
    goto err_wbar;                                                    
  if (rtems_semaphore_create(                                         
   4d8ca:	486c 0028      	pea %a4@(40)                                
        rtems_build_name ('P', 'I', 's', c), 1,                       
   4d8ce:	1039 0006 0858 	moveb 60858 <c.6147>,%d0                    
  if (rtems_barrier_create(                                           
        rtems_build_name ('P', 'I', 'w', c),                          
        RTEMS_BARRIER_MANUAL_RELEASE, 0,                              
        &pipe->writeBarrier) != RTEMS_SUCCESSFUL)                     
    goto err_wbar;                                                    
  if (rtems_semaphore_create(                                         
   4d8d4:	42a7           	clrl %sp@-                                  
   4d8d6:	4878 0010      	pea 10 <INVALID_OPERATION>                  
        rtems_build_name ('P', 'I', 's', c), 1,                       
   4d8da:	49c0           	extbl %d0                                   
  if (rtems_barrier_create(                                           
        rtems_build_name ('P', 'I', 'w', c),                          
        RTEMS_BARRIER_MANUAL_RELEASE, 0,                              
        &pipe->writeBarrier) != RTEMS_SUCCESSFUL)                     
    goto err_wbar;                                                    
  if (rtems_semaphore_create(                                         
   4d8dc:	4878 0001      	pea 1 <ADD>                                 
   4d8e0:	0080 5049 7300 	oril #1346990848,%d0                        
   4d8e6:	2f00           	movel %d0,%sp@-                             
   4d8e8:	4eb9 0004 8b2c 	jsr 48b2c <rtems_semaphore_create>          
   4d8ee:	4fef 0014      	lea %sp@(20),%sp                            
   4d8f2:	4a80           	tstl %d0                                    
   4d8f4:	6600 011e      	bnew 4da14 <fifo_open+0x290>                
#ifdef RTEMS_POSIX_API                                                
  pipe_interruptible(pipe);                                           
#endif                                                                
                                                                      
  *pipep = pipe;                                                      
  if (c ++ == 'z')                                                    
   4d8f8:	747a           	moveq #122,%d2                              
   4d8fa:	1039 0006 0858 	moveb 60858 <c.6147>,%d0                    
   4d900:	1200           	moveb %d0,%d1                               
   4d902:	49c1           	extbl %d1                                   
   4d904:	b481           	cmpl %d1,%d2                                
   4d906:	6700 0100      	beqw 4da08 <fifo_open+0x284>                
    err = pipe_alloc(&pipe);                                          
    if (err)                                                          
      goto out;                                                       
  }                                                                   
                                                                      
  if (! PIPE_LOCK(pipe))                                              
   4d90a:	42a7           	clrl %sp@-                                  
#ifdef RTEMS_POSIX_API                                                
  pipe_interruptible(pipe);                                           
#endif                                                                
                                                                      
  *pipep = pipe;                                                      
  if (c ++ == 'z')                                                    
   4d90c:	5280           	addql #1,%d0                                
    err = pipe_alloc(&pipe);                                          
    if (err)                                                          
      goto out;                                                       
  }                                                                   
                                                                      
  if (! PIPE_LOCK(pipe))                                              
   4d90e:	42a7           	clrl %sp@-                                  
   4d910:	2f2c 0028      	movel %a4@(40),%sp@-                        
#ifdef RTEMS_POSIX_API                                                
  pipe_interruptible(pipe);                                           
#endif                                                                
                                                                      
  *pipep = pipe;                                                      
  if (c ++ == 'z')                                                    
   4d914:	13c0 0006 0858 	moveb %d0,60858 <c.6147>                    
    err = pipe_alloc(&pipe);                                          
    if (err)                                                          
      goto out;                                                       
  }                                                                   
                                                                      
  if (! PIPE_LOCK(pipe))                                              
   4d91a:	4e93           	jsr %a3@                                    
   4d91c:	4fef 000c      	lea %sp@(12),%sp                            
   4d920:	4a80           	tstl %d0                                    
   4d922:	6600 fea8      	bnew 4d7cc <fifo_open+0x48>                 
    err = -EINTR;                                                     
                                                                      
  if (*pipep == NULL) {                                               
   4d926:	206e 0008      	moveal %fp@(8),%a0                          
   4d92a:	4a90           	tstl %a0@                                   
   4d92c:	6700 012e      	beqw 4da5c <fifo_open+0x2d8>                
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4d930:	2f39 0006 1718 	movel 61718 <pipe_semaphore>,%sp@-          
   4d936:	49f9 0004 8f48 	lea 48f48 <rtems_semaphore_release>,%a4     
   4d93c:	4e94           	jsr %a4@                                    
  int err;                                                            
                                                                      
  err = pipe_new(pipep);                                              
  if (err)                                                            
    return err;                                                       
  pipe = *pipep;                                                      
   4d93e:	206e 0008      	moveal %fp@(8),%a0                          
                                                                      
  switch (LIBIO_ACCMODE(iop)) {                                       
   4d942:	7006           	moveq #6,%d0                                
   4d944:	588f           	addql #4,%sp                                
   4d946:	7204           	moveq #4,%d1                                
  int err;                                                            
                                                                      
  err = pipe_new(pipep);                                              
  if (err)                                                            
    return err;                                                       
  pipe = *pipep;                                                      
   4d948:	2450           	moveal %a0@,%a2                             
                                                                      
  switch (LIBIO_ACCMODE(iop)) {                                       
   4d94a:	206e 000c      	moveal %fp@(12),%a0                         
   4d94e:	c0a8 000c      	andl %a0@(12),%d0                           
   4d952:	b280           	cmpl %d0,%d1                                
   4d954:	6700 01f0      	beqw 4db46 <fifo_open+0x3c2>                
   4d958:	7406           	moveq #6,%d2                                
   4d95a:	b480           	cmpl %d0,%d2                                
   4d95c:	6700 018e      	beqw 4daec <fifo_open+0x368>                
   4d960:	123c 0002      	moveb #2,%d1                                
   4d964:	b280           	cmpl %d0,%d1                                
   4d966:	6700 00fe      	beqw 4da66 <fifo_open+0x2e2>                
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
      break;                                                          
  }                                                                   
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4d96a:	2f2a 0028      	movel %a2@(40),%sp@-                        
  return 0;                                                           
   4d96e:	95ca           	subal %a2,%a2                               
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
      break;                                                          
  }                                                                   
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4d970:	4e94           	jsr %a4@                                    
  return 0;                                                           
   4d972:	588f           	addql #4,%sp                                
                                                                      
out_error:                                                            
  pipe_release(pipep, iop);                                           
  return err;                                                         
}                                                                     
   4d974:	200a           	movel %a2,%d0                               
   4d976:	4cee 3c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a5                
   4d97c:	4e5e           	unlk %fp                                    
   4d97e:	4e75           	rts                                         
                                                                      
  if (pipe_semaphore == RTEMS_ID_NONE) {                              
    rtems_libio_lock();                                               
                                                                      
    if (pipe_semaphore == RTEMS_ID_NONE) {                            
      sc = rtems_semaphore_create(                                    
   4d980:	4879 0006 1718 	pea 61718 <pipe_semaphore>                  
   4d986:	42a7           	clrl %sp@-                                  
   4d988:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
   4d98c:	4878 0001      	pea 1 <ADD>                                 
   4d990:	2f3c 5049 5045 	movel #1346981957,%sp@-                     
   4d996:	4eb9 0004 8b2c 	jsr 48b2c <rtems_semaphore_create>          
   4d99c:	2f39 0006 1e10 	movel 61e10 <rtems_libio_semaphore>,%sp@-   
   4d9a2:	2400           	movel %d0,%d2                               
   4d9a4:	4eb9 0004 8f48 	jsr 48f48 <rtems_semaphore_release>         
    }                                                                 
                                                                      
    rtems_libio_unlock();                                             
  }                                                                   
                                                                      
  if (sc == RTEMS_SUCCESSFUL) {                                       
   4d9aa:	4fef 0018      	lea %sp@(24),%sp                            
   4d9ae:	4a82           	tstl %d2                                    
   4d9b0:	6700 00a0      	beqw 4da52 <fifo_open+0x2ce>                
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
                                                                      
      if (pipe->Readers == 0 && LIBIO_NODELAY(iop)) {                 
	PIPE_UNLOCK(pipe);                                                   
        err = -ENXIO;                                                 
   4d9b4:	347c fff4      	moveaw #-12,%a2                             
  return 0;                                                           
                                                                      
out_error:                                                            
  pipe_release(pipep, iop);                                           
  return err;                                                         
}                                                                     
   4d9b8:	200a           	movel %a2,%d0                               
   4d9ba:	4cee 3c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a5                
   4d9c0:	4e5e           	unlk %fp                                    
   4d9c2:	4e75           	rts                                         
/* Called with pipe_semaphore held. */                                
static inline void pipe_free(                                         
  pipe_control_t *pipe                                                
)                                                                     
{                                                                     
  rtems_barrier_delete(pipe->readBarrier);                            
   4d9c4:	2f2c 002c      	movel %a4@(44),%sp@-                        <== NOT EXECUTED
   4d9c8:	4bf9 0004 ebcc 	lea 4ebcc <rtems_barrier_delete>,%a5        <== NOT EXECUTED
  rtems_barrier_delete(pipe->writeBarrier);                           
  rtems_semaphore_delete(pipe->Semaphore);                            
  free(pipe->Buffer);                                                 
   4d9ce:	47f9 0004 4394 	lea 44394 <free>,%a3                        <== NOT EXECUTED
/* Called with pipe_semaphore held. */                                
static inline void pipe_free(                                         
  pipe_control_t *pipe                                                
)                                                                     
{                                                                     
  rtems_barrier_delete(pipe->readBarrier);                            
   4d9d4:	4e95           	jsr %a5@                                    <== NOT EXECUTED
  rtems_barrier_delete(pipe->writeBarrier);                           
   4d9d6:	2f2c 0030      	movel %a4@(48),%sp@-                        <== NOT EXECUTED
    if (err)                                                          
      goto out;                                                       
  }                                                                   
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    err = -EINTR;                                                     
   4d9da:	347c fffc      	moveaw #-4,%a2                              <== NOT EXECUTED
static inline void pipe_free(                                         
  pipe_control_t *pipe                                                
)                                                                     
{                                                                     
  rtems_barrier_delete(pipe->readBarrier);                            
  rtems_barrier_delete(pipe->writeBarrier);                           
   4d9de:	4e95           	jsr %a5@                                    <== NOT EXECUTED
  rtems_semaphore_delete(pipe->Semaphore);                            
   4d9e0:	2f2c 0028      	movel %a4@(40),%sp@-                        <== NOT EXECUTED
   4d9e4:	4eb9 0004 8d18 	jsr 48d18 <rtems_semaphore_delete>          <== NOT EXECUTED
  free(pipe->Buffer);                                                 
   4d9ea:	2f14           	movel %a4@,%sp@-                            <== NOT EXECUTED
   4d9ec:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free(pipe);                                                         
   4d9ee:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   4d9f0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   4d9f2:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4d9f6:	2f39 0006 1718 	movel 61718 <pipe_semaphore>,%sp@-          <== NOT EXECUTED
   4d9fc:	4eb9 0004 8f48 	jsr 48f48 <rtems_semaphore_release>         <== NOT EXECUTED
   4da02:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4da04:	6000 fde2      	braw 4d7e8 <fifo_open+0x64>                 <== NOT EXECUTED
  pipe_interruptible(pipe);                                           
#endif                                                                
                                                                      
  *pipep = pipe;                                                      
  if (c ++ == 'z')                                                    
    c = 'a';                                                          
   4da08:	7061           	moveq #97,%d0                               
   4da0a:	13c0 0006 0858 	moveb %d0,60858 <c.6147>                    
   4da10:	6000 fda6      	braw 4d7b8 <fifo_open+0x34>                 
  return 0;                                                           
                                                                      
err_sem:                                                              
  rtems_barrier_delete(pipe->writeBarrier);                           
   4da14:	2f2c 0030      	movel %a4@(48),%sp@-                        
   4da18:	45f9 0004 ebcc 	lea 4ebcc <rtems_barrier_delete>,%a2        
   4da1e:	4e92           	jsr %a2@                                    
   4da20:	588f           	addql #4,%sp                                
err_wbar:                                                             
  rtems_barrier_delete(pipe->readBarrier);                            
   4da22:	2f2c 002c      	movel %a4@(44),%sp@-                        
   4da26:	4e92           	jsr %a2@                                    
   4da28:	588f           	addql #4,%sp                                
err_rbar:                                                             
  free(pipe->Buffer);                                                 
   4da2a:	2f14           	movel %a4@,%sp@-                            
   4da2c:	45f9 0004 4394 	lea 44394 <free>,%a2                        
   4da32:	4e92           	jsr %a2@                                    
   4da34:	588f           	addql #4,%sp                                
err_buf:                                                              
  free(pipe);                                                         
   4da36:	2f0c           	movel %a4,%sp@-                             
   4da38:	4e92           	jsr %a2@                                    
   4da3a:	588f           	addql #4,%sp                                
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4da3c:	2f39 0006 1718 	movel 61718 <pipe_semaphore>,%sp@-          
    if (err)                                                          
      goto out;                                                       
  }                                                                   
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    err = -EINTR;                                                     
   4da42:	347c fff4      	moveaw #-12,%a2                             
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4da46:	4eb9 0004 8f48 	jsr 48f48 <rtems_semaphore_release>         
   4da4c:	588f           	addql #4,%sp                                
   4da4e:	6000 fd98      	braw 4d7e8 <fifo_open+0x64>                 
   4da52:	2039 0006 1718 	movel 61718 <pipe_semaphore>,%d0            
   4da58:	6000 fd42      	braw 4d79c <fifo_open+0x18>                 
                                                                      
  if (*pipep == NULL) {                                               
    if (err)                                                          
      pipe_free(pipe);                                                
    else                                                              
      *pipep = pipe;                                                  
   4da5c:	206e 0008      	moveal %fp@(8),%a0                          
   4da60:	208c           	movel %a4,%a0@                              
   4da62:	6000 fecc      	braw 4d930 <fifo_open+0x1ac>                
  pipe = *pipep;                                                      
                                                                      
  switch (LIBIO_ACCMODE(iop)) {                                       
    case LIBIO_FLAGS_READ:                                            
      pipe->readerCounter ++;                                         
      if (pipe->Readers ++ == 0)                                      
   4da66:	202a 0010      	movel %a2@(16),%d0                          
   4da6a:	2200           	movel %d0,%d1                               
   4da6c:	5281           	addql #1,%d1                                
    return err;                                                       
  pipe = *pipep;                                                      
                                                                      
  switch (LIBIO_ACCMODE(iop)) {                                       
    case LIBIO_FLAGS_READ:                                            
      pipe->readerCounter ++;                                         
   4da6e:	52aa 0020      	addql #1,%a2@(32)                           
      if (pipe->Readers ++ == 0)                                      
   4da72:	2541 0010      	movel %d1,%a2@(16)                          
   4da76:	4a80           	tstl %d0                                    
   4da78:	6760           	beqs 4dada <fifo_open+0x356>                <== ALWAYS TAKEN
        PIPE_WAKEUPWRITERS(pipe);                                     
                                                                      
      if (pipe->Writers == 0) {                                       
   4da7a:	4aaa 0014      	tstl %a2@(20)                               
   4da7e:	6600 feea      	bnew 4d96a <fifo_open+0x1e6>                
        /* Not an error */                                            
        if (LIBIO_NODELAY(iop))                                       
   4da82:	206e 000c      	moveal %fp@(12),%a0                         
   4da86:	7001           	moveq #1,%d0                                
   4da88:	c0a8 000c      	andl %a0@(12),%d0                           
   4da8c:	6600 fedc      	bnew 4d96a <fifo_open+0x1e6>                
          break;                                                      
                                                                      
        prevCounter = pipe->writerCounter;                            
   4da90:	242a 0024      	movel %a2@(36),%d2                          
   4da94:	4bf9 0004 eccc 	lea 4eccc <rtems_barrier_wait>,%a5          
        err = -EINTR;                                                 
        /* Wait until a writer opens the pipe */                      
        do {                                                          
          PIPE_UNLOCK(pipe);                                          
   4da9a:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4da9e:	4e94           	jsr %a4@                                    
          if (! PIPE_READWAIT(pipe))                                  
   4daa0:	42a7           	clrl %sp@-                                  
   4daa2:	2f2a 002c      	movel %a2@(44),%sp@-                        
   4daa6:	4e95           	jsr %a5@                                    
   4daa8:	4fef 000c      	lea %sp@(12),%sp                            
   4daac:	4a80           	tstl %d0                                    
   4daae:	6600 0116      	bnew 4dbc6 <fifo_open+0x442>                
            goto out_error;                                           
          if (! PIPE_LOCK(pipe))                                      
   4dab2:	42a7           	clrl %sp@-                                  
   4dab4:	42a7           	clrl %sp@-                                  
   4dab6:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4daba:	4e93           	jsr %a3@                                    
   4dabc:	4fef 000c      	lea %sp@(12),%sp                            
   4dac0:	4a80           	tstl %d0                                    
   4dac2:	6600 0102      	bnew 4dbc6 <fifo_open+0x442>                
            goto out_error;                                           
        } while (prevCounter == pipe->writerCounter);                 
   4dac6:	b4aa 0024      	cmpl %a2@(36),%d2                           
   4daca:	67ce           	beqs 4da9a <fifo_open+0x316>                <== NEVER TAKEN
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
      break;                                                          
  }                                                                   
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4dacc:	2f2a 0028      	movel %a2@(40),%sp@-                        
  return 0;                                                           
   4dad0:	95ca           	subal %a2,%a2                               
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
      break;                                                          
  }                                                                   
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4dad2:	4e94           	jsr %a4@                                    
  return 0;                                                           
   4dad4:	588f           	addql #4,%sp                                
   4dad6:	6000 fe9c      	braw 4d974 <fifo_open+0x1f0>                
                                                                      
  switch (LIBIO_ACCMODE(iop)) {                                       
    case LIBIO_FLAGS_READ:                                            
      pipe->readerCounter ++;                                         
      if (pipe->Readers ++ == 0)                                      
        PIPE_WAKEUPWRITERS(pipe);                                     
   4dada:	486e fffc      	pea %fp@(-4)                                
   4dade:	2f2a 0030      	movel %a2@(48),%sp@-                        
   4dae2:	4eb9 0004 ec70 	jsr 4ec70 <rtems_barrier_release>           
   4dae8:	508f           	addql #8,%sp                                
   4daea:	608e           	bras 4da7a <fifo_open+0x2f6>                
      }                                                               
      break;                                                          
                                                                      
    case LIBIO_FLAGS_READ_WRITE:                                      
      pipe->readerCounter ++;                                         
      if (pipe->Readers ++ == 0)                                      
   4daec:	202a 0010      	movel %a2@(16),%d0                          
   4daf0:	2200           	movel %d0,%d1                               
   4daf2:	5281           	addql #1,%d1                                
        } while (prevCounter == pipe->readerCounter);                 
      }                                                               
      break;                                                          
                                                                      
    case LIBIO_FLAGS_READ_WRITE:                                      
      pipe->readerCounter ++;                                         
   4daf4:	52aa 0020      	addql #1,%a2@(32)                           
      if (pipe->Readers ++ == 0)                                      
   4daf8:	2541 0010      	movel %d1,%a2@(16)                          
   4dafc:	4a80           	tstl %d0                                    
   4dafe:	6734           	beqs 4db34 <fifo_open+0x3b0>                <== ALWAYS TAKEN
        PIPE_WAKEUPWRITERS(pipe);                                     
      pipe->writerCounter ++;                                         
      if (pipe->Writers ++ == 0)                                      
   4db00:	202a 0014      	movel %a2@(20),%d0                          
   4db04:	2400           	movel %d0,%d2                               
   4db06:	5282           	addql #1,%d2                                
                                                                      
    case LIBIO_FLAGS_READ_WRITE:                                      
      pipe->readerCounter ++;                                         
      if (pipe->Readers ++ == 0)                                      
        PIPE_WAKEUPWRITERS(pipe);                                     
      pipe->writerCounter ++;                                         
   4db08:	52aa 0024      	addql #1,%a2@(36)                           
      if (pipe->Writers ++ == 0)                                      
   4db0c:	2542 0014      	movel %d2,%a2@(20)                          
   4db10:	4a80           	tstl %d0                                    
   4db12:	6600 fe56      	bnew 4d96a <fifo_open+0x1e6>                
        PIPE_WAKEUPREADERS(pipe);                                     
   4db16:	486e fffc      	pea %fp@(-4)                                
   4db1a:	2f2a 002c      	movel %a2@(44),%sp@-                        
   4db1e:	4eb9 0004 ec70 	jsr 4ec70 <rtems_barrier_release>           
   4db24:	508f           	addql #8,%sp                                
      break;                                                          
  }                                                                   
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4db26:	2f2a 0028      	movel %a2@(40),%sp@-                        
  return 0;                                                           
   4db2a:	95ca           	subal %a2,%a2                               
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
      break;                                                          
  }                                                                   
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4db2c:	4e94           	jsr %a4@                                    
  return 0;                                                           
   4db2e:	588f           	addql #4,%sp                                
   4db30:	6000 fe42      	braw 4d974 <fifo_open+0x1f0>                
      break;                                                          
                                                                      
    case LIBIO_FLAGS_READ_WRITE:                                      
      pipe->readerCounter ++;                                         
      if (pipe->Readers ++ == 0)                                      
        PIPE_WAKEUPWRITERS(pipe);                                     
   4db34:	486e fffc      	pea %fp@(-4)                                
   4db38:	2f2a 0030      	movel %a2@(48),%sp@-                        
   4db3c:	4eb9 0004 ec70 	jsr 4ec70 <rtems_barrier_release>           
   4db42:	508f           	addql #8,%sp                                
   4db44:	60ba           	bras 4db00 <fifo_open+0x37c>                
      break;                                                          
                                                                      
    case LIBIO_FLAGS_WRITE:                                           
      pipe->writerCounter ++;                                         
                                                                      
      if (pipe->Writers ++ == 0)                                      
   4db46:	202a 0014      	movel %a2@(20),%d0                          
   4db4a:	2200           	movel %d0,%d1                               
   4db4c:	5281           	addql #1,%d1                                
        } while (prevCounter == pipe->writerCounter);                 
      }                                                               
      break;                                                          
                                                                      
    case LIBIO_FLAGS_WRITE:                                           
      pipe->writerCounter ++;                                         
   4db4e:	52aa 0024      	addql #1,%a2@(36)                           
                                                                      
      if (pipe->Writers ++ == 0)                                      
   4db52:	2541 0014      	movel %d1,%a2@(20)                          
   4db56:	4a80           	tstl %d0                                    
   4db58:	675a           	beqs 4dbb4 <fifo_open+0x430>                <== ALWAYS TAKEN
        PIPE_WAKEUPREADERS(pipe);                                     
                                                                      
      if (pipe->Readers == 0 && LIBIO_NODELAY(iop)) {                 
   4db5a:	4aaa 0010      	tstl %a2@(16)                               
   4db5e:	6600 fe0a      	bnew 4d96a <fifo_open+0x1e6>                
   4db62:	206e 000c      	moveal %fp@(12),%a0                         
   4db66:	7001           	moveq #1,%d0                                
   4db68:	c0a8 000c      	andl %a0@(12),%d0                           
   4db6c:	6678           	bnes 4dbe6 <fifo_open+0x462>                
        err = -ENXIO;                                                 
        goto out_error;                                               
      }                                                               
                                                                      
      if (pipe->Readers == 0) {                                       
        prevCounter = pipe->readerCounter;                            
   4db6e:	242a 0020      	movel %a2@(32),%d2                          
   4db72:	4bf9 0004 eccc 	lea 4eccc <rtems_barrier_wait>,%a5          
        err = -EINTR;                                                 
        do {                                                          
          PIPE_UNLOCK(pipe);                                          
   4db78:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4db7c:	4e94           	jsr %a4@                                    
          if (! PIPE_WRITEWAIT(pipe))                                 
   4db7e:	42a7           	clrl %sp@-                                  
   4db80:	2f2a 0030      	movel %a2@(48),%sp@-                        
   4db84:	4e95           	jsr %a5@                                    
   4db86:	4fef 000c      	lea %sp@(12),%sp                            
   4db8a:	4a80           	tstl %d0                                    
   4db8c:	6638           	bnes 4dbc6 <fifo_open+0x442>                <== NEVER TAKEN
            goto out_error;                                           
          if (! PIPE_LOCK(pipe))                                      
   4db8e:	42a7           	clrl %sp@-                                  
   4db90:	42a7           	clrl %sp@-                                  
   4db92:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4db96:	4e93           	jsr %a3@                                    
   4db98:	4fef 000c      	lea %sp@(12),%sp                            
   4db9c:	4a80           	tstl %d0                                    
   4db9e:	6626           	bnes 4dbc6 <fifo_open+0x442>                <== NEVER TAKEN
            goto out_error;                                           
        } while (prevCounter == pipe->readerCounter);                 
   4dba0:	b4aa 0020      	cmpl %a2@(32),%d2                           
   4dba4:	67d2           	beqs 4db78 <fifo_open+0x3f4>                <== NEVER TAKEN
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
      break;                                                          
  }                                                                   
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4dba6:	2f2a 0028      	movel %a2@(40),%sp@-                        
  return 0;                                                           
   4dbaa:	95ca           	subal %a2,%a2                               
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
      break;                                                          
  }                                                                   
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4dbac:	4e94           	jsr %a4@                                    
  return 0;                                                           
   4dbae:	588f           	addql #4,%sp                                
   4dbb0:	6000 fdc2      	braw 4d974 <fifo_open+0x1f0>                
                                                                      
    case LIBIO_FLAGS_WRITE:                                           
      pipe->writerCounter ++;                                         
                                                                      
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
   4dbb4:	486e fffc      	pea %fp@(-4)                                
   4dbb8:	2f2a 002c      	movel %a2@(44),%sp@-                        
   4dbbc:	4eb9 0004 ec70 	jsr 4ec70 <rtems_barrier_release>           
   4dbc2:	508f           	addql #8,%sp                                
   4dbc4:	6094           	bras 4db5a <fifo_open+0x3d6>                
                                                                      
  PIPE_UNLOCK(pipe);                                                  
  return 0;                                                           
                                                                      
out_error:                                                            
  pipe_release(pipep, iop);                                           
   4dbc6:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
        /* Not an error */                                            
        if (LIBIO_NODELAY(iop))                                       
          break;                                                      
                                                                      
        prevCounter = pipe->writerCounter;                            
        err = -EINTR;                                                 
   4dbca:	347c fffc      	moveaw #-4,%a2                              <== NOT EXECUTED
                                                                      
  PIPE_UNLOCK(pipe);                                                  
  return 0;                                                           
                                                                      
out_error:                                                            
  pipe_release(pipep, iop);                                           
   4dbce:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4dbd2:	4eb9 0004 d69c 	jsr 4d69c <pipe_release>                    <== NOT EXECUTED
  return err;                                                         
   4dbd8:	508f           	addql #8,%sp                                <== NOT EXECUTED
}                                                                     
   4dbda:	200a           	movel %a2,%d0                               
   4dbdc:	4cee 3c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a5                
   4dbe2:	4e5e           	unlk %fp                                    
   4dbe4:	4e75           	rts                                         
                                                                      
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
                                                                      
      if (pipe->Readers == 0 && LIBIO_NODELAY(iop)) {                 
	PIPE_UNLOCK(pipe);                                                   
   4dbe6:	2f2a 0028      	movel %a2@(40),%sp@-                        
        err = -ENXIO;                                                 
   4dbea:	347c fffa      	moveaw #-6,%a2                              
                                                                      
      if (pipe->Writers ++ == 0)                                      
        PIPE_WAKEUPREADERS(pipe);                                     
                                                                      
      if (pipe->Readers == 0 && LIBIO_NODELAY(iop)) {                 
	PIPE_UNLOCK(pipe);                                                   
   4dbee:	4e94           	jsr %a4@                                    
        err = -ENXIO;                                                 
        goto out_error;                                               
   4dbf0:	588f           	addql #4,%sp                                
                                                                      
  PIPE_UNLOCK(pipe);                                                  
  return 0;                                                           
                                                                      
out_error:                                                            
  pipe_release(pipep, iop);                                           
   4dbf2:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4dbf6:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4dbfa:	4eb9 0004 d69c 	jsr 4d69c <pipe_release>                    
  return err;                                                         
   4dc00:	508f           	addql #8,%sp                                
   4dc02:	60d6           	bras 4dbda <fifo_open+0x456>                
                                                                      

000486f0 <fpathconf>: */ long fpathconf( int fd, int name ) {
   486f0:	4e56 0000      	linkw %fp,#0                                
   486f4:	202e 0008      	movel %fp@(8),%d0                           
   486f8:	222e 000c      	movel %fp@(12),%d1                          
   486fc:	2f02           	movel %d2,%sp@-                             
  long                                    return_value;               
  rtems_libio_t                          *iop;                        
  const rtems_filesystem_limits_and_options_t *the_limits;            
                                                                      
  rtems_libio_check_fd(fd);                                           
   486fe:	b0b9 0005 cf94 	cmpl 5cf94 <rtems_libio_number_iops>,%d0    
   48704:	6400 00f4      	bccw 487fa <fpathconf+0x10a>                
  iop = rtems_libio_iop(fd);                                          
   48708:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   4870a:	ed88           	lsll #6,%d0                                 <== NOT EXECUTED
   4870c:	e98a           	lsll #4,%d2                                 <== NOT EXECUTED
   4870e:	2079 0005 df8c 	moveal 5df8c <rtems_libio_iops>,%a0         <== NOT EXECUTED
   48714:	9082           	subl %d2,%d0                                <== NOT EXECUTED
   48716:	d1c0           	addal %d0,%a0                               <== NOT EXECUTED
  rtems_libio_check_is_open(iop);                                     
   48718:	2028 000c      	movel %a0@(12),%d0                          <== NOT EXECUTED
   4871c:	0280 0000 0100 	andil #256,%d0                              <== NOT EXECUTED
   48722:	6700 00d6      	beqw 487fa <fpathconf+0x10a>                <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Now process the information request.                            
   */                                                                 
                                                                      
  the_limits = iop->pathinfo.mt_entry->pathconf_limits_and_options;   
   48726:	2068 0024      	moveal %a0@(36),%a0                         <== NOT EXECUTED
                                                                      
  switch ( name ) {                                                   
   4872a:	700b           	moveq #11,%d0                               <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Now process the information request.                            
   */                                                                 
                                                                      
  the_limits = iop->pathinfo.mt_entry->pathconf_limits_and_options;   
   4872c:	2068 002a      	moveal %a0@(42),%a0                         <== NOT EXECUTED
                                                                      
  switch ( name ) {                                                   
   48730:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   48732:	6416           	bccs 4874a <fpathconf+0x5a>                 <== NOT EXECUTED
      break;                                                          
    case _PC_SYNC_IO:                                                 
      return_value = the_limits->posix_sync_io;                       
      break;                                                          
    default:                                                          
      rtems_set_errno_and_return_minus_one( EINVAL );                 
   48734:	4eb9 0004 a04c 	jsr 4a04c <__errno>                         <== NOT EXECUTED
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   4873a:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
      break;                                                          
    case _PC_SYNC_IO:                                                 
      return_value = the_limits->posix_sync_io;                       
      break;                                                          
    default:                                                          
      rtems_set_errno_and_return_minus_one( EINVAL );                 
   4873e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   48740:	7216           	moveq #22,%d1                               <== NOT EXECUTED
   48742:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   48744:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_SYNC_IO:                                                 
      return_value = the_limits->posix_sync_io;                       
      break;                                                          
    default:                                                          
      rtems_set_errno_and_return_minus_one( EINVAL );                 
   48746:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   48748:	4e75           	rts                                         <== NOT EXECUTED
   *  Now process the information request.                            
   */                                                                 
                                                                      
  the_limits = iop->pathinfo.mt_entry->pathconf_limits_and_options;   
                                                                      
  switch ( name ) {                                                   
   4874a:	303b 1a08      	movew %pc@(48754 <fpathconf+0x64>,%d1:l:2),%d0<== NOT EXECUTED
   4874e:	48c0           	extl %d0                                    <== NOT EXECUTED
   48750:	4efb 0802      	jmp %pc@(48754 <fpathconf+0x64>,%d0:l)      <== NOT EXECUTED
   48754:	0090 0084 0078 	oril #8650872,%d0                           <== NOT EXECUTED
   4875a:	006c           	.short 0x006c                               <== NOT EXECUTED
   4875c:	0060           	.short 0x0060                               <== NOT EXECUTED
   4875e:	0054           	.short 0x0054                               <== NOT EXECUTED
   48760:	0048           	.short 0x0048                               <== NOT EXECUTED
   48762:	003c           	.short 0x003c                               <== NOT EXECUTED
   48764:	0030           	.short 0x0030                               <== NOT EXECUTED
   48766:	0024           	.short 0x0024                               <== NOT EXECUTED
   48768:	0018           	.short 0x0018                               <== NOT EXECUTED
   4876a:	009a 242e fffc 	oril #607059964,%d2                         <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   48770:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_ASYNC_IO:                                                
      return_value = the_limits->posix_async_io;                      
      break;                                                          
    case _PC_PRIO_IO:                                                 
      return_value = the_limits->posix_prio_io;                       
   48772:	2028 0024      	movel %a0@(36),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   48776:	4e75           	rts                                         <== NOT EXECUTED
   48778:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   4877c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_VDISABLE:                                                
      return_value = the_limits->posix_vdisable;                      
      break;                                                          
    case _PC_ASYNC_IO:                                                
      return_value = the_limits->posix_async_io;                      
   4877e:	2028 0018      	movel %a0@(24),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   48782:	4e75           	rts                                         <== NOT EXECUTED
   48784:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   48788:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_NO_TRUNC:                                                
      return_value = the_limits->posix_no_trunc;                      
      break;                                                          
    case _PC_VDISABLE:                                                
      return_value = the_limits->posix_vdisable;                      
   4878a:	2028 002c      	movel %a0@(44),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   4878e:	4e75           	rts                                         <== NOT EXECUTED
   48790:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   48794:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_CHOWN_RESTRICTED:                                        
      return_value = the_limits->posix_chown_restrictions;            
      break;                                                          
    case _PC_NO_TRUNC:                                                
      return_value = the_limits->posix_no_trunc;                      
   48796:	2028 0020      	movel %a0@(32),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   4879a:	4e75           	rts                                         <== NOT EXECUTED
   4879c:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   487a0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_PIPE_BUF:                                                
      return_value = the_limits->pipe_buf;                            
      break;                                                          
    case _PC_CHOWN_RESTRICTED:                                        
      return_value = the_limits->posix_chown_restrictions;            
   487a2:	2028 001c      	movel %a0@(28),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   487a6:	4e75           	rts                                         <== NOT EXECUTED
   487a8:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   487ac:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_PATH_MAX:                                                
      return_value = the_limits->path_max;                            
      break;                                                          
    case _PC_PIPE_BUF:                                                
      return_value = the_limits->pipe_buf;                            
   487ae:	2028 0014      	movel %a0@(20),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   487b2:	4e75           	rts                                         <== NOT EXECUTED
   487b4:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   487b8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_NAME_MAX:                                                
      return_value = the_limits->name_max;                            
      break;                                                          
    case _PC_PATH_MAX:                                                
      return_value = the_limits->path_max;                            
   487ba:	2028 0010      	movel %a0@(16),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   487be:	4e75           	rts                                         <== NOT EXECUTED
   487c0:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   487c4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_MAX_INPUT:                                               
      return_value = the_limits->max_input;                           
      break;                                                          
    case _PC_NAME_MAX:                                                
      return_value = the_limits->name_max;                            
   487c6:	2028 000c      	movel %a0@(12),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   487ca:	4e75           	rts                                         <== NOT EXECUTED
   487cc:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   487d0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_MAX_CANON:                                               
      return_value = the_limits->max_canon;                           
      break;                                                          
    case _PC_MAX_INPUT:                                               
      return_value = the_limits->max_input;                           
   487d2:	2028 0008      	movel %a0@(8),%d0                           <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   487d6:	4e75           	rts                                         <== NOT EXECUTED
   487d8:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   487dc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  switch ( name ) {                                                   
    case _PC_LINK_MAX:                                                
      return_value = the_limits->link_max;                            
      break;                                                          
    case _PC_MAX_CANON:                                               
      return_value = the_limits->max_canon;                           
   487de:	2028 0004      	movel %a0@(4),%d0                           <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   487e2:	4e75           	rts                                         <== NOT EXECUTED
   487e4:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   487e8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      
  the_limits = iop->pathinfo.mt_entry->pathconf_limits_and_options;   
                                                                      
  switch ( name ) {                                                   
    case _PC_LINK_MAX:                                                
      return_value = the_limits->link_max;                            
   487ea:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   487ec:	4e75           	rts                                         <== NOT EXECUTED
   487ee:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   487f2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      break;                                                          
    case _PC_PRIO_IO:                                                 
      return_value = the_limits->posix_prio_io;                       
      break;                                                          
    case _PC_SYNC_IO:                                                 
      return_value = the_limits->posix_sync_io;                       
   487f4:	2028 0028      	movel %a0@(40),%d0                          <== NOT EXECUTED
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   487f8:	4e75           	rts                                         <== NOT EXECUTED
  rtems_libio_t                          *iop;                        
  const rtems_filesystem_limits_and_options_t *the_limits;            
                                                                      
  rtems_libio_check_fd(fd);                                           
  iop = rtems_libio_iop(fd);                                          
  rtems_libio_check_is_open(iop);                                     
   487fa:	4eb9 0004 a04c 	jsr 4a04c <__errno>                         
   48800:	7409           	moveq #9,%d2                                
   48802:	2040           	moveal %d0,%a0                              
   48804:	70ff           	moveq #-1,%d0                               
   48806:	2082           	movel %d2,%a0@                              
      rtems_set_errno_and_return_minus_one( EINVAL );                 
      break;                                                          
  }                                                                   
                                                                      
  return return_value;                                                
}                                                                     
   48808:	242e fffc      	movel %fp@(-4),%d2                          
   4880c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000430cc <free>: #include <stdlib.h> void free( void *ptr ) {
   430cc:	4e56 0000      	linkw %fp,#0                                
  MSBUMP(free_calls, 1);                                              
   430d0:	52b9 0005 f90c 	addql #1,5f90c <rtems_malloc_statistics+0xc>
#include <stdlib.h>                                                   
                                                                      
void free(                                                            
  void *ptr                                                           
)                                                                     
{                                                                     
   430d6:	2f02           	movel %d2,%sp@-                             
   430d8:	242e 0008      	movel %fp@(8),%d2                           
  MSBUMP(free_calls, 1);                                              
                                                                      
  if ( !ptr )                                                         
   430dc:	6732           	beqs 43110 <free+0x44>                      
    return;                                                           
                                                                      
  /*                                                                  
   *  Do not attempt to free memory if in a critical section or ISR.  
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
   430de:	7003           	moveq #3,%d0                                
   430e0:	b0b9 0005 fb6c 	cmpl 5fb6c <_System_state_Current>,%d0      
   430e6:	6758           	beqs 43140 <free+0x74>                      <== ALWAYS TAKEN
  }                                                                   
                                                                      
  /*                                                                  
   *  If configured, update the statistics                            
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
   430e8:	2079 0005 e8c4 	moveal 5e8c4 <rtems_malloc_statistics_helpers>,%a0
   430ee:	4a88           	tstl %a0                                    
   430f0:	670a           	beqs 430fc <free+0x30>                      
    (*rtems_malloc_statistics_helpers->at_free)(ptr);                 
   430f2:	2f02           	movel %d2,%sp@-                             
   430f4:	2068 0008      	moveal %a0@(8),%a0                          
   430f8:	4e90           	jsr %a0@                                    
   430fa:	588f           	addql #4,%sp                                
                                                                      
  if ( !_Protected_heap_Free( RTEMS_Malloc_Heap, ptr ) ) {            
   430fc:	2f02           	movel %d2,%sp@-                             
   430fe:	2f39 0005 e21c 	movel 5e21c <RTEMS_Malloc_Heap>,%sp@-       
   43104:	4eb9 0004 91bc 	jsr 491bc <_Protected_heap_Free>            
   4310a:	508f           	addql #8,%sp                                
   4310c:	4a00           	tstb %d0                                    
   4310e:	6708           	beqs 43118 <free+0x4c>                      
      RTEMS_Malloc_Heap->area_begin,                                  
      RTEMS_Malloc_Heap->area_end                                     
    );                                                                
  }                                                                   
                                                                      
}                                                                     
   43110:	242e fffc      	movel %fp@(-4),%d2                          
   43114:	4e5e           	unlk %fp                                    
   43116:	4e75           	rts                                         
                                                                      
  if ( !_Protected_heap_Free( RTEMS_Malloc_Heap, ptr ) ) {            
    printk( "Program heap: free of bad pointer %p -- range %p - %p \n",
      ptr,                                                            
      RTEMS_Malloc_Heap->area_begin,                                  
      RTEMS_Malloc_Heap->area_end                                     
   43118:	2079 0005 e21c 	moveal 5e21c <RTEMS_Malloc_Heap>,%a0        
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_free)(ptr);                 
                                                                      
  if ( !_Protected_heap_Free( RTEMS_Malloc_Heap, ptr ) ) {            
    printk( "Program heap: free of bad pointer %p -- range %p - %p \n",
   4311e:	2f28 001c      	movel %a0@(28),%sp@-                        
   43122:	2f28 0018      	movel %a0@(24),%sp@-                        
   43126:	2f02           	movel %d2,%sp@-                             
   43128:	4879 0005 d224 	pea 5d224 <rtems_status_assoc+0x168>        
   4312e:	4eb9 0004 3f4c 	jsr 43f4c <printk>                          
      RTEMS_Malloc_Heap->area_begin,                                  
      RTEMS_Malloc_Heap->area_end                                     
    );                                                                
  }                                                                   
                                                                      
}                                                                     
   43134:	242e fffc      	movel %fp@(-4),%d2                          
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_free)(ptr);                 
                                                                      
  if ( !_Protected_heap_Free( RTEMS_Malloc_Heap, ptr ) ) {            
    printk( "Program heap: free of bad pointer %p -- range %p - %p \n",
   43138:	4fef 0010      	lea %sp@(16),%sp                            
      RTEMS_Malloc_Heap->area_begin,                                  
      RTEMS_Malloc_Heap->area_end                                     
    );                                                                
  }                                                                   
                                                                      
}                                                                     
   4313c:	4e5e           	unlk %fp                                    
   4313e:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  Do not attempt to free memory if in a critical section or ISR.  
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
       !malloc_is_system_state_OK() ) {                               
   43140:	4eb9 0004 32b8 	jsr 432b8 <malloc_is_system_state_OK>       
    return;                                                           
                                                                      
  /*                                                                  
   *  Do not attempt to free memory if in a critical section or ISR.  
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
   43146:	4a00           	tstb %d0                                    
   43148:	669e           	bnes 430e8 <free+0x1c>                      
       !malloc_is_system_state_OK() ) {                               
      malloc_deferred_free(ptr);                                      
   4314a:	2d42 0008      	movel %d2,%fp@(8)                           
      RTEMS_Malloc_Heap->area_begin,                                  
      RTEMS_Malloc_Heap->area_end                                     
    );                                                                
  }                                                                   
                                                                      
}                                                                     
   4314e:	242e fffc      	movel %fp@(-4),%d2                          
   43152:	4e5e           	unlk %fp                                    
  /*                                                                  
   *  Do not attempt to free memory if in a critical section or ISR.  
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
       !malloc_is_system_state_OK() ) {                               
      malloc_deferred_free(ptr);                                      
   43154:	4ef9 0004 331a 	jmp 4331a <malloc_deferred_free>            
	...                                                                  
                                                                      

0005bca8 <fstat>: int fstat( int fd, struct stat *sbuf ) {
   5bca8:	4e56 0000      	linkw %fp,#0                                
   5bcac:	202e 0008      	movel %fp@(8),%d0                           
   5bcb0:	2f0a           	movel %a2,%sp@-                             
   5bcb2:	2f02           	movel %d2,%sp@-                             
   5bcb4:	242e 000c      	movel %fp@(12),%d2                          
  rtems_libio_t *iop;                                                 
                                                                      
  /*                                                                  
   *  Check to see if we were passed a valid pointer.                 
   */                                                                 
  if ( !sbuf )                                                        
   5bcb8:	6770           	beqs 5bd2a <fstat+0x82>                     <== NEVER TAKEN
    rtems_set_errno_and_return_minus_one( EFAULT );                   
                                                                      
  /*                                                                  
   *  Now process the stat() request.                                 
   */                                                                 
  iop = rtems_libio_iop( fd );                                        
   5bcba:	b0b9 0005 e260 	cmpl 5e260 <rtems_libio_number_iops>,%d0    
   5bcc0:	644e           	bccs 5bd10 <fstat+0x68>                     
   5bcc2:	2200           	movel %d0,%d1                               
   5bcc4:	ed88           	lsll #6,%d0                                 
   5bcc6:	e989           	lsll #4,%d1                                 
   5bcc8:	2479 0005 f8f4 	moveal 5f8f4 <rtems_libio_iops>,%a2         
   5bcce:	9081           	subl %d1,%d0                                
   5bcd0:	d5c0           	addal %d0,%a2                               
  rtems_libio_check_fd( fd );                                         
  rtems_libio_check_is_open(iop);                                     
   5bcd2:	202a 000c      	movel %a2@(12),%d0                          
   5bcd6:	0280 0000 0100 	andil #256,%d0                              
   5bcdc:	6732           	beqs 5bd10 <fstat+0x68>                     
                                                                      
  /*                                                                  
   *  Zero out the stat structure so the various support              
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
   5bcde:	4878 0046      	pea 46 <DBL_MANT_DIG+0x11>                  
   5bce2:	42a7           	clrl %sp@-                                  
   5bce4:	2f02           	movel %d2,%sp@-                             
   5bce6:	4eb9 0004 e9d4 	jsr 4e9d4 <memset>                          
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
   5bcec:	206a 0020      	moveal %a2@(32),%a0                         
   5bcf0:	45ea 0010      	lea %a2@(16),%a2                            
   5bcf4:	4fef 000c      	lea %sp@(12),%sp                            
   5bcf8:	2d4a 0008      	movel %a2,%fp@(8)                           
}                                                                     
   5bcfc:	246e fffc      	moveal %fp@(-4),%a2                         
   *  Zero out the stat structure so the various support              
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
   5bd00:	2d42 000c      	movel %d2,%fp@(12)                          
}                                                                     
   5bd04:	242e fff8      	movel %fp@(-8),%d2                          
   5bd08:	4e5e           	unlk %fp                                    
   *  Zero out the stat structure so the various support              
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
   5bd0a:	2268 0018      	moveal %a0@(24),%a1                         
   5bd0e:	4ed1           	jmp %a1@                                    
  /*                                                                  
   *  Now process the stat() request.                                 
   */                                                                 
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_fd( fd );                                         
  rtems_libio_check_is_open(iop);                                     
   5bd10:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
}                                                                     
   5bd16:	242e fff8      	movel %fp@(-8),%d2                          
  /*                                                                  
   *  Now process the stat() request.                                 
   */                                                                 
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_fd( fd );                                         
  rtems_libio_check_is_open(iop);                                     
   5bd1a:	2040           	moveal %d0,%a0                              
   5bd1c:	7009           	moveq #9,%d0                                
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
}                                                                     
   5bd1e:	246e fffc      	moveal %fp@(-4),%a2                         
   5bd22:	4e5e           	unlk %fp                                    
  /*                                                                  
   *  Now process the stat() request.                                 
   */                                                                 
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_fd( fd );                                         
  rtems_libio_check_is_open(iop);                                     
   5bd24:	2080           	movel %d0,%a0@                              
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
}                                                                     
   5bd26:	70ff           	moveq #-1,%d0                               
   5bd28:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  Check to see if we were passed a valid pointer.                 
   */                                                                 
  if ( !sbuf )                                                        
    rtems_set_errno_and_return_minus_one( EFAULT );                   
   5bd2a:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
}                                                                     
   5bd30:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Check to see if we were passed a valid pointer.                 
   */                                                                 
  if ( !sbuf )                                                        
    rtems_set_errno_and_return_minus_one( EFAULT );                   
   5bd34:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5bd36:	720e           	moveq #14,%d1                               <== NOT EXECUTED
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
}                                                                     
   5bd38:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5bd3a:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   5bd3e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Check to see if we were passed a valid pointer.                 
   */                                                                 
  if ( !sbuf )                                                        
    rtems_set_errno_and_return_minus_one( EFAULT );                   
   5bd40:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
   *  versions of stat don't have to.                                 
   */                                                                 
  memset( sbuf, 0, sizeof(struct stat) );                             
                                                                      
  return (*iop->pathinfo.handlers->fstat_h)( &iop->pathinfo, sbuf );  
}                                                                     
                                                                      

00043224 <get_disk_entry>: } } static rtems_disk_device * get_disk_entry(dev_t dev, bool lookup_only) {
   43224:	4e56 0000      	linkw %fp,#0                                
   43228:	202e 0008      	movel %fp@(8),%d0                           
   4322c:	2f02           	movel %d2,%sp@-                             
   4322e:	206e 000c      	moveal %fp@(12),%a0                         
   43232:	142e 0013      	moveb %fp@(19),%d2                          
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  rtems_filesystem_split_dev_t(dev, major, minor);                    
                                                                      
  if (major < disktab_size && disktab != NULL) {                      
   43236:	b0b9 0006 3636 	cmpl 63636 <disktab_size>,%d0               
   4323c:	6436           	bccs 43274 <get_disk_entry+0x50>            <== NEVER TAKEN
   4323e:	2239 0006 363a 	movel 6363a <disktab>,%d1                   
   43244:	672e           	beqs 43274 <get_disk_entry+0x50>            <== NEVER TAKEN
    rtems_disk_device_table *dtab = disktab + major;                  
   43246:	2241           	moveal %d1,%a1                              
   43248:	e788           	lsll #3,%d0                                 
   4324a:	d3c0           	addal %d0,%a1                               
                                                                      
    if (minor < dtab->size && dtab->minor != NULL) {                  
   4324c:	b1e9 0004      	cmpal %a1@(4),%a0                           
   43250:	6422           	bccs 43274 <get_disk_entry+0x50>            <== NEVER TAKEN
   43252:	2251           	moveal %a1@,%a1                             
   43254:	4a89           	tstl %a1                                    
   43256:	671c           	beqs 43274 <get_disk_entry+0x50>            <== NEVER TAKEN
      rtems_disk_device *dd = dtab->minor [minor];                    
   43258:	2031 8c00      	movel %a1@(00000000,%a0:l:4),%d0            
                                                                      
      if (dd != NULL && !lookup_only) {                               
   4325c:	6710           	beqs 4326e <get_disk_entry+0x4a>            
   4325e:	4a02           	tstb %d2                                    
   43260:	660c           	bnes 4326e <get_disk_entry+0x4a>            
        if (!dd->deleted) {                                           
   43262:	2040           	moveal %d0,%a0                              
   43264:	4a28 0040      	tstb %a0@(64)                               
   43268:	660a           	bnes 43274 <get_disk_entry+0x50>            
          ++dd->uses;                                                 
   4326a:	52a8 0014      	addql #1,%a0@(20)                           
      return dd;                                                      
    }                                                                 
  }                                                                   
                                                                      
  return NULL;                                                        
}                                                                     
   4326e:	241f           	movel %sp@+,%d2                             
   43270:	4e5e           	unlk %fp                                    
   43272:	4e75           	rts                                         
   43274:	241f           	movel %sp@+,%d2                             
                                                                      
      return dd;                                                      
    }                                                                 
  }                                                                   
                                                                      
  return NULL;                                                        
   43276:	4280           	clrl %d0                                    
}                                                                     
   43278:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000442ba <get_sector.part.0>: * NOTES: * get_sector() operates with device via bdbuf library, * and does not support devices with sector size other than 512 bytes */ static rtems_status_code get_sector(int fd,
   442ba:	4e56 0000      	linkw %fp,#0                                
   442be:	2f0a           	movel %a2,%sp@-                             
    new_off = lseek(fd, off, SEEK_SET);                               
    if (new_off != off) {                                             
        return RTEMS_IO_ERROR;                                        
    }                                                                 
                                                                      
    s = (rtems_sector_data_t *) malloc(sizeof(rtems_sector_data_t) + RTEMS_IDE_SECTOR_SIZE);
   442c0:	4878 0204      	pea 204 <DBL_MANT_DIG+0x1cf>                
   442c4:	4eb9 0004 594c 	jsr 4594c <malloc>                          
    if (s == NULL)                                                    
   442ca:	588f           	addql #4,%sp                                
    new_off = lseek(fd, off, SEEK_SET);                               
    if (new_off != off) {                                             
        return RTEMS_IO_ERROR;                                        
    }                                                                 
                                                                      
    s = (rtems_sector_data_t *) malloc(sizeof(rtems_sector_data_t) + RTEMS_IDE_SECTOR_SIZE);
   442cc:	2440           	moveal %d0,%a2                              
    if (s == NULL)                                                    
   442ce:	4a80           	tstl %d0                                    
   442d0:	6732           	beqs 44304 <get_sector.part.0+0x4a>         <== NEVER TAKEN
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
    }                                                                 
                                                                      
    n = read(fd, s->data, RTEMS_IDE_SECTOR_SIZE);                     
   442d2:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                
   442d6:	486a 0004      	pea %a2@(4)                                 
   442da:	2f2e 0008      	movel %fp@(8),%sp@-                         
   442de:	4eb9 0004 64e4 	jsr 464e4 <read>                            
    if (n != RTEMS_IDE_SECTOR_SIZE)                                   
   442e4:	4fef 000c      	lea %sp@(12),%sp                            
   442e8:	0c80 0000 0200 	cmpil #512,%d0                              
   442ee:	671e           	beqs 4430e <get_sector.part.0+0x54>         <== ALWAYS TAKEN
    {                                                                 
        free(s);                                                      
   442f0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   442f2:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
    s->sector_num = sector_num;                                       
                                                                      
    *sector = s;                                                      
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   442f8:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
    }                                                                 
                                                                      
    n = read(fd, s->data, RTEMS_IDE_SECTOR_SIZE);                     
    if (n != RTEMS_IDE_SECTOR_SIZE)                                   
    {                                                                 
        free(s);                                                      
   442fc:	588f           	addql #4,%sp                                <== NOT EXECUTED
        return RTEMS_IO_ERROR;                                        
   442fe:	701b           	moveq #27,%d0                               <== NOT EXECUTED
    s->sector_num = sector_num;                                       
                                                                      
    *sector = s;                                                      
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   44300:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44302:	4e75           	rts                                         <== NOT EXECUTED
   44304:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
    }                                                                 
                                                                      
    s = (rtems_sector_data_t *) malloc(sizeof(rtems_sector_data_t) + RTEMS_IDE_SECTOR_SIZE);
    if (s == NULL)                                                    
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
   44308:	701a           	moveq #26,%d0                               <== NOT EXECUTED
    s->sector_num = sector_num;                                       
                                                                      
    *sector = s;                                                      
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4430a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4430c:	4e75           	rts                                         <== NOT EXECUTED
    {                                                                 
        free(s);                                                      
        return RTEMS_IO_ERROR;                                        
    }                                                                 
                                                                      
    s->sector_num = sector_num;                                       
   4430e:	24ae 000c      	movel %fp@(12),%a2@                         
                                                                      
    *sector = s;                                                      
                                                                      
    return RTEMS_SUCCESSFUL;                                          
   44312:	4280           	clrl %d0                                    
        return RTEMS_IO_ERROR;                                        
    }                                                                 
                                                                      
    s->sector_num = sector_num;                                       
                                                                      
    *sector = s;                                                      
   44314:	206e 0010      	moveal %fp@(16),%a0                         
   44318:	208a           	movel %a2,%a0@                              
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4431a:	246e fffc      	moveal %fp@(-4),%a2                         
   4431e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0006ee08 <getdents>: int getdents( int dd_fd, char *dd_buf, int dd_len ) {
   6ee08:	4e56 fff4      	linkw %fp,#-12                              
   6ee0c:	202e 0008      	movel %fp@(8),%d0                           
   6ee10:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   6ee14:	242e 000c      	movel %fp@(12),%d2                          
   6ee18:	262e 0010      	movel %fp@(16),%d3                          
  rtems_filesystem_node_types_t type;                                 
                                                                      
  /*                                                                  
   *  Get the file control block structure associated with the file descriptor
   */                                                                 
  iop = rtems_libio_iop( dd_fd );                                     
   6ee1c:	b0b9 0007 40d8 	cmpl 740d8 <rtems_libio_number_iops>,%d0    
   6ee22:	643e           	bccs 6ee62 <getdents+0x5a>                  <== NEVER TAKEN
   6ee24:	2200           	movel %d0,%d1                               
   6ee26:	ed88           	lsll #6,%d0                                 
   6ee28:	e989           	lsll #4,%d1                                 
   6ee2a:	2479 0008 58c4 	moveal 858c4 <rtems_libio_iops>,%a2         
   6ee30:	9081           	subl %d1,%d0                                
   6ee32:	d5c0           	addal %d0,%a2                               
                                                                      
  /*                                                                  
   *  Make sure we are working on a directory                         
   */                                                                 
  type = rtems_filesystem_node_type( &iop->pathinfo );                
   6ee34:	486a 0010      	pea %a2@(16)                                
   6ee38:	4eb9 0004 9578 	jsr 49578 <rtems_filesystem_node_type>      
  if ( type != RTEMS_FILESYSTEM_DIRECTORY )                           
   6ee3e:	588f           	addql #4,%sp                                
   6ee40:	4a80           	tstl %d0                                    
   6ee42:	6622           	bnes 6ee66 <getdents+0x5e>                  
                                                                      
  /*                                                                  
   *  Return the number of bytes that were actually transfered as a result
   *  of the read attempt.                                            
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, dd_buf, dd_len  );   
   6ee44:	206a 0020      	moveal %a2@(32),%a0                         
   6ee48:	2d43 0010      	movel %d3,%fp@(16)                          
   6ee4c:	2d42 000c      	movel %d2,%fp@(12)                          
   6ee50:	2d4a 0008      	movel %a2,%fp@(8)                           
   6ee54:	2268 0008      	moveal %a0@(8),%a1                          
}                                                                     
   6ee58:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   6ee5e:	4e5e           	unlk %fp                                    
                                                                      
  /*                                                                  
   *  Return the number of bytes that were actually transfered as a result
   *  of the read attempt.                                            
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, dd_buf, dd_len  );   
   6ee60:	4ed1           	jmp %a1@                                    
  rtems_filesystem_node_types_t type;                                 
                                                                      
  /*                                                                  
   *  Get the file control block structure associated with the file descriptor
   */                                                                 
  iop = rtems_libio_iop( dd_fd );                                     
   6ee62:	95ca           	subal %a2,%a2                               <== NOT EXECUTED
   6ee64:	60ce           	bras 6ee34 <getdents+0x2c>                  <== NOT EXECUTED
  /*                                                                  
   *  Make sure we are working on a directory                         
   */                                                                 
  type = rtems_filesystem_node_type( &iop->pathinfo );                
  if ( type != RTEMS_FILESYSTEM_DIRECTORY )                           
    rtems_set_errno_and_return_minus_one( ENOTDIR );                  
   6ee66:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   6ee6c:	2040           	moveal %d0,%a0                              
   6ee6e:	7014           	moveq #20,%d0                               
  /*                                                                  
   *  Return the number of bytes that were actually transfered as a result
   *  of the read attempt.                                            
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, dd_buf, dd_len  );   
}                                                                     
   6ee70:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
  /*                                                                  
   *  Make sure we are working on a directory                         
   */                                                                 
  type = rtems_filesystem_node_type( &iop->pathinfo );                
  if ( type != RTEMS_FILESYSTEM_DIRECTORY )                           
    rtems_set_errno_and_return_minus_one( ENOTDIR );                  
   6ee76:	2080           	movel %d0,%a0@                              
  /*                                                                  
   *  Return the number of bytes that were actually transfered as a result
   *  of the read attempt.                                            
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, dd_buf, dd_len  );   
}                                                                     
   6ee78:	70ff           	moveq #-1,%d0                               
   6ee7a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00064b24 <getpw_r>: struct passwd *pwd, char *buffer, size_t bufsize, struct passwd **result ) {
   64b24:	4e56 ffe4      	linkw %fp,#-28                              
   64b28:	48d7 1c3c      	moveml %d2-%d5/%a2-%a4,%sp@                 
   64b2c:	242e 0008      	movel %fp@(8),%d2                           
   64b30:	47fa fd1e      	lea %pc@(64850 <scanpw>),%a3                
  for(;;) {                                                           
    if (!scanpw(fp, pwd, buffer, bufsize))                            
      goto error_einval;                                              
                                                                      
    if (name) {                                                       
      match = (strcmp(pwd->pw_name, name) == 0);                      
   64b34:	49f9 0007 d284 	lea 7d284 <strcmp>,%a4                      
  struct passwd  *pwd,                                                
  char           *buffer,                                             
  size_t          bufsize,                                            
  struct passwd **result                                              
)                                                                     
{                                                                     
   64b3a:	246e 0010      	moveal %fp@(16),%a2                         
   64b3e:	2a2e 0014      	movel %fp@(20),%d5                          
   64b42:	282e 0018      	movel %fp@(24),%d4                          
  FILE *fp;                                                           
  int match;                                                          
                                                                      
  init_etc_passwd_group();                                            
   64b46:	4eb9 0006 4948 	jsr 64948 <init_etc_passwd_group>           
                                                                      
  if ((fp = fopen("/etc/passwd", "r")) == NULL)                       
   64b4c:	4879 0009 36aa 	pea 936aa <rtems_bdpart_shell_usage+0x313>  
   64b52:	4879 0009 6e4d 	pea 96e4d <RTEMS_BDPART_MBR_MASTER_TYPE+0x6b2>
   64b58:	4eb9 0007 8172 	jsr 78172 <fopen>                           
   64b5e:	508f           	addql #8,%sp                                
   64b60:	2600           	movel %d0,%d3                               
   64b62:	677a           	beqs 64bde <getpw_r+0xba>                   
    rtems_set_errno_and_return_minus_one( EINVAL );                   
                                                                      
  for(;;) {                                                           
    if (!scanpw(fp, pwd, buffer, bufsize))                            
   64b64:	2f04           	movel %d4,%sp@-                             
   64b66:	2f05           	movel %d5,%sp@-                             
   64b68:	2f0a           	movel %a2,%sp@-                             
   64b6a:	2f03           	movel %d3,%sp@-                             
   64b6c:	4e93           	jsr %a3@                                    
   64b6e:	4fef 0010      	lea %sp@(16),%sp                            
   64b72:	4a80           	tstl %d0                                    
   64b74:	6746           	beqs 64bbc <getpw_r+0x98>                   
      goto error_einval;                                              
                                                                      
    if (name) {                                                       
   64b76:	4a82           	tstl %d2                                    
   64b78:	672e           	beqs 64ba8 <getpw_r+0x84>                   
      match = (strcmp(pwd->pw_name, name) == 0);                      
   64b7a:	2f02           	movel %d2,%sp@-                             
   64b7c:	2f12           	movel %a2@,%sp@-                            
   64b7e:	4e94           	jsr %a4@                                    
   64b80:	508f           	addql #8,%sp                                
   64b82:	4a80           	tstl %d0                                    
   64b84:	57c1           	seq %d1                                     
   64b86:	49c1           	extbl %d1                                   
   64b88:	4481           	negl %d1                                    
    } else {                                                          
      match = (pwd->pw_uid == uid);                                   
    }                                                                 
                                                                      
    if (match) {                                                      
   64b8a:	67d8           	beqs 64b64 <getpw_r+0x40>                   <== NEVER TAKEN
      fclose(fp);                                                     
   64b8c:	2f03           	movel %d3,%sp@-                             
   64b8e:	4eb9 0007 78d4 	jsr 778d4 <fclose>                          
      *result = pwd;                                                  
   64b94:	206e 001c      	moveal %fp@(28),%a0                         
      return 0;                                                       
   64b98:	588f           	addql #4,%sp                                
   64b9a:	4280           	clrl %d0                                    
      match = (pwd->pw_uid == uid);                                   
    }                                                                 
                                                                      
    if (match) {                                                      
      fclose(fp);                                                     
      *result = pwd;                                                  
   64b9c:	208a           	movel %a2,%a0@                              
    }                                                                 
  }                                                                   
error_einval:                                                         
  fclose(fp);                                                         
  rtems_set_errno_and_return_minus_one( EINVAL );                     
}                                                                     
   64b9e:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            
   64ba4:	4e5e           	unlk %fp                                    
   64ba6:	4e75           	rts                                         
      goto error_einval;                                              
                                                                      
    if (name) {                                                       
      match = (strcmp(pwd->pw_name, name) == 0);                      
    } else {                                                          
      match = (pwd->pw_uid == uid);                                   
   64ba8:	4280           	clrl %d0                                    
   64baa:	302a 0008      	movew %a2@(8),%d0                           
   64bae:	b0ae 000c      	cmpl %fp@(12),%d0                           
   64bb2:	57c1           	seq %d1                                     
   64bb4:	49c1           	extbl %d1                                   
   64bb6:	4481           	negl %d1                                    
    }                                                                 
                                                                      
    if (match) {                                                      
   64bb8:	67aa           	beqs 64b64 <getpw_r+0x40>                   
   64bba:	60d0           	bras 64b8c <getpw_r+0x68>                   
      *result = pwd;                                                  
      return 0;                                                       
    }                                                                 
  }                                                                   
error_einval:                                                         
  fclose(fp);                                                         
   64bbc:	2f03           	movel %d3,%sp@-                             
  rtems_set_errno_and_return_minus_one( EINVAL );                     
   64bbe:	7616           	moveq #22,%d3                               
      *result = pwd;                                                  
      return 0;                                                       
    }                                                                 
  }                                                                   
error_einval:                                                         
  fclose(fp);                                                         
   64bc0:	4eb9 0007 78d4 	jsr 778d4 <fclose>                          
  rtems_set_errno_and_return_minus_one( EINVAL );                     
   64bc6:	4eb9 0007 7798 	jsr 77798 <__errno>                         
   64bcc:	588f           	addql #4,%sp                                
   64bce:	2040           	moveal %d0,%a0                              
   64bd0:	70ff           	moveq #-1,%d0                               
   64bd2:	2083           	movel %d3,%a0@                              
}                                                                     
   64bd4:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            
   64bda:	4e5e           	unlk %fp                                    
   64bdc:	4e75           	rts                                         
  int match;                                                          
                                                                      
  init_etc_passwd_group();                                            
                                                                      
  if ((fp = fopen("/etc/passwd", "r")) == NULL)                       
    rtems_set_errno_and_return_minus_one( EINVAL );                   
   64bde:	4eb9 0007 7798 	jsr 77798 <__errno>                         
   64be4:	7816           	moveq #22,%d4                               
   64be6:	2040           	moveal %d0,%a0                              
   64be8:	70ff           	moveq #-1,%d0                               
   64bea:	2084           	movel %d4,%a0@                              
    }                                                                 
  }                                                                   
error_einval:                                                         
  fclose(fp);                                                         
  rtems_set_errno_and_return_minus_one( EINVAL );                     
}                                                                     
   64bec:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            
   64bf2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004315c <gettimeofday>: */ int gettimeofday( struct timeval *tp, void * __tz __attribute__((unused)) ) {
   4315c:	4e56 ffe8      	linkw %fp,#-24                              
   43160:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   43164:	246e 0008      	moveal %fp@(8),%a2                          
  /* struct timezone* tzp = (struct timezone*) __tz; */               
  if ( !tp )                                                          
   43168:	4a8a           	tstl %a2                                    
   4316a:	6768           	beqs 431d4 <gettimeofday+0x78>              <== NEVER TAKEN
)                                                                     
{                                                                     
  Timestamp_Control  snapshot_as_timestamp;                           
  Timestamp_Control *snapshot_as_timestamp_ptr;                       
                                                                      
  snapshot_as_timestamp_ptr =                                         
   4316c:	4879 0005 f9a8 	pea 5f9a8 <_TOD>                            
static inline void _Timestamp64_implementation_To_timeval(            
  const Timestamp64_Control *_timestamp,                              
  struct timeval            *_timeval                                 
)                                                                     
{                                                                     
  _timeval->tv_sec = (time_t) (*_timestamp / 1000000000U);            
   43172:	47f9 0005 a79c 	lea 5a79c <__divdi3>,%a3                    
   43178:	486e fff8      	pea %fp@(-8)                                
   4317c:	4eb9 0004 843c 	jsr 4843c <_TOD_Get_with_nanoseconds>       
  struct timeval  *tp,                                                
  struct timezone *tzp                                                
)                                                                     
{                                                                     
  return gettimeofday( tp, tzp );                                     
}                                                                     
   43182:	2040           	moveal %d0,%a0                              
   43184:	2410           	movel %a0@,%d2                              
   43186:	2628 0004      	movel %a0@(4),%d3                           
   4318a:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     
   43190:	42a7           	clrl %sp@-                                  
   43192:	2f03           	movel %d3,%sp@-                             
   43194:	2f02           	movel %d2,%sp@-                             
   43196:	4e93           	jsr %a3@                                    
  _timeval->tv_usec = (suseconds_t) ((*_timestamp % 1000000000U) / 1000U);
   43198:	4fef 000c      	lea %sp@(12),%sp                            
   4319c:	2ebc 3b9a ca00 	movel #1000000000,%sp@                      
   431a2:	42a7           	clrl %sp@-                                  
static inline void _Timestamp64_implementation_To_timeval(            
  const Timestamp64_Control *_timestamp,                              
  struct timeval            *_timeval                                 
)                                                                     
{                                                                     
  _timeval->tv_sec = (time_t) (*_timestamp / 1000000000U);            
   431a4:	2481           	movel %d1,%a2@                              
  _timeval->tv_usec = (suseconds_t) ((*_timestamp % 1000000000U) / 1000U);
   431a6:	2f03           	movel %d3,%sp@-                             
   431a8:	2f02           	movel %d2,%sp@-                             
   431aa:	4eb9 0005 abfc 	jsr 5abfc <__moddi3>                        
   431b0:	4fef 0010      	lea %sp@(16),%sp                            
   431b4:	4878 03e8      	pea 3e8 <DBL_MANT_DIG+0x3b3>                
   431b8:	42a7           	clrl %sp@-                                  
   431ba:	2f01           	movel %d1,%sp@-                             
   431bc:	2f00           	movel %d0,%sp@-                             
   431be:	4e93           	jsr %a3@                                    
   431c0:	4fef 0018      	lea %sp@(24),%sp                            
   *  Timezone information ignored by the OS proper.   Per email      
   *  with Eric Norum, this is how GNU/Linux, Solaris, and MacOS X    
   *  do it.  This puts us in good company.                           
   */                                                                 
                                                                      
  return 0;                                                           
   431c4:	4280           	clrl %d0                                    
   431c6:	2541 0004      	movel %d1,%a2@(4)                           
}                                                                     
   431ca:	4cee 0c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a3            
   431d0:	4e5e           	unlk %fp                                    
   431d2:	4e75           	rts                                         
  void * __tz __attribute__((unused))                                 
)                                                                     
{                                                                     
  /* struct timezone* tzp = (struct timezone*) __tz; */               
  if ( !tp )                                                          
    rtems_set_errno_and_return_minus_one( EFAULT );                   
   431d4:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   431da:	720e           	moveq #14,%d1                               <== NOT EXECUTED
   431dc:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   431de:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   *  with Eric Norum, this is how GNU/Linux, Solaris, and MacOS X    
   *  do it.  This puts us in good company.                           
   */                                                                 
                                                                      
  return 0;                                                           
}                                                                     
   431e0:	4cee 0c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a3            <== NOT EXECUTED
  void * __tz __attribute__((unused))                                 
)                                                                     
{                                                                     
  /* struct timezone* tzp = (struct timezone*) __tz; */               
  if ( !tp )                                                          
    rtems_set_errno_and_return_minus_one( EFAULT );                   
   431e6:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
   *  with Eric Norum, this is how GNU/Linux, Solaris, and MacOS X    
   *  do it.  This puts us in good company.                           
   */                                                                 
                                                                      
  return 0;                                                           
}                                                                     
   431e8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00045e34 <iproc>: /* * Process a single input character */ static int iproc (unsigned char c, struct rtems_termios_tty *tty) {
   45e34:	4e56 fff0      	linkw %fp,#-16                              
   45e38:	222e 0008      	movel %fp@(8),%d1                           
   45e3c:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   45e40:	246e 000c      	moveal %fp@(12),%a2                         
  if (tty->termios.c_iflag & ISTRIP)                                  
   45e44:	202a 0030      	movel %a2@(48),%d0                          
/*                                                                    
 * Process a single input character                                   
 */                                                                   
static int                                                            
iproc (unsigned char c, struct rtems_termios_tty *tty)                
{                                                                     
   45e48:	1401           	moveb %d1,%d2                               
  if (tty->termios.c_iflag & ISTRIP)                                  
   45e4a:	0800 0005      	btst #5,%d0                                 
   45e4e:	6704           	beqs 45e54 <iproc+0x20>                     <== ALWAYS TAKEN
    c &= 0x7f;                                                        
   45e50:	747f           	moveq #127,%d2                              <== NOT EXECUTED
   45e52:	c481           	andl %d1,%d2                                <== NOT EXECUTED
                                                                      
  if (tty->termios.c_iflag & IUCLC)                                   
   45e54:	0800 0009      	btst #9,%d0                                 
   45e58:	671e           	beqs 45e78 <iproc+0x44>                     
    c = tolower (c);                                                  
   45e5a:	2079 0005 e3cc 	moveal 5e3cc <__ctype_ptr__>,%a0            
   45e60:	7603           	moveq #3,%d3                                
   45e62:	0282 0000 00ff 	andil #255,%d2                              
   45e68:	1230 2801      	moveb %a0@(00000001,%d2:l),%d1              
   45e6c:	c283           	andl %d3,%d1                                
   45e6e:	163c 0001      	moveb #1,%d3                                
   45e72:	b681           	cmpl %d1,%d3                                
   45e74:	6700 00ee      	beqw 45f64 <iproc+0x130>                    
                                                                      
  if (c == '\r') {                                                    
   45e78:	4281           	clrl %d1                                    
   45e7a:	1202           	moveb %d2,%d1                               
   45e7c:	760d           	moveq #13,%d3                               
   45e7e:	b681           	cmpl %d1,%d3                                
   45e80:	675c           	beqs 45ede <iproc+0xaa>                     
    if (tty->termios.c_iflag & IGNCR)                                 
      return 0;                                                       
    if (tty->termios.c_iflag & ICRNL)                                 
      c = '\n';                                                       
  } else if ((c == '\n') && (tty->termios.c_iflag & INLCR)) {         
   45e82:	760a           	moveq #10,%d3                               
   45e84:	b681           	cmpl %d1,%d3                                
   45e86:	6700 00d2      	beqw 45f5a <iproc+0x126>                    
    c = '\r';                                                         
  }                                                                   
                                                                      
  if ((c != '\0') && (tty->termios.c_lflag & ICANON)) {               
   45e8a:	4a02           	tstb %d2                                    
   45e8c:	665c           	bnes 45eea <iproc+0xb6>                     <== ALWAYS TAKEN
  }                                                                   
                                                                      
  /*                                                                  
   * FIXME: Should do IMAXBEL handling somehow                        
   */                                                                 
  if (tty->ccount < (CBUFSIZE-1)) {                                   
   45e8e:	2039 0005 e2a4 	movel 5e2a4 <rtems_termios_cbufsize>,%d0    
   45e94:	5380           	subql #1,%d0                                
   45e96:	222a 0020      	movel %a2@(32),%d1                          
   45e9a:	b081           	cmpl %d1,%d0                                
   45e9c:	6334           	blss 45ed2 <iproc+0x9e>                     <== NEVER TAKEN
    if (tty->termios.c_lflag & ECHO)                                  
   45e9e:	7008           	moveq #8,%d0                                
   45ea0:	c0aa 003c      	andl %a2@(60),%d0                           
   45ea4:	6600 00c8      	bnew 45f6e <iproc+0x13a>                    
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
   45ea8:	206a 001c      	moveal %a2@(28),%a0                         <== NOT EXECUTED
  }                                                                   
  return 0;                                                           
   45eac:	4280           	clrl %d0                                    <== NOT EXECUTED
   * FIXME: Should do IMAXBEL handling somehow                        
   */                                                                 
  if (tty->ccount < (CBUFSIZE-1)) {                                   
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
   45eae:	1182 1800      	moveb %d2,%a0@(00000000,%d1:l)              <== NOT EXECUTED
   45eb2:	5281           	addql #1,%d1                                <== NOT EXECUTED
   45eb4:	2541 0020      	movel %d1,%a2@(32)                          <== NOT EXECUTED
  }                                                                   
  return 0;                                                           
}                                                                     
   45eb8:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   45ebe:	4e5e           	unlk %fp                                    
   45ec0:	4e75           	rts                                         
 * FIXME: Some of the tests should check for IEXTEN, too.             
 */                                                                   
static void                                                           
erase (struct rtems_termios_tty *tty, int lineFlag)                   
{                                                                     
  if (tty->ccount == 0)                                               
   45ec2:	4aaa 0020      	tstl %a2@(32)                               
   45ec6:	670a           	beqs 45ed2 <iproc+0x9e>                     
   45ec8:	42a7           	clrl %sp@-                                  
   45eca:	2f0a           	movel %a2,%sp@-                             
   45ecc:	4eba fdc4      	jsr %pc@(45c92 <erase.part.2>)              
   45ed0:	508f           	addql #8,%sp                                
  }                                                                   
                                                                      
  if ((c != '\0') && (tty->termios.c_lflag & ICANON)) {               
    if (c == tty->termios.c_cc[VERASE]) {                             
      erase (tty, 0);                                                 
      return 0;                                                       
   45ed2:	4280           	clrl %d0                                    
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
  }                                                                   
  return 0;                                                           
}                                                                     
   45ed4:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   45eda:	4e5e           	unlk %fp                                    
   45edc:	4e75           	rts                                         
                                                                      
  if (tty->termios.c_iflag & IUCLC)                                   
    c = tolower (c);                                                  
                                                                      
  if (c == '\r') {                                                    
    if (tty->termios.c_iflag & IGNCR)                                 
   45ede:	4a00           	tstb %d0                                    
   45ee0:	6df0           	blts 45ed2 <iproc+0x9e>                     <== NEVER TAKEN
      return 0;                                                       
    if (tty->termios.c_iflag & ICRNL)                                 
   45ee2:	0800 0008      	btst #8,%d0                                 
   45ee6:	6702           	beqs 45eea <iproc+0xb6>                     <== NEVER TAKEN
      c = '\n';                                                       
   45ee8:	740a           	moveq #10,%d2                               
  } else if ((c == '\n') && (tty->termios.c_iflag & INLCR)) {         
    c = '\r';                                                         
  }                                                                   
                                                                      
  if ((c != '\0') && (tty->termios.c_lflag & ICANON)) {               
   45eea:	222a 003c      	movel %a2@(60),%d1                          
   45eee:	0801 0001      	btst #1,%d1                                 
   45ef2:	679a           	beqs 45e8e <iproc+0x5a>                     
    if (c == tty->termios.c_cc[VERASE]) {                             
   45ef4:	4283           	clrl %d3                                    
   45ef6:	162a 0043      	moveb %a2@(67),%d3                          
   45efa:	4280           	clrl %d0                                    
   45efc:	1002           	moveb %d2,%d0                               
   45efe:	b083           	cmpl %d3,%d0                                
   45f00:	67c0           	beqs 45ec2 <iproc+0x8e>                     
      erase (tty, 0);                                                 
      return 0;                                                       
    }                                                                 
    else if (c == tty->termios.c_cc[VKILL]) {                         
   45f02:	4283           	clrl %d3                                    
   45f04:	162a 0044      	moveb %a2@(68),%d3                          
   45f08:	b083           	cmpl %d3,%d0                                
   45f0a:	6700 00a8      	beqw 45fb4 <iproc+0x180>                    
      erase (tty, 1);                                                 
      return 0;                                                       
    }                                                                 
    else if (c == tty->termios.c_cc[VEOF]) {                          
   45f0e:	4283           	clrl %d3                                    
   45f10:	162a 0045      	moveb %a2@(69),%d3                          
   45f14:	b083           	cmpl %d3,%d0                                
   45f16:	6700 0110      	beqw 46028 <iproc+0x1f4>                    
      return 1;                                                       
    } else if (c == '\n') {                                           
   45f1a:	760a           	moveq #10,%d3                               
   45f1c:	b680           	cmpl %d0,%d3                                
   45f1e:	6700 00be      	beqw 45fde <iproc+0x1aa>                    
      if (tty->termios.c_lflag & (ECHO | ECHONL))                     
        echo (c, tty);                                                
      tty->cbuf[tty->ccount++] = c;                                   
      return 1;                                                       
    } else if ((c == tty->termios.c_cc[VEOL]) ||                      
   45f22:	4283           	clrl %d3                                    
   45f24:	162a 004c      	moveb %a2@(76),%d3                          
   45f28:	b083           	cmpl %d3,%d0                                
   45f2a:	670c           	beqs 45f38 <iproc+0x104>                    <== NEVER TAKEN
   45f2c:	4283           	clrl %d3                                    
   45f2e:	162a 0051      	moveb %a2@(81),%d3                          
   45f32:	b083           	cmpl %d3,%d0                                
   45f34:	6600 ff58      	bnew 45e8e <iproc+0x5a>                     
               (c == tty->termios.c_cc[VEOL2])) {                     
      if (tty->termios.c_lflag & ECHO)                                
   45f38:	44c1           	movew %d1,%ccr                              <== NOT EXECUTED
   45f3a:	6b58           	bmis 45f94 <iproc+0x160>                    <== NOT EXECUTED
        echo (c, tty);                                                
      tty->cbuf[tty->ccount++] = c;                                   
   45f3c:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
      return 1;                                                       
   45f40:	7001           	moveq #1,%d0                                <== NOT EXECUTED
      return 1;                                                       
    } else if ((c == tty->termios.c_cc[VEOL]) ||                      
               (c == tty->termios.c_cc[VEOL2])) {                     
      if (tty->termios.c_lflag & ECHO)                                
        echo (c, tty);                                                
      tty->cbuf[tty->ccount++] = c;                                   
   45f42:	206a 001c      	moveal %a2@(28),%a0                         <== NOT EXECUTED
   45f46:	1182 1800      	moveb %d2,%a0@(00000000,%d1:l)              <== NOT EXECUTED
   45f4a:	5281           	addql #1,%d1                                <== NOT EXECUTED
   45f4c:	2541 0020      	movel %d1,%a2@(32)                          <== NOT EXECUTED
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
  }                                                                   
  return 0;                                                           
}                                                                     
   45f50:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   45f56:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   45f58:	4e75           	rts                                         <== NOT EXECUTED
  if (c == '\r') {                                                    
    if (tty->termios.c_iflag & IGNCR)                                 
      return 0;                                                       
    if (tty->termios.c_iflag & ICRNL)                                 
      c = '\n';                                                       
  } else if ((c == '\n') && (tty->termios.c_iflag & INLCR)) {         
   45f5a:	0800 0006      	btst #6,%d0                                 
   45f5e:	678a           	beqs 45eea <iproc+0xb6>                     <== ALWAYS TAKEN
    c = '\r';                                                         
   45f60:	740d           	moveq #13,%d2                               <== NOT EXECUTED
   45f62:	6086           	bras 45eea <iproc+0xb6>                     <== NOT EXECUTED
{                                                                     
  if (tty->termios.c_iflag & ISTRIP)                                  
    c &= 0x7f;                                                        
                                                                      
  if (tty->termios.c_iflag & IUCLC)                                   
    c = tolower (c);                                                  
   45f64:	0682 0000 0020 	addil #32,%d2                               
   45f6a:	6000 ff0c      	braw 45e78 <iproc+0x44>                     
  /*                                                                  
   * FIXME: Should do IMAXBEL handling somehow                        
   */                                                                 
  if (tty->ccount < (CBUFSIZE-1)) {                                   
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
   45f6e:	2f0a           	movel %a2,%sp@-                             
   45f70:	4280           	clrl %d0                                    
   45f72:	1002           	moveb %d2,%d0                               
   45f74:	2f00           	movel %d0,%sp@-                             
   45f76:	4eba fc90      	jsr %pc@(45c08 <echo>)                      
   45f7a:	222a 0020      	movel %a2@(32),%d1                          
   45f7e:	508f           	addql #8,%sp                                
    tty->cbuf[tty->ccount++] = c;                                     
  }                                                                   
  return 0;                                                           
   45f80:	4280           	clrl %d0                                    
   * FIXME: Should do IMAXBEL handling somehow                        
   */                                                                 
  if (tty->ccount < (CBUFSIZE-1)) {                                   
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
   45f82:	206a 001c      	moveal %a2@(28),%a0                         
   45f86:	1182 1800      	moveb %d2,%a0@(00000000,%d1:l)              
   45f8a:	5281           	addql #1,%d1                                
   45f8c:	2541 0020      	movel %d1,%a2@(32)                          
   45f90:	6000 ff26      	braw 45eb8 <iproc+0x84>                     
      tty->cbuf[tty->ccount++] = c;                                   
      return 1;                                                       
    } else if ((c == tty->termios.c_cc[VEOL]) ||                      
               (c == tty->termios.c_cc[VEOL2])) {                     
      if (tty->termios.c_lflag & ECHO)                                
        echo (c, tty);                                                
   45f94:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   45f96:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45f98:	4eba fc6e      	jsr %pc@(45c08 <echo>)                      <== NOT EXECUTED
      tty->cbuf[tty->ccount++] = c;                                   
   45f9c:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
      tty->cbuf[tty->ccount++] = c;                                   
      return 1;                                                       
    } else if ((c == tty->termios.c_cc[VEOL]) ||                      
               (c == tty->termios.c_cc[VEOL2])) {                     
      if (tty->termios.c_lflag & ECHO)                                
        echo (c, tty);                                                
   45fa0:	508f           	addql #8,%sp                                <== NOT EXECUTED
      tty->cbuf[tty->ccount++] = c;                                   
      return 1;                                                       
   45fa2:	7001           	moveq #1,%d0                                <== NOT EXECUTED
      return 1;                                                       
    } else if ((c == tty->termios.c_cc[VEOL]) ||                      
               (c == tty->termios.c_cc[VEOL2])) {                     
      if (tty->termios.c_lflag & ECHO)                                
        echo (c, tty);                                                
      tty->cbuf[tty->ccount++] = c;                                   
   45fa4:	206a 001c      	moveal %a2@(28),%a0                         <== NOT EXECUTED
   45fa8:	1182 1800      	moveb %d2,%a0@(00000000,%d1:l)              <== NOT EXECUTED
   45fac:	5281           	addql #1,%d1                                <== NOT EXECUTED
   45fae:	2541 0020      	movel %d1,%a2@(32)                          <== NOT EXECUTED
   45fb2:	609c           	bras 45f50 <iproc+0x11c>                    <== NOT EXECUTED
 * FIXME: Some of the tests should check for IEXTEN, too.             
 */                                                                   
static void                                                           
erase (struct rtems_termios_tty *tty, int lineFlag)                   
{                                                                     
  if (tty->ccount == 0)                                               
   45fb4:	4aaa 0020      	tstl %a2@(32)                               
   45fb8:	6700 ff18      	beqw 45ed2 <iproc+0x9e>                     
    return;                                                           
  if (lineFlag) {                                                     
    if (!(tty->termios.c_lflag & ECHO)) {                             
   45fbc:	44c1           	movew %d1,%ccr                              
   45fbe:	6a74           	bpls 46034 <iproc+0x200>                    <== NEVER TAKEN
      tty->ccount = 0;                                                
      return;                                                         
    }                                                                 
    if (!(tty->termios.c_lflag & ECHOE)) {                            
   45fc0:	0801 0004      	btst #4,%d1                                 
   45fc4:	677e           	beqs 46044 <iproc+0x210>                    <== NEVER TAKEN
   45fc6:	4878 0001      	pea 1 <ADD>                                 
   45fca:	2f0a           	movel %a2,%sp@-                             
   45fcc:	4eba fcc4      	jsr %pc@(45c92 <erase.part.2>)              
   45fd0:	508f           	addql #8,%sp                                
      erase (tty, 0);                                                 
      return 0;                                                       
    }                                                                 
    else if (c == tty->termios.c_cc[VKILL]) {                         
      erase (tty, 1);                                                 
      return 0;                                                       
   45fd2:	4280           	clrl %d0                                    
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
  }                                                                   
  return 0;                                                           
}                                                                     
   45fd4:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   45fda:	4e5e           	unlk %fp                                    
   45fdc:	4e75           	rts                                         
      return 0;                                                       
    }                                                                 
    else if (c == tty->termios.c_cc[VEOF]) {                          
      return 1;                                                       
    } else if (c == '\n') {                                           
      if (tty->termios.c_lflag & (ECHO | ECHONL))                     
   45fde:	7048           	moveq #72,%d0                               
   45fe0:	c280           	andl %d0,%d1                                
   45fe2:	6620           	bnes 46004 <iproc+0x1d0>                    <== ALWAYS TAKEN
        echo (c, tty);                                                
      tty->cbuf[tty->ccount++] = c;                                   
   45fe4:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
      return 1;                                                       
   45fe8:	7001           	moveq #1,%d0                                <== NOT EXECUTED
    else if (c == tty->termios.c_cc[VEOF]) {                          
      return 1;                                                       
    } else if (c == '\n') {                                           
      if (tty->termios.c_lflag & (ECHO | ECHONL))                     
        echo (c, tty);                                                
      tty->cbuf[tty->ccount++] = c;                                   
   45fea:	206a 001c      	moveal %a2@(28),%a0                         <== NOT EXECUTED
   45fee:	740a           	moveq #10,%d2                               <== NOT EXECUTED
   45ff0:	1182 1800      	moveb %d2,%a0@(00000000,%d1:l)              <== NOT EXECUTED
   45ff4:	5281           	addql #1,%d1                                <== NOT EXECUTED
   45ff6:	2541 0020      	movel %d1,%a2@(32)                          <== NOT EXECUTED
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
  }                                                                   
  return 0;                                                           
}                                                                     
   45ffa:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   46000:	4e5e           	unlk %fp                                    
   46002:	4e75           	rts                                         
    }                                                                 
    else if (c == tty->termios.c_cc[VEOF]) {                          
      return 1;                                                       
    } else if (c == '\n') {                                           
      if (tty->termios.c_lflag & (ECHO | ECHONL))                     
        echo (c, tty);                                                
   46004:	2f0a           	movel %a2,%sp@-                             
   46006:	4878 000a      	pea a <LASTO>                               
      tty->cbuf[tty->ccount++] = c;                                   
   4600a:	740a           	moveq #10,%d2                               
    }                                                                 
    else if (c == tty->termios.c_cc[VEOF]) {                          
      return 1;                                                       
    } else if (c == '\n') {                                           
      if (tty->termios.c_lflag & (ECHO | ECHONL))                     
        echo (c, tty);                                                
   4600c:	4eba fbfa      	jsr %pc@(45c08 <echo>)                      
      tty->cbuf[tty->ccount++] = c;                                   
   46010:	222a 0020      	movel %a2@(32),%d1                          
    }                                                                 
    else if (c == tty->termios.c_cc[VEOF]) {                          
      return 1;                                                       
    } else if (c == '\n') {                                           
      if (tty->termios.c_lflag & (ECHO | ECHONL))                     
        echo (c, tty);                                                
   46014:	508f           	addql #8,%sp                                
      tty->cbuf[tty->ccount++] = c;                                   
      return 1;                                                       
   46016:	7001           	moveq #1,%d0                                
    else if (c == tty->termios.c_cc[VEOF]) {                          
      return 1;                                                       
    } else if (c == '\n') {                                           
      if (tty->termios.c_lflag & (ECHO | ECHONL))                     
        echo (c, tty);                                                
      tty->cbuf[tty->ccount++] = c;                                   
   46018:	206a 001c      	moveal %a2@(28),%a0                         
   4601c:	1182 1800      	moveb %d2,%a0@(00000000,%d1:l)              
   46020:	5281           	addql #1,%d1                                
   46022:	2541 0020      	movel %d1,%a2@(32)                          
   46026:	60d2           	bras 45ffa <iproc+0x1c6>                    
    else if (c == tty->termios.c_cc[VKILL]) {                         
      erase (tty, 1);                                                 
      return 0;                                                       
    }                                                                 
    else if (c == tty->termios.c_cc[VEOF]) {                          
      return 1;                                                       
   46028:	7001           	moveq #1,%d0                                <== NOT EXECUTED
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
  }                                                                   
  return 0;                                                           
}                                                                     
   4602a:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   46030:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   46032:	4e75           	rts                                         <== NOT EXECUTED
{                                                                     
  if (tty->ccount == 0)                                               
    return;                                                           
  if (lineFlag) {                                                     
    if (!(tty->termios.c_lflag & ECHO)) {                             
      tty->ccount = 0;                                                
   46034:	42aa 0020      	clrl %a2@(32)                               <== NOT EXECUTED
      erase (tty, 0);                                                 
      return 0;                                                       
    }                                                                 
    else if (c == tty->termios.c_cc[VKILL]) {                         
      erase (tty, 1);                                                 
      return 0;                                                       
   46038:	4280           	clrl %d0                                    <== NOT EXECUTED
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
  }                                                                   
  return 0;                                                           
}                                                                     
   4603a:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   46040:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   46042:	4e75           	rts                                         <== NOT EXECUTED
      tty->ccount = 0;                                                
      return;                                                         
    }                                                                 
    if (!(tty->termios.c_lflag & ECHOE)) {                            
      tty->ccount = 0;                                                
      echo (tty->termios.c_cc[VKILL], tty);                           
   46044:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   46046:	47fa fbc0      	lea %pc@(45c08 <echo>),%a3                  <== NOT EXECUTED
   4604a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
    if (!(tty->termios.c_lflag & ECHO)) {                             
      tty->ccount = 0;                                                
      return;                                                         
    }                                                                 
    if (!(tty->termios.c_lflag & ECHOE)) {                            
      tty->ccount = 0;                                                
   4604c:	42aa 0020      	clrl %a2@(32)                               <== NOT EXECUTED
      echo (tty->termios.c_cc[VKILL], tty);                           
   46050:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      if (tty->termios.c_lflag & ECHOK)                               
   46052:	508f           	addql #8,%sp                                <== NOT EXECUTED
   46054:	7020           	moveq #32,%d0                               <== NOT EXECUTED
   46056:	c0aa 003c      	andl %a2@(60),%d0                           <== NOT EXECUTED
   4605a:	6700 fe76      	beqw 45ed2 <iproc+0x9e>                     <== NOT EXECUTED
        echo ('\n', tty);                                             
   4605e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   46060:	4878 000a      	pea a <LASTO>                               <== NOT EXECUTED
   46064:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   46066:	508f           	addql #8,%sp                                <== NOT EXECUTED
      erase (tty, 0);                                                 
      return 0;                                                       
    }                                                                 
    else if (c == tty->termios.c_cc[VKILL]) {                         
      erase (tty, 1);                                                 
      return 0;                                                       
   46068:	4280           	clrl %d0                                    <== NOT EXECUTED
    if (tty->termios.c_lflag & ECHO)                                  
      echo (c, tty);                                                  
    tty->cbuf[tty->ccount++] = c;                                     
  }                                                                   
  return 0;                                                           
}                                                                     
   4606a:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   46070:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005bd88 <kill>: #if !defined(RTEMS_POSIX_API) int kill( pid_t pid, int sig ) { return 0; }
   5bd88:	4280           	clrl %d0                                    <== NOT EXECUTED
 *  These are directly supported (and completely correct) in the posix api.
 */                                                                   
                                                                      
#if !defined(RTEMS_POSIX_API)                                         
int kill( pid_t pid, int sig )                                        
{                                                                     
   5bd8a:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return 0;                                                           
}                                                                     
   5bd8e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043980 <libc_wrapup>: /* * In case RTEMS is already down, don't do this. It could be * dangerous. */ if (!_System_state_Is_up(_System_state_Get()))
   43980:	7003           	moveq #3,%d0                                
                                                                      
extern void _wrapup_reent(struct _reent *);                           
extern void _reclaim_reent(struct _reent *);                          
                                                                      
void libc_wrapup(void)                                                
{                                                                     
   43982:	4e56 0000      	linkw %fp,#0                                
   43986:	2f0a           	movel %a2,%sp@-                             
  /*                                                                  
   *  In case RTEMS is already down, don't do this.  It could be      
   *  dangerous.                                                      
   */                                                                 
                                                                      
  if (!_System_state_Is_up(_System_state_Get()))                      
   43988:	b0b9 0005 fb6c 	cmpl 5fb6c <_System_state_Current>,%d0      
   4398e:	6708           	beqs 43998 <libc_wrapup+0x18>               <== ALWAYS TAKEN
   */                                                                 
                                                                      
  fclose (stdin);                                                     
  fclose (stdout);                                                    
  fclose (stderr);                                                    
}                                                                     
   43990:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   43994:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43996:	4e75           	rts                                         <== NOT EXECUTED
  /*                                                                  
   *  This was already done if the user called exit() directly .      
  _wrapup_reent(0);                                                   
   */                                                                 
                                                                      
  if (_REENT != _global_impure_ptr) {                                 
   43998:	2479 0005 d9d2 	moveal 5d9d2 <_global_impure_ptr>,%a2       
   4399e:	b5f9 0005 e3d0 	cmpal 5e3d0 <_impure_ptr>,%a2               
   439a4:	6710           	beqs 439b6 <libc_wrapup+0x36>               
      _wrapup_reent(_global_impure_ptr);                              
   439a6:	2f0a           	movel %a2,%sp@-                             
   439a8:	4eb9 0004 eb92 	jsr 4eb92 <_wrapup_reent>                   
      /*  Don't reclaim this one, just in case we do printfs          
       *  on the way out to ROM.                                      
       */                                                             
      _reclaim_reent(&libc_global_reent);                             
#endif                                                                
      _REENT = _global_impure_ptr;                                    
   439ae:	588f           	addql #4,%sp                                
   439b0:	23ca 0005 e3d0 	movel %a2,5e3d0 <_impure_ptr>               
   *                                                                  
   * Should this be changed to do *all* file streams?                 
   *    _fwalk (_REENT, fclose);                                      
   */                                                                 
                                                                      
  fclose (stdin);                                                     
   439b6:	2f2a 0004      	movel %a2@(4),%sp@-                         
   439ba:	45f9 0004 e280 	lea 4e280 <fclose>,%a2                      
   439c0:	4e92           	jsr %a2@                                    
  fclose (stdout);                                                    
   439c2:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   439c8:	2f28 0008      	movel %a0@(8),%sp@-                         
   439cc:	4e92           	jsr %a2@                                    
  fclose (stderr);                                                    
   439ce:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   439d4:	2f28 000c      	movel %a0@(12),%sp@-                        
   439d8:	4e92           	jsr %a2@                                    
}                                                                     
   439da:	246e fffc      	moveal %fp@(-4),%a2                         
   *    _fwalk (_REENT, fclose);                                      
   */                                                                 
                                                                      
  fclose (stdin);                                                     
  fclose (stdout);                                                    
  fclose (stderr);                                                    
   439de:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   439e2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000433cc <malloc>: #include "malloc_p.h" void *malloc( size_t size ) {
   433cc:	4e56 0000      	linkw %fp,#0                                
  void        *return_this;                                           
                                                                      
  MSBUMP(malloc_calls, 1);                                            
   433d0:	52b9 0005 f904 	addql #1,5f904 <rtems_malloc_statistics+0x4>
#include "malloc_p.h"                                                 
                                                                      
void *malloc(                                                         
  size_t  size                                                        
)                                                                     
{                                                                     
   433d6:	2f03           	movel %d3,%sp@-                             
   433d8:	262e 0008      	movel %fp@(8),%d3                           
   433dc:	2f02           	movel %d2,%sp@-                             
  MSBUMP(malloc_calls, 1);                                            
                                                                      
  /*                                                                  
   *  If some free's have been deferred, then do them now.            
   */                                                                 
  malloc_deferred_frees_process();                                    
   433de:	4eb9 0004 32d8 	jsr 432d8 <malloc_deferred_frees_process>   
                                                                      
  /*                                                                  
   * Validate the parameters                                          
   */                                                                 
  if ( !size )                                                        
   433e4:	4a83           	tstl %d3                                    
   433e6:	6762           	beqs 4344a <malloc+0x7e>                    
    return (void *) 0;                                                
                                                                      
  /*                                                                  
   *  Do not attempt to allocate memory if not in correct system state.
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
   433e8:	7003           	moveq #3,%d0                                
   433ea:	b0b9 0005 fb6c 	cmpl 5fb6c <_System_state_Current>,%d0      
   433f0:	674e           	beqs 43440 <malloc+0x74>                    
RTEMS_INLINE_ROUTINE void *_Protected_heap_Allocate(                  
  Heap_Control *heap,                                                 
  uintptr_t size                                                      
)                                                                     
{                                                                     
  return _Protected_heap_Allocate_aligned_with_boundary( heap, size, 0, 0 );
   433f2:	42a7           	clrl %sp@-                                  
   433f4:	42a7           	clrl %sp@-                                  
   433f6:	2f03           	movel %d3,%sp@-                             
   433f8:	2f39 0005 e21c 	movel 5e21c <RTEMS_Malloc_Heap>,%sp@-       
   433fe:	4eb9 0004 917c 	jsr 4917c <_Protected_heap_Allocate_aligned_with_boundary>
   * If this fails then return a NULL pointer.                        
   */                                                                 
                                                                      
  return_this = _Protected_heap_Allocate( RTEMS_Malloc_Heap, size );  
                                                                      
  if ( !return_this ) {                                               
   43404:	4fef 0010      	lea %sp@(16),%sp                            
   43408:	2400           	movel %d0,%d2                               
   4340a:	674e           	beqs 4345a <malloc+0x8e>                    
  }                                                                   
                                                                      
  /*                                                                  
   *  If the user wants us to dirty the allocated memory, then do it. 
   */                                                                 
  if ( rtems_malloc_dirty_helper )                                    
   4340c:	2079 0005 e8c0 	moveal 5e8c0 <rtems_malloc_dirty_helper>,%a0
   43412:	4a88           	tstl %a0                                    
   43414:	6708           	beqs 4341e <malloc+0x52>                    
    (*rtems_malloc_dirty_helper)( return_this, size );                
   43416:	2f03           	movel %d3,%sp@-                             
   43418:	2f02           	movel %d2,%sp@-                             
   4341a:	4e90           	jsr %a0@                                    
   4341c:	508f           	addql #8,%sp                                
                                                                      
  /*                                                                  
   *  If configured, update the statistics                            
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
   4341e:	2079 0005 e8c4 	moveal 5e8c4 <rtems_malloc_statistics_helpers>,%a0
   43424:	4a88           	tstl %a0                                    
   43426:	670a           	beqs 43432 <malloc+0x66>                    
    (*rtems_malloc_statistics_helpers->at_malloc)(return_this);       
   43428:	2f02           	movel %d2,%sp@-                             
   4342a:	2068 0004      	moveal %a0@(4),%a0                          
   4342e:	4e90           	jsr %a0@                                    
   43430:	588f           	addql #4,%sp                                
                                                                      
  return return_this;                                                 
}                                                                     
   43432:	2002           	movel %d2,%d0                               
   43434:	242e fff8      	movel %fp@(-8),%d2                          
   43438:	262e fffc      	movel %fp@(-4),%d3                          
   4343c:	4e5e           	unlk %fp                                    
   4343e:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  Do not attempt to allocate memory if not in correct system state.
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
       !malloc_is_system_state_OK() )                                 
   43440:	4eb9 0004 32b8 	jsr 432b8 <malloc_is_system_state_OK>       
    return (void *) 0;                                                
                                                                      
  /*                                                                  
   *  Do not attempt to allocate memory if not in correct system state.
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
   43446:	4a00           	tstb %d0                                    
   43448:	66a8           	bnes 433f2 <malloc+0x26>                    <== ALWAYS TAKEN
                                                                      
  /*                                                                  
   * Validate the parameters                                          
   */                                                                 
  if ( !size )                                                        
    return (void *) 0;                                                
   4344a:	4282           	clrl %d2                                    
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_malloc)(return_this);       
                                                                      
  return return_this;                                                 
}                                                                     
   4344c:	2002           	movel %d2,%d0                               
   4344e:	242e fff8      	movel %fp@(-8),%d2                          
   43452:	262e fffc      	movel %fp@(-4),%d3                          
   43456:	4e5e           	unlk %fp                                    
   43458:	4e75           	rts                                         
   */                                                                 
                                                                      
  return_this = _Protected_heap_Allocate( RTEMS_Malloc_Heap, size );  
                                                                      
  if ( !return_this ) {                                               
    return_this = (*rtems_malloc_extend_handler)( RTEMS_Malloc_Heap, size );
   4345a:	2f03           	movel %d3,%sp@-                             
   4345c:	2f39 0005 e21c 	movel 5e21c <RTEMS_Malloc_Heap>,%sp@-       
   43462:	2079 0005 c61c 	moveal 5c61c <rtems_malloc_extend_handler>,%a0
   43468:	4e90           	jsr %a0@                                    
    if ( !return_this ) {                                             
   4346a:	508f           	addql #8,%sp                                
   */                                                                 
                                                                      
  return_this = _Protected_heap_Allocate( RTEMS_Malloc_Heap, size );  
                                                                      
  if ( !return_this ) {                                               
    return_this = (*rtems_malloc_extend_handler)( RTEMS_Malloc_Heap, size );
   4346c:	2400           	movel %d0,%d2                               
    if ( !return_this ) {                                             
   4346e:	669c           	bnes 4340c <malloc+0x40>                    <== NEVER TAKEN
      errno = ENOMEM;                                                 
   43470:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_malloc)(return_this);       
                                                                      
  return return_this;                                                 
}                                                                     
   43476:	262e fffc      	movel %fp@(-4),%d3                          
  return_this = _Protected_heap_Allocate( RTEMS_Malloc_Heap, size );  
                                                                      
  if ( !return_this ) {                                               
    return_this = (*rtems_malloc_extend_handler)( RTEMS_Malloc_Heap, size );
    if ( !return_this ) {                                             
      errno = ENOMEM;                                                 
   4347a:	2040           	moveal %d0,%a0                              
   4347c:	700c           	moveq #12,%d0                               
   4347e:	2080           	movel %d0,%a0@                              
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_malloc)(return_this);       
                                                                      
  return return_this;                                                 
}                                                                     
   43480:	2002           	movel %d2,%d0                               
   43482:	242e fff8      	movel %fp@(-8),%d2                          
   43486:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

000432d8 <malloc_deferred_frees_process>: void malloc_deferred_frees_process(void) {
   432d8:	4e56 0000      	linkw %fp,#0                                
   432dc:	2f0b           	movel %a3,%sp@-                             
                                                                      
  /*                                                                  
   *  If some free's have been deferred, then do them now.            
   */                                                                 
  while ((to_be_freed = rtems_chain_get(&RTEMS_Malloc_GC_list)) != NULL)
    free(to_be_freed);                                                
   432de:	47f9 0004 30cc 	lea 430cc <free>,%a3                        
                                                                      
  return true;                                                        
}                                                                     
                                                                      
void malloc_deferred_frees_process(void)                              
{                                                                     
   432e4:	2f0a           	movel %a2,%sp@-                             
 */                                                                   
RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get(               
  rtems_chain_control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Get( the_chain );                                     
   432e6:	4879 0005 e280 	pea 5e280 <RTEMS_Malloc_GC_list>            
   432ec:	45f9 0004 7f74 	lea 47f74 <_Chain_Get>,%a2                  
   432f2:	4e92           	jsr %a2@                                    
  rtems_chain_node  *to_be_freed;                                     
                                                                      
  /*                                                                  
   *  If some free's have been deferred, then do them now.            
   */                                                                 
  while ((to_be_freed = rtems_chain_get(&RTEMS_Malloc_GC_list)) != NULL)
   432f4:	588f           	addql #4,%sp                                
   432f6:	4a80           	tstl %d0                                    
   432f8:	6714           	beqs 4330e <malloc_deferred_frees_process+0x36>
    free(to_be_freed);                                                
   432fa:	2f00           	movel %d0,%sp@-                             
   432fc:	4e93           	jsr %a3@                                    
   432fe:	588f           	addql #4,%sp                                
   43300:	4879 0005 e280 	pea 5e280 <RTEMS_Malloc_GC_list>            
   43306:	4e92           	jsr %a2@                                    
  rtems_chain_node  *to_be_freed;                                     
                                                                      
  /*                                                                  
   *  If some free's have been deferred, then do them now.            
   */                                                                 
  while ((to_be_freed = rtems_chain_get(&RTEMS_Malloc_GC_list)) != NULL)
   43308:	588f           	addql #4,%sp                                
   4330a:	4a80           	tstl %d0                                    
   4330c:	66ec           	bnes 432fa <malloc_deferred_frees_process+0x22><== NEVER TAKEN
    free(to_be_freed);                                                
}                                                                     
   4330e:	246e fff8      	moveal %fp@(-8),%a2                         
   43312:	266e fffc      	moveal %fp@(-4),%a3                         
   43316:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004cd34 <memfile_alloc_block>: * Allocate a block for an in-memory file. */ int memfile_blocks_allocated = 0; void *memfile_alloc_block(void) {
   4cd34:	4e56 0000      	linkw %fp,#0                                
  void *memory;                                                       
                                                                      
  memory = (void *)calloc(1, IMFS_MEMFILE_BYTES_PER_BLOCK);           
   4cd38:	2f39 0005 f0f0 	movel 5f0f0 <imfs_memfile_bytes_per_block>,%sp@-
   4cd3e:	4878 0001      	pea 1 <ADD>                                 
   4cd42:	4eb9 0004 2e28 	jsr 42e28 <calloc>                          
  if ( memory )                                                       
   4cd48:	508f           	addql #8,%sp                                
   4cd4a:	4a80           	tstl %d0                                    
   4cd4c:	6706           	beqs 4cd54 <memfile_alloc_block+0x20>       <== NEVER TAKEN
    memfile_blocks_allocated++;                                       
   4cd4e:	52b9 0005 f204 	addql #1,5f204 <memfile_blocks_allocated>   
                                                                      
  return memory;                                                      
}                                                                     
   4cd54:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d206 <memfile_free_blocks_in_table>: */ static void memfile_free_blocks_in_table( block_p **block_table, int entries ) {
   4d206:	4e56 ffec      	linkw %fp,#-20                              
   4d20a:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 
   4d20e:	286e 0008      	moveal %fp@(8),%a4                          
   4d212:	47f9 0004 d1ec 	lea 4d1ec <memfile_free_block>,%a3          
   4d218:	262e 000c      	movel %fp@(12),%d3                          
  IMFS_assert( block_table );                                         
                                                                      
  /*                                                                  
   *  Now go through all the slots in the table and free the memory.  
   */                                                                 
  b = *block_table;                                                   
   4d21c:	2454           	moveal %a4@,%a2                             
                                                                      
  for ( i=0 ; i<entries ; i++ ) {                                     
   4d21e:	6f20           	bles 4d240 <memfile_free_blocks_in_table+0x3a><== NEVER TAKEN
   4d220:	4282           	clrl %d2                                    
   4d222:	47f9 0004 d1ec 	lea 4d1ec <memfile_free_block>,%a3          
    if ( b[i] ) {                                                     
   4d228:	2012           	movel %a2@,%d0                              
  /*                                                                  
   *  Now go through all the slots in the table and free the memory.  
   */                                                                 
  b = *block_table;                                                   
                                                                      
  for ( i=0 ; i<entries ; i++ ) {                                     
   4d22a:	5282           	addql #1,%d2                                
    if ( b[i] ) {                                                     
   4d22c:	4a80           	tstl %d0                                    
   4d22e:	6708           	beqs 4d238 <memfile_free_blocks_in_table+0x32>
      memfile_free_block( b[i] );                                     
   4d230:	2f00           	movel %d0,%sp@-                             
   4d232:	4e93           	jsr %a3@                                    
      b[i] = 0;                                                       
   4d234:	588f           	addql #4,%sp                                
   4d236:	4292           	clrl %a2@                                   
   4d238:	588a           	addql #4,%a2                                
  /*                                                                  
   *  Now go through all the slots in the table and free the memory.  
   */                                                                 
  b = *block_table;                                                   
                                                                      
  for ( i=0 ; i<entries ; i++ ) {                                     
   4d23a:	b682           	cmpl %d2,%d3                                
   4d23c:	66ea           	bnes 4d228 <memfile_free_blocks_in_table+0x22>
   4d23e:	2454           	moveal %a4@,%a2                             
                                                                      
  /*                                                                  
   *  Now that all the blocks in the block table are free, we can     
   *  free the block table itself.                                    
   */                                                                 
  memfile_free_block( *block_table );                                 
   4d240:	2f0a           	movel %a2,%sp@-                             
   4d242:	4e93           	jsr %a3@                                    
  *block_table = 0;                                                   
   4d244:	588f           	addql #4,%sp                                
   4d246:	4294           	clrl %a4@                                   
}                                                                     
   4d248:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   4d24e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d758 <memfile_open>: the_jnode = iop->pathinfo.node_access; /* * Perform 'copy on write' for linear files */ if ((iop->flags & LIBIO_FLAGS_WRITE)
   4d758:	7004           	moveq #4,%d0                                
  rtems_libio_t *iop,                                                 
  const char    *pathname,                                            
  int            oflag,                                               
  mode_t         mode                                                 
)                                                                     
{                                                                     
   4d75a:	4e56 0000      	linkw %fp,#0                                
   4d75e:	206e 0008      	moveal %fp@(8),%a0                          
   4d762:	2f03           	movel %d3,%sp@-                             
  the_jnode = iop->pathinfo.node_access;                              
                                                                      
  /*                                                                  
   * Perform 'copy on write' for linear files                         
   */                                                                 
  if ((iop->flags & LIBIO_FLAGS_WRITE)                                
   4d764:	c0a8 000c      	andl %a0@(12),%d0                           
  mode_t         mode                                                 
)                                                                     
{                                                                     
  IMFS_jnode_t  *the_jnode;                                           
                                                                      
  the_jnode = iop->pathinfo.node_access;                              
   4d768:	2068 0018      	moveal %a0@(24),%a0                         
  rtems_libio_t *iop,                                                 
  const char    *pathname,                                            
  int            oflag,                                               
  mode_t         mode                                                 
)                                                                     
{                                                                     
   4d76c:	2f02           	movel %d2,%sp@-                             
  the_jnode = iop->pathinfo.node_access;                              
                                                                      
  /*                                                                  
   * Perform 'copy on write' for linear files                         
   */                                                                 
  if ((iop->flags & LIBIO_FLAGS_WRITE)                                
   4d76e:	4a80           	tstl %d0                                    
   4d770:	670a           	beqs 4d77c <memfile_open+0x24>              
   4d772:	2268 004a      	moveal %a0@(74),%a1                         
   && (IMFS_type( the_jnode ) == IMFS_LINEAR_FILE)) {                 
   4d776:	7005           	moveq #5,%d0                                
   4d778:	b091           	cmpl %a1@,%d0                               
   4d77a:	670e           	beqs 4d78a <memfile_open+0x32>              <== NEVER TAKEN
     && (IMFS_memfile_write(the_jnode, 0, buffer, count) == -1))      
        return -1;                                                    
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   4d77c:	242e fff8      	movel %fp@(-8),%d2                          
    if ((count != 0)                                                  
     && (IMFS_memfile_write(the_jnode, 0, buffer, count) == -1))      
        return -1;                                                    
  }                                                                   
                                                                      
  return 0;                                                           
   4d780:	4280           	clrl %d0                                    
}                                                                     
   4d782:	262e fffc      	movel %fp@(-4),%d3                          
   4d786:	4e5e           	unlk %fp                                    
   4d788:	4e75           	rts                                         
  /*                                                                  
   * Perform 'copy on write' for linear files                         
   */                                                                 
  if ((iop->flags & LIBIO_FLAGS_WRITE)                                
   && (IMFS_type( the_jnode ) == IMFS_LINEAR_FILE)) {                 
    uint32_t   count = the_jnode->info.linearfile.size;               
   4d78a:	2028 0052      	movel %a0@(82),%d0                          <== NOT EXECUTED
    const unsigned char *buffer = the_jnode->info.linearfile.direct;  
                                                                      
    the_jnode->control = &IMFS_node_control_memfile;                  
   4d78e:	243c 0005 d766 	movel #382822,%d2                           <== NOT EXECUTED
   4d794:	2142 004a      	movel %d2,%a0@(74)                          <== NOT EXECUTED
   * Perform 'copy on write' for linear files                         
   */                                                                 
  if ((iop->flags & LIBIO_FLAGS_WRITE)                                
   && (IMFS_type( the_jnode ) == IMFS_LINEAR_FILE)) {                 
    uint32_t   count = the_jnode->info.linearfile.size;               
    const unsigned char *buffer = the_jnode->info.linearfile.direct;  
   4d798:	2228 0056      	movel %a0@(86),%d1                          <== NOT EXECUTED
                                                                      
    the_jnode->control = &IMFS_node_control_memfile;                  
    the_jnode->info.file.size            = 0;                         
   4d79c:	4282           	clrl %d2                                    <== NOT EXECUTED
   4d79e:	4283           	clrl %d3                                    <== NOT EXECUTED
    the_jnode->info.file.indirect        = 0;                         
   4d7a0:	42a8 0056      	clrl %a0@(86)                               <== NOT EXECUTED
   && (IMFS_type( the_jnode ) == IMFS_LINEAR_FILE)) {                 
    uint32_t   count = the_jnode->info.linearfile.size;               
    const unsigned char *buffer = the_jnode->info.linearfile.direct;  
                                                                      
    the_jnode->control = &IMFS_node_control_memfile;                  
    the_jnode->info.file.size            = 0;                         
   4d7a4:	2142 004e      	movel %d2,%a0@(78)                          <== NOT EXECUTED
   4d7a8:	2143 0052      	movel %d3,%a0@(82)                          <== NOT EXECUTED
    the_jnode->info.file.indirect        = 0;                         
    the_jnode->info.file.doubly_indirect = 0;                         
   4d7ac:	42a8 005a      	clrl %a0@(90)                               <== NOT EXECUTED
    the_jnode->info.file.triply_indirect = 0;                         
   4d7b0:	42a8 005e      	clrl %a0@(94)                               <== NOT EXECUTED
    if ((count != 0)                                                  
   4d7b4:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4d7b6:	67c4           	beqs 4d77c <memfile_open+0x24>              <== NOT EXECUTED
     && (IMFS_memfile_write(the_jnode, 0, buffer, count) == -1))      
   4d7b8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
        return -1;                                                    
   4d7ba:	76ff           	moveq #-1,%d3                               <== NOT EXECUTED
    the_jnode->info.file.size            = 0;                         
    the_jnode->info.file.indirect        = 0;                         
    the_jnode->info.file.doubly_indirect = 0;                         
    the_jnode->info.file.triply_indirect = 0;                         
    if ((count != 0)                                                  
     && (IMFS_memfile_write(the_jnode, 0, buffer, count) == -1))      
   4d7bc:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4d7be:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4d7c0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4d7c2:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   4d7c4:	4eb9 0004 d518 	jsr 4d518 <IMFS_memfile_write>              <== NOT EXECUTED
        return -1;                                                    
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   4d7ca:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
    the_jnode->info.file.indirect        = 0;                         
    the_jnode->info.file.doubly_indirect = 0;                         
    the_jnode->info.file.triply_indirect = 0;                         
    if ((count != 0)                                                  
     && (IMFS_memfile_write(the_jnode, 0, buffer, count) == -1))      
        return -1;                                                    
   4d7ce:	b680           	cmpl %d0,%d3                                <== NOT EXECUTED
   4d7d0:	57c0           	seq %d0                                     <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   4d7d2:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
    the_jnode->info.file.size            = 0;                         
    the_jnode->info.file.indirect        = 0;                         
    the_jnode->info.file.doubly_indirect = 0;                         
    the_jnode->info.file.triply_indirect = 0;                         
    if ((count != 0)                                                  
     && (IMFS_memfile_write(the_jnode, 0, buffer, count) == -1))      
   4d7d6:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
        return -1;                                                    
   4d7da:	49c0           	extbl %d0                                   <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   4d7dc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043614 <mount>: const void *data ) { int rv = 0; if (
   43614:	7001           	moveq #1,%d0                                
  const char                 *target,                                 
  const char                 *filesystemtype,                         
  rtems_filesystem_options_t options,                                 
  const void                 *data                                    
)                                                                     
{                                                                     
   43616:	4e56 ff84      	linkw %fp,#-124                             
   4361a:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4361e:	282e 0008      	movel %fp@(8),%d4                           
   43622:	262e 000c      	movel %fp@(12),%d3                          
   43626:	2c2e 0010      	movel %fp@(16),%d6                          
  int rv = 0;                                                         
                                                                      
  if (                                                                
   4362a:	b0ae 0014      	cmpl %fp@(20),%d0                           
   4362e:	6500 0286      	bcsw 438b6 <mount+0x2a2>                    
    options == RTEMS_FILESYSTEM_READ_ONLY                             
      || options == RTEMS_FILESYSTEM_READ_WRITE                       
  ) {                                                                 
    rtems_filesystem_fsmount_me_t fsmount_me_h =                      
   43632:	2f06           	movel %d6,%sp@-                             
   43634:	4eb9 0004 bba4 	jsr 4bba4 <rtems_filesystem_get_mount_handler>
      rtems_filesystem_get_mount_handler( filesystemtype );           
                                                                      
    if ( fsmount_me_h != NULL ) {                                     
   4363a:	588f           	addql #4,%sp                                
                                                                      
  if (                                                                
    options == RTEMS_FILESYSTEM_READ_ONLY                             
      || options == RTEMS_FILESYSTEM_READ_WRITE                       
  ) {                                                                 
    rtems_filesystem_fsmount_me_t fsmount_me_h =                      
   4363c:	2e00           	movel %d0,%d7                               
      rtems_filesystem_get_mount_handler( filesystemtype );           
                                                                      
    if ( fsmount_me_h != NULL ) {                                     
   4363e:	6700 0276      	beqw 438b6 <mount+0x2a2>                    
  const char *target_or_null,                                         
  const char *filesystemtype,                                         
  size_t *target_length_ptr                                           
)                                                                     
{                                                                     
  const char *target = target_or_null != NULL ? target_or_null : "/"; 
   43642:	4a83           	tstl %d3                                    
   43644:	6700 0212      	beqw 43858 <mount+0x244>                    
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
                                                                      
int mount(                                                            
   43648:	2f03           	movel %d3,%sp@-                             
   4364a:	45f9 0004 f488 	lea 4f488 <strlen>,%a2                      
   43650:	2d43 ffac      	movel %d3,%fp@(-84)                         
   43654:	4e92           	jsr %a2@                                    
   43656:	588f           	addql #4,%sp                                
   43658:	2a40           	moveal %d0,%a5                              
   4365a:	528d           	addql #1,%a5                                
  const char *filesystemtype,                                         
  size_t *target_length_ptr                                           
)                                                                     
{                                                                     
  const char *target = target_or_null != NULL ? target_or_null : "/"; 
  size_t filesystemtype_size = strlen( filesystemtype ) + 1;          
   4365c:	2f06           	movel %d6,%sp@-                             
   4365e:	4e92           	jsr %a2@                                    
   43660:	588f           	addql #4,%sp                                
   43662:	2400           	movel %d0,%d2                               
   43664:	2640           	moveal %d0,%a3                              
   43666:	5282           	addql #1,%d2                                
  size_t source_size = source_or_null != NULL ?                       
    strlen( source_or_null ) + 1 : 0;                                 
   43668:	4a84           	tstl %d4                                    
   4366a:	6700 0212      	beqw 4387e <mount+0x26a>                    
   4366e:	2f04           	movel %d4,%sp@-                             
   43670:	4eb9 0004 f488 	jsr 4f488 <strlen>                          
   43676:	588f           	addql #4,%sp                                
   43678:	2440           	moveal %d0,%a2                              
   4367a:	528a           	addql #1,%a2                                
  size_t target_size = strlen( target ) + 1;                          
  size_t size = sizeof( rtems_filesystem_mount_table_entry_t )        
    + filesystemtype_size + source_size + target_size                 
   4367c:	41f5 b863      	lea %a5@(00000063,%a3:l),%a0                
    + sizeof( rtems_filesystem_global_location_t );                   
  rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size ); 
   43680:	4870 a800      	pea %a0@(00000000,%a2:l)                    
   43684:	4878 0001      	pea 1 <ADD>                                 
   43688:	4eb9 0004 2e28 	jsr 42e28 <calloc>                          
                                                                      
  if ( mt_entry != NULL ) {                                           
   4368e:	508f           	addql #8,%sp                                
    strlen( source_or_null ) + 1 : 0;                                 
  size_t target_size = strlen( target ) + 1;                          
  size_t size = sizeof( rtems_filesystem_mount_table_entry_t )        
    + filesystemtype_size + source_size + target_size                 
    + sizeof( rtems_filesystem_global_location_t );                   
  rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size ); 
   43690:	2840           	moveal %d0,%a4                              
                                                                      
  if ( mt_entry != NULL ) {                                           
   43692:	4a80           	tstl %d0                                    
   43694:	6700 0206      	beqw 4389c <mount+0x288>                    
    rtems_filesystem_global_location_t *mt_fs_root =                  
      (rtems_filesystem_global_location_t *)                          
        ((char *) mt_entry + sizeof( *mt_entry ));                    
    char *str = (char *) mt_fs_root + sizeof( *mt_fs_root );          
                                                                      
    memcpy( str, filesystemtype, filesystemtype_size );               
   43698:	2f02           	movel %d2,%sp@-                             
                                                                      
  if ( mt_entry != NULL ) {                                           
    rtems_filesystem_global_location_t *mt_fs_root =                  
      (rtems_filesystem_global_location_t *)                          
        ((char *) mt_entry + sizeof( *mt_entry ));                    
    char *str = (char *) mt_fs_root + sizeof( *mt_fs_root );          
   4369a:	2a00           	movel %d0,%d5                               
   4369c:	0685 0000 0062 	addil #98,%d5                               
                                                                      
    memcpy( str, filesystemtype, filesystemtype_size );               
   436a2:	47f9 0004 e964 	lea 4e964 <memcpy>,%a3                      
    mt_entry->type = str;                                             
    str += filesystemtype_size;                                       
   436a8:	d485           	addl %d5,%d2                                
    rtems_filesystem_global_location_t *mt_fs_root =                  
      (rtems_filesystem_global_location_t *)                          
        ((char *) mt_entry + sizeof( *mt_entry ));                    
    char *str = (char *) mt_fs_root + sizeof( *mt_fs_root );          
                                                                      
    memcpy( str, filesystemtype, filesystemtype_size );               
   436aa:	2f06           	movel %d6,%sp@-                             
    + filesystemtype_size + source_size + target_size                 
    + sizeof( rtems_filesystem_global_location_t );                   
  rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size ); 
                                                                      
  if ( mt_entry != NULL ) {                                           
    rtems_filesystem_global_location_t *mt_fs_root =                  
   436ac:	2c00           	movel %d0,%d6                               
   436ae:	0686 0000 003e 	addil #62,%d6                               
      (rtems_filesystem_global_location_t *)                          
        ((char *) mt_entry + sizeof( *mt_entry ));                    
    char *str = (char *) mt_fs_root + sizeof( *mt_fs_root );          
                                                                      
    memcpy( str, filesystemtype, filesystemtype_size );               
   436b4:	2f05           	movel %d5,%sp@-                             
   436b6:	4e93           	jsr %a3@                                    
    mt_entry->type = str;                                             
    str += filesystemtype_size;                                       
                                                                      
    if ( source_or_null != NULL ) {                                   
   436b8:	4fef 000c      	lea %sp@(12),%sp                            
      (rtems_filesystem_global_location_t *)                          
        ((char *) mt_entry + sizeof( *mt_entry ));                    
    char *str = (char *) mt_fs_root + sizeof( *mt_fs_root );          
                                                                      
    memcpy( str, filesystemtype, filesystemtype_size );               
    mt_entry->type = str;                                             
   436bc:	2945 0032      	movel %d5,%a4@(50)                          
    str += filesystemtype_size;                                       
                                                                      
    if ( source_or_null != NULL ) {                                   
   436c0:	4a84           	tstl %d4                                    
   436c2:	6712           	beqs 436d6 <mount+0xc2>                     
      memcpy( str, source_or_null, source_size );                     
   436c4:	2f0a           	movel %a2,%sp@-                             
   436c6:	2f04           	movel %d4,%sp@-                             
   436c8:	2f02           	movel %d2,%sp@-                             
   436ca:	4e93           	jsr %a3@                                    
      mt_entry->dev = str;                                            
      str += source_size;                                             
   436cc:	4fef 000c      	lea %sp@(12),%sp                            
    mt_entry->type = str;                                             
    str += filesystemtype_size;                                       
                                                                      
    if ( source_or_null != NULL ) {                                   
      memcpy( str, source_or_null, source_size );                     
      mt_entry->dev = str;                                            
   436d0:	2942 0036      	movel %d2,%a4@(54)                          
      str += source_size;                                             
   436d4:	d48a           	addl %a2,%d2                                
    }                                                                 
                                                                      
    memcpy( str, target, target_size );                               
   436d6:	2f0d           	movel %a5,%sp@-                             
   436d8:	2f2e ffac      	movel %fp@(-84),%sp@-                       
        filesystemtype,                                               
        &target_length                                                
      );                                                              
                                                                      
      if ( mt_entry != NULL ) {                                       
        mt_entry->writeable = options == RTEMS_FILESYSTEM_READ_WRITE; 
   436dc:	7a01           	moveq #1,%d5                                
      memcpy( str, source_or_null, source_size );                     
      mt_entry->dev = str;                                            
      str += source_size;                                             
    }                                                                 
                                                                      
    memcpy( str, target, target_size );                               
   436de:	2f02           	movel %d2,%sp@-                             
   436e0:	4e93           	jsr %a3@                                    
  void                *starting_address,                              
  size_t               number_nodes,                                  
  size_t               node_size                                      
)                                                                     
{                                                                     
  _Chain_Initialize( the_chain, starting_address, number_nodes, node_size );
   436e2:	4878 0024      	pea 24 <OPER2+0x10>                         
    mt_entry->target = str;                                           
    str += target_size;                                               
                                                                      
    mt_entry->mounted = true;                                         
    mt_entry->mt_fs_root = mt_fs_root;                                
    mt_entry->pathconf_limits_and_options = &rtems_filesystem_default_pathconf;
   436e6:	203c 0005 d25e 	movel #381534,%d0                           
   436ec:	2940 002a      	movel %d0,%a4@(42)                          
   436f0:	4878 0001      	pea 1 <ADD>                                 
                                                                      
    memcpy( str, target, target_size );                               
    mt_entry->target = str;                                           
    str += target_size;                                               
                                                                      
    mt_entry->mounted = true;                                         
   436f4:	7001           	moveq #1,%d0                                
   436f6:	1940 0028      	moveb %d0,%a4@(40)                          
    mt_entry->mt_fs_root = mt_fs_root;                                
    mt_entry->pathconf_limits_and_options = &rtems_filesystem_default_pathconf;
                                                                      
    mt_fs_root->location.mt_entry = mt_entry;                         
    mt_fs_root->reference_count = 1;                                  
   436fa:	7001           	moveq #1,%d0                                
   436fc:	2f06           	movel %d6,%sp@-                             
   436fe:	486c 0014      	pea %a4@(20)                                
      mt_entry->dev = str;                                            
      str += source_size;                                             
    }                                                                 
                                                                      
    memcpy( str, target, target_size );                               
    mt_entry->target = str;                                           
   43702:	2942 002e      	movel %d2,%a4@(46)                          
    mt_entry->mounted = true;                                         
    mt_entry->mt_fs_root = mt_fs_root;                                
    mt_entry->pathconf_limits_and_options = &rtems_filesystem_default_pathconf;
                                                                      
    mt_fs_root->location.mt_entry = mt_entry;                         
    mt_fs_root->reference_count = 1;                                  
   43706:	2940 0056      	movel %d0,%a4@(86)                          
    memcpy( str, target, target_size );                               
    mt_entry->target = str;                                           
    str += target_size;                                               
                                                                      
    mt_entry->mounted = true;                                         
    mt_entry->mt_fs_root = mt_fs_root;                                
   4370a:	2946 0024      	movel %d6,%a4@(36)                          
    mt_entry->pathconf_limits_and_options = &rtems_filesystem_default_pathconf;
                                                                      
    mt_fs_root->location.mt_entry = mt_entry;                         
   4370e:	294c 0052      	movel %a4,%a4@(82)                          
   43712:	4eb9 0004 7fb0 	jsr 47fb0 <_Chain_Initialize>               
      );                                                              
                                                                      
      if ( mt_entry != NULL ) {                                       
        mt_entry->writeable = options == RTEMS_FILESYSTEM_READ_WRITE; 
                                                                      
        rv = (*fsmount_me_h)( mt_entry, data );                       
   43718:	2f2e 0018      	movel %fp@(24),%sp@-                        
   4371c:	2047           	moveal %d7,%a0                              
        filesystemtype,                                               
        &target_length                                                
      );                                                              
                                                                      
      if ( mt_entry != NULL ) {                                       
        mt_entry->writeable = options == RTEMS_FILESYSTEM_READ_WRITE; 
   4371e:	caae 0014      	andl %fp@(20),%d5                           
   43722:	1945 0029      	moveb %d5,%a4@(41)                          
                                                                      
        rv = (*fsmount_me_h)( mt_entry, data );                       
   43726:	2f0c           	movel %a4,%sp@-                             
   43728:	4e90           	jsr %a0@                                    
        if ( rv == 0 ) {                                              
   4372a:	4fef 0024      	lea %sp@(36),%sp                            
      );                                                              
                                                                      
      if ( mt_entry != NULL ) {                                       
        mt_entry->writeable = options == RTEMS_FILESYSTEM_READ_WRITE; 
                                                                      
        rv = (*fsmount_me_h)( mt_entry, data );                       
   4372e:	2400           	movel %d0,%d2                               
        if ( rv == 0 ) {                                              
   43730:	6600 00f6      	bnew 43828 <mount+0x214>                    
          if ( target != NULL ) {                                     
   43734:	4a83           	tstl %d3                                    
   43736:	6700 0198      	beqw 438d0 <mount+0x2bc>                    
{                                                                     
  int rv = 0;                                                         
  rtems_filesystem_eval_path_context_t ctx;                           
  int eval_flags = RTEMS_FS_PERMS_RWX                                 
    | RTEMS_FS_FOLLOW_LINK;                                           
  rtems_filesystem_location_info_t *currentloc =                      
   4373a:	4878 001f      	pea 1f <OPER2+0xb>                          
    rtems_filesystem_eval_path_start( &ctx, target, eval_flags );     
   4373e:	280e           	movel %fp,%d4                               
   43740:	0684 ffff ffc8 	addil #-56,%d4                              
{                                                                     
  int rv = 0;                                                         
  rtems_filesystem_eval_path_context_t ctx;                           
  int eval_flags = RTEMS_FS_PERMS_RWX                                 
    | RTEMS_FS_FOLLOW_LINK;                                           
  rtems_filesystem_location_info_t *currentloc =                      
   43746:	2f03           	movel %d3,%sp@-                             
   43748:	2f04           	movel %d4,%sp@-                             
   4374a:	4eb9 0004 4382 	jsr 44382 <rtems_filesystem_eval_path_start>
                                                                      
static inline bool rtems_filesystem_location_is_instance_root(        
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
   43750:	2040           	moveal %d0,%a0                              
   43752:	2268 0014      	moveal %a0@(20),%a1                         
                                                                      
  return (*mt_entry->ops->are_nodes_equal_h)(                         
   43756:	2469 000c      	moveal %a1@(12),%a2                         
   4375a:	2f29 0024      	movel %a1@(36),%sp@-                        
   4375e:	2f00           	movel %d0,%sp@-                             
   43760:	226a 0010      	moveal %a2@(16),%a1                         
   43764:	4e91           	jsr %a1@                                    
    rtems_filesystem_eval_path_start( &ctx, target, eval_flags );     
                                                                      
  if ( !rtems_filesystem_location_is_instance_root( currentloc ) ) {  
   43766:	4fef 0014      	lea %sp@(20),%sp                            
   4376a:	4a00           	tstb %d0                                    
   4376c:	6600 01ee      	bnew 4395c <mount+0x348>                    
static inline void rtems_filesystem_eval_path_extract_currentloc(     
  rtems_filesystem_eval_path_context_t *ctx,                          
  rtems_filesystem_location_info_t *get                               
)                                                                     
{                                                                     
  rtems_filesystem_location_copy_and_detach(                          
   43770:	486e ffe0      	pea %fp@(-32)                               
    rtems_filesystem_location_info_t targetloc;                       
    rtems_filesystem_global_location_t *mt_point_node;                
                                                                      
    rtems_filesystem_eval_path_extract_currentloc( &ctx, &targetloc );
   43774:	240e           	movel %fp,%d2                               
   43776:	0682 ffff ffb0 	addil #-80,%d2                              
   4377c:	2f02           	movel %d2,%sp@-                             
   4377e:	4eb9 0004 4834 	jsr 44834 <rtems_filesystem_location_copy_and_detach>
    mt_point_node = rtems_filesystem_location_transform_to_global( &targetloc );
   43784:	2f02           	movel %d2,%sp@-                             
   43786:	4eb9 0004 4a78 	jsr 44a78 <rtems_filesystem_location_transform_to_global>
   4378c:	2440           	moveal %d0,%a2                              
    mt_entry->mt_point_node = mt_point_node;                          
    rv = (*mt_point_node->location.mt_entry->ops->mount_h)( mt_entry );
   4378e:	226a 0014      	moveal %a2@(20),%a1                         
   43792:	2269 000c      	moveal %a1@(12),%a1                         
   43796:	2f0c           	movel %a4,%sp@-                             
   43798:	2269 0030      	moveal %a1@(48),%a1                         
    rtems_filesystem_location_info_t targetloc;                       
    rtems_filesystem_global_location_t *mt_point_node;                
                                                                      
    rtems_filesystem_eval_path_extract_currentloc( &ctx, &targetloc );
    mt_point_node = rtems_filesystem_location_transform_to_global( &targetloc );
    mt_entry->mt_point_node = mt_point_node;                          
   4379c:	2940 0020      	movel %d0,%a4@(32)                          
    rv = (*mt_point_node->location.mt_entry->ops->mount_h)( mt_entry );
   437a0:	4e91           	jsr %a1@                                    
    if ( rv == 0 ) {                                                  
   437a2:	4fef 0010      	lea %sp@(16),%sp                            
    rtems_filesystem_global_location_t *mt_point_node;                
                                                                      
    rtems_filesystem_eval_path_extract_currentloc( &ctx, &targetloc );
    mt_point_node = rtems_filesystem_location_transform_to_global( &targetloc );
    mt_entry->mt_point_node = mt_point_node;                          
    rv = (*mt_point_node->location.mt_entry->ops->mount_h)( mt_entry );
   437a6:	2400           	movel %d0,%d2                               
    if ( rv == 0 ) {                                                  
   437a8:	6600 0094      	bnew 4383e <mount+0x22a>                    
 */                                                                   
#include <rtems/userenv.h>                                            
                                                                      
static inline void rtems_libio_lock( void )                           
{                                                                     
  rtems_semaphore_obtain( rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
   437ac:	42a7           	clrl %sp@-                                  
   437ae:	42a7           	clrl %sp@-                                  
   437b0:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   437b6:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   437bc:	2279 0005 e294 	moveal 5e294 <rtems_filesystem_mount_table+0x8>,%a1
                                                                      
  the_node->next = tail;                                              
   437c2:	28bc 0005 e290 	movel #385680,%a4@                          
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
   437c8:	228c           	movel %a4,%a1@                              
}                                                                     
                                                                      
static inline void rtems_libio_unlock( void )                         
{                                                                     
  rtems_semaphore_release( rtems_libio_semaphore );                   
   437ca:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
   437d0:	23cc 0005 e294 	movel %a4,5e294 <rtems_filesystem_mount_table+0x8>
  old_last->next = the_node;                                          
  the_node->previous = old_last;                                      
   437d6:	2949 0004      	movel %a1,%a4@(4)                           
   437da:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
   437e0:	4fef 0010      	lea %sp@(16),%sp                            
  } else {                                                            
    rtems_filesystem_eval_path_error( &ctx, EBUSY );                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   437e4:	2f04           	movel %d4,%sp@-                             
   437e6:	4eb9 0004 44d6 	jsr 444d6 <rtems_filesystem_eval_path_cleanup>
   437ec:	588f           	addql #4,%sp                                
            rv = register_subordinate_file_system( mt_entry, target );
          } else {                                                    
            rv = register_root_file_system( mt_entry );               
          }                                                           
                                                                      
          if ( rv != 0 ) {                                            
   437ee:	4a82           	tstl %d2                                    
   437f0:	6628           	bnes 4381a <mount+0x206>                    <== NEVER TAKEN
    errno = EINVAL;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   437f2:	2002           	movel %d2,%d0                               
   437f4:	4cee 3cfc ff84 	moveml %fp@(-124),%d2-%d7/%a2-%a5           
   437fa:	4e5e           	unlk %fp                                    
   437fc:	4e75           	rts                                         
    rtems_chain_append_unprotected(                                   
      &rtems_filesystem_mount_table,                                  
      &mt_entry->mt_node                                              
    );                                                                
  } else {                                                            
    errno = EINVAL;                                                   
   437fe:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   43804:	7616           	moveq #22,%d3                               <== NOT EXECUTED
    rv = -1;                                                          
   43806:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
    rtems_chain_append_unprotected(                                   
      &rtems_filesystem_mount_table,                                  
      &mt_entry->mt_node                                              
    );                                                                
  } else {                                                            
    errno = EINVAL;                                                   
   43808:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4380a:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
   4380c:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   <== NOT EXECUTED
   43812:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         <== NOT EXECUTED
   43818:	588f           	addql #4,%sp                                <== NOT EXECUTED
          } else {                                                    
            rv = register_root_file_system( mt_entry );               
          }                                                           
                                                                      
          if ( rv != 0 ) {                                            
            (*mt_entry->ops->fsunmount_me_h)( mt_entry );             
   4381a:	226c 000c      	moveal %a4@(12),%a1                         
   4381e:	2f0c           	movel %a4,%sp@-                             
   43820:	2269 003c      	moveal %a1@(60),%a1                         
   43824:	4e91           	jsr %a1@                                    
   43826:	588f           	addql #4,%sp                                
          }                                                           
        }                                                             
                                                                      
        if ( rv != 0 ) {                                              
          free( mt_entry );                                           
   43828:	2f0c           	movel %a4,%sp@-                             
   4382a:	4eb9 0004 30cc 	jsr 430cc <free>                            
   43830:	588f           	addql #4,%sp                                
    errno = EINVAL;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43832:	2002           	movel %d2,%d0                               
   43834:	4cee 3cfc ff84 	moveml %fp@(-124),%d2-%d7/%a2-%a5           
   4383a:	4e5e           	unlk %fp                                    
   4383c:	4e75           	rts                                         
        &rtems_filesystem_mount_table,                                
        &mt_entry->mt_node                                            
      );                                                              
      rtems_filesystem_mt_unlock();                                   
    } else {                                                          
      rtems_filesystem_global_location_release( mt_point_node );      
   4383e:	2f0a           	movel %a2,%sp@-                             
   43840:	4eb9 0004 4954 	jsr 44954 <rtems_filesystem_global_location_release>
   43846:	588f           	addql #4,%sp                                
  } else {                                                            
    rtems_filesystem_eval_path_error( &ctx, EBUSY );                  
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   43848:	2f04           	movel %d4,%sp@-                             
   4384a:	4eb9 0004 44d6 	jsr 444d6 <rtems_filesystem_eval_path_cleanup>
   43850:	588f           	addql #4,%sp                                
            rv = register_subordinate_file_system( mt_entry, target );
          } else {                                                    
            rv = register_root_file_system( mt_entry );               
          }                                                           
                                                                      
          if ( rv != 0 ) {                                            
   43852:	4a82           	tstl %d2                                    
   43854:	679c           	beqs 437f2 <mount+0x1de>                    <== NEVER TAKEN
   43856:	60c2           	bras 4381a <mount+0x206>                    
  const char *target_or_null,                                         
  const char *filesystemtype,                                         
  size_t *target_length_ptr                                           
)                                                                     
{                                                                     
  const char *target = target_or_null != NULL ? target_or_null : "/"; 
   43858:	41f9 0005 d25c 	lea 5d25c <rtems_status_assoc+0x1a0>,%a0    
   4385e:	45f9 0004 f488 	lea 4f488 <strlen>,%a2                      
   43864:	3a7c 0002      	moveaw #2,%a5                               
  size_t filesystemtype_size = strlen( filesystemtype ) + 1;          
   43868:	2f06           	movel %d6,%sp@-                             
  const char *target_or_null,                                         
  const char *filesystemtype,                                         
  size_t *target_length_ptr                                           
)                                                                     
{                                                                     
  const char *target = target_or_null != NULL ? target_or_null : "/"; 
   4386a:	2d48 ffac      	movel %a0,%fp@(-84)                         
  size_t filesystemtype_size = strlen( filesystemtype ) + 1;          
   4386e:	4e92           	jsr %a2@                                    
   43870:	588f           	addql #4,%sp                                
   43872:	2400           	movel %d0,%d2                               
   43874:	2640           	moveal %d0,%a3                              
   43876:	5282           	addql #1,%d2                                
  size_t source_size = source_or_null != NULL ?                       
    strlen( source_or_null ) + 1 : 0;                                 
   43878:	4a84           	tstl %d4                                    
   4387a:	6600 fdf2      	bnew 4366e <mount+0x5a>                     
   4387e:	95ca           	subal %a2,%a2                               
  size_t target_size = strlen( target ) + 1;                          
  size_t size = sizeof( rtems_filesystem_mount_table_entry_t )        
    + filesystemtype_size + source_size + target_size                 
   43880:	41f5 b863      	lea %a5@(00000063,%a3:l),%a0                
    + sizeof( rtems_filesystem_global_location_t );                   
  rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size ); 
   43884:	4870 a800      	pea %a0@(00000000,%a2:l)                    
   43888:	4878 0001      	pea 1 <ADD>                                 
   4388c:	4eb9 0004 2e28 	jsr 42e28 <calloc>                          
                                                                      
  if ( mt_entry != NULL ) {                                           
   43892:	508f           	addql #8,%sp                                
    strlen( source_or_null ) + 1 : 0;                                 
  size_t target_size = strlen( target ) + 1;                          
  size_t size = sizeof( rtems_filesystem_mount_table_entry_t )        
    + filesystemtype_size + source_size + target_size                 
    + sizeof( rtems_filesystem_global_location_t );                   
  rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size ); 
   43894:	2840           	moveal %d0,%a4                              
                                                                      
  if ( mt_entry != NULL ) {                                           
   43896:	4a80           	tstl %d0                                    
   43898:	6600 fdfe      	bnew 43698 <mount+0x84>                     
                                                                      
        if ( rv != 0 ) {                                              
          free( mt_entry );                                           
        }                                                             
      } else {                                                        
        errno = ENOMEM;                                               
   4389c:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
        rv = -1;                                                      
   438a2:	74ff           	moveq #-1,%d2                               
                                                                      
        if ( rv != 0 ) {                                              
          free( mt_entry );                                           
        }                                                             
      } else {                                                        
        errno = ENOMEM;                                               
   438a4:	2040           	moveal %d0,%a0                              
   438a6:	700c           	moveq #12,%d0                               
   438a8:	2080           	movel %d0,%a0@                              
    errno = EINVAL;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   438aa:	2002           	movel %d2,%d0                               
   438ac:	4cee 3cfc ff84 	moveml %fp@(-124),%d2-%d7/%a2-%a5           
   438b2:	4e5e           	unlk %fp                                    
   438b4:	4e75           	rts                                         
    } else {                                                          
      errno = EINVAL;                                                 
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = EINVAL;                                                   
   438b6:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
    rv = -1;                                                          
   438bc:	74ff           	moveq #-1,%d2                               
    } else {                                                          
      errno = EINVAL;                                                 
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = EINVAL;                                                   
   438be:	7216           	moveq #22,%d1                               
   438c0:	2040           	moveal %d0,%a0                              
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   438c2:	2002           	movel %d2,%d0                               
   438c4:	4cee 3cfc ff84 	moveml %fp@(-124),%d2-%d7/%a2-%a5           
    } else {                                                          
      errno = EINVAL;                                                 
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = EINVAL;                                                   
   438ca:	2081           	movel %d1,%a0@                              
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   438cc:	4e5e           	unlk %fp                                    
   438ce:	4e75           	rts                                         
 */                                                                   
#include <rtems/userenv.h>                                            
                                                                      
static inline void rtems_libio_lock( void )                           
{                                                                     
  rtems_semaphore_obtain( rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
   438d0:	42a7           	clrl %sp@-                                  
   438d2:	42a7           	clrl %sp@-                                  
   438d4:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   438da:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
)                                                                     
{                                                                     
  int rv = 0;                                                         
                                                                      
  rtems_filesystem_mt_lock();                                         
  if ( rtems_chain_is_empty( &rtems_filesystem_mount_table ) ) {      
   438e0:	4fef 000c      	lea %sp@(12),%sp                            
   438e4:	203c 0005 e290 	movel #385680,%d0                           
   438ea:	b0b9 0005 e28c 	cmpl 5e28c <rtems_filesystem_mount_table>,%d0
   438f0:	6600 ff0c      	bnew 437fe <mount+0x1ea>                    
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   438f4:	2279 0005 e294 	moveal 5e294 <rtems_filesystem_mount_table+0x8>,%a1
  }                                                                   
  rtems_filesystem_mt_unlock();                                       
                                                                      
  if ( rv == 0 ) {                                                    
    rtems_filesystem_global_location_t *new_fs_root =                 
      rtems_filesystem_global_location_obtain( &mt_entry->mt_fs_root );
   438fa:	260c           	movel %a4,%d3                               
   438fc:	0683 0000 0024 	addil #36,%d3                               
    rv = -1;                                                          
  }                                                                   
  rtems_filesystem_mt_unlock();                                       
                                                                      
  if ( rv == 0 ) {                                                    
    rtems_filesystem_global_location_t *new_fs_root =                 
   43902:	47f9 0004 49c8 	lea 449c8 <rtems_filesystem_global_location_obtain>,%a3
      rtems_filesystem_global_location_obtain( &mt_entry->mt_fs_root );
    rtems_filesystem_global_location_t *new_fs_current =              
      rtems_filesystem_global_location_obtain( &mt_entry->mt_fs_root );
                                                                      
    rtems_filesystem_global_location_assign(                          
   43908:	45f9 0004 499e 	lea 4499e <rtems_filesystem_global_location_assign>,%a2
                                                                      
  the_node->next = tail;                                              
   4390e:	2880           	movel %d0,%a4@                              
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
   43910:	228c           	movel %a4,%a1@                              
}                                                                     
                                                                      
static inline void rtems_libio_unlock( void )                         
{                                                                     
  rtems_semaphore_release( rtems_libio_semaphore );                   
   43912:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
   43918:	23cc 0005 e294 	movel %a4,5e294 <rtems_filesystem_mount_table+0x8>
  old_last->next = the_node;                                          
  the_node->previous = old_last;                                      
   4391e:	2949 0004      	movel %a1,%a4@(4)                           
   43922:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
    rv = -1;                                                          
  }                                                                   
  rtems_filesystem_mt_unlock();                                       
                                                                      
  if ( rv == 0 ) {                                                    
    rtems_filesystem_global_location_t *new_fs_root =                 
   43928:	2f03           	movel %d3,%sp@-                             
   4392a:	4e93           	jsr %a3@                                    
   4392c:	2800           	movel %d0,%d4                               
      rtems_filesystem_global_location_obtain( &mt_entry->mt_fs_root );
    rtems_filesystem_global_location_t *new_fs_current =              
   4392e:	2f03           	movel %d3,%sp@-                             
   43930:	4e93           	jsr %a3@                                    
      rtems_filesystem_global_location_obtain( &mt_entry->mt_fs_root );
                                                                      
    rtems_filesystem_global_location_assign(                          
   43932:	2079 0005 e2ac 	moveal 5e2ac <rtems_current_user_env>,%a0   
   43938:	5888           	addql #4,%a0                                
  rtems_filesystem_mt_unlock();                                       
                                                                      
  if ( rv == 0 ) {                                                    
    rtems_filesystem_global_location_t *new_fs_root =                 
      rtems_filesystem_global_location_obtain( &mt_entry->mt_fs_root );
    rtems_filesystem_global_location_t *new_fs_current =              
   4393a:	2600           	movel %d0,%d3                               
      rtems_filesystem_global_location_obtain( &mt_entry->mt_fs_root );
                                                                      
    rtems_filesystem_global_location_assign(                          
   4393c:	2f04           	movel %d4,%sp@-                             
   4393e:	2f08           	movel %a0,%sp@-                             
   43940:	4e92           	jsr %a2@                                    
      &rtems_filesystem_root,                                         
      new_fs_root                                                     
    );                                                                
    rtems_filesystem_global_location_assign(                          
   43942:	2f03           	movel %d3,%sp@-                             
   43944:	2f39 0005 e2ac 	movel 5e2ac <rtems_current_user_env>,%sp@-  
   4394a:	4e92           	jsr %a2@                                    
   4394c:	4fef 001c      	lea %sp@(28),%sp                            
    errno = EINVAL;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43950:	2002           	movel %d2,%d0                               
   43952:	4cee 3cfc ff84 	moveml %fp@(-124),%d2-%d7/%a2-%a5           
   43958:	4e5e           	unlk %fp                                    
   4395a:	4e75           	rts                                         
      rtems_filesystem_mt_unlock();                                   
    } else {                                                          
      rtems_filesystem_global_location_release( mt_point_node );      
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error( &ctx, EBUSY );                  
   4395c:	4878 0010      	pea 10 <INVALID_OPERATION>                  
    rv = -1;                                                          
   43960:	74ff           	moveq #-1,%d2                               
      rtems_filesystem_mt_unlock();                                   
    } else {                                                          
      rtems_filesystem_global_location_release( mt_point_node );      
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error( &ctx, EBUSY );                  
   43962:	2f04           	movel %d4,%sp@-                             
   43964:	4eb9 0004 402a 	jsr 4402a <rtems_filesystem_eval_path_error>
   4396a:	508f           	addql #8,%sp                                
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   4396c:	2f04           	movel %d4,%sp@-                             
   4396e:	4eb9 0004 44d6 	jsr 444d6 <rtems_filesystem_eval_path_cleanup>
   43974:	588f           	addql #4,%sp                                
            rv = register_subordinate_file_system( mt_entry, target );
          } else {                                                    
            rv = register_root_file_system( mt_entry );               
          }                                                           
                                                                      
          if ( rv != 0 ) {                                            
   43976:	4a82           	tstl %d2                                    
   43978:	6700 fe78      	beqw 437f2 <mount+0x1de>                    
   4397c:	6000 fe9c      	braw 4381a <mount+0x206>                    
                                                                      

00047b94 <mount_and_make_target_path>: const char *target, const char *filesystemtype, rtems_filesystem_options_t options, const void *data ) {
   47b94:	4e56 ffec      	linkw %fp,#-20                              
   47b98:	48d7 007c      	moveml %d2-%d6,%sp@                         
   47b9c:	262e 0008      	movel %fp@(8),%d3                           
   47ba0:	242e 000c      	movel %fp@(12),%d2                          
   47ba4:	282e 0010      	movel %fp@(16),%d4                          
   47ba8:	2a2e 0014      	movel %fp@(20),%d5                          
   47bac:	2c2e 0018      	movel %fp@(24),%d6                          
  int rv = -1;                                                        
                                                                      
  if (target != NULL) {                                               
   47bb0:	4a82           	tstl %d2                                    
   47bb2:	673e           	beqs 47bf2 <mount_and_make_target_path+0x5e>
    rv = rtems_mkdir(target, S_IRWXU | S_IRWXG | S_IRWXO);            
   47bb4:	4878 01ff      	pea 1ff <DBL_MANT_DIG+0x1ca>                
   47bb8:	2f02           	movel %d2,%sp@-                             
   47bba:	4eb9 0004 883c 	jsr 4883c <rtems_mkdir>                     
    if (rv == 0) {                                                    
   47bc0:	508f           	addql #8,%sp                                
   47bc2:	4a80           	tstl %d0                                    
   47bc4:	670a           	beqs 47bd0 <mount_and_make_target_path+0x3c><== ALWAYS TAKEN
  } else {                                                            
    errno = EINVAL;                                                   
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   47bc6:	4cee 007c ffec 	moveml %fp@(-20),%d2-%d6                    <== NOT EXECUTED
   47bcc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   47bce:	4e75           	rts                                         <== NOT EXECUTED
  int rv = -1;                                                        
                                                                      
  if (target != NULL) {                                               
    rv = rtems_mkdir(target, S_IRWXU | S_IRWXG | S_IRWXO);            
    if (rv == 0) {                                                    
      rv = mount(                                                     
   47bd0:	2d46 0018      	movel %d6,%fp@(24)                          
   47bd4:	2d45 0014      	movel %d5,%fp@(20)                          
   47bd8:	2d44 0010      	movel %d4,%fp@(16)                          
   47bdc:	2d42 000c      	movel %d2,%fp@(12)                          
   47be0:	2d43 0008      	movel %d3,%fp@(8)                           
  } else {                                                            
    errno = EINVAL;                                                   
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   47be4:	4cee 007c ffec 	moveml %fp@(-20),%d2-%d6                    
   47bea:	4e5e           	unlk %fp                                    
  int rv = -1;                                                        
                                                                      
  if (target != NULL) {                                               
    rv = rtems_mkdir(target, S_IRWXU | S_IRWXG | S_IRWXO);            
    if (rv == 0) {                                                    
      rv = mount(                                                     
   47bec:	4ef9 0004 7c0c 	jmp 47c0c <mount>                           
        options,                                                      
        data                                                          
      );                                                              
    }                                                                 
  } else {                                                            
    errno = EINVAL;                                                   
   47bf2:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   47bf8:	7216           	moveq #22,%d1                               
   47bfa:	2040           	moveal %d0,%a0                              
  const char *filesystemtype,                                         
  rtems_filesystem_options_t options,                                 
  const void *data                                                    
)                                                                     
{                                                                     
  int rv = -1;                                                        
   47bfc:	70ff           	moveq #-1,%d0                               
  } else {                                                            
    errno = EINVAL;                                                   
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   47bfe:	4cee 007c ffec 	moveml %fp@(-20),%d2-%d6                    
        options,                                                      
        data                                                          
      );                                                              
    }                                                                 
  } else {                                                            
    errno = EINVAL;                                                   
   47c04:	2081           	movel %d1,%a0@                              
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   47c06:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00056aac <msdos_creat_node>: fat_dir_pos_t *dir_pos ) { dir_pos->sname.cln = 0; dir_pos->sname.ofs = 0; dir_pos->lname.cln = FAT_FILE_SHORT_NAME;
   56aac:	72ff           	moveq #-1,%d1                               
                 msdos_node_type_t                        type,       
                 const char                              *name,       
                 int                                      name_len,   
                 mode_t                                   mode,       
                 const fat_file_fd_t                     *link_fd)    
{                                                                     
   56aae:	4e56 ff44      	linkw %fp,#-188                             
    ssize_t           ret = 0;                                        
    msdos_fs_info_t  *fs_info = parent_loc->mt_entry->fs_info;        
    fat_file_fd_t    *parent_fat_fd = parent_loc->node_access;        
    fat_file_fd_t    *fat_fd = NULL;                                  
    time_t            time_ret = 0;                                   
    uint16_t          time_val = 0;                                   
   56ab2:	4240           	clrw %d0                                    
                 msdos_node_type_t                        type,       
                 const char                              *name,       
                 int                                      name_len,   
                 mode_t                                   mode,       
                 const fat_file_fd_t                     *link_fd)    
{                                                                     
   56ab4:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 
   56ab8:	246e 0008      	moveal %fp@(8),%a2                          
    uint32_t          sec = 0;                                        
    uint32_t          byte = 0;                                       
                                                                      
    fat_dir_pos_init(&dir_pos);                                       
                                                                      
    memset(short_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
   56abc:	47ee ff80      	lea %fp@(-128),%a3                          
                 mode_t                                   mode,       
                 const fat_file_fd_t                     *link_fd)    
{                                                                     
    int               rc = RC_OK;                                     
    ssize_t           ret = 0;                                        
    msdos_fs_info_t  *fs_info = parent_loc->mt_entry->fs_info;        
   56ac0:	206a 0014      	moveal %a2@(20),%a0                         
   56ac4:	2868 0008      	moveal %a0@(8),%a4                          
    uint32_t          byte = 0;                                       
                                                                      
    fat_dir_pos_init(&dir_pos);                                       
                                                                      
    memset(short_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
    memset(dot_dotdot, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE * 2);     
   56ac8:	4878 0040      	pea 40 <DBL_MANT_DIG+0xb>                   
                 msdos_node_type_t                        type,       
                 const char                              *name,       
                 int                                      name_len,   
                 mode_t                                   mode,       
                 const fat_file_fd_t                     *link_fd)    
{                                                                     
   56acc:	282e 0010      	movel %fp@(16),%d4                          
    uint32_t          byte = 0;                                       
                                                                      
    fat_dir_pos_init(&dir_pos);                                       
                                                                      
    memset(short_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
    memset(dot_dotdot, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE * 2);     
   56ad0:	42a7           	clrl %sp@-                                  
                 msdos_node_type_t                        type,       
                 const char                              *name,       
                 int                                      name_len,   
                 mode_t                                   mode,       
                 const fat_file_fd_t                     *link_fd)    
{                                                                     
   56ad2:	262e 0014      	movel %fp@(20),%d3                          
   56ad6:	2d41 ff78      	movel %d1,%fp@(-136)                        
    int               rc = RC_OK;                                     
    ssize_t           ret = 0;                                        
    msdos_fs_info_t  *fs_info = parent_loc->mt_entry->fs_info;        
    fat_file_fd_t    *parent_fat_fd = parent_loc->node_access;        
   56ada:	2a6a 0008      	moveal %a2@(8),%a5                          
  dir_pos->lname.ofs = FAT_FILE_SHORT_NAME;                           
   56ade:	2d41 ff7c      	movel %d1,%fp@(-132)                        
    fat_file_fd_t    *fat_fd = NULL;                                  
    time_t            time_ret = 0;                                   
    uint16_t          time_val = 0;                                   
   56ae2:	3d40 ff68      	movew %d0,%fp@(-152)                        
{                                                                     
    int               rc = RC_OK;                                     
    ssize_t           ret = 0;                                        
    msdos_fs_info_t  *fs_info = parent_loc->mt_entry->fs_info;        
    fat_file_fd_t    *parent_fat_fd = parent_loc->node_access;        
    fat_file_fd_t    *fat_fd = NULL;                                  
   56ae6:	42ae ff6c      	clrl %fp@(-148)                             
    time_t            time_ret = 0;                                   
    uint16_t          time_val = 0;                                   
    uint16_t          date = 0;                                       
   56aea:	3d40 ff6a      	movew %d0,%fp@(-150)                        
static inline void                                                    
fat_dir_pos_init(                                                     
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
   56aee:	42ae ff70      	clrl %fp@(-144)                             
  dir_pos->sname.ofs = 0;                                             
   56af2:	42ae ff74      	clrl %fp@(-140)                             
    uint32_t          sec = 0;                                        
    uint32_t          byte = 0;                                       
                                                                      
    fat_dir_pos_init(&dir_pos);                                       
                                                                      
    memset(short_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
   56af6:	4293           	clrl %a3@                                   
   56af8:	42ae ff84      	clrl %fp@(-124)                             
   56afc:	42ae ff88      	clrl %fp@(-120)                             
   56b00:	42ae ff8c      	clrl %fp@(-116)                             
   56b04:	42ae ff90      	clrl %fp@(-112)                             
   56b08:	42ae ff94      	clrl %fp@(-108)                             
   56b0c:	42ae ff98      	clrl %fp@(-104)                             
   56b10:	42ae ff9c      	clrl %fp@(-100)                             
    memset(dot_dotdot, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE * 2);     
   56b14:	486e ffc0      	pea %fp@(-64)                               
   56b18:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
                                                                      
    if (name_len > MSDOS_NAME_MAX_LFN_WITH_DOT) {                     
   56b1e:	4fef 000c      	lea %sp@(12),%sp                            
   56b22:	0c83 0000 0104 	cmpil #260,%d3                              
   56b28:	6e00 038c      	bgtw 56eb6 <msdos_creat_node+0x40a>         
        rtems_set_errno_and_return_minus_one(ENAMETOOLONG);           
    }                                                                 
                                                                      
    name_type = msdos_long_to_short (name, name_len,                  
   56b2c:	4878 000b      	pea b <LASTO+0x1>                           
   56b30:	2f0b           	movel %a3,%sp@-                             
   56b32:	2f03           	movel %d3,%sp@-                             
   56b34:	2f04           	movel %d4,%sp@-                             
   56b36:	4eb9 0005 7050 	jsr 57050 <msdos_long_to_short>             
                                     MSDOS_DIR_NAME(short_node),      
                                     MSDOS_NAME_MAX);                 
    if (name_type == MSDOS_NAME_INVALID) {                            
   56b3c:	4fef 0010      	lea %sp@(16),%sp                            
                                                                      
    if (name_len > MSDOS_NAME_MAX_LFN_WITH_DOT) {                     
        rtems_set_errno_and_return_minus_one(ENAMETOOLONG);           
    }                                                                 
                                                                      
    name_type = msdos_long_to_short (name, name_len,                  
   56b40:	2a00           	movel %d0,%d5                               
                                     MSDOS_DIR_NAME(short_node),      
                                     MSDOS_NAME_MAX);                 
    if (name_type == MSDOS_NAME_INVALID) {                            
   56b42:	6700 0384      	beqw 56ec8 <msdos_creat_node+0x41c>         
                                                                      
    /* fill reserved field */                                         
    *MSDOS_DIR_NT_RES(short_node) = MSDOS_RES_NT_VALUE;               
                                                                      
    /* set up last write date and time */                             
    time_ret = time(NULL);                                            
   56b46:	42a7           	clrl %sp@-                                  
    if (name_type == MSDOS_NAME_INVALID) {                            
        rtems_set_errno_and_return_minus_one(EINVAL);                 
    }                                                                 
                                                                      
    /* fill reserved field */                                         
    *MSDOS_DIR_NT_RES(short_node) = MSDOS_RES_NT_VALUE;               
   56b48:	4200           	clrb %d0                                    
   56b4a:	1d40 ff8c      	moveb %d0,%fp@(-116)                        
                                                                      
    /* set up last write date and time */                             
    time_ret = time(NULL);                                            
   56b4e:	4eb9 0005 eab8 	jsr 5eab8 <time>                            
    if ( time_ret == -1 )                                             
   56b54:	588f           	addql #4,%sp                                
   56b56:	72ff           	moveq #-1,%d1                               
   56b58:	b280           	cmpl %d0,%d1                                
   56b5a:	6700 037e      	beqw 56eda <msdos_creat_node+0x42e>         
        return -1;                                                    
                                                                      
    msdos_date_unix2dos(time_ret, &date, &time_val);                  
   56b5e:	486e ff68      	pea %fp@(-152)                              
                                                                      
static inline uint16_t m68k_swap_u16(                                 
  uint16_t value                                                      
)                                                                     
{                                                                     
  return (((value & 0xff) << 8) | ((value >> 8) & 0xff));             
   56b62:	4282           	clrl %d2                                    
   56b64:	486e ff6a      	pea %fp@(-150)                              
   56b68:	2f00           	movel %d0,%sp@-                             
   56b6a:	4eb9 0005 97bc 	jsr 597bc <msdos_date_unix2dos>             
    *MSDOS_DIR_LAST_ACCESS_DATE(short_node) = CT_LE_W(date);          
                                                                      
    /* initialize directory/file size */                              
    *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;           
                                                                      
    if (type == MSDOS_DIRECTORY) {                                    
   56b70:	4fef 000c      	lea %sp@(12),%sp                            
   56b74:	4281           	clrl %d1                                    
   56b76:	342e ff68      	movew %fp@(-152),%d2                        
   56b7a:	322e ff6a      	movew %fp@(-150),%d1                        
    *MSDOS_DIR_WRITE_TIME(short_node) = CT_LE_W(time_val);            
    *MSDOS_DIR_WRITE_DATE(short_node) = CT_LE_W(date);                
    *MSDOS_DIR_LAST_ACCESS_DATE(short_node) = CT_LE_W(date);          
                                                                      
    /* initialize directory/file size */                              
    *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;           
   56b7e:	42ae ff9c      	clrl %fp@(-100)                             
   56b82:	2c02           	movel %d2,%d6                               
   56b84:	2001           	movel %d1,%d0                               
   56b86:	e08e           	lsrl #8,%d6                                 
   56b88:	e088           	lsrl #8,%d0                                 
   56b8a:	e18a           	lsll #8,%d2                                 
   56b8c:	e189           	lsll #8,%d1                                 
   56b8e:	8486           	orl %d6,%d2                                 
   56b90:	8280           	orl %d0,%d1                                 
    time_ret = time(NULL);                                            
    if ( time_ret == -1 )                                             
        return -1;                                                    
                                                                      
    msdos_date_unix2dos(time_ret, &date, &time_val);                  
    *MSDOS_DIR_CRT_TIME(short_node) = CT_LE_W(time_val);              
   56b92:	3d42 ff8e      	movew %d2,%fp@(-114)                        
    *MSDOS_DIR_CRT_DATE(short_node) = CT_LE_W(date);                  
   56b96:	3d41 ff90      	movew %d1,%fp@(-112)                        
    *MSDOS_DIR_WRITE_TIME(short_node) = CT_LE_W(time_val);            
   56b9a:	3d42 ff96      	movew %d2,%fp@(-106)                        
    *MSDOS_DIR_WRITE_DATE(short_node) = CT_LE_W(date);                
   56b9e:	3d41 ff98      	movew %d1,%fp@(-104)                        
    *MSDOS_DIR_LAST_ACCESS_DATE(short_node) = CT_LE_W(date);          
   56ba2:	3d41 ff92      	movew %d1,%fp@(-110)                        
                                                                      
    /* initialize directory/file size */                              
    *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;           
                                                                      
    if (type == MSDOS_DIRECTORY) {                                    
   56ba6:	4aae 000c      	tstl %fp@(12)                               
   56baa:	6600 01ba      	bnew 56d66 <msdos_creat_node+0x2ba>         
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56bae:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   56bb0:	2c0e           	movel %fp,%d6                               <== NOT EXECUTED
   56bb2:	0686 ffff ff70 	addil #-144,%d6                             <== NOT EXECUTED
                                                                      
    /* initialize directory/file size */                              
    *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;           
                                                                      
    if (type == MSDOS_DIRECTORY) {                                    
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_DIRECTORY;            
   56bb8:	7410           	moveq #16,%d2                               <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56bba:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
                                                                      
    /* initialize directory/file size */                              
    *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;           
                                                                      
    if (type == MSDOS_DIRECTORY) {                                    
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_DIRECTORY;            
   56bbc:	102e ff8b      	moveb %fp@(-117),%d0                        <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56bc0:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
                                                                      
    /* initialize directory/file size */                              
    *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;           
                                                                      
    if (type == MSDOS_DIRECTORY) {                                    
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_DIRECTORY;            
   56bc2:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56bc4:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
                                                                      
    /* initialize directory/file size */                              
    *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;           
                                                                      
    if (type == MSDOS_DIRECTORY) {                                    
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_DIRECTORY;            
   56bc6:	1d40 ff8b      	moveb %d0,%fp@(-117)                        <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56bca:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   56bcc:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   56bd0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   56bd2:	4eb9 0005 85f8 	jsr 585f8 <msdos_get_name_node>             <== NOT EXECUTED
                             name_type, &dir_pos, short_node);        
    if ( rc != RC_OK )                                                
   56bd8:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56bdc:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                             name_type, &dir_pos, short_node);        
    if ( rc != RC_OK )                                                
   56bde:	6600 017a      	bnew 56d5a <msdos_creat_node+0x2ae>         <== NOT EXECUTED
     * to do                                                          
     */                                                               
    if (type == MSDOS_DIRECTORY)                                      
    {                                                                 
        /* open new directory as fat-file */                          
        rc = fat_file_open(&fs_info->fat, &dir_pos, &fat_fd);         
   56be2:	486e ff6c      	pea %fp@(-148)                              <== NOT EXECUTED
   56be6:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   56be8:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   56bea:	4eb9 0005 1914 	jsr 51914 <fat_file_open>                   <== NOT EXECUTED
        if (rc != RC_OK)                                              
   56bf0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
     * to do                                                          
     */                                                               
    if (type == MSDOS_DIRECTORY)                                      
    {                                                                 
        /* open new directory as fat-file */                          
        rc = fat_file_open(&fs_info->fat, &dir_pos, &fat_fd);         
   56bf4:	2400           	movel %d0,%d2                               <== NOT EXECUTED
        if (rc != RC_OK)                                              
   56bf6:	6600 01bc      	bnew 56db4 <msdos_creat_node+0x308>         <== NOT EXECUTED
                                                                      
        /*                                                            
         * we opened fat-file for node we just created, so initialize fat-file
         * descritor                                                  
         */                                                           
        fat_fd->fat_file_size = 0;                                    
   56bfa:	222e ff6c      	movel %fp@(-148),%d1                        <== NOT EXECUTED
        fat_fd->fat_file_type = FAT_DIRECTORY;                        
        fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                    
   56bfe:	2041           	moveal %d1,%a0                              <== NOT EXECUTED
        /*                                                            
         * here we can ommit FAT32 condition because for all FAT types dirs
         * right under root dir should contain 0 in dotdot entry but for
         * FAT12/16 parent_fat_fd->cluster_num always contains such value
         */                                                           
        if ((FAT_FD_OF_ROOT_DIR(parent_fat_fd)) &&                    
   56c00:	7401           	moveq #1,%d2                                <== NOT EXECUTED
         * we opened fat-file for node we just created, so initialize fat-file
         * descritor                                                  
         */                                                           
        fat_fd->fat_file_size = 0;                                    
        fat_fd->fat_file_type = FAT_DIRECTORY;                        
        fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                    
   56c02:	7020           	moveq #32,%d0                               <== NOT EXECUTED
   56c04:	4840           	swap %d0                                    <== NOT EXECUTED
                                                                      
        /*                                                            
         * we opened fat-file for node we just created, so initialize fat-file
         * descritor                                                  
         */                                                           
        fat_fd->fat_file_size = 0;                                    
   56c06:	42a8 0018      	clrl %a0@(24)                               <== NOT EXECUTED
        fat_fd->fat_file_type = FAT_DIRECTORY;                        
        fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                    
   56c0a:	2140 0014      	movel %d0,%a0@(20)                          <== NOT EXECUTED
        /*                                                            
         * we opened fat-file for node we just created, so initialize fat-file
         * descritor                                                  
         */                                                           
        fat_fd->fat_file_size = 0;                                    
        fat_fd->fat_file_type = FAT_DIRECTORY;                        
   56c0e:	42a8 0010      	clrl %a0@(16)                               <== NOT EXECUTED
                                                                      
        /*                                                            
         * dot and dotdot entries are identical to new node except the
         * names                                                      
         */                                                           
        memcpy(DOT_NODE_P(dot_dotdot), short_node,                    
   56c12:	2d53 ffc0      	movel %a3@,%fp@(-64)                        <== NOT EXECUTED
   56c16:	2d6e ff84 ffc4 	movel %fp@(-124),%fp@(-60)                  <== NOT EXECUTED
   56c1c:	2d6e ff88 ffc8 	movel %fp@(-120),%fp@(-56)                  <== NOT EXECUTED
   56c22:	2d6e ff8c ffcc 	movel %fp@(-116),%fp@(-52)                  <== NOT EXECUTED
   56c28:	2d6e ff90 ffd0 	movel %fp@(-112),%fp@(-48)                  <== NOT EXECUTED
               MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);                    
        memcpy(DOTDOT_NODE_P(dot_dotdot), short_node,                 
   56c2e:	2d53 ffe0      	movel %a3@,%fp@(-32)                        <== NOT EXECUTED
                                                                      
        /*                                                            
         * dot and dotdot entries are identical to new node except the
         * names                                                      
         */                                                           
        memcpy(DOT_NODE_P(dot_dotdot), short_node,                    
   56c32:	2d6e ff94 ffd4 	movel %fp@(-108),%fp@(-44)                  <== NOT EXECUTED
   56c38:	2d6e ff98 ffd8 	movel %fp@(-104),%fp@(-40)                  <== NOT EXECUTED
   56c3e:	2d6e ff9c ffdc 	movel %fp@(-100),%fp@(-36)                  <== NOT EXECUTED
               MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);                    
        memcpy(DOTDOT_NODE_P(dot_dotdot), short_node,                 
   56c44:	2d6e ff84 ffe4 	movel %fp@(-124),%fp@(-28)                  <== NOT EXECUTED
   56c4a:	2d6e ff88 ffe8 	movel %fp@(-120),%fp@(-24)                  <== NOT EXECUTED
   56c50:	2d6e ff8c ffec 	movel %fp@(-116),%fp@(-20)                  <== NOT EXECUTED
   56c56:	2d6e ff90 fff0 	movel %fp@(-112),%fp@(-16)                  <== NOT EXECUTED
   56c5c:	2d6e ff94 fff4 	movel %fp@(-108),%fp@(-12)                  <== NOT EXECUTED
   56c62:	2d6e ff98 fff8 	movel %fp@(-104),%fp@(-8)                   <== NOT EXECUTED
   56c68:	2d6e ff9c fffc 	movel %fp@(-100),%fp@(-4)                   <== NOT EXECUTED
               MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);                    
        memcpy(MSDOS_DIR_NAME(DOT_NODE_P(dot_dotdot)), MSDOS_DOT_NAME,
   56c6e:	2279 0006 a0c0 	moveal 6a0c0 <MSDOS_DOT_NAME>,%a1           <== NOT EXECUTED
   56c74:	2d59 ffc0      	movel %a1@+,%fp@(-64)                       <== NOT EXECUTED
   56c78:	2d59 ffc4      	movel %a1@+,%fp@(-60)                       <== NOT EXECUTED
               MSDOS_NAME_MAX);                                       
        memcpy(MSDOS_DIR_NAME(DOTDOT_NODE_P(dot_dotdot)), MSDOS_DOTDOT_NAME,
   56c7c:	2079 0006 a0bc 	moveal 6a0bc <MSDOS_DOTDOT_NAME>,%a0        <== NOT EXECUTED
         */                                                           
        memcpy(DOT_NODE_P(dot_dotdot), short_node,                    
               MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);                    
        memcpy(DOTDOT_NODE_P(dot_dotdot), short_node,                 
               MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);                    
        memcpy(MSDOS_DIR_NAME(DOT_NODE_P(dot_dotdot)), MSDOS_DOT_NAME,
   56c82:	3d59 ffc8      	movew %a1@+,%fp@(-56)                       <== NOT EXECUTED
   56c86:	1d51 ffca      	moveb %a1@,%fp@(-54)                        <== NOT EXECUTED
               MSDOS_NAME_MAX);                                       
        memcpy(MSDOS_DIR_NAME(DOTDOT_NODE_P(dot_dotdot)), MSDOS_DOTDOT_NAME,
   56c8a:	2d58 ffe0      	movel %a0@+,%fp@(-32)                       <== NOT EXECUTED
   56c8e:	2d58 ffe4      	movel %a0@+,%fp@(-28)                       <== NOT EXECUTED
   56c92:	3d58 ffe8      	movew %a0@+,%fp@(-24)                       <== NOT EXECUTED
   56c96:	1d50 ffea      	moveb %a0@,%fp@(-22)                        <== NOT EXECUTED
        /*                                                            
         * here we can ommit FAT32 condition because for all FAT types dirs
         * right under root dir should contain 0 in dotdot entry but for
         * FAT12/16 parent_fat_fd->cluster_num always contains such value
         */                                                           
        if ((FAT_FD_OF_ROOT_DIR(parent_fat_fd)) &&                    
   56c9a:	b4ad 0020      	cmpl %a5@(32),%d2                           <== NOT EXECUTED
   56c9e:	6700 01f0      	beqw 56e90 <msdos_creat_node+0x3e4>         <== NOT EXECUTED
            *MSDOS_DIR_FIRST_CLUSTER_HI(DOTDOT_NODE_P(dot_dotdot)) = 0x0000;
        }                                                             
        else                                                          
        {                                                             
            *MSDOS_DIR_FIRST_CLUSTER_LOW(DOTDOT_NODE_P(dot_dotdot)) = 
                CT_LE_W((uint16_t  )((parent_fat_fd->cln) & 0x0000FFFF));
   56ca2:	202d 001c      	movel %a5@(28),%d0                          <== NOT EXECUTED
                                                                      
err:                                                                  
    /* mark the used 32bytes structure on the disk as free */         
    msdos_set_first_char4file_name(parent_loc->mt_entry, &dir_pos, 0xE5);
    return rc;                                                        
}                                                                     
   56ca6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   56ca8:	4240           	clrw %d0                                    <== NOT EXECUTED
   56caa:	4840           	swap %d0                                    <== NOT EXECUTED
   56cac:	0282 0000 ffff 	andil #65535,%d2                            <== NOT EXECUTED
   56cb2:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   56cb4:	2802           	movel %d2,%d4                               <== NOT EXECUTED
   56cb6:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
   56cb8:	e088           	lsrl #8,%d0                                 <== NOT EXECUTED
   56cba:	e18c           	lsll #8,%d4                                 <== NOT EXECUTED
   56cbc:	e18b           	lsll #8,%d3                                 <== NOT EXECUTED
   56cbe:	8484           	orl %d4,%d2                                 <== NOT EXECUTED
   56cc0:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
            *MSDOS_DIR_FIRST_CLUSTER_LOW(DOTDOT_NODE_P(dot_dotdot)) = 0x0000;
            *MSDOS_DIR_FIRST_CLUSTER_HI(DOTDOT_NODE_P(dot_dotdot)) = 0x0000;
        }                                                             
        else                                                          
        {                                                             
            *MSDOS_DIR_FIRST_CLUSTER_LOW(DOTDOT_NODE_P(dot_dotdot)) = 
   56cc2:	3d42 fffa      	movew %d2,%fp@(-6)                          <== NOT EXECUTED
                CT_LE_W((uint16_t  )((parent_fat_fd->cln) & 0x0000FFFF));
            *MSDOS_DIR_FIRST_CLUSTER_HI(DOTDOT_NODE_P(dot_dotdot)) =  
   56cc6:	3d40 fff4      	movew %d0,%fp@(-12)                         <== NOT EXECUTED
        /*                                                            
         * write dot and dotdot entries to new fat-file: currently fat-file
         * correspondes to a new node is zero length, so it will be extended
         * by one cluster and entries will be written                 
         */                                                           
        ret = fat_file_write(&fs_info->fat, fat_fd, 0,                
   56cca:	486e ffc0      	pea %fp@(-64)                               <== NOT EXECUTED
   56cce:	47f9 0005 22ee 	lea 522ee <fat_file_write>,%a3              <== NOT EXECUTED
   56cd4:	4878 0040      	pea 40 <DBL_MANT_DIG+0xb>                   <== NOT EXECUTED
   56cd8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   56cda:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   56cdc:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   56cde:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                             MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE * 2,   
                             (uint8_t *)dot_dotdot);                  
        if (ret < 0)                                                  
   56ce0:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   56ce4:	4a80           	tstl %d0                                    <== NOT EXECUTED
   56ce6:	6d00 00bc      	bltw 56da4 <msdos_creat_node+0x2f8>         <== NOT EXECUTED
            rc = -1;                                                  
            goto error;                                               
        }                                                             
                                                                      
        /* increment fat-file size by cluster size */                 
        fat_fd->fat_file_size += fs_info->fat.vol.bpc;                
   56cea:	4280           	clrl %d0                                    <== NOT EXECUTED
   56cec:	302c 0006      	movew %a4@(6),%d0                           <== NOT EXECUTED
   56cf0:	206e ff6c      	moveal %fp@(-148),%a0                       <== NOT EXECUTED
   56cf4:	d1a8 0018      	addl %d0,%a0@(24)                           <== NOT EXECUTED
                                                                      
        /* set up cluster num for dot entry */                        
        *MSDOS_DIR_FIRST_CLUSTER_LOW(DOT_NODE_P(dot_dotdot)) =        
                CT_LE_W((uint16_t  )((fat_fd->cln) & 0x0000FFFF));    
   56cf8:	2228 001c      	movel %a0@(28),%d1                          <== NOT EXECUTED
        *MSDOS_DIR_FIRST_CLUSTER_HI(DOT_NODE_P(dot_dotdot)) =         
                CT_LE_W((uint16_t  )(((fat_fd->cln) & 0xFFFF0000) >> 16));
                                                                      
        /* rewrite dot entry */                                       
        ret = fat_file_write(&fs_info->fat, fat_fd, 0,                
   56cfc:	486e ffc0      	pea %fp@(-64)                               <== NOT EXECUTED
                                                                      
err:                                                                  
    /* mark the used 32bytes structure on the disk as free */         
    msdos_set_first_char4file_name(parent_loc->mt_entry, &dir_pos, 0xE5);
    return rc;                                                        
}                                                                     
   56d00:	2001           	movel %d1,%d0                               <== NOT EXECUTED
                CT_LE_W((uint16_t  )((fat_fd->cln) & 0x0000FFFF));    
        *MSDOS_DIR_FIRST_CLUSTER_HI(DOT_NODE_P(dot_dotdot)) =         
                CT_LE_W((uint16_t  )(((fat_fd->cln) & 0xFFFF0000) >> 16));
                                                                      
        /* rewrite dot entry */                                       
        ret = fat_file_write(&fs_info->fat, fat_fd, 0,                
   56d02:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
                                                                      
err:                                                                  
    /* mark the used 32bytes structure on the disk as free */         
    msdos_set_first_char4file_name(parent_loc->mt_entry, &dir_pos, 0xE5);
    return rc;                                                        
}                                                                     
   56d06:	0280 0000 ffff 	andil #65535,%d0                            <== NOT EXECUTED
   56d0c:	4241           	clrw %d1                                    <== NOT EXECUTED
   56d0e:	4841           	swap %d1                                    <== NOT EXECUTED
                CT_LE_W((uint16_t  )((fat_fd->cln) & 0x0000FFFF));    
        *MSDOS_DIR_FIRST_CLUSTER_HI(DOT_NODE_P(dot_dotdot)) =         
                CT_LE_W((uint16_t  )(((fat_fd->cln) & 0xFFFF0000) >> 16));
                                                                      
        /* rewrite dot entry */                                       
        ret = fat_file_write(&fs_info->fat, fat_fd, 0,                
   56d10:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   56d12:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   56d14:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   56d16:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
   56d18:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   56d1a:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   56d1c:	e18b           	lsll #8,%d3                                 <== NOT EXECUTED
   56d1e:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   56d20:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
   56d22:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
   56d24:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
                                                                      
        /* increment fat-file size by cluster size */                 
        fat_fd->fat_file_size += fs_info->fat.vol.bpc;                
                                                                      
        /* set up cluster num for dot entry */                        
        *MSDOS_DIR_FIRST_CLUSTER_LOW(DOT_NODE_P(dot_dotdot)) =        
   56d26:	3d42 ffda      	movew %d2,%fp@(-38)                         <== NOT EXECUTED
                CT_LE_W((uint16_t  )((fat_fd->cln) & 0x0000FFFF));    
        *MSDOS_DIR_FIRST_CLUSTER_HI(DOT_NODE_P(dot_dotdot)) =         
   56d2a:	3d41 ffd4      	movew %d1,%fp@(-44)                         <== NOT EXECUTED
                CT_LE_W((uint16_t  )(((fat_fd->cln) & 0xFFFF0000) >> 16));
                                                                      
        /* rewrite dot entry */                                       
        ret = fat_file_write(&fs_info->fat, fat_fd, 0,                
   56d2e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                             MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE,       
                             (uint8_t *)DOT_NODE_P(dot_dotdot));      
        if (ret < 0)                                                  
   56d30:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   56d34:	4a80           	tstl %d0                                    <== NOT EXECUTED
   56d36:	6d6c           	blts 56da4 <msdos_creat_node+0x2f8>         <== NOT EXECUTED
            rc = -1;                                                  
            goto error;                                               
        }                                                             
                                                                      
        /* write first cluster num of a new directory to disk */      
        rc = msdos_set_first_cluster_num(parent_loc->mt_entry, fat_fd);
   56d38:	2f2e ff6c      	movel %fp@(-148),%sp@-                      <== NOT EXECUTED
   56d3c:	2f2a 0014      	movel %a2@(20),%sp@-                        <== NOT EXECUTED
   56d40:	4eb9 0005 7366 	jsr 57366 <msdos_set_first_cluster_num>     <== NOT EXECUTED
        if (rc != RC_OK)                                              
   56d46:	508f           	addql #8,%sp                                <== NOT EXECUTED
            rc = -1;                                                  
            goto error;                                               
        }                                                             
                                                                      
        /* write first cluster num of a new directory to disk */      
        rc = msdos_set_first_cluster_num(parent_loc->mt_entry, fat_fd);
   56d48:	2400           	movel %d0,%d2                               <== NOT EXECUTED
        if (rc != RC_OK)                                              
   56d4a:	665a           	bnes 56da6 <msdos_creat_node+0x2fa>         <== NOT EXECUTED
            goto error;                                               
                                                                      
        fat_file_close(&fs_info->fat, fat_fd);                        
   56d4c:	2f2e ff6c      	movel %fp@(-148),%sp@-                      <== NOT EXECUTED
   56d50:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   56d52:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  <== NOT EXECUTED
   56d58:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
err:                                                                  
    /* mark the used 32bytes structure on the disk as free */         
    msdos_set_first_char4file_name(parent_loc->mt_entry, &dir_pos, 0xE5);
    return rc;                                                        
}                                                                     
   56d5a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   56d5c:	4cee 3c7c ff44 	moveml %fp@(-188),%d2-%d6/%a2-%a5           <== NOT EXECUTED
   56d62:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   56d64:	4e75           	rts                                         <== NOT EXECUTED
    *MSDOS_DIR_FILE_SIZE(short_node) = MSDOS_INIT_DIR_SIZE;           
                                                                      
    if (type == MSDOS_DIRECTORY) {                                    
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_DIRECTORY;            
    }                                                                 
    else if (type == MSDOS_HARD_LINK) {                               
   56d66:	7002           	moveq #2,%d0                                
   56d68:	b0ae 000c      	cmpl %fp@(12),%d0                           
   56d6c:	6766           	beqs 56dd4 <msdos_creat_node+0x328>         <== NEVER TAKEN
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56d6e:	2f0b           	movel %a3,%sp@-                             
   56d70:	486e ff70      	pea %fp@(-144)                              
       * set "archive bit" due to changes                             
       */                                                             
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;              
    }                                                                 
    else { /* regular file... */                                      
        *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;            
   56d74:	7420           	moveq #32,%d2                               
   56d76:	102e ff8b      	moveb %fp@(-117),%d0                        
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56d7a:	2f05           	movel %d5,%sp@-                             
       * set "archive bit" due to changes                             
       */                                                             
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;              
    }                                                                 
    else { /* regular file... */                                      
        *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;            
   56d7c:	8082           	orl %d2,%d0                                 
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56d7e:	2f03           	movel %d3,%sp@-                             
       * set "archive bit" due to changes                             
       */                                                             
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;              
    }                                                                 
    else { /* regular file... */                                      
        *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;            
   56d80:	1d40 ff8b      	moveb %d0,%fp@(-117)                        
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56d84:	2f04           	movel %d4,%sp@-                             
   56d86:	4878 0001      	pea 1 <ADD>                                 
   56d8a:	2f0a           	movel %a2,%sp@-                             
   56d8c:	4eb9 0005 85f8 	jsr 585f8 <msdos_get_name_node>             
   56d92:	4fef 001c      	lea %sp@(28),%sp                            
   56d96:	2400           	movel %d0,%d2                               
                                                                      
err:                                                                  
    /* mark the used 32bytes structure on the disk as free */         
    msdos_set_first_char4file_name(parent_loc->mt_entry, &dir_pos, 0xE5);
    return rc;                                                        
}                                                                     
   56d98:	2002           	movel %d2,%d0                               
   56d9a:	4cee 3c7c ff44 	moveml %fp@(-188),%d2-%d6/%a2-%a5           
   56da0:	4e5e           	unlk %fp                                    
   56da2:	4e75           	rts                                         
        ret = fat_file_write(&fs_info->fat, fat_fd, 0,                
                             MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE * 2,   
                             (uint8_t *)dot_dotdot);                  
        if (ret < 0)                                                  
        {                                                             
            rc = -1;                                                  
   56da4:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
    }                                                                 
    return RC_OK;                                                     
                                                                      
error:                                                                
    fat_file_close(&fs_info->fat, fat_fd);                            
   56da6:	2f2e ff6c      	movel %fp@(-148),%sp@-                      <== NOT EXECUTED
   56daa:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   56dac:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  <== NOT EXECUTED
   56db2:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
err:                                                                  
    /* mark the used 32bytes structure on the disk as free */         
    msdos_set_first_char4file_name(parent_loc->mt_entry, &dir_pos, 0xE5);
   56db4:	4878 00e5      	pea e5 <DBL_MANT_DIG+0xb0>                  <== NOT EXECUTED
   56db8:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   56dba:	2f2a 0014      	movel %a2@(20),%sp@-                        <== NOT EXECUTED
   56dbe:	4eb9 0005 7558 	jsr 57558 <msdos_set_first_char4file_name>  <== NOT EXECUTED
   56dc4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    return rc;                                                        
}                                                                     
   56dc8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   56dca:	4cee 3c7c ff44 	moveml %fp@(-188),%d2-%d6/%a2-%a5           <== NOT EXECUTED
   56dd0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   56dd2:	4e75           	rts                                         <== NOT EXECUTED
       * node to the newly created                                    
       */                                                             
      /*                                                              
       * read the original directory entry                            
       */                                                             
      sec = fat_cluster_num_to_sector_num(&fs_info->fat,              
   56dd4:	206e 001c      	moveal %fp@(28),%a0                         <== NOT EXECUTED
   56dd8:	2028 0020      	movel %a0@(32),%d0                          <== NOT EXECUTED
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   56ddc:	6600 00a0      	bnew 56e7e <msdos_creat_node+0x3d2>         <== NOT EXECUTED
   56de0:	7403           	moveq #3,%d2                                <== NOT EXECUTED
   56de2:	122c 000e      	moveb %a4@(14),%d1                          <== NOT EXECUTED
   56de6:	c282           	andl %d2,%d1                                <== NOT EXECUTED
   56de8:	4a01           	tstb %d1                                    <== NOT EXECUTED
   56dea:	6700 0092      	beqw 56e7e <msdos_creat_node+0x3d2>         <== NOT EXECUTED
        return fs_info->vol.rdir_loc;                                 
   56dee:	202c 001e      	movel %a4@(30),%d0                          <== NOT EXECUTED
                                          link_fd->dir_pos.sname.cln);
      sec += (link_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);
      byte = (link_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));
                                                                      
      ret = _fat_block_read(&fs_info->fat,                            
   56df2:	486e ffa0      	pea %fp@(-96)                               <== NOT EXECUTED
       * read the original directory entry                            
       */                                                             
      sec = fat_cluster_num_to_sector_num(&fs_info->fat,              
                                          link_fd->dir_pos.sname.cln);
      sec += (link_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);
      byte = (link_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));
   56df6:	4282           	clrl %d2                                    <== NOT EXECUTED
                                                                      
      ret = _fat_block_read(&fs_info->fat,                            
   56df8:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
      /*                                                              
       * read the original directory entry                            
       */                                                             
      sec = fat_cluster_num_to_sector_num(&fs_info->fat,              
                                          link_fd->dir_pos.sname.cln);
      sec += (link_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);
   56dfc:	206e 001c      	moveal %fp@(28),%a0                         <== NOT EXECUTED
      byte = (link_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));
   56e00:	3414           	movew %a4@,%d2                              <== NOT EXECUTED
      /*                                                              
       * read the original directory entry                            
       */                                                             
      sec = fat_cluster_num_to_sector_num(&fs_info->fat,              
                                          link_fd->dir_pos.sname.cln);
      sec += (link_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);
   56e02:	2228 0024      	movel %a0@(36),%d1                          <== NOT EXECUTED
      byte = (link_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));
   56e06:	5382           	subql #1,%d2                                <== NOT EXECUTED
                                                                      
      ret = _fat_block_read(&fs_info->fat,                            
   56e08:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   56e0a:	c481           	andl %d1,%d2                                <== NOT EXECUTED
   56e0c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
      /*                                                              
       * read the original directory entry                            
       */                                                             
      sec = fat_cluster_num_to_sector_num(&fs_info->fat,              
                                          link_fd->dir_pos.sname.cln);
      sec += (link_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);
   56e0e:	4282           	clrl %d2                                    <== NOT EXECUTED
   56e10:	142c 0002      	moveb %a4@(2),%d2                           <== NOT EXECUTED
   56e14:	e4a9           	lsrl %d2,%d1                                <== NOT EXECUTED
      byte = (link_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));
                                                                      
      ret = _fat_block_read(&fs_info->fat,                            
   56e16:	4870 1800      	pea %a0@(00000000,%d1:l)                    <== NOT EXECUTED
   56e1a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   56e1c:	4eb9 0005 29c4 	jsr 529c4 <_fat_block_read>                 <== NOT EXECUTED
                            sec, byte, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE,
                            link_node);                               
      if (ret < 0) {                                                  
   56e22:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   56e26:	4a80           	tstl %d0                                    <== NOT EXECUTED
   56e28:	6d00 00b0      	bltw 56eda <msdos_creat_node+0x42e>         <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56e2c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   56e2e:	486e ff70      	pea %fp@(-144)                              <== NOT EXECUTED
      *MSDOS_DIR_FIRST_CLUSTER_HI(short_node) =                       
           *MSDOS_DIR_FIRST_CLUSTER_HI(link_node);                    
      /*                                                              
       * set "archive bit" due to changes                             
       */                                                             
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;              
   56e32:	7220           	moveq #32,%d1                               <== NOT EXECUTED
   56e34:	102e ffab      	moveb %fp@(-85),%d0                         <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56e38:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
      *MSDOS_DIR_CRT_DATE(short_node)      =*MSDOS_DIR_CRT_DATE(link_node);
                                                                      
      /*                                                              
       * copy/set "file size", "first cluster"                        
       */                                                             
      *MSDOS_DIR_FILE_SIZE(short_node)     =*MSDOS_DIR_FILE_SIZE(link_node);
   56e3a:	2d6e ffbc ff9c 	movel %fp@(-68),%fp@(-100)                  <== NOT EXECUTED
      *MSDOS_DIR_FIRST_CLUSTER_HI(short_node) =                       
           *MSDOS_DIR_FIRST_CLUSTER_HI(link_node);                    
      /*                                                              
       * set "archive bit" due to changes                             
       */                                                             
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;              
   56e40:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56e42:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
      }                                                               
      /*                                                              
       * copy various attributes                                      
       */                                                             
      *MSDOS_DIR_ATTR(short_node)          =*MSDOS_DIR_ATTR(link_node);
      *MSDOS_DIR_CRT_TIME_TENTH(short_node)=*MSDOS_DIR_CRT_TIME_TENTH(link_node);
   56e44:	1d6e ffad ff8d 	moveb %fp@(-83),%fp@(-115)                  <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56e4a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   56e4c:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
      /*                                                              
       * copy various attributes                                      
       */                                                             
      *MSDOS_DIR_ATTR(short_node)          =*MSDOS_DIR_ATTR(link_node);
      *MSDOS_DIR_CRT_TIME_TENTH(short_node)=*MSDOS_DIR_CRT_TIME_TENTH(link_node);
      *MSDOS_DIR_CRT_TIME(short_node)      =*MSDOS_DIR_CRT_TIME(link_node);
   56e50:	3d6e ffae ff8e 	movew %fp@(-82),%fp@(-114)                  <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56e56:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
       * copy various attributes                                      
       */                                                             
      *MSDOS_DIR_ATTR(short_node)          =*MSDOS_DIR_ATTR(link_node);
      *MSDOS_DIR_CRT_TIME_TENTH(short_node)=*MSDOS_DIR_CRT_TIME_TENTH(link_node);
      *MSDOS_DIR_CRT_TIME(short_node)      =*MSDOS_DIR_CRT_TIME(link_node);
      *MSDOS_DIR_CRT_DATE(short_node)      =*MSDOS_DIR_CRT_DATE(link_node);
   56e58:	3d6e ffb0 ff90 	movew %fp@(-80),%fp@(-112)                  <== NOT EXECUTED
      /*                                                              
       * copy/set "file size", "first cluster"                        
       */                                                             
      *MSDOS_DIR_FILE_SIZE(short_node)     =*MSDOS_DIR_FILE_SIZE(link_node);
                                                                      
      *MSDOS_DIR_FIRST_CLUSTER_LOW(short_node) =                      
   56e5e:	3d6e ffba ff9a 	movew %fp@(-70),%fp@(-102)                  <== NOT EXECUTED
           *MSDOS_DIR_FIRST_CLUSTER_LOW(link_node);                   
      *MSDOS_DIR_FIRST_CLUSTER_HI(short_node) =                       
   56e64:	3d6e ffb4 ff94 	movew %fp@(-76),%fp@(-108)                  <== NOT EXECUTED
           *MSDOS_DIR_FIRST_CLUSTER_HI(link_node);                    
      /*                                                              
       * set "archive bit" due to changes                             
       */                                                             
      *MSDOS_DIR_ATTR(short_node) |= MSDOS_ATTR_ARCHIVE;              
   56e6a:	1d40 ff8b      	moveb %d0,%fp@(-117)                        <== NOT EXECUTED
                                                                      
    /*                                                                
     * find free space in the parent directory and write new initialized
     * FAT 32 Bytes Directory Entry Structure to the disk             
     */                                                               
    rc = msdos_get_name_node(parent_loc, true, name, name_len,        
   56e6e:	4eb9 0005 85f8 	jsr 585f8 <msdos_get_name_node>             <== NOT EXECUTED
   56e74:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   56e78:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   56e7a:	6000 ff1c      	braw 56d98 <msdos_creat_node+0x2ec>         <== NOT EXECUTED
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   56e7e:	4281           	clrl %d1                                    <== NOT EXECUTED
   56e80:	122c 0005      	moveb %a4@(5),%d1                           <== NOT EXECUTED
   56e84:	5580           	subql #2,%d0                                <== NOT EXECUTED
   56e86:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   56e88:	d0ac 0030      	addl %a4@(48),%d0                           <== NOT EXECUTED
   56e8c:	6000 ff64      	braw 56df2 <msdos_creat_node+0x346>         <== NOT EXECUTED
        /*                                                            
         * here we can ommit FAT32 condition because for all FAT types dirs
         * right under root dir should contain 0 in dotdot entry but for
         * FAT12/16 parent_fat_fd->cluster_num always contains such value
         */                                                           
        if ((FAT_FD_OF_ROOT_DIR(parent_fat_fd)) &&                    
   56e90:	4aad 0024      	tstl %a5@(36)                               <== NOT EXECUTED
   56e94:	6600 fe0c      	bnew 56ca2 <msdos_creat_node+0x1f6>         <== NOT EXECUTED
   56e98:	143c 0004      	moveb #4,%d2                                <== NOT EXECUTED
   56e9c:	102c 000e      	moveb %a4@(14),%d0                          <== NOT EXECUTED
   56ea0:	c082           	andl %d2,%d0                                <== NOT EXECUTED
   56ea2:	4a00           	tstb %d0                                    <== NOT EXECUTED
   56ea4:	6700 fdfc      	beqw 56ca2 <msdos_creat_node+0x1f6>         <== NOT EXECUTED
            (fs_info->fat.vol.type & FAT_FAT32))                      
        {                                                             
            *MSDOS_DIR_FIRST_CLUSTER_LOW(DOTDOT_NODE_P(dot_dotdot)) = 0x0000;
   56ea8:	4240           	clrw %d0                                    <== NOT EXECUTED
   56eaa:	3d40 fffa      	movew %d0,%fp@(-6)                          <== NOT EXECUTED
            *MSDOS_DIR_FIRST_CLUSTER_HI(DOTDOT_NODE_P(dot_dotdot)) = 0x0000;
   56eae:	3d40 fff4      	movew %d0,%fp@(-12)                         <== NOT EXECUTED
   56eb2:	6000 fe16      	braw 56cca <msdos_creat_node+0x21e>         <== NOT EXECUTED
                                                                      
    memset(short_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
    memset(dot_dotdot, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE * 2);     
                                                                      
    if (name_len > MSDOS_NAME_MAX_LFN_WITH_DOT) {                     
        rtems_set_errno_and_return_minus_one(ENAMETOOLONG);           
   56eb6:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   56ebc:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   56ebe:	725b           	moveq #91,%d1                               <== NOT EXECUTED
   56ec0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   56ec2:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
   56ec4:	6000 fe94      	braw 56d5a <msdos_creat_node+0x2ae>         <== NOT EXECUTED
                                                                      
    name_type = msdos_long_to_short (name, name_len,                  
                                     MSDOS_DIR_NAME(short_node),      
                                     MSDOS_NAME_MAX);                 
    if (name_type == MSDOS_NAME_INVALID) {                            
        rtems_set_errno_and_return_minus_one(EINVAL);                 
   56ec8:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   56ece:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   56ed0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   56ed2:	7016           	moveq #22,%d0                               <== NOT EXECUTED
   56ed4:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
   56ed6:	6000 fe82      	braw 56d5a <msdos_creat_node+0x2ae>         <== NOT EXECUTED
    *MSDOS_DIR_NT_RES(short_node) = MSDOS_RES_NT_VALUE;               
                                                                      
    /* set up last write date and time */                             
    time_ret = time(NULL);                                            
    if ( time_ret == -1 )                                             
        return -1;                                                    
   56eda:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   56edc:	6000 fe7c      	braw 56d5a <msdos_creat_node+0x2ae>         <== NOT EXECUTED
                                                                      

0005991e <msdos_date_dos2unix>: * called from the stat(), and fstat() system calls and so probably need * not be too efficient. */ unsigned int msdos_date_dos2unix(unsigned int dd, unsigned int dt) {
   5991e:	4e56 fff0      	linkw %fp,#-16                              
   59922:	48d7 003c      	moveml %d2-%d5,%sp@                         
   59926:	242e 000c      	movel %fp@(12),%d2                          
	uint32_t y, year;                                                    
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
	    + ((dt & MSDOS_DT_MINUTES_MASK) >> MSDOS_DT_MINUTES_SHIFT) * 60  
   5992a:	2202           	movel %d2,%d1                               
	    + ((dt & MSDOS_DT_HOURS_MASK) >> MSDOS_DT_HOURS_SHIFT) * 3600;   
   5992c:	2002           	movel %d2,%d0                               
   5992e:	760b           	moveq #11,%d3                               
   59930:	2a3c 0000 0708 	movel #1800,%d5                             
	uint32_t y, year;                                                    
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
	    + ((dt & MSDOS_DT_MINUTES_MASK) >> MSDOS_DT_MINUTES_SHIFT) * 60  
   59936:	0281 0000 07e0 	andil #2016,%d1                             
	    + ((dt & MSDOS_DT_HOURS_MASK) >> MSDOS_DT_HOURS_SHIFT) * 3600;   
   5993c:	0280 0000 f800 	andil #63488,%d0                            
 * called from the stat(), and fstat() system calls and so probably need
 * not be too efficient.                                              
 */                                                                   
unsigned int                                                          
msdos_date_dos2unix(unsigned int dd, unsigned int dt)                 
{                                                                     
   59942:	282e 0008      	movel %fp@(8),%d4                           
	uint32_t y, year;                                                    
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
	    + ((dt & MSDOS_DT_MINUTES_MASK) >> MSDOS_DT_MINUTES_SHIFT) * 60  
   59946:	ea89           	lsrl #5,%d1                                 
	    + ((dt & MSDOS_DT_HOURS_MASK) >> MSDOS_DT_HOURS_SHIFT) * 3600;   
   59948:	e6a8           	lsrl %d3,%d0                                
	uint32_t y, year;                                                    
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
	    + ((dt & MSDOS_DT_MINUTES_MASK) >> MSDOS_DT_MINUTES_SHIFT) * 60  
   5994a:	2601           	movel %d1,%d3                               
	    + ((dt & MSDOS_DT_HOURS_MASK) >> MSDOS_DT_HOURS_SHIFT) * 3600;   
   5994c:	4c05 0800      	mulsl %d5,%d0                               
	uint32_t y, year;                                                    
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
	    + ((dt & MSDOS_DT_MINUTES_MASK) >> MSDOS_DT_MINUTES_SHIFT) * 60  
   59950:	d683           	addl %d3,%d3                                
   59952:	eb89           	lsll #5,%d1                                 
	uint32_t m, month;                                                   
	uint32_t y, year;                                                    
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
   59954:	3a3c 001f      	movew #31,%d5                               
	    + ((dt & MSDOS_DT_MINUTES_MASK) >> MSDOS_DT_MINUTES_SHIFT) * 60  
   59958:	9283           	subl %d3,%d1                                
	    + ((dt & MSDOS_DT_HOURS_MASK) >> MSDOS_DT_HOURS_SHIFT) * 3600;   
   5995a:	d081           	addl %d1,%d0                                
	/*                                                                   
	 * If the year, month, and day from the last conversion are the      
	 * same then use the saved value.                                    
	 */                                                                  
	if (lastdosdate != dd) {                                             
   5995c:	4281           	clrl %d1                                    
	uint32_t m, month;                                                   
	uint32_t y, year;                                                    
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
   5995e:	c485           	andl %d5,%d2                                
	    + ((dt & MSDOS_DT_HOURS_MASK) >> MSDOS_DT_HOURS_SHIFT) * 3600;   
	/*                                                                   
	 * If the year, month, and day from the last conversion are the      
	 * same then use the saved value.                                    
	 */                                                                  
	if (lastdosdate != dd) {                                             
   59960:	3239 0006 bcac 	movew 6bcac <lastdosdate>,%d1               
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
	    + ((dt & MSDOS_DT_MINUTES_MASK) >> MSDOS_DT_MINUTES_SHIFT) * 60  
	    + ((dt & MSDOS_DT_HOURS_MASK) >> MSDOS_DT_HOURS_SHIFT) * 3600;   
   59966:	d082           	addl %d2,%d0                                
	uint32_t m, month;                                                   
	uint32_t y, year;                                                    
	uint32_t days;                                                       
	uint16_t *months;                                                    
                                                                      
	seconds = 2 * ((dt & MSDOS_DT_2SECONDS_MASK) >> MSDOS_DT_2SECONDS_SHIFT)
   59968:	d080           	addl %d0,%d0                                
	    + ((dt & MSDOS_DT_HOURS_MASK) >> MSDOS_DT_HOURS_SHIFT) * 3600;   
	/*                                                                   
	 * If the year, month, and day from the last conversion are the      
	 * same then use the saved value.                                    
	 */                                                                  
	if (lastdosdate != dd) {                                             
   5996a:	b881           	cmpl %d1,%d4                                
   5996c:	6700 00a2      	beqw 59a10 <msdos_date_dos2unix+0xf2>       
		lastdosdate = dd;                                                   
		days = 0;                                                           
		year = (dd & MSDOS_DD_YEAR_MASK) >> MSDOS_DD_YEAR_SHIFT;            
   59970:	2604           	movel %d4,%d3                               
   59972:	7209           	moveq #9,%d1                                
		for (y = 0; y < year; y++)                                          
   59974:	91c8           	subal %a0,%a0                               
	 * same then use the saved value.                                    
	 */                                                                  
	if (lastdosdate != dd) {                                             
		lastdosdate = dd;                                                   
		days = 0;                                                           
		year = (dd & MSDOS_DD_YEAR_MASK) >> MSDOS_DD_YEAR_SHIFT;            
   59976:	0283 0000 fe00 	andil #65024,%d3                            
	/*                                                                   
	 * If the year, month, and day from the last conversion are the      
	 * same then use the saved value.                                    
	 */                                                                  
	if (lastdosdate != dd) {                                             
		lastdosdate = dd;                                                   
   5997c:	33c4 0006 bcac 	movew %d4,6bcac <lastdosdate>               
		days = 0;                                                           
		year = (dd & MSDOS_DD_YEAR_MASK) >> MSDOS_DD_YEAR_SHIFT;            
   59982:	e2ab           	lsrl %d1,%d3                                
		for (y = 0; y < year; y++)                                          
   59984:	6700 0082      	beqw 59a08 <msdos_date_dos2unix+0xea>       
   59988:	243c 0000 016e 	movel #366,%d2                              
   5998e:	4281           	clrl %d1                                    
			days += y & 0x03 ? 365 : 366;                                      
   59990:	d1c2           	addal %d2,%a0                               
	 */                                                                  
	if (lastdosdate != dd) {                                             
		lastdosdate = dd;                                                   
		days = 0;                                                           
		year = (dd & MSDOS_DD_YEAR_MASK) >> MSDOS_DD_YEAR_SHIFT;            
		for (y = 0; y < year; y++)                                          
   59992:	5281           	addql #1,%d1                                
			days += y & 0x03 ? 365 : 366;                                      
   59994:	7403           	moveq #3,%d2                                
	 */                                                                  
	if (lastdosdate != dd) {                                             
		lastdosdate = dd;                                                   
		days = 0;                                                           
		year = (dd & MSDOS_DD_YEAR_MASK) >> MSDOS_DD_YEAR_SHIFT;            
		for (y = 0; y < year; y++)                                          
   59996:	b681           	cmpl %d1,%d3                                
   59998:	671c           	beqs 599b6 <msdos_date_dos2unix+0x98>       <== NEVER TAKEN
			days += y & 0x03 ? 365 : 366;                                      
   5999a:	2a3c 0000 016d 	movel #365,%d5                              
   599a0:	c481           	andl %d1,%d2                                
	 */                                                                  
	if (lastdosdate != dd) {                                             
		lastdosdate = dd;                                                   
		days = 0;                                                           
		year = (dd & MSDOS_DD_YEAR_MASK) >> MSDOS_DD_YEAR_SHIFT;            
		for (y = 0; y < year; y++)                                          
   599a2:	5281           	addql #1,%d1                                
			days += y & 0x03 ? 365 : 366;                                      
   599a4:	4a82           	tstl %d2                                    
   599a6:	57c2           	seq %d2                                     
   599a8:	49c2           	extbl %d2                                   
   599aa:	9a82           	subl %d2,%d5                                
   599ac:	2405           	movel %d5,%d2                               
   599ae:	d1c2           	addal %d2,%a0                               
   599b0:	7403           	moveq #3,%d2                                
	 */                                                                  
	if (lastdosdate != dd) {                                             
		lastdosdate = dd;                                                   
		days = 0;                                                           
		year = (dd & MSDOS_DD_YEAR_MASK) >> MSDOS_DD_YEAR_SHIFT;            
		for (y = 0; y < year; y++)                                          
   599b2:	b681           	cmpl %d1,%d3                                
   599b4:	66e4           	bnes 5999a <msdos_date_dos2unix+0x7c>       
			days += y & 0x03 ? 365 : 366;                                      
		months = year & 0x03 ? regyear : leapyear;                          
   599b6:	c282           	andl %d2,%d1                                
   599b8:	674e           	beqs 59a08 <msdos_date_dos2unix+0xea>       <== ALWAYS TAKEN
   599ba:	43f9 0006 ad8c 	lea 6ad8c <regyear>,%a1                     <== NOT EXECUTED
		/*                                                                  
		 * Prevent going from 0 to 0xffffffff in the following              
		 * loop.                                                            
		 */                                                                 
		month = (dd & MSDOS_DD_MONTH_MASK) >> MSDOS_DD_MONTH_SHIFT;         
   599c0:	2604           	movel %d4,%d3                               
   599c2:	0283 0000 01e0 	andil #480,%d3                              
   599c8:	ea8b           	lsrl #5,%d3                                 
		if (month == 0) {                                                   
   599ca:	6712           	beqs 599de <msdos_date_dos2unix+0xc0>       <== NEVER TAKEN
			month = 1;                                                         
		}                                                                   
		for (m = 0; m < month - 1; m++)                                     
   599cc:	5383           	subql #1,%d3                                
   599ce:	670e           	beqs 599de <msdos_date_dos2unix+0xc0>       <== ALWAYS TAKEN
   599d0:	4281           	clrl %d1                                    <== NOT EXECUTED
			days += months[m];                                                 
   599d2:	4282           	clrl %d2                                    <== NOT EXECUTED
		 */                                                                 
		month = (dd & MSDOS_DD_MONTH_MASK) >> MSDOS_DD_MONTH_SHIFT;         
		if (month == 0) {                                                   
			month = 1;                                                         
		}                                                                   
		for (m = 0; m < month - 1; m++)                                     
   599d4:	5281           	addql #1,%d1                                <== NOT EXECUTED
			days += months[m];                                                 
   599d6:	3419           	movew %a1@+,%d2                             <== NOT EXECUTED
   599d8:	d1c2           	addal %d2,%a0                               <== NOT EXECUTED
		 */                                                                 
		month = (dd & MSDOS_DD_MONTH_MASK) >> MSDOS_DD_MONTH_SHIFT;         
		if (month == 0) {                                                   
			month = 1;                                                         
		}                                                                   
		for (m = 0; m < month - 1; m++)                                     
   599da:	b681           	cmpl %d1,%d3                                <== NOT EXECUTED
   599dc:	66f4           	bnes 599d2 <msdos_date_dos2unix+0xb4>       <== NOT EXECUTED
			days += months[m];                                                 
		days += ((dd & MSDOS_DD_DAY_MASK) >> MSDOS_DD_DAY_SHIFT) - 1;       
   599de:	761f           	moveq #31,%d3                               
		lastseconds = (days + DAYSTO1980) * SECONDSPERDAY;                  
   599e0:	2a3c 0001 5180 	movel #86400,%d5                            
		if (month == 0) {                                                   
			month = 1;                                                         
		}                                                                   
		for (m = 0; m < month - 1; m++)                                     
			days += months[m];                                                 
		days += ((dd & MSDOS_DD_DAY_MASK) >> MSDOS_DD_DAY_SHIFT) - 1;       
   599e6:	c883           	andl %d3,%d4                                
   599e8:	41f0 48ff      	lea %a0@(ffffffff,%d4:l),%a0                
   599ec:	2208           	movel %a0,%d1                               
		lastseconds = (days + DAYSTO1980) * SECONDSPERDAY;                  
   599ee:	4c05 1800      	mulsl %d5,%d1                               
	}                                                                    
	return seconds + lastseconds;                                        
}                                                                     
   599f2:	4cd7 003c      	moveml %sp@,%d2-%d5                         
   599f6:	4e5e           	unlk %fp                                    
			month = 1;                                                         
		}                                                                   
		for (m = 0; m < month - 1; m++)                                     
			days += months[m];                                                 
		days += ((dd & MSDOS_DD_DAY_MASK) >> MSDOS_DD_DAY_SHIFT) - 1;       
		lastseconds = (days + DAYSTO1980) * SECONDSPERDAY;                  
   599f8:	0681 12ce a600 	addil #315532800,%d1                        
	}                                                                    
	return seconds + lastseconds;                                        
}                                                                     
   599fe:	d081           	addl %d1,%d0                                
			month = 1;                                                         
		}                                                                   
		for (m = 0; m < month - 1; m++)                                     
			days += months[m];                                                 
		days += ((dd & MSDOS_DD_DAY_MASK) >> MSDOS_DD_DAY_SHIFT) - 1;       
		lastseconds = (days + DAYSTO1980) * SECONDSPERDAY;                  
   59a00:	23c1 0006 bcae 	movel %d1,6bcae <lastseconds>               
	}                                                                    
	return seconds + lastseconds;                                        
}                                                                     
   59a06:	4e75           	rts                                         
		lastdosdate = dd;                                                   
		days = 0;                                                           
		year = (dd & MSDOS_DD_YEAR_MASK) >> MSDOS_DD_YEAR_SHIFT;            
		for (y = 0; y < year; y++)                                          
			days += y & 0x03 ? 365 : 366;                                      
		months = year & 0x03 ? regyear : leapyear;                          
   59a08:	43f9 0006 ada4 	lea 6ada4 <leapyear>,%a1                    
   59a0e:	60b0           	bras 599c0 <msdos_date_dos2unix+0xa2>       
   59a10:	2239 0006 bcae 	movel 6bcae <lastseconds>,%d1               
			days += months[m];                                                 
		days += ((dd & MSDOS_DD_DAY_MASK) >> MSDOS_DD_DAY_SHIFT) - 1;       
		lastseconds = (days + DAYSTO1980) * SECONDSPERDAY;                  
	}                                                                    
	return seconds + lastseconds;                                        
}                                                                     
   59a16:	d081           	addl %d1,%d0                                
   59a18:	4cd7 003c      	moveml %sp@,%d2-%d5                         
   59a1c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000597bc <msdos_date_unix2dos>: * file timestamps. The passed in unix time is assumed to be in GMT. */ void msdos_date_unix2dos(unsigned int t, uint16_t *ddp, uint16_t *dtp) {
   597bc:	4e56 fff0      	linkw %fp,#-16                              
   597c0:	202e 0008      	movel %fp@(8),%d0                           
   597c4:	48d7 003c      	moveml %d2-%d5,%sp@                         
                                                                      
	/*                                                                   
	 * If the time from the last conversion is the same as now, then     
	 * skip the computations and use the saved result.                   
	 */                                                                  
	if (lasttime != t) {                                                 
   597c8:	b0b9 0006 bca0 	cmpl 6bca0 <lasttime>,%d0                   
   597ce:	6700 0114      	beqw 598e4 <msdos_date_unix2dos+0x128>      
		lasttime = t;                                                       
		lastdtime = (((t % 60) >> 1) << MSDOS_DT_2SECONDS_SHIFT)            
		    + (((t / 60) % 60) << MSDOS_DT_MINUTES_SHIFT)                   
   597d2:	2800           	movel %d0,%d4                               
   597d4:	723c           	moveq #60,%d1                               
		    + (((t / 3600) % 24) << MSDOS_DT_HOURS_SHIFT);                  
   597d6:	2600           	movel %d0,%d3                               
   597d8:	243c 0000 0e10 	movel #3600,%d2                             
	 * skip the computations and use the saved result.                   
	 */                                                                  
	if (lasttime != t) {                                                 
		lasttime = t;                                                       
		lastdtime = (((t % 60) >> 1) << MSDOS_DT_2SECONDS_SHIFT)            
		    + (((t / 60) % 60) << MSDOS_DT_MINUTES_SHIFT)                   
   597de:	4c41 4005      	remul %d1,%d5,%d4                           
   597e2:	4c41 4004      	remul %d1,%d4,%d4                           
		    + (((t / 3600) % 24) << MSDOS_DT_HOURS_SHIFT);                  
   597e6:	4c42 3003      	remul %d2,%d3,%d3                           
	/*                                                                   
	 * If the time from the last conversion is the same as now, then     
	 * skip the computations and use the saved result.                   
	 */                                                                  
	if (lasttime != t) {                                                 
		lasttime = t;                                                       
   597ea:	23c0 0006 bca0 	movel %d0,6bca0 <lasttime>                  
		lastdtime = (((t % 60) >> 1) << MSDOS_DT_2SECONDS_SHIFT)            
		    + (((t / 60) % 60) << MSDOS_DT_MINUTES_SHIFT)                   
   597f0:	723c           	moveq #60,%d1                               
	 * If the time from the last conversion is the same as now, then     
	 * skip the computations and use the saved result.                   
	 */                                                                  
	if (lasttime != t) {                                                 
		lasttime = t;                                                       
		lastdtime = (((t % 60) >> 1) << MSDOS_DT_2SECONDS_SHIFT)            
   597f2:	e28d           	lsrl #1,%d5                                 
		    + (((t / 60) % 60) << MSDOS_DT_MINUTES_SHIFT)                   
   597f4:	4c41 4002      	remul %d1,%d2,%d4                           
		    + (((t / 3600) % 24) << MSDOS_DT_HOURS_SHIFT);                  
   597f8:	7818           	moveq #24,%d4                               
   597fa:	4c44 3001      	remul %d4,%d1,%d3                           
	 * If the time from the last conversion is the same as now, then     
	 * skip the computations and use the saved result.                   
	 */                                                                  
	if (lasttime != t) {                                                 
		lasttime = t;                                                       
		lastdtime = (((t % 60) >> 1) << MSDOS_DT_2SECONDS_SHIFT)            
   597fe:	eb8a           	lsll #5,%d2                                 
   59800:	760b           	moveq #11,%d3                               
		/*                                                                  
		 * If the number of days since 1970 is the same as the last         
		 * time we did the computation then skip all this leap year         
		 * and month stuff.                                                 
		 */                                                                 
		days = t / (SECONDSPERDAY);                                         
   59802:	283c 0001 5180 	movel #86400,%d4                            
	 * If the time from the last conversion is the same as now, then     
	 * skip the computations and use the saved result.                   
	 */                                                                  
	if (lasttime != t) {                                                 
		lasttime = t;                                                       
		lastdtime = (((t % 60) >> 1) << MSDOS_DT_2SECONDS_SHIFT)            
   59808:	e7a9           	lsll %d3,%d1                                
		/*                                                                  
		 * If the number of days since 1970 is the same as the last         
		 * time we did the computation then skip all this leap year         
		 * and month stuff.                                                 
		 */                                                                 
		days = t / (SECONDSPERDAY);                                         
   5980a:	4c44 0000      	remul %d4,%d0,%d0                           
	 * If the time from the last conversion is the same as now, then     
	 * skip the computations and use the saved result.                   
	 */                                                                  
	if (lasttime != t) {                                                 
		lasttime = t;                                                       
		lastdtime = (((t % 60) >> 1) << MSDOS_DT_2SECONDS_SHIFT)            
   5980e:	d282           	addl %d2,%d1                                
   59810:	d285           	addl %d5,%d1                                
		/*                                                                  
		 * If the number of days since 1970 is the same as the last         
		 * time we did the computation then skip all this leap year         
		 * and month stuff.                                                 
		 */                                                                 
		days = t / (SECONDSPERDAY);                                         
   59812:	2040           	moveal %d0,%a0                              
	 * If the time from the last conversion is the same as now, then     
	 * skip the computations and use the saved result.                   
	 */                                                                  
	if (lasttime != t) {                                                 
		lasttime = t;                                                       
		lastdtime = (((t % 60) >> 1) << MSDOS_DT_2SECONDS_SHIFT)            
   59814:	3601           	movew %d1,%d3                               
   59816:	33c1 0006 bca4 	movew %d1,6bca4 <lastdtime>                 
		 * If the number of days since 1970 is the same as the last         
		 * time we did the computation then skip all this leap year         
		 * and month stuff.                                                 
		 */                                                                 
		days = t / (SECONDSPERDAY);                                         
		if (days != lastday) {                                              
   5981c:	b0b9 0006 bca6 	cmpl 6bca6 <lastday>,%d0                    
   59822:	6700 00e0      	beqw 59904 <msdos_date_unix2dos+0x148>      
			lastday = days;                                                    
			for (year = 1970;; year++) {                                       
   59826:	223c 0000 07b2 	movel #1970,%d1                             
				inc = year & 0x03 ? 365 : 366;                                    
   5982c:	7403           	moveq #3,%d2                                
   5982e:	283c 0000 016d 	movel #365,%d4                              
   59834:	c481           	andl %d1,%d2                                
		 * time we did the computation then skip all this leap year         
		 * and month stuff.                                                 
		 */                                                                 
		days = t / (SECONDSPERDAY);                                         
		if (days != lastday) {                                              
			lastday = days;                                                    
   59836:	23c0 0006 bca6 	movel %d0,6bca6 <lastday>                   
			for (year = 1970;; year++) {                                       
				inc = year & 0x03 ? 365 : 366;                                    
   5983c:	4a82           	tstl %d2                                    
   5983e:	57c0           	seq %d0                                     
   59840:	49c0           	extbl %d0                                   
   59842:	9880           	subl %d0,%d4                                
				if (days < inc)                                                   
   59844:	b888           	cmpl %a0,%d4                                
   59846:	6218           	bhis 59860 <msdos_date_unix2dos+0xa4>       <== NEVER TAKEN
		 * and month stuff.                                                 
		 */                                                                 
		days = t / (SECONDSPERDAY);                                         
		if (days != lastday) {                                              
			lastday = days;                                                    
			for (year = 1970;; year++) {                                       
   59848:	5281           	addql #1,%d1                                
				inc = year & 0x03 ? 365 : 366;                                    
   5984a:	7403           	moveq #3,%d2                                
				if (days < inc)                                                   
					break;                                                           
				days -= inc;                                                      
   5984c:	91c4           	subal %d4,%a0                               
		 */                                                                 
		days = t / (SECONDSPERDAY);                                         
		if (days != lastday) {                                              
			lastday = days;                                                    
			for (year = 1970;; year++) {                                       
				inc = year & 0x03 ? 365 : 366;                                    
   5984e:	283c 0000 016d 	movel #365,%d4                              
   59854:	c481           	andl %d1,%d2                                
   59856:	57c0           	seq %d0                                     
   59858:	49c0           	extbl %d0                                   
   5985a:	9880           	subl %d0,%d4                                
				if (days < inc)                                                   
   5985c:	b888           	cmpl %a0,%d4                                
   5985e:	63e8           	blss 59848 <msdos_date_unix2dos+0x8c>       
					break;                                                           
				days -= inc;                                                      
			}                                                                  
			months = year & 0x03 ? regyear : leapyear;                         
   59860:	4a82           	tstl %d2                                    
   59862:	6754           	beqs 598b8 <msdos_date_unix2dos+0xfc>       <== ALWAYS TAKEN
   59864:	43f9 0006 ad8c 	lea 6ad8c <regyear>,%a1                     <== NOT EXECUTED
			for (month = 0; month < 12; month++) {                             
   5986a:	4280           	clrl %d0                                    <== NOT EXECUTED
				if (days < months[month])                                         
   5986c:	4282           	clrl %d2                                    
   5986e:	3419           	movew %a1@+,%d2                             
   59870:	b1c2           	cmpal %d2,%a0                               
   59872:	6568           	bcss 598dc <msdos_date_unix2dos+0x120>      <== ALWAYS TAKEN
					break;                                                           
				days -= months[month];                                            
   59874:	91c2           	subal %d2,%a0                               <== NOT EXECUTED
				if (days < inc)                                                   
					break;                                                           
				days -= inc;                                                      
			}                                                                  
			months = year & 0x03 ? regyear : leapyear;                         
			for (month = 0; month < 12; month++) {                             
   59876:	5280           	addql #1,%d0                                <== NOT EXECUTED
   59878:	740c           	moveq #12,%d2                               <== NOT EXECUTED
   5987a:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   5987c:	66ee           	bnes 5986c <msdos_date_unix2dos+0xb0>       <== NOT EXECUTED
   5987e:	327c 01a0      	moveaw #416,%a1                             <== NOT EXECUTED
				if (days < months[month])                                         
					break;                                                           
				days -= months[month];                                            
			}                                                                  
			lastddate = ((days + 1) << MSDOS_DD_DAY_SHIFT)                     
   59882:	41f0 9801      	lea %a0@(00000001,%a1:l),%a0                
   59886:	3008           	movew %a0,%d0                               
			 * Remember dos's idea of time is relative to 1980.                
			 * unix's is relative to 1970.  If somehow we get a                
			 * time before 1980 then don't give totally crazy                  
			 * results.                                                        
			 */                                                                
			if (year > 1980)                                                   
   59888:	0c81 0000 07bc 	cmpil #1980,%d1                             
   5988e:	6332           	blss 598c2 <msdos_date_unix2dos+0x106>      <== NEVER TAKEN
				lastddate += (year - 1980) <<                                     
   59890:	7809           	moveq #9,%d4                                
   59892:	0681 ffff f844 	addil #-1980,%d1                            
   59898:	e9a9           	lsll %d4,%d1                                
   5989a:	d288           	addl %a0,%d1                                
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
   5989c:	206e 0010      	moveal %fp@(16),%a0                         
   598a0:	3083           	movew %d3,%a0@                              
	*ddp = lastddate;                                                    
   598a2:	206e 000c      	moveal %fp@(12),%a0                         
			 * unix's is relative to 1970.  If somehow we get a                
			 * time before 1980 then don't give totally crazy                  
			 * results.                                                        
			 */                                                                
			if (year > 1980)                                                   
				lastddate += (year - 1980) <<                                     
   598a6:	3001           	movew %d1,%d0                               
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
	*ddp = lastddate;                                                    
}                                                                     
   598a8:	4cd7 003c      	moveml %sp@,%d2-%d5                         
			 * unix's is relative to 1970.  If somehow we get a                
			 * time before 1980 then don't give totally crazy                  
			 * results.                                                        
			 */                                                                
			if (year > 1980)                                                   
				lastddate += (year - 1980) <<                                     
   598ac:	33c1 0006 bcaa 	movew %d1,6bcaa <lastddate>                 
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
	*ddp = lastddate;                                                    
   598b2:	3080           	movew %d0,%a0@                              
}                                                                     
   598b4:	4e5e           	unlk %fp                                    
   598b6:	4e75           	rts                                         
				inc = year & 0x03 ? 365 : 366;                                    
				if (days < inc)                                                   
					break;                                                           
				days -= inc;                                                      
			}                                                                  
			months = year & 0x03 ? regyear : leapyear;                         
   598b8:	43f9 0006 ada4 	lea 6ada4 <leapyear>,%a1                    
			for (month = 0; month < 12; month++) {                             
   598be:	4280           	clrl %d0                                    
   598c0:	60aa           	bras 5986c <msdos_date_unix2dos+0xb0>       
				if (days < months[month])                                         
					break;                                                           
				days -= months[month];                                            
			}                                                                  
			lastddate = ((days + 1) << MSDOS_DD_DAY_SHIFT)                     
   598c2:	33c8 0006 bcaa 	movew %a0,6bcaa <lastddate>                 <== NOT EXECUTED
			if (year > 1980)                                                   
				lastddate += (year - 1980) <<                                     
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
   598c8:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   598cc:	3083           	movew %d3,%a0@                              <== NOT EXECUTED
	*ddp = lastddate;                                                    
   598ce:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
}                                                                     
   598d2:	4cd7 003c      	moveml %sp@,%d2-%d5                         <== NOT EXECUTED
				lastddate += (year - 1980) <<                                     
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
	*ddp = lastddate;                                                    
   598d6:	3080           	movew %d0,%a0@                              <== NOT EXECUTED
}                                                                     
   598d8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   598da:	4e75           	rts                                         <== NOT EXECUTED
   598dc:	5280           	addql #1,%d0                                
   598de:	eb88           	lsll #5,%d0                                 
   598e0:	2240           	moveal %d0,%a1                              
   598e2:	609e           	bras 59882 <msdos_date_unix2dos+0xc6>       
			if (year > 1980)                                                   
				lastddate += (year - 1980) <<                                     
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
   598e4:	206e 0010      	moveal %fp@(16),%a0                         
   598e8:	3639 0006 bca4 	movew 6bca4 <lastdtime>,%d3                 
   598ee:	3039 0006 bcaa 	movew 6bcaa <lastddate>,%d0                 
   598f4:	3083           	movew %d3,%a0@                              
	*ddp = lastddate;                                                    
   598f6:	206e 000c      	moveal %fp@(12),%a0                         
}                                                                     
   598fa:	4cd7 003c      	moveml %sp@,%d2-%d5                         
				lastddate += (year - 1980) <<                                     
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
	*ddp = lastddate;                                                    
   598fe:	3080           	movew %d0,%a0@                              
}                                                                     
   59900:	4e5e           	unlk %fp                                    
   59902:	4e75           	rts                                         
			if (year > 1980)                                                   
				lastddate += (year - 1980) <<                                     
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
   59904:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   59908:	3083           	movew %d3,%a0@                              <== NOT EXECUTED
	*ddp = lastddate;                                                    
   5990a:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5990e:	3039 0006 bcaa 	movew 6bcaa <lastddate>,%d0                 <== NOT EXECUTED
}                                                                     
   59914:	4cd7 003c      	moveml %sp@,%d2-%d5                         <== NOT EXECUTED
   59918:	4e5e           	unlk %fp                                    <== NOT EXECUTED
				lastddate += (year - 1980) <<                                     
				             MSDOS_DD_YEAR_SHIFT;                                 
		}                                                                   
	}                                                                    
	*dtp = lastdtime;                                                    
	*ddp = lastddate;                                                    
   5991a:	3080           	movew %d0,%a0@                              <== NOT EXECUTED
}                                                                     
                                                                      

0005771e <msdos_dir_is_empty>: msdos_dir_is_empty( rtems_filesystem_mount_table_entry_t *mt_entry, fat_file_fd_t *fat_fd, bool *ret_val ) {
   5771e:	4e56 ffdc      	linkw %fp,#-36                              <== NOT EXECUTED
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   57722:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
msdos_dir_is_empty(                                                   
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_file_fd_t                        *fat_fd,                     
    bool                                 *ret_val                     
    )                                                                 
{                                                                     
   57726:	48d7 3cbc      	moveml %d2-%d5/%d7/%a2-%a5,%sp@             <== NOT EXECUTED
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   5772a:	2868 0008      	moveal %a0@(8),%a4                          <== NOT EXECUTED
   5772e:	4283           	clrl %d3                                    <== NOT EXECUTED
    uint32_t         j = 0, i = 0;                                    
   57730:	4285           	clrl %d5                                    <== NOT EXECUTED
   57732:	47f9 0005 1bd0 	lea 51bd0 <fat_file_read>,%a3               <== NOT EXECUTED
             */                                                       
            if (((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                    
                 MSDOS_THIS_DIR_ENTRY_EMPTY) ||                       
                ((*MSDOS_DIR_ATTR(entry) & MSDOS_ATTR_LFN_MASK) ==    
                 MSDOS_ATTR_LFN) ||                                   
                (strncmp(MSDOS_DIR_NAME((entry)), MSDOS_DOT_NAME,     
   57738:	4bf9 0005 c508 	lea 5c508 <strncmp>,%a5                     <== NOT EXECUTED
   5773e:	282c 0094      	movel %a4@(148),%d4                         <== NOT EXECUTED
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         j = 0, i = 0;                                    
                                                                      
    /* dir is not empty */                                            
    *ret_val = false;                                                 
   57742:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   57746:	3614           	movew %a4@,%d3                              <== NOT EXECUTED
   57748:	4210           	clrb %a0@                                   <== NOT EXECUTED
                                                                      
    while ((ret = fat_file_read(&fs_info->fat, fat_fd, j * fs_info->fat.vol.bps,
   5774a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5774c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5774e:	4c05 3800      	mulsl %d5,%d3                               <== NOT EXECUTED
   57752:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   57754:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   57758:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5775a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5775c:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   57760:	4a80           	tstl %d0                                    <== NOT EXECUTED
   57762:	676e           	beqs 577d2 <msdos_dir_is_empty+0xb4>        <== NOT EXECUTED
                                  fs_info->fat.vol.bps,               
                                  fs_info->cl_buf)) != FAT_EOF)       
    {                                                                 
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
   57764:	721f           	moveq #31,%d1                               <== NOT EXECUTED
   57766:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   57768:	6c00 0098      	bgew 57802 <msdos_dir_is_empty+0xe4>        <== NOT EXECUTED
            return -1;                                                
                                                                      
        assert(ret == fs_info->fat.vol.bps);                          
   5776c:	4283           	clrl %d3                                    <== NOT EXECUTED
   5776e:	3614           	movew %a4@,%d3                              <== NOT EXECUTED
   57770:	b083           	cmpl %d3,%d0                                <== NOT EXECUTED
   57772:	6600 009a      	bnew 5780e <msdos_dir_is_empty+0xf0>        <== NOT EXECUTED
                                                                      
        /* have to look at the DIR_NAME as "raw" 8-bit data */        
        for (i = 0;                                                   
   57776:	4a83           	tstl %d3                                    <== NOT EXECUTED
   57778:	677e           	beqs 577f8 <msdos_dir_is_empty+0xda>        <== NOT EXECUTED
   5777a:	282c 0094      	movel %a4@(148),%d4                         <== NOT EXECUTED
   5777e:	4282           	clrl %d2                                    <== NOT EXECUTED
   57780:	2444           	moveal %d4,%a2                              <== NOT EXECUTED
             * then consider it as empty.                             
             *                                                        
             * Just ignore long file name entries. They must have a short entry to
             * be valid.                                              
             */                                                       
            if (((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                    
   57782:	4280           	clrl %d0                                    <== NOT EXECUTED
   57784:	1e12           	moveb %a2@,%d7                              <== NOT EXECUTED
   57786:	1007           	moveb %d7,%d0                               <== NOT EXECUTED
   57788:	0c80 0000 00e5 	cmpil #229,%d0                              <== NOT EXECUTED
   5778e:	6754           	beqs 577e4 <msdos_dir_is_empty+0xc6>        <== NOT EXECUTED
                 MSDOS_THIS_DIR_ENTRY_EMPTY) ||                       
   57790:	723f           	moveq #63,%d1                               <== NOT EXECUTED
   57792:	102a 000b      	moveb %a2@(11),%d0                          <== NOT EXECUTED
   57796:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   57798:	123c 000f      	moveb #15,%d1                               <== NOT EXECUTED
   5779c:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5779e:	6744           	beqs 577e4 <msdos_dir_is_empty+0xc6>        <== NOT EXECUTED
                ((*MSDOS_DIR_ATTR(entry) & MSDOS_ATTR_LFN_MASK) ==    
                 MSDOS_ATTR_LFN) ||                                   
                (strncmp(MSDOS_DIR_NAME((entry)), MSDOS_DOT_NAME,     
   577a0:	4878 000b      	pea b <LASTO+0x1>                           <== NOT EXECUTED
   577a4:	4879 0006 a089 	pea 6a089 <msdos_file_handlers+0xab>        <== NOT EXECUTED
   577aa:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   577ac:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   577ae:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
             * be valid.                                              
             */                                                       
            if (((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                    
                 MSDOS_THIS_DIR_ENTRY_EMPTY) ||                       
                ((*MSDOS_DIR_ATTR(entry) & MSDOS_ATTR_LFN_MASK) ==    
                 MSDOS_ATTR_LFN) ||                                   
   577b2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   577b4:	672e           	beqs 577e4 <msdos_dir_is_empty+0xc6>        <== NOT EXECUTED
                (strncmp(MSDOS_DIR_NAME((entry)), MSDOS_DOT_NAME,     
                         MSDOS_SHORT_NAME_LEN) == 0) ||               
                (strncmp(MSDOS_DIR_NAME((entry)),                     
   577b6:	4878 000b      	pea b <LASTO+0x1>                           <== NOT EXECUTED
   577ba:	4879 0006 a095 	pea 6a095 <msdos_file_handlers+0xb7>        <== NOT EXECUTED
   577c0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   577c2:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   577c4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
            if (((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                    
                 MSDOS_THIS_DIR_ENTRY_EMPTY) ||                       
                ((*MSDOS_DIR_ATTR(entry) & MSDOS_ATTR_LFN_MASK) ==    
                 MSDOS_ATTR_LFN) ||                                   
                (strncmp(MSDOS_DIR_NAME((entry)), MSDOS_DOT_NAME,     
                         MSDOS_SHORT_NAME_LEN) == 0) ||               
   577c8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   577ca:	6718           	beqs 577e4 <msdos_dir_is_empty+0xc6>        <== NOT EXECUTED
             */                                                       
            if ((*MSDOS_DIR_NAME(entry)) ==                           
                MSDOS_THIS_DIR_ENTRY_AND_REST_EMPTY)                  
            {                                                         
                *ret_val = true;                                      
                return RC_OK;                                         
   577cc:	4280           	clrl %d0                                    <== NOT EXECUTED
                continue;                                             
                                                                      
            /*                                                        
             * Nothing more to look at.                               
             */                                                       
            if ((*MSDOS_DIR_NAME(entry)) ==                           
   577ce:	4a07           	tstb %d7                                    <== NOT EXECUTED
   577d0:	6608           	bnes 577da <msdos_dir_is_empty+0xbc>        <== NOT EXECUTED
             */                                                       
            return RC_OK;                                             
        }                                                             
        j++;                                                          
    }                                                                 
    *ret_val = true;                                                  
   577d2:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   577d6:	10bc 0001      	moveb #1,%a0@                               <== NOT EXECUTED
    return RC_OK;                                                     
}                                                                     
   577da:	4cee 3cbc ffdc 	moveml %fp@(-36),%d2-%d5/%d7/%a2-%a5        <== NOT EXECUTED
   577e0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   577e2:	4e75           	rts                                         <== NOT EXECUTED
        assert(ret == fs_info->fat.vol.bps);                          
                                                                      
        /* have to look at the DIR_NAME as "raw" 8-bit data */        
        for (i = 0;                                                   
             i < fs_info->fat.vol.bps;                                
             i += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
   577e4:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   577ea:	45ea 0020      	lea %a2@(32),%a2                            <== NOT EXECUTED
            return -1;                                                
                                                                      
        assert(ret == fs_info->fat.vol.bps);                          
                                                                      
        /* have to look at the DIR_NAME as "raw" 8-bit data */        
        for (i = 0;                                                   
   577ee:	b682           	cmpl %d2,%d3                                <== NOT EXECUTED
   577f0:	6290           	bhis 57782 <msdos_dir_is_empty+0x64>        <== NOT EXECUTED
            /*                                                        
             * Short file name entries mean not empty.                
             */                                                       
            return RC_OK;                                             
        }                                                             
        j++;                                                          
   577f2:	5285           	addql #1,%d5                                <== NOT EXECUTED
   577f4:	6000 ff54      	braw 5774a <msdos_dir_is_empty+0x2c>        <== NOT EXECUTED
   577f8:	282c 0094      	movel %a4@(148),%d4                         <== NOT EXECUTED
   577fc:	5285           	addql #1,%d5                                <== NOT EXECUTED
   577fe:	6000 ff4a      	braw 5774a <msdos_dir_is_empty+0x2c>        <== NOT EXECUTED
    while ((ret = fat_file_read(&fs_info->fat, fat_fd, j * fs_info->fat.vol.bps,
                                  fs_info->fat.vol.bps,               
                                  fs_info->cl_buf)) != FAT_EOF)       
    {                                                                 
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
            return -1;                                                
   57802:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
        }                                                             
        j++;                                                          
    }                                                                 
    *ret_val = true;                                                  
    return RC_OK;                                                     
}                                                                     
   57804:	4cee 3cbc ffdc 	moveml %fp@(-36),%d2-%d5/%d7/%a2-%a5        <== NOT EXECUTED
   5780a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5780c:	4e75           	rts                                         <== NOT EXECUTED
                                  fs_info->cl_buf)) != FAT_EOF)       
    {                                                                 
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
            return -1;                                                
                                                                      
        assert(ret == fs_info->fat.vol.bps);                          
   5780e:	4879 0006 a023 	pea 6a023 <msdos_file_handlers+0x45>        <== NOT EXECUTED
   57814:	4879 0006 a0c4 	pea 6a0c4 <__FUNCTION__.7640>               <== NOT EXECUTED
   5781a:	4878 0365      	pea 365 <DBL_MANT_DIG+0x330>                <== NOT EXECUTED
   5781e:	4879 0006 a03f 	pea 6a03f <msdos_file_handlers+0x61>        <== NOT EXECUTED
   57824:	4eb9 0005 43cc 	jsr 543cc <__assert_func>                   <== NOT EXECUTED
                                                                      

00059ba8 <msdos_dir_read>: * the number of bytes read on success, or -1 if error occured (errno * set apropriately). */ ssize_t msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count) {
   59ba8:	4e56 fe88      	linkw %fp,#-376                             <== NOT EXECUTED
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   59bac:	226e 0008      	moveal %fp@(8),%a1                          <== NOT EXECUTED
   59bb0:	2069 0024      	moveal %a1@(36),%a0                         <== NOT EXECUTED
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
{                                                                     
   59bb4:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   59bb8:	2468 0008      	moveal %a0@(8),%a2                          <== NOT EXECUTED
    /*                                                                
     * cast start and count - protect against using sizes that are not exact
     * multiples of the -dirent- size. These could result in unexpected
     * results                                                        
     */                                                               
    start = iop->offset / sizeof(struct dirent);                      
   59bbc:	4878 0110      	pea 110 <DBL_MANT_DIG+0xdb>                 <== NOT EXECUTED
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
{                                                                     
   59bc0:	242e 0010      	movel %fp@(16),%d2                          <== NOT EXECUTED
    /*                                                                
     * cast start and count - protect against using sizes that are not exact
     * multiples of the -dirent- size. These could result in unexpected
     * results                                                        
     */                                                               
    start = iop->offset / sizeof(struct dirent);                      
   59bc4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59bc6:	2f29 0008      	movel %a1@(8),%sp@-                         <== NOT EXECUTED
   59bca:	2f29 0004      	movel %a1@(4),%sp@-                         <== NOT EXECUTED
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
{                                                                     
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
   59bce:	2069 0018      	moveal %a1@(24),%a0                         <== NOT EXECUTED
    fat_file_fd_t     *tmp_fat_fd = NULL;                             
   59bd2:	42ae fed8      	clrl %fp@(-296)                             <== NOT EXECUTED
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
{                                                                     
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
   59bd6:	2d48 fecc      	movel %a0,%fp@(-308)                        <== NOT EXECUTED
    uint32_t           start = 0;                                     
    ssize_t            ret = 0;                                       
    uint32_t           cmpltd = 0;                                    
    uint32_t           j = 0, i = 0;                                  
    uint32_t           bts2rd = 0;                                    
    uint32_t           cur_cln = 0;                                   
   59bda:	42ae fedc      	clrl %fp@(-292)                             <== NOT EXECUTED
    /*                                                                
     * cast start and count - protect against using sizes that are not exact
     * multiples of the -dirent- size. These could result in unexpected
     * results                                                        
     */                                                               
    start = iop->offset / sizeof(struct dirent);                      
   59bde:	4eb9 0004 16ec 	jsr 416ec <__divdi3>                        <== NOT EXECUTED
     * too, so read such set of sectors is quick operation for low-level IO
     * layer.                                                         
     */                                                               
    bts2rd = (FAT_FD_OF_ROOT_DIR(fat_fd) &&                           
             (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16))) ?     
             fat_fd->fat_file_size                              :     
   59be4:	206e fecc      	moveal %fp@(-308),%a0                       <== NOT EXECUTED
    /*                                                                
     * cast start and count - protect against using sizes that are not exact
     * multiples of the -dirent- size. These could result in unexpected
     * results                                                        
     */                                                               
    start = iop->offset / sizeof(struct dirent);                      
   59be8:	2a41           	moveal %d1,%a5                              <== NOT EXECUTED
    count = (count / sizeof(struct dirent)) * sizeof(struct dirent);  
   59bea:	223c 0000 0110 	movel #272,%d1                              <== NOT EXECUTED
    /*                                                                
     * cast start and count - protect against using sizes that are not exact
     * multiples of the -dirent- size. These could result in unexpected
     * results                                                        
     */                                                               
    start = iop->offset / sizeof(struct dirent);                      
   59bf0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    count = (count / sizeof(struct dirent)) * sizeof(struct dirent);  
   59bf4:	4c41 2002      	remul %d1,%d2,%d2                           <== NOT EXECUTED
   59bf8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   59bfa:	e988           	lsll #4,%d0                                 <== NOT EXECUTED
   59bfc:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
   59bfe:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
   59c00:	dc82           	addl %d2,%d6                                <== NOT EXECUTED
     * too, so read such set of sectors is quick operation for low-level IO
     * layer.                                                         
     */                                                               
    bts2rd = (FAT_FD_OF_ROOT_DIR(fat_fd) &&                           
             (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16))) ?     
             fat_fd->fat_file_size                              :     
   59c02:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   59c04:	b4a8 0020      	cmpl %a0@(32),%d2                           <== NOT EXECUTED
   59c08:	6700 03d2      	beqw 59fdc <msdos_dir_read+0x434>           <== NOT EXECUTED
   59c0c:	4284           	clrl %d4                                    <== NOT EXECUTED
   59c0e:	382a 0006      	movew %a2@(6),%d4                           <== NOT EXECUTED
   59c12:	2d44 fec6      	movel %d4,%fp@(-314)                        <== NOT EXECUTED
             fs_info->fat.vol.bpc;                                    
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   59c16:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59c18:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59c1a:	2f2a 0090      	movel %a2@(144),%sp@-                       <== NOT EXECUTED
   59c1e:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          <== NOT EXECUTED
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   59c24:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   59c28:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59c2a:	6600 052e      	bnew 5a15a <msdos_dir_read+0x5b2>           <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    while (count > 0)                                                 
   59c2e:	4285           	clrl %d5                                    <== NOT EXECUTED
   59c30:	4a86           	tstl %d6                                    <== NOT EXECUTED
   59c32:	6700 00da      	beqw 59d0e <msdos_dir_read+0x166>           <== NOT EXECUTED
   59c36:	4287           	clrl %d7                                    <== NOT EXECUTED
   59c38:	2007           	movel %d7,%d0                               <== NOT EXECUTED
                     * also the checksum of the short entry.          
                     */                                               
                    lfn_entries = (*MSDOS_DIR_ENTRY_TYPE(entry) &     
                                   MSDOS_LAST_LONG_ENTRY_MASK);       
                    lfn_checksum = *MSDOS_DIR_LFN_CHECKSUM(entry);    
                    memset (tmp_dirent.d_name, 0, sizeof(tmp_dirent.d_name));
   59c3a:	43ee fef0      	lea %fp@(-272),%a1                          <== NOT EXECUTED
   59c3e:	43e9 0010      	lea %a1@(16),%a1                            <== NOT EXECUTED
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    while (count > 0)                                                 
   59c42:	2e06           	movel %d6,%d7                               <== NOT EXECUTED
   59c44:	2c0d           	movel %a5,%d6                               <== NOT EXECUTED
   59c46:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   59c48:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
   59c4a:	4201           	clrb %d1                                    <== NOT EXECUTED
   59c4c:	42ae fed0      	clrl %fp@(-304)                             <== NOT EXECUTED
   59c50:	1d41 fecb      	moveb %d1,%fp@(-309)                        <== NOT EXECUTED
   59c54:	42ae fed4      	clrl %fp@(-300)                             <== NOT EXECUTED
                     * also the checksum of the short entry.          
                     */                                               
                    lfn_entries = (*MSDOS_DIR_ENTRY_TYPE(entry) &     
                                   MSDOS_LAST_LONG_ENTRY_MASK);       
                    lfn_checksum = *MSDOS_DIR_LFN_CHECKSUM(entry);    
                    memset (tmp_dirent.d_name, 0, sizeof(tmp_dirent.d_name));
   59c58:	2d49 fec2      	movel %a1,%fp@(-318)                        <== NOT EXECUTED
         * fat-file is already opened by open call, so read it        
         * Always read directory fat-file from the beggining because of MSDOS
         * directories feature :( - we should count elements currently
         * present in the directory because there may be holes :)     
         */                                                           
        ret = fat_file_read(&fs_info->fat, fat_fd, (j * bts2rd),      
   59c5c:	2f2a 0094      	movel %a2@(148),%sp@-                       <== NOT EXECUTED
                            bts2rd, fs_info->cl_buf);                 
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
   59c60:	741f           	moveq #31,%d2                               <== NOT EXECUTED
         * fat-file is already opened by open call, so read it        
         * Always read directory fat-file from the beggining because of MSDOS
         * directories feature :( - we should count elements currently
         * present in the directory because there may be holes :)     
         */                                                           
        ret = fat_file_read(&fs_info->fat, fat_fd, (j * bts2rd),      
   59c62:	2f2e fec6      	movel %fp@(-314),%sp@-                      <== NOT EXECUTED
   59c66:	2f2e fed0      	movel %fp@(-304),%sp@-                      <== NOT EXECUTED
   59c6a:	2f2e fecc      	movel %fp@(-308),%sp@-                      <== NOT EXECUTED
   59c6e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59c70:	4eb9 0005 1bd0 	jsr 51bd0 <fat_file_read>                   <== NOT EXECUTED
                            bts2rd, fs_info->cl_buf);                 
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
   59c76:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
         * fat-file is already opened by open call, so read it        
         * Always read directory fat-file from the beggining because of MSDOS
         * directories feature :( - we should count elements currently
         * present in the directory because there may be holes :)     
         */                                                           
        ret = fat_file_read(&fs_info->fat, fat_fd, (j * bts2rd),      
   59c7a:	2600           	movel %d0,%d3                               <== NOT EXECUTED
                            bts2rd, fs_info->cl_buf);                 
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
   59c7c:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   59c7e:	6c00 0478      	bgew 5a0f8 <msdos_dir_read+0x550>           <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
        }                                                             
                                                                      
        for (i = 0; i < ret; i += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)  
        {                                                             
            char* entry = (char*) fs_info->cl_buf + i;                
   59c82:	266a 0094      	moveal %a2@(148),%a3                        <== NOT EXECUTED
                                                                      
            /*                                                        
             * Is this directory from here on empty ?                 
             */                                                       
            if ((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                     
   59c86:	1013           	moveb %a3@,%d0                              <== NOT EXECUTED
   59c88:	673c           	beqs 59cc6 <msdos_dir_read+0x11e>           <== NOT EXECUTED
   59c8a:	4202           	clrb %d2                                    <== NOT EXECUTED
                rtems_semaphore_release(fs_info->vol_sema);           
                return cmpltd;                                        
            }                                                         
                                                                      
            /* Is the directory entry empty */                        
            if ((*MSDOS_DIR_ENTRY_TYPE(entry)) == MSDOS_THIS_DIR_ENTRY_EMPTY)
   59c8c:	4281           	clrl %d1                                    <== NOT EXECUTED
   59c8e:	1200           	moveb %d0,%d1                               <== NOT EXECUTED
   59c90:	0c81 0000 00e5 	cmpil #229,%d1                              <== NOT EXECUTED
   59c96:	671a           	beqs 59cb2 <msdos_dir_read+0x10a>           <== NOT EXECUTED
                continue;                                             
                                                                      
            /* Is the directory entry empty a volume label */         
            if (((*MSDOS_DIR_ATTR(entry)) & MSDOS_ATTR_VOLUME_ID) &&  
   59c98:	7a08           	moveq #8,%d5                                <== NOT EXECUTED
   59c9a:	122b 000b      	moveb %a3@(11),%d1                          <== NOT EXECUTED
   59c9e:	ca81           	andl %d1,%d5                                <== NOT EXECUTED
   59ca0:	4a05           	tstb %d5                                    <== NOT EXECUTED
   59ca2:	6700 0130      	beqw 59dd4 <msdos_dir_read+0x22c>           <== NOT EXECUTED
   59ca6:	7a3f           	moveq #63,%d5                               <== NOT EXECUTED
   59ca8:	c285           	andl %d5,%d1                                <== NOT EXECUTED
   59caa:	1a3c 000f      	moveb #15,%d5                               <== NOT EXECUTED
   59cae:	ba81           	cmpl %d1,%d5                                <== NOT EXECUTED
   59cb0:	672e           	beqs 59ce0 <msdos_dir_read+0x138>           <== NOT EXECUTED
        {                                                             
            rtems_semaphore_release(fs_info->vol_sema);               
            rtems_set_errno_and_return_minus_one(EIO);                
        }                                                             
                                                                      
        for (i = 0; i < ret; i += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)  
   59cb2:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   59cb8:	b682           	cmpl %d2,%d3                                <== NOT EXECUTED
   59cba:	6342           	blss 59cfe <msdos_dir_read+0x156>           <== NOT EXECUTED
        {                                                             
            char* entry = (char*) fs_info->cl_buf + i;                
   59cbc:	266a 0094      	moveal %a2@(148),%a3                        <== NOT EXECUTED
   59cc0:	d7c2           	addal %d2,%a3                               <== NOT EXECUTED
                                                                      
            /*                                                        
             * Is this directory from here on empty ?                 
             */                                                       
            if ((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                     
   59cc2:	1013           	moveb %a3@,%d0                              <== NOT EXECUTED
   59cc4:	66c6           	bnes 59c8c <msdos_dir_read+0xe4>            <== NOT EXECUTED
                MSDOS_THIS_DIR_ENTRY_AND_REST_EMPTY)                  
            {                                                         
                rtems_semaphore_release(fs_info->vol_sema);           
   59cc6:	2f2a 0090      	movel %a2@(144),%sp@-                       <== NOT EXECUTED
                return cmpltd;                                        
   59cca:	2a0d           	movel %a5,%d5                               <== NOT EXECUTED
             * Is this directory from here on empty ?                 
             */                                                       
            if ((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                     
                MSDOS_THIS_DIR_ENTRY_AND_REST_EMPTY)                  
            {                                                         
                rtems_semaphore_release(fs_info->vol_sema);           
   59ccc:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
                return cmpltd;                                        
   59cd2:	588f           	addql #4,%sp                                <== NOT EXECUTED
        j++;                                                          
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return cmpltd;                                                    
}                                                                     
   59cd4:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   59cd6:	4cee 3cfc fe88 	moveml %fp@(-376),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   59cdc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59cde:	4e75           	rts                                         <== NOT EXECUTED
                int   q;                                              
                                                                      
                /*                                                    
                 * Is this is the first entry of a LFN ?              
                 */                                                   
                if (lfn_start == FAT_FILE_SHORT_NAME)                 
   59ce0:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   59ce2:	b284           	cmpl %d4,%d1                                <== NOT EXECUTED
   59ce4:	6740           	beqs 59d26 <msdos_dir_read+0x17e>           <== NOT EXECUTED
                 * If the entry number or the check sum do not match  
                 * forget this series of long directory entries. These could
                 * be orphaned entries depending on the history of the
                 * disk.                                              
                 */                                                   
                if ((lfn_entries != (*MSDOS_DIR_ENTRY_TYPE(entry) &   
   59ce6:	7a3f           	moveq #63,%d5                               <== NOT EXECUTED
   59ce8:	1013           	moveb %a3@,%d0                              <== NOT EXECUTED
   59cea:	c085           	andl %d5,%d0                                <== NOT EXECUTED
   59cec:	b0ae fed4      	cmpl %fp@(-300),%d0                         <== NOT EXECUTED
   59cf0:	6774           	beqs 59d66 <msdos_dir_read+0x1be>           <== NOT EXECUTED
                                     MSDOS_LAST_LONG_ENTRY_MASK)) ||  
                    (lfn_checksum != *MSDOS_DIR_LFN_CHECKSUM(entry))) 
                {                                                     
                    lfn_start = FAT_FILE_SHORT_NAME;                  
   59cf2:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
        {                                                             
            rtems_semaphore_release(fs_info->vol_sema);               
            rtems_set_errno_and_return_minus_one(EIO);                
        }                                                             
                                                                      
        for (i = 0; i < ret; i += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)  
   59cf4:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   59cfa:	b682           	cmpl %d2,%d3                                <== NOT EXECUTED
   59cfc:	62be           	bhis 59cbc <msdos_dir_read+0x114>           <== NOT EXECUTED
   59cfe:	222e fec6      	movel %fp@(-314),%d1                        <== NOT EXECUTED
   59d02:	d3ae fed0      	addl %d1,%fp@(-304)                         <== NOT EXECUTED
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    while (count > 0)                                                 
   59d06:	4a87           	tstl %d7                                    <== NOT EXECUTED
   59d08:	6600 ff52      	bnew 59c5c <msdos_dir_read+0xb4>            <== NOT EXECUTED
   59d0c:	2a0d           	movel %a5,%d5                               <== NOT EXECUTED
                break;                                                
        }                                                             
        j++;                                                          
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   59d0e:	2f2a 0090      	movel %a2@(144),%sp@-                       <== NOT EXECUTED
   59d12:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
   59d18:	588f           	addql #4,%sp                                <== NOT EXECUTED
    return cmpltd;                                                    
}                                                                     
   59d1a:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   59d1c:	4cee 3cfc fe88 	moveml %fp@(-376),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   59d22:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59d24:	4e75           	rts                                         <== NOT EXECUTED
                if (lfn_start == FAT_FILE_SHORT_NAME)                 
                {                                                     
                    /*                                                
                     * The first entry must have the last long entry flag set.
                     */                                               
                    if ((*MSDOS_DIR_ENTRY_TYPE(entry) &               
   59d26:	7240           	moveq #64,%d1                               <== NOT EXECUTED
   59d28:	c280           	andl %d0,%d1                                <== NOT EXECUTED
   59d2a:	4a01           	tstb %d1                                    <== NOT EXECUTED
   59d2c:	6784           	beqs 59cb2 <msdos_dir_read+0x10a>           <== NOT EXECUTED
                                                                      
                    /*                                                
                     * Get the number of entries so we can count down and
                     * also the checksum of the short entry.          
                     */                                               
                    lfn_entries = (*MSDOS_DIR_ENTRY_TYPE(entry) &     
   59d2e:	723f           	moveq #63,%d1                               <== NOT EXECUTED
                                   MSDOS_LAST_LONG_ENTRY_MASK);       
                    lfn_checksum = *MSDOS_DIR_LFN_CHECKSUM(entry);    
   59d30:	1a2b 000d      	moveb %a3@(13),%d5                          <== NOT EXECUTED
                    memset (tmp_dirent.d_name, 0, sizeof(tmp_dirent.d_name));
   59d34:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   59d38:	282e fed0      	movel %fp@(-304),%d4                        <== NOT EXECUTED
   59d3c:	d882           	addl %d2,%d4                                <== NOT EXECUTED
                        continue;                                     
                                                                      
                    /*                                                
                     * Remember the start location of the long file name.
                     */                                               
                    lfn_start =                                       
   59d3e:	ea8c           	lsrl #5,%d4                                 <== NOT EXECUTED
                     * also the checksum of the short entry.          
                     */                                               
                    lfn_entries = (*MSDOS_DIR_ENTRY_TYPE(entry) &     
                                   MSDOS_LAST_LONG_ENTRY_MASK);       
                    lfn_checksum = *MSDOS_DIR_LFN_CHECKSUM(entry);    
                    memset (tmp_dirent.d_name, 0, sizeof(tmp_dirent.d_name));
   59d40:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59d42:	2f2e fec2      	movel %fp@(-318),%sp@-                      <== NOT EXECUTED
                                                                      
                    /*                                                
                     * Get the number of entries so we can count down and
                     * also the checksum of the short entry.          
                     */                                               
                    lfn_entries = (*MSDOS_DIR_ENTRY_TYPE(entry) &     
   59d46:	c280           	andl %d0,%d1                                <== NOT EXECUTED
                                   MSDOS_LAST_LONG_ENTRY_MASK);       
                    lfn_checksum = *MSDOS_DIR_LFN_CHECKSUM(entry);    
   59d48:	1d45 fecb      	moveb %d5,%fp@(-309)                        <== NOT EXECUTED
                 * If the entry number or the check sum do not match  
                 * forget this series of long directory entries. These could
                 * be orphaned entries depending on the history of the
                 * disk.                                              
                 */                                                   
                if ((lfn_entries != (*MSDOS_DIR_ENTRY_TYPE(entry) &   
   59d4c:	7a3f           	moveq #63,%d5                               <== NOT EXECUTED
                                                                      
                    /*                                                
                     * Get the number of entries so we can count down and
                     * also the checksum of the short entry.          
                     */                                               
                    lfn_entries = (*MSDOS_DIR_ENTRY_TYPE(entry) &     
   59d4e:	2d41 fed4      	movel %d1,%fp@(-300)                        <== NOT EXECUTED
                                   MSDOS_LAST_LONG_ENTRY_MASK);       
                    lfn_checksum = *MSDOS_DIR_LFN_CHECKSUM(entry);    
                    memset (tmp_dirent.d_name, 0, sizeof(tmp_dirent.d_name));
   59d52:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          <== NOT EXECUTED
   59d58:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                 * If the entry number or the check sum do not match  
                 * forget this series of long directory entries. These could
                 * be orphaned entries depending on the history of the
                 * disk.                                              
                 */                                                   
                if ((lfn_entries != (*MSDOS_DIR_ENTRY_TYPE(entry) &   
   59d5c:	1013           	moveb %a3@,%d0                              <== NOT EXECUTED
   59d5e:	c085           	andl %d5,%d0                                <== NOT EXECUTED
   59d60:	b0ae fed4      	cmpl %fp@(-300),%d0                         <== NOT EXECUTED
   59d64:	668c           	bnes 59cf2 <msdos_dir_read+0x14a>           <== NOT EXECUTED
                                     MSDOS_LAST_LONG_ENTRY_MASK)) ||  
   59d66:	4280           	clrl %d0                                    <== NOT EXECUTED
   59d68:	102e fecb      	moveb %fp@(-309),%d0                        <== NOT EXECUTED
   59d6c:	4281           	clrl %d1                                    <== NOT EXECUTED
                    (lfn_checksum != *MSDOS_DIR_LFN_CHECKSUM(entry))) 
   59d6e:	1a2b 000d      	moveb %a3@(13),%d5                          <== NOT EXECUTED
                 * forget this series of long directory entries. These could
                 * be orphaned entries depending on the history of the
                 * disk.                                              
                 */                                                   
                if ((lfn_entries != (*MSDOS_DIR_ENTRY_TYPE(entry) &   
                                     MSDOS_LAST_LONG_ENTRY_MASK)) ||  
   59d72:	1205           	moveb %d5,%d1                               <== NOT EXECUTED
   59d74:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   59d76:	6600 ff7a      	bnew 59cf2 <msdos_dir_read+0x14a>           <== NOT EXECUTED
                 * The DOS maximum length is 255 characters without the
                 * trailing nul character. We need to range check the length to
                 * fit in the directory entry name field.             
                 */                                                   
                                                                      
                lfn_entries--;                                        
   59d7a:	53ae fed4      	subql #1,%fp@(-300)                         <== NOT EXECUTED
                p = entry + 1;                                        
                o = lfn_entries * MSDOS_LFN_LEN_PER_ENTRY;            
   59d7e:	700d           	moveq #13,%d0                               <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   59d80:	41ee ff00      	lea %fp@(-256),%a0                          <== NOT EXECUTED
                 * trailing nul character. We need to range check the length to
                 * fit in the directory entry name field.             
                 */                                                   
                                                                      
                lfn_entries--;                                        
                p = entry + 1;                                        
   59d84:	528b           	addql #1,%a3                                <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   59d86:	2842           	moveal %d2,%a4                              <== NOT EXECUTED
                 * fit in the directory entry name field.             
                 */                                                   
                                                                      
                lfn_entries--;                                        
                p = entry + 1;                                        
                o = lfn_entries * MSDOS_LFN_LEN_PER_ENTRY;            
   59d88:	222e fed4      	movel %fp@(-300),%d1                        <== NOT EXECUTED
   59d8c:	4c00 1800      	mulsl %d0,%d1                               <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   59d90:	4200           	clrb %d0                                    <== NOT EXECUTED
   59d92:	43f0 1800      	lea %a0@(00000000,%d1:l),%a1                <== NOT EXECUTED
   59d96:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   59d98:	5280           	addql #1,%d0                                <== NOT EXECUTED
                p = entry + 1;                                        
                o = lfn_entries * MSDOS_LFN_LEN_PER_ENTRY;            
                                                                      
                for (q = 0; q < MSDOS_LFN_LEN_PER_ENTRY; q++)         
                {                                                     
                    if (o >= (sizeof(tmp_dirent.d_name) - 1))         
   59d9a:	0c81 0000 00fe 	cmpil #254,%d1                              <== NOT EXECUTED
   59da0:	6220           	bhis 59dc2 <msdos_dir_read+0x21a>           <== NOT EXECUTED
                        break;                                        
                                                                      
                    tmp_dirent.d_name[o++] = *p;                      
   59da2:	5281           	addql #1,%d1                                <== NOT EXECUTED
   59da4:	12d3           	moveb %a3@,%a1@+                            <== NOT EXECUTED
                                                                      
                    if (*p == '\0')                                   
   59da6:	671a           	beqs 59dc2 <msdos_dir_read+0x21a>           <== NOT EXECUTED
                        break;                                        
                                                                      
                    switch (q)                                        
   59da8:	7404           	moveq #4,%d2                                <== NOT EXECUTED
   59daa:	b488           	cmpl %a0,%d2                                <== NOT EXECUTED
   59dac:	6700 0252      	beqw 5a000 <msdos_dir_read+0x458>           <== NOT EXECUTED
   59db0:	143c 000a      	moveb #10,%d2                               <== NOT EXECUTED
   59db4:	b488           	cmpl %a0,%d2                                <== NOT EXECUTED
   59db6:	6700 024e      	beqw 5a006 <msdos_dir_read+0x45e>           <== NOT EXECUTED
                            break;                                    
                        case 10:                                      
                            p += 4;                                   
                            break;                                    
                        default:                                      
                            p += 2;                                   
   59dba:	548b           	addql #2,%a3                                <== NOT EXECUTED
                                                                      
                lfn_entries--;                                        
                p = entry + 1;                                        
                o = lfn_entries * MSDOS_LFN_LEN_PER_ENTRY;            
                                                                      
                for (q = 0; q < MSDOS_LFN_LEN_PER_ENTRY; q++)         
   59dbc:	740d           	moveq #13,%d2                               <== NOT EXECUTED
   59dbe:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   59dc0:	66d4           	bnes 59d96 <msdos_dir_read+0x1ee>           <== NOT EXECUTED
   59dc2:	240c           	movel %a4,%d2                               <== NOT EXECUTED
                    if (o >= (sizeof(tmp_dirent.d_name) - 1))         
                        break;                                        
                                                                      
                    tmp_dirent.d_name[o++] = *p;                      
                                                                      
                    if (*p == '\0')                                   
   59dc4:	1d45 fecb      	moveb %d5,%fp@(-309)                        <== NOT EXECUTED
                    rtems_semaphore_release(fs_info->vol_sema);       
                    return rc;                                        
                }                                                     
            }                                                         
                                                                      
            if (count <= 0)                                           
   59dc8:	4a87           	tstl %d7                                    <== NOT EXECUTED
   59dca:	6600 fee6      	bnew 59cb2 <msdos_dir_read+0x10a>           <== NOT EXECUTED
   59dce:	2a0d           	movel %a5,%d5                               <== NOT EXECUTED
   59dd0:	6000 ff3c      	braw 59d0e <msdos_dir_read+0x166>           <== NOT EXECUTED
                                                                      
            /*                                                        
             * Check the attribute to see if the entry is for a long file
             * name.                                                  
             */                                                       
            if ((*MSDOS_DIR_ATTR(entry) & MSDOS_ATTR_LFN_MASK) ==     
   59dd4:	7a3f           	moveq #63,%d5                               <== NOT EXECUTED
   59dd6:	c285           	andl %d5,%d1                                <== NOT EXECUTED
   59dd8:	1a3c 000f      	moveb #15,%d5                               <== NOT EXECUTED
   59ddc:	ba81           	cmpl %d1,%d5                                <== NOT EXECUTED
   59dde:	6700 ff00      	beqw 59ce0 <msdos_dir_read+0x138>           <== NOT EXECUTED
                fat_dir_pos_t dir_pos;                                
                                                                      
                /*                                                    
                 * Skip active entries until get the entry to start from.
                 */                                                   
                if (start)                                            
   59de2:	4a86           	tstl %d6                                    <== NOT EXECUTED
   59de4:	6708           	beqs 59dee <msdos_dir_read+0x246>           <== NOT EXECUTED
                {                                                     
                    lfn_start = FAT_FILE_SHORT_NAME;                  
                    start--;                                          
   59de6:	5386           	subql #1,%d6                                <== NOT EXECUTED
                /*                                                    
                 * Skip active entries until get the entry to start from.
                 */                                                   
                if (start)                                            
                {                                                     
                    lfn_start = FAT_FILE_SHORT_NAME;                  
   59de8:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   59dea:	6000 fec6      	braw 59cb2 <msdos_dir_read+0x10a>           <== NOT EXECUTED
                 * unfortunately there is no method to extract ino except to
                 * open fat-file descriptor :( ... so, open it        
                 */                                                   
                                                                      
                /* get number of cluster we are working with */       
                rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM, 
   59dee:	486e fedc      	pea %fp@(-292)                              <== NOT EXECUTED
   59df2:	2f2e fed0      	movel %fp@(-304),%sp@-                      <== NOT EXECUTED
   59df6:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   59dfa:	2f2e fecc      	movel %fp@(-308),%sp@-                      <== NOT EXECUTED
   59dfe:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59e00:	4eb9 0005 2006 	jsr 52006 <fat_file_ioctl>                  <== NOT EXECUTED
                                    j * bts2rd, &cur_cln);            
                if (rc != RC_OK)                                      
   59e06:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   59e0a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59e0c:	6600 014a      	bnew 59f58 <msdos_dir_read+0x3b0>           <== NOT EXECUTED
                }                                                     
                                                                      
                fat_dir_pos_init(&dir_pos);                           
                dir_pos.sname.cln = cur_cln;                          
                dir_pos.sname.ofs = i;                                
                rc = fat_file_open(&fs_info->fat, &dir_pos, &tmp_fat_fd);
   59e10:	486e fed8      	pea %fp@(-296)                              <== NOT EXECUTED
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
  dir_pos->sname.ofs = 0;                                             
  dir_pos->lname.cln = FAT_FILE_SHORT_NAME;                           
   59e14:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
   59e16:	486e fee0      	pea %fp@(-288)                              <== NOT EXECUTED
                    rtems_semaphore_release(fs_info->vol_sema);       
                    return rc;                                        
                }                                                     
                                                                      
                fat_dir_pos_init(&dir_pos);                           
                dir_pos.sname.cln = cur_cln;                          
   59e1a:	2d6e fedc fee0 	movel %fp@(-292),%fp@(-288)                 <== NOT EXECUTED
                dir_pos.sname.ofs = i;                                
                rc = fat_file_open(&fs_info->fat, &dir_pos, &tmp_fat_fd);
   59e20:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59e22:	2d45 fee8      	movel %d5,%fp@(-280)                        <== NOT EXECUTED
  dir_pos->lname.ofs = FAT_FILE_SHORT_NAME;                           
   59e26:	2d45 feec      	movel %d5,%fp@(-276)                        <== NOT EXECUTED
                    return rc;                                        
                }                                                     
                                                                      
                fat_dir_pos_init(&dir_pos);                           
                dir_pos.sname.cln = cur_cln;                          
                dir_pos.sname.ofs = i;                                
   59e2a:	2d42 fee4      	movel %d2,%fp@(-284)                        <== NOT EXECUTED
                rc = fat_file_open(&fs_info->fat, &dir_pos, &tmp_fat_fd);
   59e2e:	4eb9 0005 1914 	jsr 51914 <fat_file_open>                   <== NOT EXECUTED
                if (rc != RC_OK)                                      
   59e34:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   59e38:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59e3a:	6600 011c      	bnew 59f58 <msdos_dir_read+0x3b0>           <== NOT EXECUTED
                    return rc;                                        
                }                                                     
                                                                      
                /* fill in dirent structure */                        
                /* XXX: from what and in what d_off should be computed ?! */
                tmp_dirent.d_off = start + cmpltd;                    
   59e3e:	42ae fef4      	clrl %fp@(-268)                             <== NOT EXECUTED
                /*                                                    
                 * If a long file name check if the correct number of 
                 * entries have been found and if the checksum is correct.
                 * If not return the short file name.                 
                 */                                                   
                if (lfn_start != FAT_FILE_SHORT_NAME)                 
   59e42:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                }                                                     
                                                                      
                /* fill in dirent structure */                        
                /* XXX: from what and in what d_off should be computed ?! */
                tmp_dirent.d_off = start + cmpltd;                    
                tmp_dirent.d_reclen = sizeof(struct dirent);          
   59e44:	307c 0110      	moveaw #272,%a0                             <== NOT EXECUTED
   59e48:	3d48 fefc      	movew %a0,%fp@(-260)                        <== NOT EXECUTED
                tmp_dirent.d_ino = tmp_fat_fd->ino;                   
   59e4c:	206e fed8      	moveal %fp@(-296),%a0                       <== NOT EXECUTED
   59e50:	2d68 000c fef0 	movel %a0@(12),%fp@(-272)                   <== NOT EXECUTED
                    return rc;                                        
                }                                                     
                                                                      
                /* fill in dirent structure */                        
                /* XXX: from what and in what d_off should be computed ?! */
                tmp_dirent.d_off = start + cmpltd;                    
   59e56:	2d4d fef8      	movel %a5,%fp@(-264)                        <== NOT EXECUTED
                /*                                                    
                 * If a long file name check if the correct number of 
                 * entries have been found and if the checksum is correct.
                 * If not return the short file name.                 
                 */                                                   
                if (lfn_start != FAT_FILE_SHORT_NAME)                 
   59e5a:	b084           	cmpl %d4,%d0                                <== NOT EXECUTED
   59e5c:	6754           	beqs 59eb2 <msdos_dir_read+0x30a>           <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   59e5e:	43eb 000b      	lea %a3@(11),%a1                            <== NOT EXECUTED
   59e62:	204b           	moveal %a3,%a0                              <== NOT EXECUTED
   59e64:	4200           	clrb %d0                                    <== NOT EXECUTED
                    uint8_t  cs = 0;                                  
                    uint8_t* p = (uint8_t*) entry;                    
                    int      i;                                       
                                                                      
                    for (i = 0; i < 11; i++, p++)                     
                        cs = ((cs & 1) ? 0x80 : 0) + (cs >> 1) + *p;  
   59e66:	4205           	clrb %d5                                    <== NOT EXECUTED
   59e68:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   59e6e:	1218           	moveb %a0@+,%d1                             <== NOT EXECUTED
   59e70:	e288           	lsrl #1,%d0                                 <== NOT EXECUTED
   59e72:	d081           	addl %d1,%d0                                <== NOT EXECUTED
   59e74:	da80           	addl %d0,%d5                                <== NOT EXECUTED
   59e76:	1005           	moveb %d5,%d0                               <== NOT EXECUTED
                {                                                     
                    uint8_t  cs = 0;                                  
                    uint8_t* p = (uint8_t*) entry;                    
                    int      i;                                       
                                                                      
                    for (i = 0; i < 11; i++, p++)                     
   59e78:	b3c8           	cmpal %a0,%a1                               <== NOT EXECUTED
   59e7a:	671e           	beqs 59e9a <msdos_dir_read+0x2f2>           <== NOT EXECUTED
                        cs = ((cs & 1) ? 0x80 : 0) + (cs >> 1) + *p;  
   59e7c:	0805 0000      	btst #0,%d5                                 <== NOT EXECUTED
   59e80:	6700 00f0      	beqw 59f72 <msdos_dir_read+0x3ca>           <== NOT EXECUTED
   59e84:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   59e8a:	1218           	moveb %a0@+,%d1                             <== NOT EXECUTED
   59e8c:	7a80           	moveq #-128,%d5                             <== NOT EXECUTED
   59e8e:	e288           	lsrl #1,%d0                                 <== NOT EXECUTED
   59e90:	d081           	addl %d1,%d0                                <== NOT EXECUTED
   59e92:	da80           	addl %d0,%d5                                <== NOT EXECUTED
   59e94:	1005           	moveb %d5,%d0                               <== NOT EXECUTED
                {                                                     
                    uint8_t  cs = 0;                                  
                    uint8_t* p = (uint8_t*) entry;                    
                    int      i;                                       
                                                                      
                    for (i = 0; i < 11; i++, p++)                     
   59e96:	b3c8           	cmpal %a0,%a1                               <== NOT EXECUTED
   59e98:	66e2           	bnes 59e7c <msdos_dir_read+0x2d4>           <== NOT EXECUTED
                        cs = ((cs & 1) ? 0x80 : 0) + (cs >> 1) + *p;  
                                                                      
                    if (lfn_entries || (lfn_checksum != cs))          
   59e9a:	4aae fed4      	tstl %fp@(-300)                             <== NOT EXECUTED
   59e9e:	6612           	bnes 59eb2 <msdos_dir_read+0x30a>           <== NOT EXECUTED
   59ea0:	4281           	clrl %d1                                    <== NOT EXECUTED
   59ea2:	122e fecb      	moveb %fp@(-309),%d1                        <== NOT EXECUTED
   59ea6:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   59eac:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   59eae:	6700 00c8      	beqw 59f78 <msdos_dir_read+0x3d0>           <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   59eb2:	41eb 0008      	lea %a3@(8),%a0                             <== NOT EXECUTED
   59eb6:	2248           	moveal %a0,%a1                              <== NOT EXECUTED
   59eb8:	2849           	moveal %a1,%a4                              <== NOT EXECUTED
   59eba:	99cb           	subal %a3,%a4                               <== NOT EXECUTED
  /*                                                                  
   * find last non-blank character of base name                       
   */                                                                 
  for ((i       =       MSDOS_SHORT_BASE_LEN  ,                       
	src_tmp = src + MSDOS_SHORT_BASE_LEN-1);                             
       ((i > 0) &&                                                    
   59ebc:	7220           	moveq #32,%d1                               <== NOT EXECUTED
   59ebe:	1021           	moveb %a1@-,%d0                             <== NOT EXECUTED
   59ec0:	49c0           	extbl %d0                                   <== NOT EXECUTED
   59ec2:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   59ec4:	6600 0146      	bnew 5a00c <msdos_dir_read+0x464>           <== NOT EXECUTED
  const char *src_tmp;                                                
                                                                      
  /*                                                                  
   * find last non-blank character of base name                       
   */                                                                 
  for ((i       =       MSDOS_SHORT_BASE_LEN  ,                       
   59ec8:	b7c9           	cmpal %a1,%a3                               <== NOT EXECUTED
   59eca:	66ec           	bnes 59eb8 <msdos_dir_read+0x310>           <== NOT EXECUTED
                {                                                     
                    /*                                                
                     * convert dir entry from fixed 8+3 format (without dot)
                     * to 0..8 + 1dot + 0..3 format                   
                     */                                               
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
   59ecc:	202e fec2      	movel %fp@(-318),%d0                        <== NOT EXECUTED
  const char *src_tmp;                                                
                                                                      
  /*                                                                  
   * find last non-blank character of base name                       
   */                                                                 
  for ((i       =       MSDOS_SHORT_BASE_LEN  ,                       
   59ed0:	42ae febe      	clrl %fp@(-322)                             <== NOT EXECUTED
  /*                                                                  
   * find last non-blank character of extension                       
   */                                                                 
  for ((i       =                            MSDOS_SHORT_EXT_LEN  ,   
	src_tmp = src + MSDOS_SHORT_BASE_LEN+MSDOS_SHORT_EXT_LEN-1);         
       ((i > 0) &&                                                    
   59ed4:	7820           	moveq #32,%d4                               <== NOT EXECUTED
   59ed6:	122b 000a      	moveb %a3@(10),%d1                          <== NOT EXECUTED
   59eda:	49c1           	extbl %d1                                   <== NOT EXECUTED
   59edc:	b881           	cmpl %d1,%d4                                <== NOT EXECUTED
   59ede:	6600 0294      	bnew 5a174 <msdos_dir_read+0x5cc>           <== NOT EXECUTED
   59ee2:	122b 0009      	moveb %a3@(9),%d1                           <== NOT EXECUTED
   59ee6:	49c1           	extbl %d1                                   <== NOT EXECUTED
   59ee8:	b881           	cmpl %d1,%d4                                <== NOT EXECUTED
   59eea:	6600 0232      	bnew 5a11e <msdos_dir_read+0x576>           <== NOT EXECUTED
   59eee:	122b 0008      	moveb %a3@(8),%d1                           <== NOT EXECUTED
   59ef2:	49c1           	extbl %d1                                   <== NOT EXECUTED
   59ef4:	b881           	cmpl %d1,%d4                                <== NOT EXECUTED
   59ef6:	6600 0176      	bnew 5a06e <msdos_dir_read+0x4c6>           <== NOT EXECUTED
    while (i-- > 0) {                                                 
      *dst++ = tolower((unsigned char)(*src_tmp++));                  
      len++;                                                          
    }                                                                 
  }                                                                   
  *dst = '\0'; /* terminate string */                                 
   59efa:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
                {                                                     
                    /*                                                
                     * convert dir entry from fixed 8+3 format (without dot)
                     * to 0..8 + 1dot + 0..3 format                   
                     */                                               
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
   59efc:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   59efe:	302e fec0      	movew %fp@(-320),%d0                        <== NOT EXECUTED
    while (i-- > 0) {                                                 
      *dst++ = tolower((unsigned char)(*src_tmp++));                  
      len++;                                                          
    }                                                                 
  }                                                                   
  *dst = '\0'; /* terminate string */                                 
   59f02:	4214           	clrb %a4@                                   <== NOT EXECUTED
                {                                                     
                    /*                                                
                     * convert dir entry from fixed 8+3 format (without dot)
                     * to 0..8 + 1dot + 0..3 format                   
                     */                                               
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
   59f04:	3d40 fefe      	movew %d0,%fp@(-258)                        <== NOT EXECUTED
                else                                                  
                {                                                     
                    tmp_dirent.d_namlen = strlen(tmp_dirent.d_name);  
                }                                                     
                                                                      
                memcpy(buffer + cmpltd, &tmp_dirent, sizeof(struct dirent));
   59f08:	4878 0110      	pea 110 <DBL_MANT_DIG+0xdb>                 <== NOT EXECUTED
                                                                      
                iop->offset = iop->offset + sizeof(struct dirent);    
                cmpltd += (sizeof(struct dirent));                    
                count -= (sizeof(struct dirent));                     
   59f0c:	0687 ffff fef0 	addil #-272,%d7                             <== NOT EXECUTED
                else                                                  
                {                                                     
                    tmp_dirent.d_namlen = strlen(tmp_dirent.d_name);  
                }                                                     
                                                                      
                memcpy(buffer + cmpltd, &tmp_dirent, sizeof(struct dirent));
   59f12:	486e fef0      	pea %fp@(-272)                              <== NOT EXECUTED
   59f16:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   59f1a:	4870 d800      	pea %a0@(00000000,%a5:l)                    <== NOT EXECUTED
                                                                      
                iop->offset = iop->offset + sizeof(struct dirent);    
                cmpltd += (sizeof(struct dirent));                    
   59f1e:	4bed 0110      	lea %a5@(272),%a5                           <== NOT EXECUTED
                else                                                  
                {                                                     
                    tmp_dirent.d_namlen = strlen(tmp_dirent.d_name);  
                }                                                     
                                                                      
                memcpy(buffer + cmpltd, &tmp_dirent, sizeof(struct dirent));
   59f22:	4eb9 0005 b188 	jsr 5b188 <memcpy>                          <== NOT EXECUTED
                iop->offset = iop->offset + sizeof(struct dirent);    
                cmpltd += (sizeof(struct dirent));                    
                count -= (sizeof(struct dirent));                     
                                                                      
                /* inode number extracted, close fat-file */          
                rc = fat_file_close(&fs_info->fat, tmp_fat_fd);       
   59f28:	2f2e fed8      	movel %fp@(-296),%sp@-                      <== NOT EXECUTED
                    tmp_dirent.d_namlen = strlen(tmp_dirent.d_name);  
                }                                                     
                                                                      
                memcpy(buffer + cmpltd, &tmp_dirent, sizeof(struct dirent));
                                                                      
                iop->offset = iop->offset + sizeof(struct dirent);    
   59f2c:	4280           	clrl %d0                                    <== NOT EXECUTED
   59f2e:	223c 0000 0110 	movel #272,%d1                              <== NOT EXECUTED
   59f34:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   59f38:	d3a8 0008      	addl %d1,%a0@(8)                            <== NOT EXECUTED
   59f3c:	2a28 0004      	movel %a0@(4),%d5                           <== NOT EXECUTED
   59f40:	db80           	addxl %d0,%d5                               <== NOT EXECUTED
   59f42:	2145 0004      	movel %d5,%a0@(4)                           <== NOT EXECUTED
                cmpltd += (sizeof(struct dirent));                    
                count -= (sizeof(struct dirent));                     
                                                                      
                /* inode number extracted, close fat-file */          
                rc = fat_file_close(&fs_info->fat, tmp_fat_fd);       
   59f46:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59f48:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  <== NOT EXECUTED
                if (rc != RC_OK)                                      
   59f4e:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   59f52:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59f54:	6700 fe72      	beqw 59dc8 <msdos_dir_read+0x220>           <== NOT EXECUTED
                {                                                     
                    rtems_semaphore_release(fs_info->vol_sema);       
   59f58:	2f2a 0090      	movel %a2@(144),%sp@-                       <== NOT EXECUTED
   59f5c:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
   59f5e:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
   59f64:	588f           	addql #4,%sp                                <== NOT EXECUTED
        j++;                                                          
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return cmpltd;                                                    
}                                                                     
   59f66:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   59f68:	4cee 3cfc fe88 	moveml %fp@(-376),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   59f6e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59f70:	4e75           	rts                                         <== NOT EXECUTED
                    uint8_t  cs = 0;                                  
                    uint8_t* p = (uint8_t*) entry;                    
                    int      i;                                       
                                                                      
                    for (i = 0; i < 11; i++, p++)                     
                        cs = ((cs & 1) ? 0x80 : 0) + (cs >> 1) + *p;  
   59f72:	4205           	clrb %d5                                    <== NOT EXECUTED
   59f74:	6000 fef2      	braw 59e68 <msdos_dir_read+0x2c0>           <== NOT EXECUTED
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
                        tmp_dirent.d_name, entry); /* src text */     
                }                                                     
                else                                                  
                {                                                     
                    tmp_dirent.d_namlen = strlen(tmp_dirent.d_name);  
   59f78:	2f2e fec2      	movel %fp@(-318),%sp@-                      <== NOT EXECUTED
                                                                      
                memcpy(buffer + cmpltd, &tmp_dirent, sizeof(struct dirent));
                                                                      
                iop->offset = iop->offset + sizeof(struct dirent);    
                cmpltd += (sizeof(struct dirent));                    
                count -= (sizeof(struct dirent));                     
   59f7c:	0687 ffff fef0 	addil #-272,%d7                             <== NOT EXECUTED
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
                        tmp_dirent.d_name, entry); /* src text */     
                }                                                     
                else                                                  
                {                                                     
                    tmp_dirent.d_namlen = strlen(tmp_dirent.d_name);  
   59f82:	4eb9 0005 c4ec 	jsr 5c4ec <strlen>                          <== NOT EXECUTED
   59f88:	588f           	addql #4,%sp                                <== NOT EXECUTED
                }                                                     
                                                                      
                memcpy(buffer + cmpltd, &tmp_dirent, sizeof(struct dirent));
   59f8a:	4878 0110      	pea 110 <DBL_MANT_DIG+0xdb>                 <== NOT EXECUTED
   59f8e:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   59f92:	486e fef0      	pea %fp@(-272)                              <== NOT EXECUTED
   59f96:	4870 d800      	pea %a0@(00000000,%a5:l)                    <== NOT EXECUTED
                                                                      
                iop->offset = iop->offset + sizeof(struct dirent);    
                cmpltd += (sizeof(struct dirent));                    
   59f9a:	4bed 0110      	lea %a5@(272),%a5                           <== NOT EXECUTED
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
                        tmp_dirent.d_name, entry); /* src text */     
                }                                                     
                else                                                  
                {                                                     
                    tmp_dirent.d_namlen = strlen(tmp_dirent.d_name);  
   59f9e:	3d40 fefe      	movew %d0,%fp@(-258)                        <== NOT EXECUTED
                }                                                     
                                                                      
                memcpy(buffer + cmpltd, &tmp_dirent, sizeof(struct dirent));
   59fa2:	4eb9 0005 b188 	jsr 5b188 <memcpy>                          <== NOT EXECUTED
                iop->offset = iop->offset + sizeof(struct dirent);    
                cmpltd += (sizeof(struct dirent));                    
                count -= (sizeof(struct dirent));                     
                                                                      
                /* inode number extracted, close fat-file */          
                rc = fat_file_close(&fs_info->fat, tmp_fat_fd);       
   59fa8:	2f2e fed8      	movel %fp@(-296),%sp@-                      <== NOT EXECUTED
                    tmp_dirent.d_namlen = strlen(tmp_dirent.d_name);  
                }                                                     
                                                                      
                memcpy(buffer + cmpltd, &tmp_dirent, sizeof(struct dirent));
                                                                      
                iop->offset = iop->offset + sizeof(struct dirent);    
   59fac:	4280           	clrl %d0                                    <== NOT EXECUTED
   59fae:	223c 0000 0110 	movel #272,%d1                              <== NOT EXECUTED
   59fb4:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   59fb8:	d3a8 0008      	addl %d1,%a0@(8)                            <== NOT EXECUTED
   59fbc:	2a28 0004      	movel %a0@(4),%d5                           <== NOT EXECUTED
   59fc0:	db80           	addxl %d0,%d5                               <== NOT EXECUTED
   59fc2:	2145 0004      	movel %d5,%a0@(4)                           <== NOT EXECUTED
                cmpltd += (sizeof(struct dirent));                    
                count -= (sizeof(struct dirent));                     
                                                                      
                /* inode number extracted, close fat-file */          
                rc = fat_file_close(&fs_info->fat, tmp_fat_fd);       
   59fc6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59fc8:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  <== NOT EXECUTED
                if (rc != RC_OK)                                      
   59fce:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   59fd2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59fd4:	6700 fdf2      	beqw 59dc8 <msdos_dir_read+0x220>           <== NOT EXECUTED
   59fd8:	6000 ff7e      	braw 59f58 <msdos_dir_read+0x3b0>           <== NOT EXECUTED
     * optimization: we know that root directory for FAT12/16 volumes is
     * sequential set of sectors and any cluster is sequential set of sectors
     * too, so read such set of sectors is quick operation for low-level IO
     * layer.                                                         
     */                                                               
    bts2rd = (FAT_FD_OF_ROOT_DIR(fat_fd) &&                           
   59fdc:	4aa8 0024      	tstl %a0@(36)                               <== NOT EXECUTED
   59fe0:	6600 fc2a      	bnew 59c0c <msdos_dir_read+0x64>            <== NOT EXECUTED
   59fe4:	102a 000e      	moveb %a2@(14),%d0                          <== NOT EXECUTED
   59fe8:	323c 0003      	movew #3,%d1                                <== NOT EXECUTED
   59fec:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   59fee:	4a00           	tstb %d0                                    <== NOT EXECUTED
   59ff0:	6700 fc1a      	beqw 59c0c <msdos_dir_read+0x64>            <== NOT EXECUTED
             (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16))) ?     
             fat_fd->fat_file_size                              :     
   59ff4:	2428 0018      	movel %a0@(24),%d2                          <== NOT EXECUTED
   59ff8:	2d42 fec6      	movel %d2,%fp@(-314)                        <== NOT EXECUTED
   59ffc:	6000 fc18      	braw 59c16 <msdos_dir_read+0x6e>            <== NOT EXECUTED
                        break;                                        
                                                                      
                    switch (q)                                        
                    {                                                 
                        case 4:                                       
                            p += 5;                                   
   5a000:	5a8b           	addql #5,%a3                                <== NOT EXECUTED
                            break;                                    
   5a002:	6000 fd92      	braw 59d96 <msdos_dir_read+0x1ee>           <== NOT EXECUTED
                        case 10:                                      
                            p += 4;                                   
   5a006:	588b           	addql #4,%a3                                <== NOT EXECUTED
                            break;                                    
   5a008:	6000 fd8c      	braw 59d96 <msdos_dir_read+0x1ee>           <== NOT EXECUTED
   5a00c:	2d4c febe      	movel %a4,%fp@(-322)                        <== NOT EXECUTED
  /*                                                                  
   * copy base name to destination                                    
   */                                                                 
  src_tmp = src;                                                      
  len = i;                                                            
  while (i-- > 0) {                                                   
   5a010:	6f00 019e      	blew 5a1b0 <msdos_dir_read+0x608>           <== NOT EXECUTED
   5a014:	2a39 0006 adbc 	movel 6adbc <__ctype_ptr__>,%d5             <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   5a01a:	200c           	movel %a4,%d0                               <== NOT EXECUTED
   5a01c:	d08b           	addl %a3,%d0                                <== NOT EXECUTED
   5a01e:	224b           	moveal %a3,%a1                              <== NOT EXECUTED
   5a020:	2d47 feba      	movel %d7,%fp@(-326)                        <== NOT EXECUTED
   5a024:	2e08           	movel %a0,%d7                               <== NOT EXECUTED
   5a026:	2045           	moveal %d5,%a0                              <== NOT EXECUTED
   5a028:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
                {                                                     
                    /*                                                
                     * convert dir entry from fixed 8+3 format (without dot)
                     * to 0..8 + 1dot + 0..3 format                   
                     */                                               
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
   5a02a:	286e fec2      	moveal %fp@(-318),%a4                       <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   5a02e:	2d42 feb6      	movel %d2,%fp@(-330)                        <== NOT EXECUTED
   * copy base name to destination                                    
   */                                                                 
  src_tmp = src;                                                      
  len = i;                                                            
  while (i-- > 0) {                                                   
    *dst++ = tolower((unsigned char)(*src_tmp++));                    
   5a032:	4280           	clrl %d0                                    <== NOT EXECUTED
   5a034:	1019           	moveb %a1@+,%d0                             <== NOT EXECUTED
   5a036:	7403           	moveq #3,%d2                                <== NOT EXECUTED
   5a038:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5a03a:	1830 0801      	moveb %a0@(00000001,%d0:l),%d4              <== NOT EXECUTED
   5a03e:	c882           	andl %d2,%d4                                <== NOT EXECUTED
   5a040:	143c 0001      	moveb #1,%d2                                <== NOT EXECUTED
   5a044:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   5a046:	6716           	beqs 5a05e <msdos_dir_read+0x4b6>           <== NOT EXECUTED
   5a048:	18c1           	moveb %d1,%a4@+                             <== NOT EXECUTED
   5a04a:	200c           	movel %a4,%d0                               <== NOT EXECUTED
  /*                                                                  
   * copy base name to destination                                    
   */                                                                 
  src_tmp = src;                                                      
  len = i;                                                            
  while (i-- > 0) {                                                   
   5a04c:	ba89           	cmpl %a1,%d5                                <== NOT EXECUTED
   5a04e:	66e2           	bnes 5a032 <msdos_dir_read+0x48a>           <== NOT EXECUTED
   5a050:	2047           	moveal %d7,%a0                              <== NOT EXECUTED
   5a052:	242e feb6      	movel %fp@(-330),%d2                        <== NOT EXECUTED
   5a056:	2e2e feba      	movel %fp@(-326),%d7                        <== NOT EXECUTED
   5a05a:	6000 fe78      	braw 59ed4 <msdos_dir_read+0x32c>           <== NOT EXECUTED
    *dst++ = tolower((unsigned char)(*src_tmp++));                    
   5a05e:	0681 0000 0020 	addil #32,%d1                               <== NOT EXECUTED
   5a064:	18c1           	moveb %d1,%a4@+                             <== NOT EXECUTED
   5a066:	200c           	movel %a4,%d0                               <== NOT EXECUTED
  /*                                                                  
   * copy base name to destination                                    
   */                                                                 
  src_tmp = src;                                                      
  len = i;                                                            
  while (i-- > 0) {                                                   
   5a068:	ba89           	cmpl %a1,%d5                                <== NOT EXECUTED
   5a06a:	66c6           	bnes 5a032 <msdos_dir_read+0x48a>           <== NOT EXECUTED
   5a06c:	60e2           	bras 5a050 <msdos_dir_read+0x4a8>           <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a06e:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5a070:	5289           	addql #1,%a1                                <== NOT EXECUTED
  /*                                                                  
   * find last non-blank character of extension                       
   */                                                                 
  for ((i       =                            MSDOS_SHORT_EXT_LEN  ,   
	src_tmp = src + MSDOS_SHORT_BASE_LEN+MSDOS_SHORT_EXT_LEN-1);         
       ((i > 0) &&                                                    
   5a072:	183c 0001      	moveb #1,%d4                                <== NOT EXECUTED
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
    src_tmp = src + MSDOS_SHORT_BASE_LEN;                             
    while (i-- > 0) {                                                 
   5a076:	2a04           	movel %d4,%d5                               <== NOT EXECUTED
   5a078:	5385           	subql #1,%d5                                <== NOT EXECUTED
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
   5a07a:	286e febe      	moveal %fp@(-322),%a4                       <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a07e:	2d49 feba      	movel %a1,%fp@(-326)                        <== NOT EXECUTED
   5a082:	5389           	subql #1,%a1                                <== NOT EXECUTED
    len += i + 1; /* extension + dot */                               
   5a084:	49f4 4801      	lea %a4@(00000001,%d4:l),%a4                <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a088:	12fc 002e      	moveb #46,%a1@+                             <== NOT EXECUTED
   5a08c:	2039 0006 adbc 	movel 6adbc <__ctype_ptr__>,%d0             <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   5a092:	47f3 4808      	lea %a3@(00000008,%d4:l),%a3                <== NOT EXECUTED
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
   5a096:	2d4c febe      	movel %a4,%fp@(-322)                        <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a09a:	226e feba      	moveal %fp@(-326),%a1                       <== NOT EXECUTED
   5a09e:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
    len += i + 1; /* extension + dot */                               
    src_tmp = src + MSDOS_SHORT_BASE_LEN;                             
    while (i-- > 0) {                                                 
   5a0a0:	2d45 feb6      	movel %d5,%fp@(-330)                        <== NOT EXECUTED
   5a0a4:	2d42 feb2      	movel %d2,%fp@(-334)                        <== NOT EXECUTED
      *dst++ = tolower((unsigned char)(*src_tmp++));                  
   5a0a8:	4280           	clrl %d0                                    <== NOT EXECUTED
   5a0aa:	1018           	moveb %a0@+,%d0                             <== NOT EXECUTED
   5a0ac:	7403           	moveq #3,%d2                                <== NOT EXECUTED
   5a0ae:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5a0b0:	1a34 0801      	moveb %a4@(00000001,%d0:l),%d5              <== NOT EXECUTED
   5a0b4:	ca82           	andl %d2,%d5                                <== NOT EXECUTED
   5a0b6:	143c 0001      	moveb #1,%d2                                <== NOT EXECUTED
   5a0ba:	b485           	cmpl %d5,%d2                                <== NOT EXECUTED
   5a0bc:	6732           	beqs 5a0f0 <msdos_dir_read+0x548>           <== NOT EXECUTED
   5a0be:	12c1           	moveb %d1,%a1@+                             <== NOT EXECUTED
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
    src_tmp = src + MSDOS_SHORT_BASE_LEN;                             
    while (i-- > 0) {                                                 
   5a0c0:	b7c8           	cmpal %a0,%a3                               <== NOT EXECUTED
   5a0c2:	66e4           	bnes 5a0a8 <msdos_dir_read+0x500>           <== NOT EXECUTED
   5a0c4:	206e febe      	moveal %fp@(-322),%a0                       <== NOT EXECUTED
   5a0c8:	226e feb6      	moveal %fp@(-330),%a1                       <== NOT EXECUTED
   5a0cc:	202e feba      	movel %fp@(-326),%d0                        <== NOT EXECUTED
   5a0d0:	d084           	addl %d4,%d0                                <== NOT EXECUTED
      *dst++ = tolower((unsigned char)(*src_tmp++));                  
      len++;                                                          
    }                                                                 
  }                                                                   
  *dst = '\0'; /* terminate string */                                 
   5a0d2:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
                {                                                     
                    /*                                                
                     * convert dir entry from fixed 8+3 format (without dot)
                     * to 0..8 + 1dot + 0..3 format                   
                     */                                               
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
   5a0d4:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   5a0d6:	41f0 9801      	lea %a0@(00000001,%a1:l),%a0                <== NOT EXECUTED
   5a0da:	242e feb2      	movel %fp@(-334),%d2                        <== NOT EXECUTED
   5a0de:	2d48 febe      	movel %a0,%fp@(-322)                        <== NOT EXECUTED
   5a0e2:	302e fec0      	movew %fp@(-320),%d0                        <== NOT EXECUTED
    while (i-- > 0) {                                                 
      *dst++ = tolower((unsigned char)(*src_tmp++));                  
      len++;                                                          
    }                                                                 
  }                                                                   
  *dst = '\0'; /* terminate string */                                 
   5a0e6:	4214           	clrb %a4@                                   <== NOT EXECUTED
                {                                                     
                    /*                                                
                     * convert dir entry from fixed 8+3 format (without dot)
                     * to 0..8 + 1dot + 0..3 format                   
                     */                                               
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
   5a0e8:	3d40 fefe      	movew %d0,%fp@(-258)                        <== NOT EXECUTED
   5a0ec:	6000 fe1a      	braw 59f08 <msdos_dir_read+0x360>           <== NOT EXECUTED
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
    src_tmp = src + MSDOS_SHORT_BASE_LEN;                             
    while (i-- > 0) {                                                 
      *dst++ = tolower((unsigned char)(*src_tmp++));                  
   5a0f0:	0681 0000 0020 	addil #32,%d1                               <== NOT EXECUTED
   5a0f6:	60c6           	bras 5a0be <msdos_dir_read+0x516>           <== NOT EXECUTED
         */                                                           
        ret = fat_file_read(&fs_info->fat, fat_fd, (j * bts2rd),      
                            bts2rd, fs_info->cl_buf);                 
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
        {                                                             
            rtems_semaphore_release(fs_info->vol_sema);               
   5a0f8:	2f2a 0090      	movel %a2@(144),%sp@-                       <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
   5a0fc:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
         */                                                           
        ret = fat_file_read(&fs_info->fat, fat_fd, (j * bts2rd),      
                            bts2rd, fs_info->cl_buf);                 
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
        {                                                             
            rtems_semaphore_release(fs_info->vol_sema);               
   5a0fe:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
   5a104:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a10a:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5a10c:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a10e:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   5a110:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
        j++;                                                          
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return cmpltd;                                                    
}                                                                     
   5a112:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   5a114:	4cee 3cfc fe88 	moveml %fp@(-376),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5a11a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a11c:	4e75           	rts                                         <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a11e:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5a120:	5289           	addql #1,%a1                                <== NOT EXECUTED
   */                                                                 
  for ((i       =                            MSDOS_SHORT_EXT_LEN  ,   
	src_tmp = src + MSDOS_SHORT_BASE_LEN+MSDOS_SHORT_EXT_LEN-1);         
       ((i > 0) &&                                                    
	(*src_tmp == ' '));                                                  
       i--,src_tmp--)                                                 
   5a122:	7802           	moveq #2,%d4                                <== NOT EXECUTED
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
    src_tmp = src + MSDOS_SHORT_BASE_LEN;                             
    while (i-- > 0) {                                                 
   5a124:	2a04           	movel %d4,%d5                               <== NOT EXECUTED
   5a126:	5385           	subql #1,%d5                                <== NOT EXECUTED
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
   5a128:	286e febe      	moveal %fp@(-322),%a4                       <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a12c:	2d49 feba      	movel %a1,%fp@(-326)                        <== NOT EXECUTED
   5a130:	5389           	subql #1,%a1                                <== NOT EXECUTED
    len += i + 1; /* extension + dot */                               
   5a132:	49f4 4801      	lea %a4@(00000001,%d4:l),%a4                <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a136:	12fc 002e      	moveb #46,%a1@+                             <== NOT EXECUTED
   5a13a:	2039 0006 adbc 	movel 6adbc <__ctype_ptr__>,%d0             <== NOT EXECUTED
    len += i + 1; /* extension + dot */                               
   5a140:	2d4c febe      	movel %a4,%fp@(-322)                        <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a144:	226e feba      	moveal %fp@(-326),%a1                       <== NOT EXECUTED
   5a148:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
    len += i + 1; /* extension + dot */                               
    src_tmp = src + MSDOS_SHORT_BASE_LEN;                             
    while (i-- > 0) {                                                 
   5a14a:	2d45 feb6      	movel %d5,%fp@(-330)                        <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   5a14e:	47f3 4808      	lea %a3@(00000008,%d4:l),%a3                <== NOT EXECUTED
   5a152:	2d42 feb2      	movel %d2,%fp@(-334)                        <== NOT EXECUTED
   5a156:	6000 ff50      	braw 5a0a8 <msdos_dir_read+0x500>           <== NOT EXECUTED
             fs_info->fat.vol.bpc;                                    
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a15a:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a160:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
   5a162:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   5a164:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
        j++;                                                          
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return cmpltd;                                                    
}                                                                     
   5a166:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   5a168:	4cee 3cfc fe88 	moveml %fp@(-376),%d2-%d7/%a2-%a5           <== NOT EXECUTED
             fs_info->fat.vol.bpc;                                    
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a16e:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
        j++;                                                          
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return cmpltd;                                                    
}                                                                     
   5a170:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a172:	4e75           	rts                                         <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a174:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5a176:	5289           	addql #1,%a1                                <== NOT EXECUTED
    *dst++ = tolower((unsigned char)(*src_tmp++));                    
  }                                                                   
  /*                                                                  
   * find last non-blank character of extension                       
   */                                                                 
  for ((i       =                            MSDOS_SHORT_EXT_LEN  ,   
   5a178:	7803           	moveq #3,%d4                                <== NOT EXECUTED
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
    src_tmp = src + MSDOS_SHORT_BASE_LEN;                             
    while (i-- > 0) {                                                 
   5a17a:	2a04           	movel %d4,%d5                               <== NOT EXECUTED
   5a17c:	5385           	subql #1,%d5                                <== NOT EXECUTED
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
    len += i + 1; /* extension + dot */                               
   5a17e:	286e febe      	moveal %fp@(-322),%a4                       <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a182:	2d49 feba      	movel %a1,%fp@(-326)                        <== NOT EXECUTED
   5a186:	5389           	subql #1,%a1                                <== NOT EXECUTED
    len += i + 1; /* extension + dot */                               
   5a188:	49f4 4801      	lea %a4@(00000001,%d4:l),%a4                <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a18c:	12fc 002e      	moveb #46,%a1@+                             <== NOT EXECUTED
   5a190:	2039 0006 adbc 	movel 6adbc <__ctype_ptr__>,%d0             <== NOT EXECUTED
    len += i + 1; /* extension + dot */                               
   5a196:	2d4c febe      	movel %a4,%fp@(-322)                        <== NOT EXECUTED
    {};                                                               
  /*                                                                  
   * extension is not empty                                           
   */                                                                 
  if (i > 0) {                                                        
    *dst++ = '.'; /* append dot */                                    
   5a19a:	226e feba      	moveal %fp@(-326),%a1                       <== NOT EXECUTED
   5a19e:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
    len += i + 1; /* extension + dot */                               
    src_tmp = src + MSDOS_SHORT_BASE_LEN;                             
    while (i-- > 0) {                                                 
   5a1a0:	2d45 feb6      	movel %d5,%fp@(-330)                        <== NOT EXECUTED
 * RETURNS:                                                           
 *     the number of bytes read on success, or -1 if error occured (errno
 *     set apropriately).                                             
 */                                                                   
ssize_t                                                               
msdos_dir_read(rtems_libio_t *iop, void *buffer, size_t count)        
   5a1a4:	47f3 4808      	lea %a3@(00000008,%d4:l),%a3                <== NOT EXECUTED
   5a1a8:	2d42 feb2      	movel %d2,%fp@(-334)                        <== NOT EXECUTED
   5a1ac:	6000 fefa      	braw 5a0a8 <msdos_dir_read+0x500>           <== NOT EXECUTED
                {                                                     
                    /*                                                
                     * convert dir entry from fixed 8+3 format (without dot)
                     * to 0..8 + 1dot + 0..3 format                   
                     */                                               
                    tmp_dirent.d_namlen = msdos_format_dirent_with_dot(
   5a1b0:	202e fec2      	movel %fp@(-318),%d0                        <== NOT EXECUTED
   5a1b4:	6000 fd1e      	braw 59ed4 <msdos_dir_read+0x32c>           <== NOT EXECUTED
                                                                      

0005a1b8 <msdos_dir_stat>: int msdos_dir_stat( const rtems_filesystem_location_info_t *loc, struct stat *buf ) {
   5a1b8:	4e56 ffe8      	linkw %fp,#-24                              
   5a1bc:	206e 0008      	moveal %fp@(8),%a0                          
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = loc->mt_entry->fs_info;              
   5a1c0:	2268 0014      	moveal %a0@(20),%a1                         
int                                                                   
msdos_dir_stat(                                                       
    const rtems_filesystem_location_info_t *loc,                      
    struct stat *buf                                                  
)                                                                     
{                                                                     
   5a1c4:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = loc->mt_entry->fs_info;              
   5a1c8:	2669 0008      	moveal %a1@(8),%a3                          
    fat_file_fd_t     *fat_fd = loc->node_access;                     
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a1cc:	42a7           	clrl %sp@-                                  
int                                                                   
msdos_dir_stat(                                                       
    const rtems_filesystem_location_info_t *loc,                      
    struct stat *buf                                                  
)                                                                     
{                                                                     
   5a1ce:	246e 000c      	moveal %fp@(12),%a2                         
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = loc->mt_entry->fs_info;              
    fat_file_fd_t     *fat_fd = loc->node_access;                     
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a1d2:	42a7           	clrl %sp@-                                  
   5a1d4:	2f2b 0090      	movel %a3@(144),%sp@-                       
    struct stat *buf                                                  
)                                                                     
{                                                                     
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = loc->mt_entry->fs_info;              
    fat_file_fd_t     *fat_fd = loc->node_access;                     
   5a1d8:	2868 0008      	moveal %a0@(8),%a4                          
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a1dc:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   5a1e2:	4fef 000c      	lea %sp@(12),%sp                            
   5a1e6:	4a80           	tstl %d0                                    
   5a1e8:	6668           	bnes 5a252 <msdos_dir_stat+0x9a>            <== NEVER TAKEN
    buf->st_blksize = fs_info->fat.vol.bps;                           
    buf->st_mtime = fat_fd->mtime;                                    
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return RC_OK;                                                     
}                                                                     
   5a1ea:	206b 005a      	moveal %a3@(90),%a0                         
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
   5a1ee:	2010           	movel %a0@,%d0                              
   5a1f0:	2228 0004      	movel %a0@(4),%d1                           
    buf->st_ino = fat_fd->ino;                                        
   5a1f4:	256c 000c 0008 	movel %a4@(12),%a2@(8)                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
   5a1fa:	2480           	movel %d0,%a2@                              
   5a1fc:	2541 0004      	movel %d1,%a2@(4)                           
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
   5a200:	202c 0018      	movel %a4@(24),%d0                          
    buf->st_blocks = fat_fd->fat_file_size >> FAT_SECTOR512_BITS;     
   5a204:	7209           	moveq #9,%d1                                
   5a206:	2400           	movel %d0,%d2                               
   5a208:	e2aa           	lsrl %d1,%d2                                
    buf->st_blksize = fs_info->fat.vol.bps;                           
   5a20a:	4281           	clrl %d1                                    
   5a20c:	3213           	movew %a3@,%d1                              
    buf->st_mtime = fat_fd->mtime;                                    
   5a20e:	256c 003e 002e 	movel %a4@(62),%a2@(46)                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a214:	2f2b 0090      	movel %a3@(144),%sp@-                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
   5a218:	4283           	clrl %d3                                    
   5a21a:	4284           	clrl %d4                                    
    buf->st_size = fat_fd->fat_file_size;                             
   5a21c:	2540 0022      	movel %d0,%a2@(34)                          
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
   5a220:	2543 0016      	movel %d3,%a2@(22)                          
   5a224:	2544 001a      	movel %d4,%a2@(26)                          
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO;            
   5a228:	283c 0000 41ff 	movel #16895,%d4                            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
   5a22e:	42aa 001e      	clrl %a2@(30)                               
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO;            
   5a232:	2544 000c      	movel %d4,%a2@(12)                          
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
    buf->st_blocks = fat_fd->fat_file_size >> FAT_SECTOR512_BITS;     
   5a236:	2542 0042      	movel %d2,%a2@(66)                          
    buf->st_blksize = fs_info->fat.vol.bps;                           
   5a23a:	2541 003e      	movel %d1,%a2@(62)                          
    buf->st_mtime = fat_fd->mtime;                                    
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a23e:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         
    return RC_OK;                                                     
   5a244:	588f           	addql #4,%sp                                
   5a246:	4280           	clrl %d0                                    
}                                                                     
   5a248:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   5a24e:	4e5e           	unlk %fp                                    
   5a250:	4e75           	rts                                         
    fat_file_fd_t     *fat_fd = loc->node_access;                     
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a252:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a258:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   5a25a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a25c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5a25e:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
    buf->st_blksize = fs_info->fat.vol.bps;                           
    buf->st_mtime = fat_fd->mtime;                                    
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return RC_OK;                                                     
}                                                                     
   5a260:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   5a266:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

00056ef8 <msdos_eval_token>:
   56ef8:	7201           	moveq #1,%d1                                
  rtems_filesystem_eval_path_context_t *ctx,                          
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
   56efa:	4e56 0000      	linkw %fp,#0                                
   56efe:	202e 0014      	movel %fp@(20),%d0                          
   56f02:	2f0a           	movel %a2,%sp@-                             
   56f04:	246e 0008      	moveal %fp@(8),%a2                          
   56f08:	2f02           	movel %d2,%sp@-                             
   56f0a:	b280           	cmpl %d0,%d1                                
   56f0c:	674a           	beqs 56f58 <msdos_eval_token+0x60>          <== NEVER TAKEN
    rtems_filesystem_eval_path_clear_token(ctx);                      
    status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;             
  } else {                                                            
    rtems_filesystem_location_info_t *currentloc =                    
      rtems_filesystem_eval_path_get_currentloc(ctx);                 
    int rc = msdos_find_name(currentloc, token, tokenlen);            
   56f0e:	2f00           	movel %d0,%sp@-                             
   56f10:	2f2e 0010      	movel %fp@(16),%sp@-                        
   56f14:	486a 0018      	pea %a2@(24)                                
   56f18:	4eb9 0005 86c4 	jsr 586c4 <msdos_find_name>                 
                                                                      
    if (rc == RC_OK) {                                                
   56f1e:	4fef 000c      	lea %sp@(12),%sp                            
   56f22:	4a80           	tstl %d0                                    
   56f24:	6652           	bnes 56f78 <msdos_eval_token+0x80>          
 *     None                                                           
 */                                                                   
static void                                                           
msdos_set_handlers(rtems_filesystem_location_info_t *loc)             
{                                                                     
    msdos_fs_info_t *fs_info = loc->mt_entry->fs_info;                
   56f26:	226a 002c      	moveal %a2@(44),%a1                         
   56f2a:	2269 0008      	moveal %a1@(8),%a1                          
    fat_file_fd_t   *fat_fd = loc->node_access;                       
                                                                      
    if (fat_fd->fat_file_type == FAT_DIRECTORY)                       
   56f2e:	206a 0020      	moveal %a2@(32),%a0                         
                                                                      
static inline void rtems_filesystem_eval_path_clear_token(            
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  ctx->tokenlen = 0;                                                  
   56f32:	42aa 000c      	clrl %a2@(12)                               
   56f36:	4aa8 0010      	tstl %a0@(16)                               
   56f3a:	6652           	bnes 56f8e <msdos_eval_token+0x96>          <== ALWAYS TAKEN
    int rc = msdos_find_name(currentloc, token, tokenlen);            
                                                                      
    if (rc == RC_OK) {                                                
      rtems_filesystem_eval_path_clear_token(ctx);                    
      msdos_set_handlers(currentloc);                                 
      if (rtems_filesystem_eval_path_has_path(ctx)) {                 
   56f3c:	4aaa 0004      	tstl %a2@(4)                                <== NOT EXECUTED
   56f40:	57c0           	seq %d0                                     <== NOT EXECUTED
{                                                                     
    msdos_fs_info_t *fs_info = loc->mt_entry->fs_info;                
    fat_file_fd_t   *fat_fd = loc->node_access;                       
                                                                      
    if (fat_fd->fat_file_type == FAT_DIRECTORY)                       
        loc->handlers = fs_info->directory_handlers;                  
   56f42:	2569 0088 0028 	movel %a1@(136),%a2@(40)                    <== NOT EXECUTED
    int rc = msdos_find_name(currentloc, token, tokenlen);            
                                                                      
    if (rc == RC_OK) {                                                
      rtems_filesystem_eval_path_clear_token(ctx);                    
      msdos_set_handlers(currentloc);                                 
      if (rtems_filesystem_eval_path_has_path(ctx)) {                 
   56f48:	49c0           	extbl %d0                                   <== NOT EXECUTED
   56f4a:	4480           	negl %d0                                    <== NOT EXECUTED
      rtems_filesystem_eval_path_error(ctx, 0);                       
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   56f4c:	242e fff8      	movel %fp@(-8),%d2                          
   56f50:	246e fffc      	moveal %fp@(-4),%a2                         
   56f54:	4e5e           	unlk %fp                                    
   56f56:	4e75           	rts                                         
static inline bool rtems_filesystem_is_current_directory(             
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 1 && token [0] == '.';                           
   56f58:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   56f5c:	742e           	moveq #46,%d2                               <== NOT EXECUTED
   56f5e:	1210           	moveb %a0@,%d1                              <== NOT EXECUTED
   56f60:	49c1           	extbl %d1                                   <== NOT EXECUTED
   56f62:	b481           	cmpl %d1,%d2                                <== NOT EXECUTED
   56f64:	66a8           	bnes 56f0e <msdos_eval_token+0x16>          <== NOT EXECUTED
                                                                      
static inline void rtems_filesystem_eval_path_clear_token(            
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  ctx->tokenlen = 0;                                                  
   56f66:	42aa 000c      	clrl %a2@(12)                               <== NOT EXECUTED
   56f6a:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   56f6e:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
  rtems_filesystem_eval_path_generic_status status =                  
    RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;                          
                                                                      
  if (rtems_filesystem_is_current_directory(token, tokenlen)) {       
    rtems_filesystem_eval_path_clear_token(ctx);                      
    status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;             
   56f72:	4280           	clrl %d0                                    <== NOT EXECUTED
      rtems_filesystem_eval_path_error(ctx, 0);                       
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   56f74:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   56f76:	4e75           	rts                                         <== NOT EXECUTED
      rtems_filesystem_eval_path_clear_token(ctx);                    
      msdos_set_handlers(currentloc);                                 
      if (rtems_filesystem_eval_path_has_path(ctx)) {                 
        status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;         
      }                                                               
    } else if (rc == MSDOS_NAME_NOT_FOUND_ERR) {                      
   56f78:	0c80 0000 7d01 	cmpil #32001,%d0                            
   56f7e:	6620           	bnes 56fa0 <msdos_eval_token+0xa8>          <== NEVER TAKEN
      rtems_filesystem_eval_path_error(ctx, 0);                       
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   56f80:	242e fff8      	movel %fp@(-8),%d2                          
      msdos_set_handlers(currentloc);                                 
      if (rtems_filesystem_eval_path_has_path(ctx)) {                 
        status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;         
      }                                                               
    } else if (rc == MSDOS_NAME_NOT_FOUND_ERR) {                      
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;           
   56f84:	7002           	moveq #2,%d0                                
      rtems_filesystem_eval_path_error(ctx, 0);                       
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   56f86:	246e fffc      	moveal %fp@(-4),%a2                         
   56f8a:	4e5e           	unlk %fp                                    
   56f8c:	4e75           	rts                                         
    int rc = msdos_find_name(currentloc, token, tokenlen);            
                                                                      
    if (rc == RC_OK) {                                                
      rtems_filesystem_eval_path_clear_token(ctx);                    
      msdos_set_handlers(currentloc);                                 
      if (rtems_filesystem_eval_path_has_path(ctx)) {                 
   56f8e:	4aaa 0004      	tstl %a2@(4)                                
   56f92:	57c0           	seq %d0                                     
    fat_file_fd_t   *fat_fd = loc->node_access;                       
                                                                      
    if (fat_fd->fat_file_type == FAT_DIRECTORY)                       
        loc->handlers = fs_info->directory_handlers;                  
    else                                                              
        loc->handlers = fs_info->file_handlers;                       
   56f94:	2569 008c 0028 	movel %a1@(140),%a2@(40)                    
    int rc = msdos_find_name(currentloc, token, tokenlen);            
                                                                      
    if (rc == RC_OK) {                                                
      rtems_filesystem_eval_path_clear_token(ctx);                    
      msdos_set_handlers(currentloc);                                 
      if (rtems_filesystem_eval_path_has_path(ctx)) {                 
   56f9a:	49c0           	extbl %d0                                   
   56f9c:	4480           	negl %d0                                    
   56f9e:	60ac           	bras 56f4c <msdos_eval_token+0x54>          
        status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;         
      }                                                               
    } else if (rc == MSDOS_NAME_NOT_FOUND_ERR) {                      
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;           
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, 0);                       
   56fa0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   56fa2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   56fa4:	4eb9 0004 5e86 	jsr 45e86 <rtems_filesystem_eval_path_error><== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   56faa:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
        status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;         
      }                                                               
    } else if (rc == MSDOS_NAME_NOT_FOUND_ERR) {                      
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;           
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, 0);                       
   56fae:	508f           	addql #8,%sp                                <== NOT EXECUTED
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   56fb0:	7001           	moveq #1,%d0                                <== NOT EXECUTED
      rtems_filesystem_eval_path_error(ctx, 0);                       
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   56fb2:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   56fb6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a2cc <msdos_file_close>: * RC_OK, if file closed successfully, or -1 if error occured (errno set * appropriately) */ int msdos_file_close(rtems_libio_t *iop) {
   5a2cc:	4e56 0000      	linkw %fp,#0                                
   5a2d0:	2f0b           	movel %a3,%sp@-                             
   5a2d2:	2f0a           	movel %a2,%sp@-                             
   5a2d4:	246e 0008      	moveal %fp@(8),%a2                          
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   5a2d8:	206a 0024      	moveal %a2@(36),%a0                         
   5a2dc:	2668 0008      	moveal %a0@(8),%a3                          
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a2e0:	42a7           	clrl %sp@-                                  
   5a2e2:	42a7           	clrl %sp@-                                  
   5a2e4:	2f2b 0090      	movel %a3@(144),%sp@-                       
   5a2e8:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   5a2ee:	4fef 000c      	lea %sp@(12),%sp                            
   5a2f2:	4a80           	tstl %d0                                    
   5a2f4:	662a           	bnes 5a320 <msdos_file_close+0x54>          <== NEVER TAKEN
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = msdos_file_update(iop);                                      
   5a2f6:	486a 0024      	pea %a2@(36)                                
   5a2fa:	2f2a 0018      	movel %a2@(24),%sp@-                        
   5a2fe:	4eba ff6c      	jsr %pc@(5a26c <msdos_file_update.isra.1>)  
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a302:	2f2b 0090      	movel %a3@(144),%sp@-                       
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = msdos_file_update(iop);                                      
   5a306:	2440           	moveal %d0,%a2                              
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a308:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         
    return rc;                                                        
}                                                                     
   5a30e:	266e fffc      	moveal %fp@(-4),%a3                         
   5a312:	200a           	movel %a2,%d0                               
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = msdos_file_update(iop);                                      
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return rc;                                                        
   5a314:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   5a318:	246e fff8      	moveal %fp@(-8),%a2                         
   5a31c:	4e5e           	unlk %fp                                    
   5a31e:	4e75           	rts                                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a320:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a326:	347c ffff      	moveaw #-1,%a2                              <== NOT EXECUTED
   5a32a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a32c:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   5a32e:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
                                                                      
    rc = msdos_file_update(iop);                                      
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return rc;                                                        
}                                                                     
   5a330:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   5a332:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   5a336:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
   5a33a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a572 <msdos_file_ftruncate>: * RETURNS: * RC_OK on success, or -1 if error occured (errno set appropriately). */ int msdos_file_ftruncate(rtems_libio_t *iop, off_t length) {
   5a572:	4e56 ffd8      	linkw %fp,#-40                              
   5a576:	206e 0008      	moveal %fp@(8),%a0                          
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   5a57a:	2268 0024      	moveal %a0@(36),%a1                         
 * RETURNS:                                                           
 *     RC_OK on success, or -1 if error occured (errno set appropriately).
 */                                                                   
int                                                                   
msdos_file_ftruncate(rtems_libio_t *iop, off_t length)                
{                                                                     
   5a57e:	48d7 1cfc      	moveml %d2-%d7/%a2-%a4,%sp@                 
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   5a582:	2469 0008      	moveal %a1@(8),%a2                          
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
    uint32_t old_length;                                              
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a586:	42a7           	clrl %sp@-                                  
msdos_file_ftruncate(rtems_libio_t *iop, off_t length)                
{                                                                     
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
   5a588:	2668 0018      	moveal %a0@(24),%a3                         
    uint32_t old_length;                                              
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a58c:	42a7           	clrl %sp@-                                  
   5a58e:	2f2a 0090      	movel %a2@(144),%sp@-                       
 * RETURNS:                                                           
 *     RC_OK on success, or -1 if error occured (errno set appropriately).
 */                                                                   
int                                                                   
msdos_file_ftruncate(rtems_libio_t *iop, off_t length)                
{                                                                     
   5a592:	242e 000c      	movel %fp@(12),%d2                          
   5a596:	262e 0010      	movel %fp@(16),%d3                          
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
    uint32_t old_length;                                              
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a59a:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   5a5a0:	4fef 000c      	lea %sp@(12),%sp                            
   5a5a4:	4a80           	tstl %d0                                    
   5a5a6:	6600 009e      	bnew 5a646 <msdos_file_ftruncate+0xd4>      
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    old_length = fat_fd->fat_file_size;                               
   5a5aa:	286b 0018      	moveal %a3@(24),%a4                         
    if (length < old_length) {                                        
   5a5ae:	4284           	clrl %d4                                    
   5a5b0:	2a0c           	movel %a4,%d5                               
   5a5b2:	2004           	movel %d4,%d0                               
   5a5b4:	2205           	movel %d5,%d1                               
   5a5b6:	9283           	subl %d3,%d1                                
   5a5b8:	9182           	subxl %d2,%d0                               
   5a5ba:	6e62           	bgts 5a61e <msdos_file_ftruncate+0xac>      <== NEVER TAKEN
        rc = fat_file_truncate(&fs_info->fat, fat_fd, length);        
    } else {                                                          
        uint32_t new_length;                                          
                                                                      
        rc = fat_file_extend(&fs_info->fat,                           
   5a5bc:	486e fffc      	pea %fp@(-4)                                
   5a5c0:	2f03           	movel %d3,%sp@-                             
   5a5c2:	4878 0001      	pea 1 <ADD>                                 
   5a5c6:	2f0b           	movel %a3,%sp@-                             
   5a5c8:	2f0a           	movel %a2,%sp@-                             
   5a5ca:	4eb9 0005 20bc 	jsr 520bc <fat_file_extend>                 
                             fat_fd,                                  
                             true,                                    
                             length,                                  
                             &new_length);                            
        if (rc == RC_OK && length != new_length) {                    
   5a5d0:	4fef 0014      	lea %sp@(20),%sp                            
    if (length < old_length) {                                        
        rc = fat_file_truncate(&fs_info->fat, fat_fd, length);        
    } else {                                                          
        uint32_t new_length;                                          
                                                                      
        rc = fat_file_extend(&fs_info->fat,                           
   5a5d4:	2800           	movel %d0,%d4                               
                             fat_fd,                                  
                             true,                                    
                             length,                                  
                             &new_length);                            
        if (rc == RC_OK && length != new_length) {                    
   5a5d6:	6658           	bnes 5a630 <msdos_file_ftruncate+0xbe>      <== NEVER TAKEN
   5a5d8:	2e2e fffc      	movel %fp@(-4),%d7                          
   5a5dc:	4286           	clrl %d6                                    
   5a5de:	2006           	movel %d6,%d0                               
   5a5e0:	2207           	movel %d7,%d1                               
   5a5e2:	9283           	subl %d3,%d1                                
   5a5e4:	9182           	subxl %d2,%d0                               
   5a5e6:	674c           	beqs 5a634 <msdos_file_ftruncate+0xc2>      <== ALWAYS TAKEN
            fat_file_truncate(&fs_info->fat, fat_fd, old_length);     
   5a5e8:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
            errno = ENOSPC;                                           
   5a5ea:	7a1c           	moveq #28,%d5                               <== NOT EXECUTED
            rc = -1;                                                  
   5a5ec:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
                             fat_fd,                                  
                             true,                                    
                             length,                                  
                             &new_length);                            
        if (rc == RC_OK && length != new_length) {                    
            fat_file_truncate(&fs_info->fat, fat_fd, old_length);     
   5a5ee:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5a5f0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5a5f2:	4eb9 0005 1e22 	jsr 51e22 <fat_file_truncate>               <== NOT EXECUTED
            errno = ENOSPC;                                           
   5a5f8:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a5fe:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5a602:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a604:	2085           	movel %d5,%a0@                              <== NOT EXECUTED
                                                                      
    if (rc == RC_OK) {                                                
        fat_fd->fat_file_size = length;                               
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a606:	2f2a 0090      	movel %a2@(144),%sp@-                       <== NOT EXECUTED
   5a60a:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
                                                                      
    return rc;                                                        
   5a610:	588f           	addql #4,%sp                                <== NOT EXECUTED
}                                                                     
   5a612:	2004           	movel %d4,%d0                               
   5a614:	4cee 1cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a4            
   5a61a:	4e5e           	unlk %fp                                    
   5a61c:	4e75           	rts                                         
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    old_length = fat_fd->fat_file_size;                               
    if (length < old_length) {                                        
        rc = fat_file_truncate(&fs_info->fat, fat_fd, length);        
   5a61e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5a620:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5a622:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5a624:	4eb9 0005 1e22 	jsr 51e22 <fat_file_truncate>               <== NOT EXECUTED
   5a62a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5a62e:	2800           	movel %d0,%d4                               <== NOT EXECUTED
            errno = ENOSPC;                                           
            rc = -1;                                                  
        }                                                             
    }                                                                 
                                                                      
    if (rc == RC_OK) {                                                
   5a630:	4a84           	tstl %d4                                    <== NOT EXECUTED
   5a632:	66d2           	bnes 5a606 <msdos_file_ftruncate+0x94>      <== NOT EXECUTED
        fat_fd->fat_file_size = length;                               
   5a634:	2743 0018      	movel %d3,%a3@(24)                          
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a638:	2f2a 0090      	movel %a2@(144),%sp@-                       
   5a63c:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         
                                                                      
    return rc;                                                        
   5a642:	588f           	addql #4,%sp                                
   5a644:	60cc           	bras 5a612 <msdos_file_ftruncate+0xa0>      
    uint32_t old_length;                                              
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a646:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a64c:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   5a64e:	7c05           	moveq #5,%d6                                <== NOT EXECUTED
   5a650:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
                                                                      
    return rc;                                                        
}                                                                     
   5a652:	2004           	movel %d4,%d0                               <== NOT EXECUTED
    uint32_t old_length;                                              
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a654:	2086           	movel %d6,%a0@                              <== NOT EXECUTED
    }                                                                 
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
                                                                      
    return rc;                                                        
}                                                                     
   5a656:	4cee 1cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   5a65c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a33e <msdos_file_read>: * the number of bytes read on success, or -1 if error occured (errno set * appropriately) */ ssize_t msdos_file_read(rtems_libio_t *iop, void *buffer, size_t count) {
   5a33e:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   5a342:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 <== NOT EXECUTED
   5a346:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
    ssize_t            ret = 0;                                       
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   5a34a:	206a 0024      	moveal %a2@(36),%a0                         <== NOT EXECUTED
   5a34e:	2668 0008      	moveal %a0@(8),%a3                          <== NOT EXECUTED
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a352:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a354:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a356:	2f2b 0090      	movel %a3@(144),%sp@-                       <== NOT EXECUTED
msdos_file_read(rtems_libio_t *iop, void *buffer, size_t count)       
{                                                                     
    ssize_t            ret = 0;                                       
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
   5a35a:	242a 0018      	movel %a2@(24),%d2                          <== NOT EXECUTED
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a35e:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          <== NOT EXECUTED
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   5a364:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5a368:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5a36a:	664a           	bnes 5a3b6 <msdos_file_read+0x78>           <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    ret = fat_file_read(&fs_info->fat, fat_fd, iop->offset, count,    
   5a36c:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5a370:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5a374:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   5a378:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a37a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5a37c:	4eb9 0005 1bd0 	jsr 51bd0 <fat_file_read>                   <== NOT EXECUTED
                        buffer);                                      
    if (ret > 0)                                                      
   5a382:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    ret = fat_file_read(&fs_info->fat, fat_fd, iop->offset, count,    
   5a386:	2800           	movel %d0,%d4                               <== NOT EXECUTED
                        buffer);                                      
    if (ret > 0)                                                      
   5a388:	6f14           	bles 5a39e <msdos_file_read+0x60>           <== NOT EXECUTED
        iop->offset += ret;                                           
   5a38a:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   5a38c:	5bc2           	smi %d2                                     <== NOT EXECUTED
   5a38e:	49c2           	extbl %d2                                   <== NOT EXECUTED
   5a390:	d7aa 0008      	addl %d3,%a2@(8)                            <== NOT EXECUTED
   5a394:	202a 0004      	movel %a2@(4),%d0                           <== NOT EXECUTED
   5a398:	d182           	addxl %d2,%d0                               <== NOT EXECUTED
   5a39a:	2540 0004      	movel %d0,%a2@(4)                           <== NOT EXECUTED
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a39e:	2f2b 0090      	movel %a3@(144),%sp@-                       <== NOT EXECUTED
   5a3a2:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
    return ret;                                                       
   5a3a8:	588f           	addql #4,%sp                                <== NOT EXECUTED
}                                                                     
   5a3aa:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5a3ac:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   5a3b2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a3b4:	4e75           	rts                                         <== NOT EXECUTED
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a3b6:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a3bc:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   5a3be:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   5a3c0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    if (ret > 0)                                                      
        iop->offset += ret;                                           
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return ret;                                                       
}                                                                     
   5a3c2:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5a3c4:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            <== NOT EXECUTED
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a3ca:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    if (ret > 0)                                                      
        iop->offset += ret;                                           
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return ret;                                                       
}                                                                     
   5a3cc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a4b0 <msdos_file_stat>: int msdos_file_stat( const rtems_filesystem_location_info_t *loc, struct stat *buf ) {
   5a4b0:	4e56 ffe4      	linkw %fp,#-28                              
   5a4b4:	206e 0008      	moveal %fp@(8),%a0                          
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = loc->mt_entry->fs_info;              
   5a4b8:	2268 0014      	moveal %a0@(20),%a1                         
int                                                                   
msdos_file_stat(                                                      
    const rtems_filesystem_location_info_t *loc,                      
    struct stat *buf                                                  
)                                                                     
{                                                                     
   5a4bc:	48d7 1c3c      	moveml %d2-%d5/%a2-%a4,%sp@                 
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = loc->mt_entry->fs_info;              
   5a4c0:	2669 0008      	moveal %a1@(8),%a3                          
    fat_file_fd_t     *fat_fd = loc->node_access;                     
    uint32_t           cl_mask = fs_info->fat.vol.bpc - 1;            
   5a4c4:	4282           	clrl %d2                                    
   5a4c6:	342b 0006      	movew %a3@(6),%d2                           
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a4ca:	42a7           	clrl %sp@-                                  
int                                                                   
msdos_file_stat(                                                      
    const rtems_filesystem_location_info_t *loc,                      
    struct stat *buf                                                  
)                                                                     
{                                                                     
   5a4cc:	246e 000c      	moveal %fp@(12),%a2                         
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = loc->mt_entry->fs_info;              
    fat_file_fd_t     *fat_fd = loc->node_access;                     
    uint32_t           cl_mask = fs_info->fat.vol.bpc - 1;            
   5a4d0:	5382           	subql #1,%d2                                
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a4d2:	42a7           	clrl %sp@-                                  
   5a4d4:	2f2b 0090      	movel %a3@(144),%sp@-                       
    struct stat *buf                                                  
)                                                                     
{                                                                     
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = loc->mt_entry->fs_info;              
    fat_file_fd_t     *fat_fd = loc->node_access;                     
   5a4d8:	2868 0008      	moveal %a0@(8),%a4                          
    uint32_t           cl_mask = fs_info->fat.vol.bpc - 1;            
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a4dc:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   5a4e2:	4fef 000c      	lea %sp@(12),%sp                            
   5a4e6:	4a80           	tstl %d0                                    
   5a4e8:	6670           	bnes 5a55a <msdos_file_stat+0xaa>           <== NEVER TAKEN
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return RC_OK;                                                     
}                                                                     
   5a4ea:	206b 005a      	moveal %a3@(90),%a0                         
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
    buf->st_blocks = ((fat_fd->fat_file_size + cl_mask) & ~cl_mask)   
   5a4ee:	2002           	movel %d2,%d0                               
   5a4f0:	4680           	notl %d0                                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
   5a4f2:	222c 0018      	movel %a4@(24),%d1                          
    buf->st_blocks = ((fat_fd->fat_file_size + cl_mask) & ~cl_mask)   
   5a4f6:	d481           	addl %d1,%d2                                
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
   5a4f8:	2610           	movel %a0@,%d3                              
   5a4fa:	2828 0004      	movel %a0@(4),%d4                           
    buf->st_ino = fat_fd->ino;                                        
   5a4fe:	256c 000c 0008 	movel %a4@(12),%a2@(8)                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
   5a504:	2483           	movel %d3,%a2@                              
   5a506:	2544 0004      	movel %d4,%a2@(4)                           
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
    buf->st_blocks = ((fat_fd->fat_file_size + cl_mask) & ~cl_mask)   
      >> FAT_SECTOR512_BITS;                                          
    buf->st_blksize = fs_info->fat.vol.bpc;                           
   5a50a:	4283           	clrl %d3                                    
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
    buf->st_blocks = ((fat_fd->fat_file_size + cl_mask) & ~cl_mask)   
      >> FAT_SECTOR512_BITS;                                          
   5a50c:	7809           	moveq #9,%d4                                
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
    buf->st_blocks = ((fat_fd->fat_file_size + cl_mask) & ~cl_mask)   
   5a50e:	c082           	andl %d2,%d0                                
      >> FAT_SECTOR512_BITS;                                          
    buf->st_blksize = fs_info->fat.vol.bpc;                           
   5a510:	362b 0006      	movew %a3@(6),%d3                           
    buf->st_mtime = fat_fd->mtime;                                    
   5a514:	256c 003e 002e 	movel %a4@(62),%a2@(46)                     
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
    buf->st_blocks = ((fat_fd->fat_file_size + cl_mask) & ~cl_mask)   
      >> FAT_SECTOR512_BITS;                                          
   5a51a:	e8a8           	lsrl %d4,%d0                                
    buf->st_blksize = fs_info->fat.vol.bpc;                           
    buf->st_mtime = fat_fd->mtime;                                    
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a51c:	2f2b 0090      	movel %a3@(144),%sp@-                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
   5a520:	4284           	clrl %d4                                    
   5a522:	4285           	clrl %d5                                    
    buf->st_size = fat_fd->fat_file_size;                             
   5a524:	2541 0022      	movel %d1,%a2@(34)                          
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
    buf->st_rdev = 0ll;                                               
   5a528:	2544 0016      	movel %d4,%a2@(22)                          
   5a52c:	2545 001a      	movel %d5,%a2@(26)                          
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
   5a530:	2a3c 0000 81ff 	movel #33279,%d5                            
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
   5a536:	42aa 001e      	clrl %a2@(30)                               
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    buf->st_dev = rtems_disk_get_device_identifier(fs_info->fat.vol.dd);
    buf->st_ino = fat_fd->ino;                                        
    buf->st_mode  = S_IFREG | S_IRWXU | S_IRWXG | S_IRWXO;            
   5a53a:	2545 000c      	movel %d5,%a2@(12)                          
    buf->st_rdev = 0ll;                                               
    buf->st_size = fat_fd->fat_file_size;                             
    buf->st_blocks = ((fat_fd->fat_file_size + cl_mask) & ~cl_mask)   
   5a53e:	2540 0042      	movel %d0,%a2@(66)                          
      >> FAT_SECTOR512_BITS;                                          
    buf->st_blksize = fs_info->fat.vol.bpc;                           
   5a542:	2543 003e      	movel %d3,%a2@(62)                          
    buf->st_mtime = fat_fd->mtime;                                    
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a546:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         
    return RC_OK;                                                     
   5a54c:	588f           	addql #4,%sp                                
   5a54e:	4280           	clrl %d0                                    
}                                                                     
   5a550:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            
   5a556:	4e5e           	unlk %fp                                    
   5a558:	4e75           	rts                                         
    uint32_t           cl_mask = fs_info->fat.vol.bpc - 1;            
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a55a:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a560:	7605           	moveq #5,%d3                                <== NOT EXECUTED
   5a562:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a564:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5a566:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
    buf->st_blksize = fs_info->fat.vol.bpc;                           
    buf->st_mtime = fat_fd->mtime;                                    
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return RC_OK;                                                     
}                                                                     
   5a568:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            <== NOT EXECUTED
   5a56e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a660 <msdos_file_sync>: * RETURNS: * RC_OK on success, or -1 if error occured (errno set appropriately) */ int msdos_file_sync(rtems_libio_t *iop) {
   5a660:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5a664:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5a666:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5a668:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   5a66c:	206a 0024      	moveal %a2@(36),%a0                         <== NOT EXECUTED
   5a670:	2668 0008      	moveal %a0@(8),%a3                          <== NOT EXECUTED
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a674:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a676:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a678:	2f2b 0090      	movel %a3@(144),%sp@-                       <== NOT EXECUTED
   5a67c:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          <== NOT EXECUTED
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   5a682:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5a686:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5a688:	6650           	bnes 5a6da <msdos_file_sync+0x7a>           <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = msdos_file_update(iop);                                      
   5a68a:	486a 0024      	pea %a2@(36)                                <== NOT EXECUTED
   5a68e:	2f2a 0018      	movel %a2@(24),%sp@-                        <== NOT EXECUTED
   5a692:	4eba fbd8      	jsr %pc@(5a26c <msdos_file_update.isra.1>)  <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   5a696:	508f           	addql #8,%sp                                <== NOT EXECUTED
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = msdos_file_update(iop);                                      
   5a698:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   5a69a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5a69c:	6622           	bnes 5a6c0 <msdos_file_sync+0x60>           <== NOT EXECUTED
    {                                                                 
        rtems_semaphore_release(fs_info->vol_sema);                   
        return rc;                                                    
    }                                                                 
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
   5a69e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5a6a0:	4eb9 0005 36d4 	jsr 536d4 <fat_sync>                        <== NOT EXECUTED
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a6a6:	2f2b 0090      	movel %a3@(144),%sp@-                       <== NOT EXECUTED
   5a6aa:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
    return RC_OK;                                                     
}                                                                     
   5a6b0:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
   5a6b4:	200a           	movel %a2,%d0                               <== NOT EXECUTED
    }                                                                 
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return RC_OK;                                                     
   5a6b6:	508f           	addql #8,%sp                                <== NOT EXECUTED
}                                                                     
   5a6b8:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   5a6bc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a6be:	4e75           	rts                                         <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = msdos_file_update(iop);                                      
    if (rc != RC_OK)                                                  
    {                                                                 
        rtems_semaphore_release(fs_info->vol_sema);                   
   5a6c0:	2f2b 0090      	movel %a3@(144),%sp@-                       <== NOT EXECUTED
   5a6c4:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return RC_OK;                                                     
}                                                                     
   5a6ca:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
   5a6ce:	200a           	movel %a2,%d0                               <== NOT EXECUTED
                                                                      
    rc = msdos_file_update(iop);                                      
    if (rc != RC_OK)                                                  
    {                                                                 
        rtems_semaphore_release(fs_info->vol_sema);                   
        return rc;                                                    
   5a6d0:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return RC_OK;                                                     
}                                                                     
   5a6d2:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   5a6d6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a6d8:	4e75           	rts                                         <== NOT EXECUTED
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a6da:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a6e0:	347c ffff      	moveaw #-1,%a2                              <== NOT EXECUTED
   5a6e4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a6e6:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   5a6e8:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return RC_OK;                                                     
}                                                                     
   5a6ea:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   5a6ec:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   5a6f0:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
   5a6f4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a26c <msdos_file_update.isra.1>: #include "fat_file.h" #include "msdos.h" static int msdos_file_update(rtems_libio_t *iop)
   5a26c:	4e56 0000      	linkw %fp,#0                                
   5a270:	2f0b           	movel %a3,%sp@-                             
   5a272:	266e 000c      	moveal %fp@(12),%a3                         
   5a276:	2f0a           	movel %a2,%sp@-                             
   5a278:	246e 0008      	moveal %fp@(8),%a2                          
                                                                      
    /*                                                                
     * if fat-file descriptor is not marked as "removed", synchronize 
     * size, first cluster number, write time and date fields of the file
     */                                                               
    if (!FAT_FILE_IS_REMOVED(fat_fd))                                 
   5a27c:	102a 0030      	moveb %a2@(48),%d0                          
   5a280:	0800 0000      	btst #0,%d0                                 
   5a284:	670e           	beqs 5a294 <msdos_file_update.isra.1+0x28>  <== ALWAYS TAKEN
#include "msdos.h"                                                    
                                                                      
static int                                                            
msdos_file_update(rtems_libio_t *iop)                                 
{                                                                     
    int              rc = RC_OK;                                      
   5a286:	4280           	clrl %d0                                    <== NOT EXECUTED
            return rc;                                                
        }                                                             
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   5a288:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   5a28c:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
   5a290:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a292:	4e75           	rts                                         <== NOT EXECUTED
     * if fat-file descriptor is not marked as "removed", synchronize 
     * size, first cluster number, write time and date fields of the file
     */                                                               
    if (!FAT_FILE_IS_REMOVED(fat_fd))                                 
    {                                                                 
        rc = msdos_set_first_cluster_num(iop->pathinfo.mt_entry, fat_fd);
   5a294:	2f0a           	movel %a2,%sp@-                             
   5a296:	2f13           	movel %a3@,%sp@-                            
   5a298:	4eb9 0005 7366 	jsr 57366 <msdos_set_first_cluster_num>     
        if (rc != RC_OK)                                              
   5a29e:	508f           	addql #8,%sp                                
   5a2a0:	4a80           	tstl %d0                                    
   5a2a2:	66e4           	bnes 5a288 <msdos_file_update.isra.1+0x1c>  <== NEVER TAKEN
        {                                                             
            return rc;                                                
        }                                                             
                                                                      
        rc = msdos_set_file_size(iop->pathinfo.mt_entry, fat_fd);     
   5a2a4:	2f0a           	movel %a2,%sp@-                             
   5a2a6:	2f13           	movel %a3@,%sp@-                            
   5a2a8:	4eb9 0005 743e 	jsr 5743e <msdos_set_file_size>             
        if (rc != RC_OK)                                              
   5a2ae:	508f           	addql #8,%sp                                
   5a2b0:	4a80           	tstl %d0                                    
   5a2b2:	66d4           	bnes 5a288 <msdos_file_update.isra.1+0x1c>  <== NEVER TAKEN
        {                                                             
            return rc;                                                
        }                                                             
                                                                      
        rc = msdos_set_dir_wrt_time_and_date(iop->pathinfo.mt_entry, fat_fd);
   5a2b4:	2d53 0008      	movel %a3@,%fp@(8)                          
            return rc;                                                
        }                                                             
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   5a2b8:	266e fffc      	moveal %fp@(-4),%a3                         
        if (rc != RC_OK)                                              
        {                                                             
            return rc;                                                
        }                                                             
                                                                      
        rc = msdos_set_dir_wrt_time_and_date(iop->pathinfo.mt_entry, fat_fd);
   5a2bc:	2d4a 000c      	movel %a2,%fp@(12)                          
            return rc;                                                
        }                                                             
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   5a2c0:	246e fff8      	moveal %fp@(-8),%a2                         
   5a2c4:	4e5e           	unlk %fp                                    
        if (rc != RC_OK)                                              
        {                                                             
            return rc;                                                
        }                                                             
                                                                      
        rc = msdos_set_dir_wrt_time_and_date(iop->pathinfo.mt_entry, fat_fd);
   5a2c6:	4ef9 0005 7266 	jmp 57266 <msdos_set_dir_wrt_time_and_date> 
                                                                      

0005a3d0 <msdos_file_write>: * the number of bytes written on success, or -1 if error occured * and errno set appropriately */ ssize_t msdos_file_write(rtems_libio_t *iop,const void *buffer, size_t count) {
   5a3d0:	4e56 ffe0      	linkw %fp,#-32                              
   5a3d4:	48d7 1c7c      	moveml %d2-%d6/%a2-%a4,%sp@                 
   5a3d8:	246e 0008      	moveal %fp@(8),%a2                          
    ssize_t            ret = 0;                                       
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   5a3dc:	206a 0024      	moveal %a2@(36),%a0                         
   5a3e0:	2668 0008      	moveal %a0@(8),%a3                          
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a3e4:	42a7           	clrl %sp@-                                  
   5a3e6:	42a7           	clrl %sp@-                                  
   5a3e8:	2f2b 0090      	movel %a3@(144),%sp@-                       
msdos_file_write(rtems_libio_t *iop,const void *buffer, size_t count) 
{                                                                     
    ssize_t            ret = 0;                                       
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
   5a3ec:	286a 0018      	moveal %a2@(24),%a4                         
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   5a3f0:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   5a3f6:	4fef 000c      	lea %sp@(12),%sp                            
   5a3fa:	4a80           	tstl %d0                                    
   5a3fc:	667e           	bnes 5a47c <msdos_file_write+0xac>          <== NEVER TAKEN
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    if ((iop->flags & LIBIO_FLAGS_APPEND) != 0)                       
   5a3fe:	202a 000c      	movel %a2@(12),%d0                          
   5a402:	0280 0000 0200 	andil #512,%d0                              
   5a408:	676c           	beqs 5a476 <msdos_file_write+0xa6>          <== ALWAYS TAKEN
        iop->offset = fat_fd->fat_file_size;                          
   5a40a:	202c 0018      	movel %a4@(24),%d0                          <== NOT EXECUTED
   5a40e:	42aa 0004      	clrl %a2@(4)                                <== NOT EXECUTED
   5a412:	2540 0008      	movel %d0,%a2@(8)                           <== NOT EXECUTED
                                                                      
    ret = fat_file_write(&fs_info->fat, fat_fd, iop->offset, count,   
   5a416:	2f2e 000c      	movel %fp@(12),%sp@-                        
   5a41a:	2f2e 0010      	movel %fp@(16),%sp@-                        
   5a41e:	2f00           	movel %d0,%sp@-                             
   5a420:	2f0c           	movel %a4,%sp@-                             
   5a422:	2f0b           	movel %a3,%sp@-                             
   5a424:	4eb9 0005 22ee 	jsr 522ee <fat_file_write>                  
                         buffer);                                     
    if (ret < 0)                                                      
   5a42a:	4fef 0014      	lea %sp@(20),%sp                            
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    if ((iop->flags & LIBIO_FLAGS_APPEND) != 0)                       
        iop->offset = fat_fd->fat_file_size;                          
                                                                      
    ret = fat_file_write(&fs_info->fat, fat_fd, iop->offset, count,   
   5a42e:	2c00           	movel %d0,%d6                               
                         buffer);                                     
    if (ret < 0)                                                      
   5a430:	6d64           	blts 5a496 <msdos_file_write+0xc6>          <== NEVER TAKEN
    /*                                                                
     * update file size in both fat-file descriptor and file control block if
     * file was extended                                              
     */                                                               
    iop->offset += ret;                                               
    if (iop->offset > fat_fd->fat_file_size)                          
   5a432:	2a2c 0018      	movel %a4@(24),%d5                          
   5a436:	4284           	clrl %d4                                    
                                                                      
    /*                                                                
     * update file size in both fat-file descriptor and file control block if
     * file was extended                                              
     */                                                               
    iop->offset += ret;                                               
   5a438:	2600           	movel %d0,%d3                               
   5a43a:	5bc2           	smi %d2                                     
   5a43c:	49c2           	extbl %d2                                   
   5a43e:	202a 0004      	movel %a2@(4),%d0                           
   5a442:	d6aa 0008      	addl %a2@(8),%d3                            
   5a446:	d580           	addxl %d0,%d2                               
    if (iop->offset > fat_fd->fat_file_size)                          
   5a448:	2002           	movel %d2,%d0                               
   5a44a:	2203           	movel %d3,%d1                               
                                                                      
    /*                                                                
     * update file size in both fat-file descriptor and file control block if
     * file was extended                                              
     */                                                               
    iop->offset += ret;                                               
   5a44c:	2542 0004      	movel %d2,%a2@(4)                           
   5a450:	2543 0008      	movel %d3,%a2@(8)                           
    if (iop->offset > fat_fd->fat_file_size)                          
   5a454:	9285           	subl %d5,%d1                                
   5a456:	9184           	subxl %d4,%d0                               
   5a458:	6f04           	bles 5a45e <msdos_file_write+0x8e>          <== ALWAYS TAKEN
        fat_fd->fat_file_size = iop->offset;                          
   5a45a:	2943 0018      	movel %d3,%a4@(24)                          <== NOT EXECUTED
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   5a45e:	2f2b 0090      	movel %a3@(144),%sp@-                       
   5a462:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         
    return ret;                                                       
   5a468:	588f           	addql #4,%sp                                
}                                                                     
   5a46a:	2006           	movel %d6,%d0                               
   5a46c:	4cee 1c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a4            
   5a472:	4e5e           	unlk %fp                                    
   5a474:	4e75           	rts                                         
   5a476:	202a 0008      	movel %a2@(8),%d0                           
   5a47a:	609a           	bras 5a416 <msdos_file_write+0x46>          
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a47c:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5a482:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
   5a484:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   5a486:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    if (iop->offset > fat_fd->fat_file_size)                          
        fat_fd->fat_file_size = iop->offset;                          
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return ret;                                                       
}                                                                     
   5a488:	2006           	movel %d6,%d0                               <== NOT EXECUTED
    fat_file_fd_t     *fat_fd = iop->pathinfo.node_access;            
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5a48a:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
    if (iop->offset > fat_fd->fat_file_size)                          
        fat_fd->fat_file_size = iop->offset;                          
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return ret;                                                       
}                                                                     
   5a48c:	4cee 1c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a4            <== NOT EXECUTED
   5a492:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a494:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    ret = fat_file_write(&fs_info->fat, fat_fd, iop->offset, count,   
                         buffer);                                     
    if (ret < 0)                                                      
    {                                                                 
        rtems_semaphore_release(fs_info->vol_sema);                   
   5a496:	2f2b 0090      	movel %a3@(144),%sp@-                       <== NOT EXECUTED
        return -1;                                                    
   5a49a:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
                                                                      
    ret = fat_file_write(&fs_info->fat, fat_fd, iop->offset, count,   
                         buffer);                                     
    if (ret < 0)                                                      
    {                                                                 
        rtems_semaphore_release(fs_info->vol_sema);                   
   5a49c:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
        return -1;                                                    
   5a4a2:	588f           	addql #4,%sp                                <== NOT EXECUTED
    if (iop->offset > fat_fd->fat_file_size)                          
        fat_fd->fat_file_size = iop->offset;                          
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return ret;                                                       
}                                                                     
   5a4a4:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   5a4a6:	4cee 1c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a4            <== NOT EXECUTED
   5a4ac:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00059a20 <msdos_filename_unix2dos>: /* * Fill the dos filename string with blanks. These are DOS's pad * characters. */ for (i = 0; i <= 10; i++)
   59a20:	4280           	clrl %d0                                    
 * Convert a unix filename to a DOS filename. Return -1 if wrong name is
 * supplied.                                                          
 */                                                                   
int                                                                   
msdos_filename_unix2dos(const char *un, int unlen, char *dn)          
{                                                                     
   59a22:	4e56 ffe8      	linkw %fp,#-24                              
   59a26:	226e 0008      	moveal %fp@(8),%a1                          
   59a2a:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
   59a2e:	246e 0010      	moveal %fp@(16),%a2                         
   59a32:	204a           	moveal %a2,%a0                              
   59a34:	222e 000c      	movel %fp@(12),%d1                          
                                                                      
	/*                                                                   
	 * Fill the dos filename string with blanks. These are DOS's pad     
	 * characters.                                                       
	 */                                                                  
	for (i = 0; i <= 10; i++)                                            
   59a38:	5280           	addql #1,%d0                                
   59a3a:	740b           	moveq #11,%d2                               
		dn[i] = ' ';                                                        
   59a3c:	10fc 0020      	moveb #32,%a0@+                             
                                                                      
	/*                                                                   
	 * Fill the dos filename string with blanks. These are DOS's pad     
	 * characters.                                                       
	 */                                                                  
	for (i = 0; i <= 10; i++)                                            
   59a40:	b480           	cmpl %d0,%d2                                
   59a42:	66f4           	bnes 59a38 <msdos_filename_unix2dos+0x18>   
                                                                      
	/*                                                                   
	 * The filenames "." and ".." are handled specially, since they      
	 * don't follow dos filename rules.                                  
	 */                                                                  
	if (un[0] == '.' && unlen == 1) {                                    
   59a44:	762e           	moveq #46,%d3                               
   59a46:	1011           	moveb %a1@,%d0                              
   59a48:	1400           	moveb %d0,%d2                               
   59a4a:	49c2           	extbl %d2                                   
   59a4c:	b682           	cmpl %d2,%d3                                
   59a4e:	6700 00f8      	beqw 59b48 <msdos_filename_unix2dos+0x128>  
	}                                                                    
                                                                      
  /*                                                                  
   * Remove any dots from the start of a file name.                   
   */                                                                 
	while (unlen && (*un == '.')) {                                      
   59a52:	4a81           	tstl %d1                                    
   59a54:	6700 00e8      	beqw 59b3e <msdos_filename_unix2dos+0x11e>  
	 * Copy the unix filename into the dos filename string upto the end  
	 * of string, a '.', or 8 characters. Whichever happens first stops  
	 * us. This forms the name portion of the dos filename. Fold to      
	 * upper case.                                                       
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
   59a58:	1400           	moveb %d0,%d2                               
   59a5a:	6700 00e2      	beqw 59b3e <msdos_filename_unix2dos+0x11e>  
    if (msdos_map[c] == 0)                                            
   59a5e:	47f9 0006 a11e 	lea 6a11e <msdos_map>,%a3                   
   59a64:	0280 0000 00ff 	andil #255,%d0                              
   59a6a:	1633 0800      	moveb %a3@(00000000,%d0:l),%d3              
   59a6e:	6700 011c      	beqw 59b8c <msdos_filename_unix2dos+0x16c>  
      break;                                                          
		dn[i] = msdos_map[c];                                               
   59a72:	204a           	moveal %a2,%a0                              
		un++;                                                               
		unlen--;                                                            
   59a74:	2001           	movel %d1,%d0                               
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
    if (msdos_map[c] == 0)                                            
      break;                                                          
		dn[i] = msdos_map[c];                                               
		un++;                                                               
   59a76:	2809           	movel %a1,%d4                               
		unlen--;                                                            
   59a78:	5380           	subql #1,%d0                                
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
    if (msdos_map[c] == 0)                                            
      break;                                                          
		dn[i] = msdos_map[c];                                               
		un++;                                                               
   59a7a:	5284           	addql #1,%d4                                
/*                                                                    
 * Convert a unix filename to a DOS filename. Return -1 if wrong name is
 * supplied.                                                          
 */                                                                   
int                                                                   
msdos_filename_unix2dos(const char *un, int unlen, char *dn)          
   59a7c:	5181           	subql #8,%d1                                
	 * upper case.                                                       
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
    if (msdos_map[c] == 0)                                            
      break;                                                          
		dn[i] = msdos_map[c];                                               
   59a7e:	10c3           	moveb %d3,%a0@+                             
   59a80:	2244           	moveal %d4,%a1                              
   59a82:	5284           	addql #1,%d4                                
	 * Copy the unix filename into the dos filename string upto the end  
	 * of string, a '.', or 8 characters. Whichever happens first stops  
	 * us. This forms the name portion of the dos filename. Fold to      
	 * upper case.                                                       
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
   59a84:	4a80           	tstl %d0                                    
   59a86:	6700 00b6      	beqw 59b3e <msdos_filename_unix2dos+0x11e>  
   59a8a:	4283           	clrl %d3                                    
   59a8c:	1411           	moveb %a1@,%d2                              
   59a8e:	1602           	moveb %d2,%d3                               
   59a90:	6700 00ac      	beqw 59b3e <msdos_filename_unix2dos+0x11e>  
   59a94:	7a2e           	moveq #46,%d5                               
   59a96:	ba83           	cmpl %d3,%d5                                
   59a98:	671a           	beqs 59ab4 <msdos_filename_unix2dos+0x94>   
    if (msdos_map[c] == 0)                                            
   59a9a:	1633 3800      	moveb %a3@(00000000,%d3:l),%d3              
   59a9e:	6714           	beqs 59ab4 <msdos_filename_unix2dos+0x94>   <== NEVER TAKEN
      break;                                                          
		dn[i] = msdos_map[c];                                               
		un++;                                                               
		unlen--;                                                            
   59aa0:	5380           	subql #1,%d0                                
	 * upper case.                                                       
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
    if (msdos_map[c] == 0)                                            
      break;                                                          
		dn[i] = msdos_map[c];                                               
   59aa2:	10c3           	moveb %d3,%a0@+                             
	 * Copy the unix filename into the dos filename string upto the end  
	 * of string, a '.', or 8 characters. Whichever happens first stops  
	 * us. This forms the name portion of the dos filename. Fold to      
	 * upper case.                                                       
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
   59aa4:	b280           	cmpl %d0,%d1                                
   59aa6:	66d8           	bnes 59a80 <msdos_filename_unix2dos+0x60>   <== ALWAYS TAKEN
                                                                      
	/*                                                                   
	 * Strip any further characters up to a '.' or the end of the        
	 * string.                                                           
	 */                                                                  
	while (unlen && (c = *un)) {                                         
   59aa8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59aaa:	6700 0092      	beqw 59b3e <msdos_filename_unix2dos+0x11e>  <== NOT EXECUTED
   59aae:	1429 0001      	moveb %a1@(1),%d2                           <== NOT EXECUTED
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
    if (msdos_map[c] == 0)                                            
      break;                                                          
		dn[i] = msdos_map[c];                                               
		un++;                                                               
   59ab2:	2244           	moveal %d4,%a1                              <== NOT EXECUTED
                                                                      
	/*                                                                   
	 * Strip any further characters up to a '.' or the end of the        
	 * string.                                                           
	 */                                                                  
	while (unlen && (c = *un)) {                                         
   59ab4:	4a02           	tstb %d2                                    
   59ab6:	6700 0086      	beqw 59b3e <msdos_filename_unix2dos+0x11e>  
		un++;                                                               
		unlen--;                                                            
   59aba:	2200           	movel %d0,%d1                               
	/*                                                                   
	 * Strip any further characters up to a '.' or the end of the        
	 * string.                                                           
	 */                                                                  
	while (unlen && (c = *un)) {                                         
		un++;                                                               
   59abc:	5289           	addql #1,%a1                                
		unlen--;                                                            
   59abe:	5381           	subql #1,%d1                                
		/* Make sure we've skipped over the dot before stopping. */         
		if (c == '.')                                                       
   59ac0:	762e           	moveq #46,%d3                               
   59ac2:	0282 0000 00ff 	andil #255,%d2                              
   59ac8:	b682           	cmpl %d2,%d3                                
   59aca:	671c           	beqs 59ae8 <msdos_filename_unix2dos+0xc8>   <== ALWAYS TAKEN
   59acc:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   59ace:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   59ad0:	5280           	addql #1,%d0                                <== NOT EXECUTED
	/*                                                                   
	 * Strip any further characters up to a '.' or the end of the        
	 * string.                                                           
	 */                                                                  
	while (unlen && (c = *un)) {                                         
		un++;                                                               
   59ad2:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
                                                                      
	/*                                                                   
	 * Strip any further characters up to a '.' or the end of the        
	 * string.                                                           
	 */                                                                  
	while (unlen && (c = *un)) {                                         
   59ad4:	4a81           	tstl %d1                                    <== NOT EXECUTED
   59ad6:	6766           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NOT EXECUTED
		un++;                                                               
		unlen--;                                                            
		/* Make sure we've skipped over the dot before stopping. */         
		if (c == '.')                                                       
   59ad8:	4283           	clrl %d3                                    <== NOT EXECUTED
	 * Strip any further characters up to a '.' or the end of the        
	 * string.                                                           
	 */                                                                  
	while (unlen && (c = *un)) {                                         
		un++;                                                               
		unlen--;                                                            
   59ada:	5381           	subql #1,%d1                                <== NOT EXECUTED
                                                                      
	/*                                                                   
	 * Strip any further characters up to a '.' or the end of the        
	 * string.                                                           
	 */                                                                  
	while (unlen && (c = *un)) {                                         
   59adc:	1410           	moveb %a0@,%d2                              <== NOT EXECUTED
		un++;                                                               
		unlen--;                                                            
		/* Make sure we've skipped over the dot before stopping. */         
		if (c == '.')                                                       
   59ade:	1602           	moveb %d2,%d3                               <== NOT EXECUTED
                                                                      
	/*                                                                   
	 * Strip any further characters up to a '.' or the end of the        
	 * string.                                                           
	 */                                                                  
	while (unlen && (c = *un)) {                                         
   59ae0:	675c           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NOT EXECUTED
		un++;                                                               
		unlen--;                                                            
		/* Make sure we've skipped over the dot before stopping. */         
		if (c == '.')                                                       
   59ae2:	742e           	moveq #46,%d2                               <== NOT EXECUTED
   59ae4:	b483           	cmpl %d3,%d2                                <== NOT EXECUTED
   59ae6:	66e6           	bnes 59ace <msdos_filename_unix2dos+0xae>   <== NOT EXECUTED
	/*                                                                   
	 * Copy in the extension part of the name, if any. Force to upper    
	 * case. Note that the extension is allowed to contain '.'s.         
	 * Filenames in this form are probably inaccessable under dos.       
	 */                                                                  
	for (i = 8; i <= 10 && unlen && (c = *un); i++) {                    
   59ae8:	4a81           	tstl %d1                                    
   59aea:	6752           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
   59aec:	1011           	moveb %a1@,%d0                              
   59aee:	674e           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
    if (msdos_map[c] == 0)                                            
   59af0:	41f9 0006 a11e 	lea 6a11e <msdos_map>,%a0                   
   59af6:	0280 0000 00ff 	andil #255,%d0                              
   59afc:	1033 0800      	moveb %a3@(00000000,%d0:l),%d0              
   59b00:	673c           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
	/*                                                                   
	 * Copy in the extension part of the name, if any. Force to upper    
	 * case. Note that the extension is allowed to contain '.'s.         
	 * Filenames in this form are probably inaccessable under dos.       
	 */                                                                  
	for (i = 8; i <= 10 && unlen && (c = *un); i++) {                    
   59b02:	7a01           	moveq #1,%d5                                
    if (msdos_map[c] == 0)                                            
      break;                                                          
    dn[i] = msdos_map[c];                                             
   59b04:	1540 0008      	moveb %d0,%a2@(8)                           
	/*                                                                   
	 * Copy in the extension part of the name, if any. Force to upper    
	 * case. Note that the extension is allowed to contain '.'s.         
	 * Filenames in this form are probably inaccessable under dos.       
	 */                                                                  
	for (i = 8; i <= 10 && unlen && (c = *un); i++) {                    
   59b08:	ba81           	cmpl %d1,%d5                                
   59b0a:	6732           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
   59b0c:	1029 0001      	moveb %a1@(1),%d0                           
   59b10:	672c           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
    if (msdos_map[c] == 0)                                            
   59b12:	0280 0000 00ff 	andil #255,%d0                              
   59b18:	1030 0800      	moveb %a0@(00000000,%d0:l),%d0              
   59b1c:	6720           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
      break;                                                          
    dn[i] = msdos_map[c];                                             
   59b1e:	1540 0009      	moveb %d0,%a2@(9)                           
	/*                                                                   
	 * Copy in the extension part of the name, if any. Force to upper    
	 * case. Note that the extension is allowed to contain '.'s.         
	 * Filenames in this form are probably inaccessable under dos.       
	 */                                                                  
	for (i = 8; i <= 10 && unlen && (c = *un); i++) {                    
   59b22:	7002           	moveq #2,%d0                                
   59b24:	b081           	cmpl %d1,%d0                                
   59b26:	6716           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
   59b28:	1029 0002      	moveb %a1@(2),%d0                           
   59b2c:	6710           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
    if (msdos_map[c] == 0)                                            
   59b2e:	0280 0000 00ff 	andil #255,%d0                              
   59b34:	1030 0800      	moveb %a0@(00000000,%d0:l),%d0              
   59b38:	6704           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NEVER TAKEN
      break;                                                          
    dn[i] = msdos_map[c];                                             
   59b3a:	1540 000a      	moveb %d0,%a2@(10)                          
		un++;                                                               
		unlen--;                                                            
	}                                                                    
	return 0;                                                            
}                                                                     
   59b3e:	4280           	clrl %d0                                    
   59b40:	4cd7 0c3c      	moveml %sp@,%d2-%d5/%a2-%a3                 
   59b44:	4e5e           	unlk %fp                                    
   59b46:	4e75           	rts                                         
                                                                      
	/*                                                                   
	 * The filenames "." and ".." are handled specially, since they      
	 * don't follow dos filename rules.                                  
	 */                                                                  
	if (un[0] == '.' && unlen == 1) {                                    
   59b48:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
   59b4a:	ba81           	cmpl %d1,%d5                                <== NOT EXECUTED
   59b4c:	6730           	beqs 59b7e <msdos_filename_unix2dos+0x15e>  <== NOT EXECUTED
		dn[0] = '.';                                                        
		return 0;                                                           
	}                                                                    
	if (un[0] == '.' && un[1] == '.' && unlen == 2) {                    
   59b4e:	742e           	moveq #46,%d2                               <== NOT EXECUTED
   59b50:	1029 0001      	moveb %a1@(1),%d0                           <== NOT EXECUTED
   59b54:	49c0           	extbl %d0                                   <== NOT EXECUTED
   59b56:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   59b58:	6606           	bnes 59b60 <msdos_filename_unix2dos+0x140>  <== NOT EXECUTED
   59b5a:	7602           	moveq #2,%d3                                <== NOT EXECUTED
   59b5c:	b681           	cmpl %d1,%d3                                <== NOT EXECUTED
   59b5e:	6732           	beqs 59b92 <msdos_filename_unix2dos+0x172>  <== NOT EXECUTED
/*                                                                    
 * Convert a unix filename to a DOS filename. Return -1 if wrong name is
 * supplied.                                                          
 */                                                                   
int                                                                   
msdos_filename_unix2dos(const char *un, int unlen, char *dn)          
   59b60:	41e9 0001      	lea %a1@(1),%a0                             <== NOT EXECUTED
	}                                                                    
                                                                      
  /*                                                                  
   * Remove any dots from the start of a file name.                   
   */                                                                 
	while (unlen && (*un == '.')) {                                      
   59b64:	4a81           	tstl %d1                                    <== NOT EXECUTED
   59b66:	67d6           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NOT EXECUTED
		un++;                                                               
   59b68:	2248           	moveal %a0,%a1                              <== NOT EXECUTED
		unlen--;                                                            
   59b6a:	5381           	subql #1,%d1                                <== NOT EXECUTED
	}                                                                    
                                                                      
  /*                                                                  
   * Remove any dots from the start of a file name.                   
   */                                                                 
	while (unlen && (*un == '.')) {                                      
   59b6c:	67d0           	beqs 59b3e <msdos_filename_unix2dos+0x11e>  <== NOT EXECUTED
   59b6e:	762e           	moveq #46,%d3                               <== NOT EXECUTED
   59b70:	1018           	moveb %a0@+,%d0                             <== NOT EXECUTED
   59b72:	1400           	moveb %d0,%d2                               <== NOT EXECUTED
   59b74:	49c2           	extbl %d2                                   <== NOT EXECUTED
   59b76:	b682           	cmpl %d2,%d3                                <== NOT EXECUTED
   59b78:	67ee           	beqs 59b68 <msdos_filename_unix2dos+0x148>  <== NOT EXECUTED
   59b7a:	6000 fedc      	braw 59a58 <msdos_filename_unix2dos+0x38>   <== NOT EXECUTED
    dn[i] = msdos_map[c];                                             
		un++;                                                               
		unlen--;                                                            
	}                                                                    
	return 0;                                                            
}                                                                     
   59b7e:	4280           	clrl %d0                                    <== NOT EXECUTED
	/*                                                                   
	 * The filenames "." and ".." are handled specially, since they      
	 * don't follow dos filename rules.                                  
	 */                                                                  
	if (un[0] == '.' && unlen == 1) {                                    
		dn[0] = '.';                                                        
   59b80:	14bc 002e      	moveb #46,%a2@                              <== NOT EXECUTED
    dn[i] = msdos_map[c];                                             
		un++;                                                               
		unlen--;                                                            
	}                                                                    
	return 0;                                                            
}                                                                     
   59b84:	4cd7 0c3c      	moveml %sp@,%d2-%d5/%a2-%a3                 <== NOT EXECUTED
   59b88:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59b8a:	4e75           	rts                                         <== NOT EXECUTED
	 * of string, a '.', or 8 characters. Whichever happens first stops  
	 * us. This forms the name portion of the dos filename. Fold to      
	 * upper case.                                                       
	 */                                                                  
	for (i = 0; i <= 7 && unlen && (c = *un) && c != '.'; i++) {         
    if (msdos_map[c] == 0)                                            
   59b8c:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   59b8e:	6000 ff24      	braw 59ab4 <msdos_filename_unix2dos+0x94>   <== NOT EXECUTED
    dn[i] = msdos_map[c];                                             
		un++;                                                               
		unlen--;                                                            
	}                                                                    
	return 0;                                                            
}                                                                     
   59b92:	4280           	clrl %d0                                    <== NOT EXECUTED
		dn[0] = '.';                                                        
		return 0;                                                           
	}                                                                    
	if (un[0] == '.' && un[1] == '.' && unlen == 2) {                    
		dn[0] = '.';                                                        
		dn[1] = '.';                                                        
   59b94:	7a2e           	moveq #46,%d5                               <== NOT EXECUTED
	if (un[0] == '.' && unlen == 1) {                                    
		dn[0] = '.';                                                        
		return 0;                                                           
	}                                                                    
	if (un[0] == '.' && un[1] == '.' && unlen == 2) {                    
		dn[0] = '.';                                                        
   59b96:	14bc 002e      	moveb #46,%a2@                              <== NOT EXECUTED
		dn[1] = '.';                                                        
   59b9a:	1545 0001      	moveb %d5,%a2@(1)                           <== NOT EXECUTED
    dn[i] = msdos_map[c];                                             
		un++;                                                               
		unlen--;                                                            
	}                                                                    
	return 0;                                                            
}                                                                     
   59b9e:	4cd7 0c3c      	moveml %sp@,%d2-%d5/%a2-%a3                 <== NOT EXECUTED
   59ba2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

000586c4 <msdos_find_name>: msdos_find_name( rtems_filesystem_location_info_t *parent_loc, const char *name, int name_len ) {
   586c4:	4e56 ffb0      	linkw %fp,#-80                              
   586c8:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
   586cc:	266e 0008      	moveal %fp@(8),%a3                          
    fat_dir_pos_t      dir_pos;                                       
    unsigned short     time_val = 0;                                  
    unsigned short     date = 0;                                      
    char               node_entry[MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE]; 
                                                                      
    memset(node_entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
   586d0:	45ee ffe0      	lea %fp@(-32),%a2                           
    const char                       *name,                           
    int                               name_len                        
    )                                                                 
{                                                                     
    int                rc = RC_OK;                                    
    msdos_fs_info_t   *fs_info = parent_loc->mt_entry->fs_info;       
   586d4:	206b 0014      	moveal %a3@(20),%a0                         
   586d8:	2868 0008      	moveal %a0@(8),%a4                          
    unsigned short     date = 0;                                      
    char               node_entry[MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE]; 
                                                                      
    memset(node_entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
                                                                      
    name_type = msdos_long_to_short (name,                            
   586dc:	4878 000b      	pea b <LASTO+0x1>                           
msdos_find_name(                                                      
    rtems_filesystem_location_info_t *parent_loc,                     
    const char                       *name,                           
    int                               name_len                        
    )                                                                 
{                                                                     
   586e0:	262e 0010      	movel %fp@(16),%d3                          
    unsigned short     date = 0;                                      
    char               node_entry[MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE]; 
                                                                      
    memset(node_entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
                                                                      
    name_type = msdos_long_to_short (name,                            
   586e4:	2f0a           	movel %a2,%sp@-                             
msdos_find_name(                                                      
    rtems_filesystem_location_info_t *parent_loc,                     
    const char                       *name,                           
    int                               name_len                        
    )                                                                 
{                                                                     
   586e6:	242e 000c      	movel %fp@(12),%d2                          
    unsigned short     date = 0;                                      
    char               node_entry[MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE]; 
                                                                      
    memset(node_entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
                                                                      
    name_type = msdos_long_to_short (name,                            
   586ea:	2f03           	movel %d3,%sp@-                             
   586ec:	2f02           	movel %d2,%sp@-                             
    int                               name_len                        
    )                                                                 
{                                                                     
    int                rc = RC_OK;                                    
    msdos_fs_info_t   *fs_info = parent_loc->mt_entry->fs_info;       
    fat_file_fd_t     *fat_fd = NULL;                                 
   586ee:	42ae ffcc      	clrl %fp@(-52)                              
    fat_dir_pos_t      dir_pos;                                       
    unsigned short     time_val = 0;                                  
    unsigned short     date = 0;                                      
    char               node_entry[MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE]; 
                                                                      
    memset(node_entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);         
   586f2:	4292           	clrl %a2@                                   
   586f4:	42ae ffe4      	clrl %fp@(-28)                              
   586f8:	42ae ffe8      	clrl %fp@(-24)                              
   586fc:	42ae ffec      	clrl %fp@(-20)                              
   58700:	42ae fff0      	clrl %fp@(-16)                              
   58704:	42ae fff4      	clrl %fp@(-12)                              
   58708:	42ae fff8      	clrl %fp@(-8)                               
   5870c:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
    name_type = msdos_long_to_short (name,                            
   58710:	4eb9 0005 7050 	jsr 57050 <msdos_long_to_short>             
                                                                      
    /*                                                                
     * find the node which correspondes to the name in the directory pointed by
     * 'parent_loc'                                                   
     */                                                               
    rc = msdos_get_name_node(parent_loc, false, name, name_len, name_type,
   58716:	2f0a           	movel %a2,%sp@-                             
   58718:	486e ffd0      	pea %fp@(-48)                               
   5871c:	2f00           	movel %d0,%sp@-                             
   5871e:	2f03           	movel %d3,%sp@-                             
   58720:	2f02           	movel %d2,%sp@-                             
   58722:	42a7           	clrl %sp@-                                  
   58724:	2f0b           	movel %a3,%sp@-                             
   58726:	4eb9 0005 85f8 	jsr 585f8 <msdos_get_name_node>             
                             &dir_pos, node_entry);                   
    if (rc != RC_OK)                                                  
   5872c:	4fef 002c      	lea %sp@(44),%sp                            
                                                                      
    /*                                                                
     * find the node which correspondes to the name in the directory pointed by
     * 'parent_loc'                                                   
     */                                                               
    rc = msdos_get_name_node(parent_loc, false, name, name_len, name_type,
   58730:	2440           	moveal %d0,%a2                              
                             &dir_pos, node_entry);                   
    if (rc != RC_OK)                                                  
   58732:	4a80           	tstl %d0                                    
   58734:	6610           	bnes 58746 <msdos_find_name+0x82>           
        return rc;                                                    
                                                                      
    if (((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_VOLUME_ID) ||     
   58736:	7208           	moveq #8,%d1                                
        ((*MSDOS_DIR_ATTR(node_entry) & MSDOS_ATTR_LFN_MASK) == MSDOS_ATTR_LFN))
        return MSDOS_NAME_NOT_FOUND_ERR;                              
   58738:	347c 7d01      	moveaw #32001,%a2                           
    rc = msdos_get_name_node(parent_loc, false, name, name_len, name_type,
                             &dir_pos, node_entry);                   
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    if (((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_VOLUME_ID) ||     
   5873c:	102e ffeb      	moveb %fp@(-21),%d0                         
   58740:	c280           	andl %d0,%d1                                
   58742:	4a01           	tstb %d1                                    
   58744:	670c           	beqs 58752 <msdos_find_name+0x8e>           <== ALWAYS TAKEN
                                                                      
    /* update node_info_ptr field */                                  
    parent_loc->node_access = fat_fd;                                 
                                                                      
    return rc;                                                        
}                                                                     
   58746:	200a           	movel %a2,%d0                               
   58748:	4cee 3c1c ffb0 	moveml %fp@(-80),%d2-%d4/%a2-%a5            
   5874e:	4e5e           	unlk %fp                                    
   58750:	4e75           	rts                                         
    rc = msdos_get_name_node(parent_loc, false, name, name_len, name_type,
                             &dir_pos, node_entry);                   
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    if (((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_VOLUME_ID) ||     
   58752:	723f           	moveq #63,%d1                               
   58754:	760f           	moveq #15,%d3                               
   58756:	c081           	andl %d1,%d0                                
   58758:	b680           	cmpl %d0,%d3                                
   5875a:	67ea           	beqs 58746 <msdos_find_name+0x82>           <== NEVER TAKEN
        ((*MSDOS_DIR_ATTR(node_entry) & MSDOS_ATTR_LFN_MASK) == MSDOS_ATTR_LFN))
        return MSDOS_NAME_NOT_FOUND_ERR;                              
                                                                      
    /* open fat-file corresponded to the found node */                
    rc = fat_file_open(&fs_info->fat, &dir_pos, &fat_fd);             
   5875c:	486e ffcc      	pea %fp@(-52)                               
   58760:	486e ffd0      	pea %fp@(-48)                               
   58764:	2f0c           	movel %a4,%sp@-                             
   58766:	4eb9 0005 1914 	jsr 51914 <fat_file_open>                   
    if (rc != RC_OK)                                                  
   5876c:	4fef 000c      	lea %sp@(12),%sp                            
    if (((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_VOLUME_ID) ||     
        ((*MSDOS_DIR_ATTR(node_entry) & MSDOS_ATTR_LFN_MASK) == MSDOS_ATTR_LFN))
        return MSDOS_NAME_NOT_FOUND_ERR;                              
                                                                      
    /* open fat-file corresponded to the found node */                
    rc = fat_file_open(&fs_info->fat, &dir_pos, &fat_fd);             
   58770:	2440           	moveal %d0,%a2                              
    if (rc != RC_OK)                                                  
   58772:	4a80           	tstl %d0                                    
   58774:	66d0           	bnes 58746 <msdos_find_name+0x82>           <== NEVER TAKEN
        return rc;                                                    
                                                                      
    fat_fd->dir_pos = dir_pos;                                        
   58776:	246e ffcc      	moveal %fp@(-52),%a2                        
     * size and first cluster num to the disk after each write operation
     * (even if one byte is written  - that is TOO slow) because      
     * otherwise real values of these fields stored in fat-file descriptor
     * may be accidentally rewritten with wrong values stored on the disk
     */                                                               
    if (fat_fd->links_num == 1)                                       
   5877a:	7801           	moveq #1,%d4                                
    /* open fat-file corresponded to the found node */                
    rc = fat_file_open(&fs_info->fat, &dir_pos, &fat_fd);             
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    fat_fd->dir_pos = dir_pos;                                        
   5877c:	256e ffd0 0020 	movel %fp@(-48),%a2@(32)                    
   58782:	256e ffd4 0024 	movel %fp@(-44),%a2@(36)                    
   58788:	256e ffd8 0028 	movel %fp@(-40),%a2@(40)                    
   5878e:	256e ffdc 002c 	movel %fp@(-36),%a2@(44)                    
     * size and first cluster num to the disk after each write operation
     * (even if one byte is written  - that is TOO slow) because      
     * otherwise real values of these fields stored in fat-file descriptor
     * may be accidentally rewritten with wrong values stored on the disk
     */                                                               
    if (fat_fd->links_num == 1)                                       
   58794:	b8aa 0008      	cmpl %a2@(8),%d4                            
   58798:	672a           	beqs 587c4 <msdos_find_name+0x100>          <== ALWAYS TAKEN
            fat_fd->map.last_cln = FAT_UNDEFINED_VALUE;               
        }                                                             
    }                                                                 
                                                                      
    /* close fat-file corresponded to the node we searched in */      
    rc = fat_file_close(&fs_info->fat, parent_loc->node_access);      
   5879a:	2f2b 0008      	movel %a3@(8),%sp@-                         
   5879e:	4bf9 0005 1f16 	lea 51f16 <fat_file_close>,%a5              
   587a4:	2f0c           	movel %a4,%sp@-                             
   587a6:	4e95           	jsr %a5@                                    
    if (rc != RC_OK)                                                  
   587a8:	508f           	addql #8,%sp                                
            fat_fd->map.last_cln = FAT_UNDEFINED_VALUE;               
        }                                                             
    }                                                                 
                                                                      
    /* close fat-file corresponded to the node we searched in */      
    rc = fat_file_close(&fs_info->fat, parent_loc->node_access);      
   587aa:	2440           	moveal %d0,%a2                              
    if (rc != RC_OK)                                                  
   587ac:	4a80           	tstl %d0                                    
   587ae:	6600 00da      	bnew 5888a <msdos_find_name+0x1c6>          
                                                                      
    /* update node_info_ptr field */                                  
    parent_loc->node_access = fat_fd;                                 
                                                                      
    return rc;                                                        
}                                                                     
   587b2:	200a           	movel %a2,%d0                               
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* update node_info_ptr field */                                  
    parent_loc->node_access = fat_fd;                                 
   587b4:	276e ffcc 0008 	movel %fp@(-52),%a3@(8)                     
                                                                      
    return rc;                                                        
}                                                                     
   587ba:	4cee 3c1c ffb0 	moveml %fp@(-80),%d2-%d4/%a2-%a5            
   587c0:	4e5e           	unlk %fp                                    
   587c2:	4e75           	rts                                         
   587c4:	4283           	clrl %d3                                    
   587c6:	4281           	clrl %d1                                    
   587c8:	362e fff4      	movew %fp@(-12),%d3                         
   587cc:	322e fffa      	movew %fp@(-6),%d1                          
   587d0:	2003           	movel %d3,%d0                               
   587d2:	2401           	movel %d1,%d2                               
   587d4:	2803           	movel %d3,%d4                               
   587d6:	e08c           	lsrl #8,%d4                                 
   587d8:	e089           	lsrl #8,%d1                                 
   587da:	e188           	lsll #8,%d0                                 
   587dc:	e18a           	lsll #8,%d2                                 
   587de:	362e fff6      	movew %fp@(-10),%d3                         
   587e2:	8084           	orl %d4,%d0                                 
   587e4:	8481           	orl %d1,%d2                                 
   587e6:	2203           	movel %d3,%d1                               
   587e8:	2803           	movel %d3,%d4                               
   587ea:	e08c           	lsrl #8,%d4                                 
     * otherwise real values of these fields stored in fat-file descriptor
     * may be accidentally rewritten with wrong values stored on the disk
     */                                                               
    if (fat_fd->links_num == 1)                                       
    {                                                                 
        fat_fd->cln = MSDOS_EXTRACT_CLUSTER_NUM(node_entry);          
   587ec:	4840           	swap %d0                                    
   587ee:	4240           	clrw %d0                                    
   587f0:	0282 0000 ffff 	andil #65535,%d2                            
   587f6:	e189           	lsll #8,%d1                                 
   587f8:	362e fff8      	movew %fp@(-8),%d3                          
   587fc:	8082           	orl %d2,%d0                                 
   587fe:	8284           	orl %d4,%d1                                 
   58800:	2540 001c      	movel %d0,%a2@(28)                          
   58804:	2003           	movel %d3,%d0                               
                                                                      
        time_val = *MSDOS_DIR_WRITE_TIME(node_entry);                 
        date = *MSDOS_DIR_WRITE_DATE(node_entry);                     
                                                                      
        fat_fd->mtime = msdos_date_dos2unix(CF_LE_W(date), CF_LE_W(time_val));
   58806:	3f01           	movew %d1,%sp@-                             
   58808:	2203           	movel %d3,%d1                               
   5880a:	e089           	lsrl #8,%d1                                 
   5880c:	e188           	lsll #8,%d0                                 
   5880e:	4267           	clrw %sp@-                                  
   58810:	8081           	orl %d1,%d0                                 
   58812:	3f00           	movew %d0,%sp@-                             
   58814:	4267           	clrw %sp@-                                  
   58816:	4eb9 0005 991e 	jsr 5991e <msdos_date_dos2unix>             
                                                                      
        if ((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_DIRECTORY)     
   5881c:	508f           	addql #8,%sp                                
   5881e:	7210           	moveq #16,%d1                               
        fat_fd->cln = MSDOS_EXTRACT_CLUSTER_NUM(node_entry);          
                                                                      
        time_val = *MSDOS_DIR_WRITE_TIME(node_entry);                 
        date = *MSDOS_DIR_WRITE_DATE(node_entry);                     
                                                                      
        fat_fd->mtime = msdos_date_dos2unix(CF_LE_W(date), CF_LE_W(time_val));
   58820:	2540 003e      	movel %d0,%a2@(62)                          
                                                                      
        if ((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_DIRECTORY)     
   58824:	102e ffeb      	moveb %fp@(-21),%d0                         
   58828:	c081           	andl %d1,%d0                                
   5882a:	4a00           	tstb %d0                                    
   5882c:	667c           	bnes 588aa <msdos_find_name+0x1e6>          <== NEVER TAKEN
                return rc;                                            
            }                                                         
        }                                                             
        else                                                          
        {                                                             
            fat_fd->fat_file_size = CF_LE_L(*MSDOS_DIR_FILE_SIZE(node_entry));
   5882e:	222e fffc      	movel %fp@(-4),%d1                          
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   58832:	7818           	moveq #24,%d4                               
   58834:	2601           	movel %d1,%d3                               
  byte3 = (value >> 16) & 0xff;                                       
   58836:	2401           	movel %d1,%d2                               
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   58838:	2001           	movel %d1,%d0                               
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   5883a:	e8ab           	lsrl %d4,%d3                                
  byte3 = (value >> 16) & 0xff;                                       
   5883c:	e08a           	lsrl #8,%d2                                 
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   5883e:	e9a8           	lsll %d4,%d0                                
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   58840:	e189           	lsll #8,%d1                                 
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   58842:	0282 0000 ff00 	andil #65280,%d2                            
   58848:	8083           	orl %d3,%d0                                 
   5884a:	206e ffcc      	moveal %fp@(-52),%a0                        
            fat_fd->fat_file_type = FAT_FILE;                         
   5884e:	7604           	moveq #4,%d3                                
            fat_fd->size_limit = MSDOS_MAX_FILE_SIZE;                 
   58850:	78ff           	moveq #-1,%d4                               
   58852:	0281 00ff 0000 	andil #16711680,%d1                         
            }                                                         
        }                                                             
        else                                                          
        {                                                             
            fat_fd->fat_file_size = CF_LE_L(*MSDOS_DIR_FILE_SIZE(node_entry));
            fat_fd->fat_file_type = FAT_FILE;                         
   58858:	2143 0010      	movel %d3,%a0@(16)                          
   5885c:	8081           	orl %d1,%d0                                 
            fat_fd->size_limit = MSDOS_MAX_FILE_SIZE;                 
   5885e:	2144 0014      	movel %d4,%a0@(20)                          
   58862:	8082           	orl %d2,%d0                                 
                return rc;                                            
            }                                                         
        }                                                             
        else                                                          
        {                                                             
            fat_fd->fat_file_size = CF_LE_L(*MSDOS_DIR_FILE_SIZE(node_entry));
   58864:	2140 0018      	movel %d0,%a0@(24)                          
            fat_fd->size_limit = MSDOS_MAX_FILE_SIZE;                 
        }                                                             
                                                                      
        /* these data is not actual for zero-length fat-file */       
        fat_fd->map.file_cln = 0;                                     
        fat_fd->map.disk_cln = fat_fd->cln;                           
   58868:	2228 001c      	movel %a0@(28),%d1                          
            fat_fd->fat_file_type = FAT_FILE;                         
            fat_fd->size_limit = MSDOS_MAX_FILE_SIZE;                 
        }                                                             
                                                                      
        /* these data is not actual for zero-length fat-file */       
        fat_fd->map.file_cln = 0;                                     
   5886c:	42a8 0032      	clrl %a0@(50)                               
        fat_fd->map.disk_cln = fat_fd->cln;                           
   58870:	2141 0036      	movel %d1,%a0@(54)                          
                                                                      
        if ((fat_fd->fat_file_size != 0) &&                           
   58874:	4a80           	tstl %d0                                    
   58876:	6728           	beqs 588a0 <msdos_find_name+0x1dc>          <== ALWAYS TAKEN
            (fat_fd->fat_file_size <= fs_info->fat.vol.bpc))          
   58878:	4282           	clrl %d2                                    <== NOT EXECUTED
   5887a:	342c 0006      	movew %a4@(6),%d2                           <== NOT EXECUTED
                                                                      
        /* these data is not actual for zero-length fat-file */       
        fat_fd->map.file_cln = 0;                                     
        fat_fd->map.disk_cln = fat_fd->cln;                           
                                                                      
        if ((fat_fd->fat_file_size != 0) &&                           
   5887e:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   58880:	621e           	bhis 588a0 <msdos_find_name+0x1dc>          <== NOT EXECUTED
            (fat_fd->fat_file_size <= fs_info->fat.vol.bpc))          
        {                                                             
            fat_fd->map.last_cln = fat_fd->cln;                       
   58882:	2141 003a      	movel %d1,%a0@(58)                          <== NOT EXECUTED
   58886:	6000 ff12      	braw 5879a <msdos_find_name+0xd6>           <== NOT EXECUTED
                                                                      
    /* close fat-file corresponded to the node we searched in */      
    rc = fat_file_close(&fs_info->fat, parent_loc->node_access);      
    if (rc != RC_OK)                                                  
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
   5888a:	2f2e ffcc      	movel %fp@(-52),%sp@-                       <== NOT EXECUTED
   5888e:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   58890:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   58892:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
    /* update node_info_ptr field */                                  
    parent_loc->node_access = fat_fd;                                 
                                                                      
    return rc;                                                        
}                                                                     
   58894:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   58896:	4cee 3c1c ffb0 	moveml %fp@(-80),%d2-%d4/%a2-%a5            <== NOT EXECUTED
   5889c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5889e:	4e75           	rts                                         <== NOT EXECUTED
        {                                                             
            fat_fd->map.last_cln = fat_fd->cln;                       
        }                                                             
        else                                                          
        {                                                             
            fat_fd->map.last_cln = FAT_UNDEFINED_VALUE;               
   588a0:	70ff           	moveq #-1,%d0                               
   588a2:	2140 003a      	movel %d0,%a0@(58)                          
   588a6:	6000 fef2      	braw 5879a <msdos_find_name+0xd6>           
                                                                      
        fat_fd->mtime = msdos_date_dos2unix(CF_LE_W(date), CF_LE_W(time_val));
                                                                      
        if ((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_DIRECTORY)     
        {                                                             
            fat_fd->fat_file_type = FAT_DIRECTORY;                    
   588aa:	206e ffcc      	moveal %fp@(-52),%a0                        <== NOT EXECUTED
            fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                
   588ae:	7620           	moveq #32,%d3                               <== NOT EXECUTED
   588b0:	4843           	swap %d3                                    <== NOT EXECUTED
                                                                      
        fat_fd->mtime = msdos_date_dos2unix(CF_LE_W(date), CF_LE_W(time_val));
                                                                      
        if ((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_DIRECTORY)     
        {                                                             
            fat_fd->fat_file_type = FAT_DIRECTORY;                    
   588b2:	42a8 0010      	clrl %a0@(16)                               <== NOT EXECUTED
            fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                
   588b6:	2143 0014      	movel %d3,%a0@(20)                          <== NOT EXECUTED
                                                                      
            rc = fat_file_size(&fs_info->fat, fat_fd);                
   588ba:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   588bc:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   588be:	4eb9 0005 2680 	jsr 52680 <fat_file_size>                   <== NOT EXECUTED
            if (rc != RC_OK)                                          
   588c4:	508f           	addql #8,%sp                                <== NOT EXECUTED
        if ((*MSDOS_DIR_ATTR(node_entry)) & MSDOS_ATTR_DIRECTORY)     
        {                                                             
            fat_fd->fat_file_type = FAT_DIRECTORY;                    
            fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                
                                                                      
            rc = fat_file_size(&fs_info->fat, fat_fd);                
   588c6:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
            if (rc != RC_OK)                                          
   588c8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   588ca:	660a           	bnes 588d6 <msdos_find_name+0x212>          <== NOT EXECUTED
   588cc:	206e ffcc      	moveal %fp@(-52),%a0                        <== NOT EXECUTED
   588d0:	2028 0018      	movel %a0@(24),%d0                          <== NOT EXECUTED
   588d4:	6092           	bras 58868 <msdos_find_name+0x1a4>          <== NOT EXECUTED
            {                                                         
                fat_file_close(&fs_info->fat, fat_fd);                
   588d6:	2f2e ffcc      	movel %fp@(-52),%sp@-                       <== NOT EXECUTED
   588da:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   588dc:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  <== NOT EXECUTED
   588e2:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
    /* update node_info_ptr field */                                  
    parent_loc->node_access = fat_fd;                                 
                                                                      
    return rc;                                                        
}                                                                     
   588e4:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   588e6:	4cee 3c1c ffb0 	moveml %fp@(-80),%d2-%d4/%a2-%a5            <== NOT EXECUTED
   588ec:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005782a <msdos_find_name_in_fat_file>: int name_len, msdos_name_type_t name_type, fat_dir_pos_t *dir_pos, char *name_dir_entry ) {
   5782a:	4e56 ffa0      	linkw %fp,#-96                              
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   5782e:	206e 0008      	moveal %fp@(8),%a0                          
   57832:	2068 0008      	moveal %a0@(8),%a0                          
    int                                   name_len,                   
    msdos_name_type_t                     name_type,                  
    fat_dir_pos_t                        *dir_pos,                    
    char                                 *name_dir_entry              
                                )                                     
{                                                                     
   57836:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   5783a:	2d48 ffe2      	movel %a0,%fp@(-30)                         
    int                                   name_len,                   
    msdos_name_type_t                     name_type,                  
    fat_dir_pos_t                        *dir_pos,                    
    char                                 *name_dir_entry              
                                )                                     
{                                                                     
   5783e:	1a2e 0013      	moveb %fp@(19),%d5                          
    uint32_t         empty_space_count = 0;                           
    bool             empty_space_found = false;                       
    uint32_t         entries_per_block;                               
    bool             read_cluster = false;                            
                                                                      
    assert(name_len > 0);                                             
   57842:	4aae 0018      	tstl %fp@(24)                               
   57846:	6f00 0972      	blew 581ba <msdos_find_name_in_fat_file+0x990>
static inline void                                                    
fat_dir_pos_init(                                                     
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
   5784a:	206e 0020      	moveal %fp@(32),%a0                         
  dir_pos->sname.ofs = 0;                                             
  dir_pos->lname.cln = FAT_FILE_SHORT_NAME;                           
   5784e:	70ff           	moveq #-1,%d0                               
static inline void                                                    
fat_dir_pos_init(                                                     
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
   57850:	4290           	clrl %a0@                                   
  dir_pos->sname.ofs = 0;                                             
   57852:	42a8 0004      	clrl %a0@(4)                                
  dir_pos->lname.cln = FAT_FILE_SHORT_NAME;                           
   57856:	2140 0008      	movel %d0,%a0@(8)                           
  dir_pos->lname.ofs = FAT_FILE_SHORT_NAME;                           
   5785a:	2140 000c      	movel %d0,%a0@(12)                          
                                                                      
    fat_dir_pos_init(dir_pos);                                        
                                                                      
    lfn_start.cln = lfn_start.ofs = FAT_FILE_SHORT_NAME;              
   5785e:	2d40 fffc      	movel %d0,%fp@(-4)                          
   57862:	2d40 fff8      	movel %d0,%fp@(-8)                          
     * is short still check for possible long entries with the short name.
     *                                                                
     * In PR1491 we need to have a LFN for a short file name entry. To
     * test this make this test always fail, ie add "0 &&".           
     */                                                               
    if (create_node && (name_type == MSDOS_NAME_SHORT))               
   57866:	4a05           	tstb %d5                                    
   57868:	670a           	beqs 57874 <msdos_find_name_in_fat_file+0x4a>
   5786a:	7201           	moveq #1,%d1                                
   5786c:	b2ae 001c      	cmpl %fp@(28),%d1                           
   57870:	6700 047e      	beqw 57cf0 <msdos_find_name_in_fat_file+0x4c6>
      lfn_entries = 0;                                                
    else                                                              
      lfn_entries =                                                   
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
   57874:	242e 0018      	movel %fp@(24),%d2                          
     * test this make this test always fail, ie add "0 &&".           
     */                                                               
    if (create_node && (name_type == MSDOS_NAME_SHORT))               
      lfn_entries = 0;                                                
    else                                                              
      lfn_entries =                                                   
   57878:	7c0d           	moveq #13,%d6                               
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
   5787a:	0682 0000 000c 	addil #12,%d2                               
     * test this make this test always fail, ie add "0 &&".           
     */                                                               
    if (create_node && (name_type == MSDOS_NAME_SHORT))               
      lfn_entries = 0;                                                
    else                                                              
      lfn_entries =                                                   
   57880:	4c46 2802      	remsl %d6,%d2,%d2                           
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   57884:	206e 000c      	moveal %fp@(12),%a0                         
   57888:	7001           	moveq #1,%d0                                
     * test this make this test always fail, ie add "0 &&".           
     */                                                               
    if (create_node && (name_type == MSDOS_NAME_SHORT))               
      lfn_entries = 0;                                                
    else                                                              
      lfn_entries =                                                   
   5788a:	2d42 ffd2      	movel %d2,%fp@(-46)                         
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   5788e:	b0a8 0020      	cmpl %a0@(32),%d0                           
   57892:	6700 03e0      	beqw 57c74 <msdos_find_name_in_fat_file+0x44a>
                  /*                                                  
                   * Remainder is not empty so is this entry empty ?  
                   */                                                 
                  empty_space_count++;                                
                                                                      
                  if (empty_space_count == (lfn_entries + 1))         
   57896:	222e ffd2      	movel %fp@(-46),%d1                         <== NOT EXECUTED
   5789a:	5281           	addql #1,%d1                                <== NOT EXECUTED
    uint32_t         bts2rd = 0;                                      
    fat_pos_t        lfn_start;                                       
    bool             lfn_matched = false;                             
    uint8_t          lfn_checksum = 0;                                
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
   5789c:	4287           	clrl %d7                                    <== NOT EXECUTED
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
        bts2rd = fat_fd->fat_file_size;                               
    else                                                              
        bts2rd = fs_info->fat.vol.bpc;                                
   5789e:	4284           	clrl %d4                                    <== NOT EXECUTED
    uint8_t          lfn_checksum = 0;                                
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
    uint32_t         empty_space_offset = 0;                          
    uint32_t         empty_space_entry = 0;                           
    uint32_t         empty_space_count = 0;                           
   578a0:	4283           	clrl %d3                                    <== NOT EXECUTED
    bool             lfn_matched = false;                             
    uint8_t          lfn_checksum = 0;                                
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
    uint32_t         empty_space_offset = 0;                          
    uint32_t         empty_space_entry = 0;                           
   578a2:	9bcd           	subal %a5,%a5                               <== NOT EXECUTED
    char                                 *name_dir_entry              
                                )                                     
{                                                                     
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         dir_offset = 0;                                  
   578a4:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
   578a6:	266e ffe2      	moveal %fp@(-30),%a3                        <== NOT EXECUTED
                  /*                                                  
                   * Remainder is not empty so is this entry empty ?  
                   */                                                 
                  empty_space_count++;                                
                                                                      
                  if (empty_space_count == (lfn_entries + 1))         
   578aa:	2d41 ffda      	movel %d1,%fp@(-38)                         <== NOT EXECUTED
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
        bts2rd = fat_fd->fat_file_size;                               
    else                                                              
        bts2rd = fs_info->fat.vol.bpc;                                
   578ae:	226e ffe2      	moveal %fp@(-30),%a1                        <== NOT EXECUTED
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
    uint32_t         empty_space_offset = 0;                          
    uint32_t         empty_space_entry = 0;                           
    uint32_t         empty_space_count = 0;                           
    bool             empty_space_found = false;                       
   578b2:	4202           	clrb %d2                                    <== NOT EXECUTED
    uint32_t         dir_offset = 0;                                  
    uint32_t         dir_entry = 0;                                   
    uint32_t         bts2rd = 0;                                      
    fat_pos_t        lfn_start;                                       
    bool             lfn_matched = false;                             
    uint8_t          lfn_checksum = 0;                                
   578b4:	4201           	clrb %d1                                    <== NOT EXECUTED
   578b6:	266b 0094      	moveal %a3@(148),%a3                        <== NOT EXECUTED
   578ba:	2d47 ffea      	movel %d7,%fp@(-22)                         <== NOT EXECUTED
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
        bts2rd = fat_fd->fat_file_size;                               
    else                                                              
        bts2rd = fs_info->fat.vol.bpc;                                
   578be:	3829 0006      	movew %a1@(6),%d4                           <== NOT EXECUTED
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
    uint32_t         empty_space_offset = 0;                          
    uint32_t         empty_space_entry = 0;                           
    uint32_t         empty_space_count = 0;                           
    bool             empty_space_found = false;                       
   578c2:	1d42 ffe6      	moveb %d2,%fp@(-26)                         <== NOT EXECUTED
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         dir_offset = 0;                                  
    uint32_t         dir_entry = 0;                                   
    uint32_t         bts2rd = 0;                                      
    fat_pos_t        lfn_start;                                       
    bool             lfn_matched = false;                             
   578c6:	4206           	clrb %d6                                    <== NOT EXECUTED
   578c8:	1e01           	moveb %d1,%d7                               <== NOT EXECUTED
   578ca:	2d4b ffde      	movel %a3,%fp@(-34)                         <== NOT EXECUTED
    uint8_t          lfn_checksum = 0;                                
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
    uint32_t         empty_space_offset = 0;                          
   578ce:	97cb           	subal %a3,%a3                               <== NOT EXECUTED
    /*                                                                
     * Scan the directory seeing if the file is present. While        
     * doing this see if a suitable location can be found to          
     * create the entry if the name is not found.                     
     */                                                               
    while ((ret = fat_file_read(&fs_info->fat, fat_fd, (dir_offset * bts2rd),
   578d0:	42ae ffd6      	clrl %fp@(-42)                              <== NOT EXECUTED
   578d4:	2f2e ffde      	movel %fp@(-34),%sp@-                       
   578d8:	2f04           	movel %d4,%sp@-                             
   578da:	2f2e ffd6      	movel %fp@(-42),%sp@-                       
   578de:	2f2e 000c      	movel %fp@(12),%sp@-                        
   578e2:	2f2e ffe2      	movel %fp@(-30),%sp@-                       
   578e6:	4eb9 0005 1bd0 	jsr 51bd0 <fat_file_read>                   
   578ec:	4fef 0014      	lea %sp@(20),%sp                            
   578f0:	4a80           	tstl %d0                                    
   578f2:	6700 08a8      	beqw 5819c <msdos_find_name_in_fat_file+0x972>
        bool remainder_empty = false;                                 
#if MSDOS_FIND_PRINT                                                  
        printf ("MSFS:[2] dir_offset:%li\n", dir_offset);             
#endif                                                                
                                                                      
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
   578f6:	721f           	moveq #31,%d1                               
   578f8:	b280           	cmpl %d0,%d1                                
   578fa:	6c00 04fe      	bgew 57dfa <msdos_find_name_in_fat_file+0x5d0>
            rtems_set_errno_and_return_minus_one(EIO);                
                                                                      
        assert(ret == bts2rd);                                        
   578fe:	b880           	cmpl %d0,%d4                                
   57900:	6600 087e      	bnew 58180 <msdos_find_name_in_fat_file+0x956>
   57904:	226e ffe2      	moveal %fp@(-30),%a1                        
   57908:	4282           	clrl %d2                                    
   5790a:	2269 0094      	moveal %a1@(148),%a1                        
   5790e:	2449           	moveal %a1,%a2                              
   57910:	2d49 ffde      	movel %a1,%fp@(-34)                         
   57914:	3246           	moveaw %d6,%a1                              
                                                                      
            /*                                                        
             * See if the entry is empty or the remainder of the directory is
             * empty ? Localise to make the code read better.         
             */                                                       
            bool entry_empty = (*MSDOS_DIR_ENTRY_TYPE(entry) ==       
   57916:	1212           	moveb %a2@,%d1                              
             * to here and write the long file name if this is the start of
             * a series of empty entries. If empty_space_count is 0 then
             * we are currently not inside an empty series of entries. It
             * is a count of empty entries.                           
             */                                                       
            if (empty_space_count == 0)                               
   57918:	4a83           	tstl %d3                                    
   5791a:	6604           	bnes 57920 <msdos_find_name_in_fat_file+0xf6><== NEVER TAKEN
   5791c:	2842           	moveal %d2,%a4                              
   5791e:	264d           	moveal %a5,%a3                              
            {                                                         
                empty_space_entry = dir_entry;                        
                empty_space_offset = dir_offset;                      
            }                                                         
                                                                      
            if (remainder_empty)                                      
   57920:	4a01           	tstb %d1                                    
   57922:	6700 02b8      	beqw 57bdc <msdos_find_name_in_fat_file+0x3b2>
                  printf ("MSFS:[3.2] esf:%i esc%i\n", empty_space_found, empty_space_count);
#endif                                                                
                }                                                     
                break;                                                
            }                                                         
            else if (entry_empty)                                     
   57926:	4280           	clrl %d0                                    
   57928:	1001           	moveb %d1,%d0                               
   5792a:	0c80 0000 00e5 	cmpil #229,%d0                              
   57930:	6700 0156      	beqw 57a88 <msdos_find_name_in_fat_file+0x25e>
                 * A valid entry so handle it.                        
                 *                                                    
                 * If empty space has not been found we need to start the
                 * count again.                                       
                 */                                                   
                if (create_node && !empty_space_found)                
   57934:	4a05           	tstb %d5                                    
   57936:	670a           	beqs 57942 <msdos_find_name_in_fat_file+0x118><== ALWAYS TAKEN
   57938:	4a2e ffe6      	tstb %fp@(-26)                              <== NOT EXECUTED
   5793c:	6604           	bnes 57942 <msdos_find_name_in_fat_file+0x118><== NOT EXECUTED
                {                                                     
                    empty_space_entry = 0;                            
                    empty_space_count = 0;                            
   5793e:	4283           	clrl %d3                                    <== NOT EXECUTED
                 * If empty space has not been found we need to start the
                 * count again.                                       
                 */                                                   
                if (create_node && !empty_space_found)                
                {                                                     
                    empty_space_entry = 0;                            
   57940:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
                                                                      
                /*                                                    
                 * Check the attribute to see if the entry is for a long
                 * file name.                                         
                 */                                                   
                if ((*MSDOS_DIR_ATTR(entry) & MSDOS_ATTR_LFN_MASK) == 
   57942:	7c3f           	moveq #63,%d6                               
   57944:	102a 000b      	moveb %a2@(11),%d0                          
   57948:	c086           	andl %d6,%d0                                
   5794a:	1c3c 000f      	moveb #15,%d6                               
   5794e:	bc80           	cmpl %d0,%d6                                
   57950:	6700 0160      	beqw 57ab2 <msdos_find_name_in_fat_file+0x288>
                     * If a LFN has been found and it matched check the
                     * entries have all been found and the checksum is
                     * correct. If this is the case return the short file
                     * name entry.                                    
                     */                                               
                    if (lfn_matched)                                  
   57954:	3c09           	movew %a1,%d6                               
   57956:	4a06           	tstb %d6                                    
   57958:	674e           	beqs 579a8 <msdos_find_name_in_fat_file+0x17e><== ALWAYS TAKEN
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   5795a:	41ea 0001      	lea %a2@(1),%a0                             <== NOT EXECUTED
   5795e:	43ea 000b      	lea %a2@(11),%a1                            <== NOT EXECUTED
   57962:	4200           	clrb %d0                                    <== NOT EXECUTED
                        uint8_t  cs = 0;                              
                        uint8_t* p = (uint8_t*) MSDOS_DIR_NAME(entry);
                        int      i;                                   
                                                                      
                        for (i = 0; i < MSDOS_SHORT_NAME_LEN; i++, p++)
                            cs = ((cs & 1) ? 0x80 : 0) + (cs >> 1) + *p;
   57964:	4206           	clrb %d6                                    <== NOT EXECUTED
   57966:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   5796c:	d286           	addl %d6,%d1                                <== NOT EXECUTED
   5796e:	e288           	lsrl #1,%d0                                 <== NOT EXECUTED
   57970:	d280           	addl %d0,%d1                                <== NOT EXECUTED
   57972:	1001           	moveb %d1,%d0                               <== NOT EXECUTED
                    {                                                 
                        uint8_t  cs = 0;                              
                        uint8_t* p = (uint8_t*) MSDOS_DIR_NAME(entry);
                        int      i;                                   
                                                                      
                        for (i = 0; i < MSDOS_SHORT_NAME_LEN; i++, p++)
   57974:	b3c8           	cmpal %a0,%a1                               <== NOT EXECUTED
   57976:	671c           	beqs 57994 <msdos_find_name_in_fat_file+0x16a><== NOT EXECUTED
                            cs = ((cs & 1) ? 0x80 : 0) + (cs >> 1) + *p;
   57978:	0801 0000      	btst #0,%d1                                 <== NOT EXECUTED
   5797c:	6756           	beqs 579d4 <msdos_find_name_in_fat_file+0x1aa><== NOT EXECUTED
   5797e:	7c80           	moveq #-128,%d6                             <== NOT EXECUTED
   57980:	1218           	moveb %a0@+,%d1                             <== NOT EXECUTED
   57982:	d286           	addl %d6,%d1                                <== NOT EXECUTED
   57984:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   5798a:	e288           	lsrl #1,%d0                                 <== NOT EXECUTED
   5798c:	d280           	addl %d0,%d1                                <== NOT EXECUTED
   5798e:	1001           	moveb %d1,%d0                               <== NOT EXECUTED
                    {                                                 
                        uint8_t  cs = 0;                              
                        uint8_t* p = (uint8_t*) MSDOS_DIR_NAME(entry);
                        int      i;                                   
                                                                      
                        for (i = 0; i < MSDOS_SHORT_NAME_LEN; i++, p++)
   57990:	b3c8           	cmpal %a0,%a1                               <== NOT EXECUTED
   57992:	66e4           	bnes 57978 <msdos_find_name_in_fat_file+0x14e><== NOT EXECUTED
                            cs = ((cs & 1) ? 0x80 : 0) + (cs >> 1) + *p;
                                                                      
                        if (lfn_entry || (lfn_checksum != cs))        
   57994:	4aae ffea      	tstl %fp@(-22)                              <== NOT EXECUTED
   57998:	660e           	bnes 579a8 <msdos_find_name_in_fat_file+0x17e><== NOT EXECUTED
   5799a:	4281           	clrl %d1                                    <== NOT EXECUTED
   5799c:	1207           	moveb %d7,%d1                               <== NOT EXECUTED
   5799e:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   579a4:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   579a6:	6752           	beqs 579fa <msdos_find_name_in_fat_file+0x1d0><== NOT EXECUTED
                     * short and they match then we have the entry. We will not
                     * match a long file name against a short file name because
                     * a long file name that generates a matching short file
                     * name is not a long file name.                  
                     */                                               
                    if (lfn_matched ||                                
   579a8:	7001           	moveq #1,%d0                                
   579aa:	b0ae 001c      	cmpl %fp@(28),%d0                           
   579ae:	672a           	beqs 579da <msdos_find_name_in_fat_file+0x1b0><== ALWAYS TAKEN
                        memcpy(name_dir_entry, entry,                 
                               MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);    
                        return RC_OK;                                 
                    }                                                 
                                                                      
                    lfn_start.cln = FAT_FILE_SHORT_NAME;              
   579b0:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                    lfn_matched = false;                              
   579b2:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
                        memcpy(name_dir_entry, entry,                 
                               MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);    
                        return RC_OK;                                 
                    }                                                 
                                                                      
                    lfn_start.cln = FAT_FILE_SHORT_NAME;              
   579b4:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   579b8:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   579be:	45ea 0020      	lea %a2@(32),%a2                            <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
                                                                      
        assert(ret == bts2rd);                                        
                                                                      
        /* have to look at the DIR_NAME as "raw" 8-bit data */        
        for (dir_entry = 0;                                           
   579c2:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   579c4:	6500 ff50      	bcsw 57916 <msdos_find_name_in_fat_file+0xec><== NOT EXECUTED
   579c8:	d9ae ffd6      	addl %d4,%fp@(-42)                          <== NOT EXECUTED
        }                                                             
                                                                      
        if (remainder_empty)                                          
            break;                                                    
                                                                      
        dir_offset++;                                                 
   579cc:	528d           	addql #1,%a5                                <== NOT EXECUTED
   579ce:	3c09           	movew %a1,%d6                               <== NOT EXECUTED
   579d0:	6000 ff02      	braw 578d4 <msdos_find_name_in_fat_file+0xaa><== NOT EXECUTED
                        uint8_t  cs = 0;                              
                        uint8_t* p = (uint8_t*) MSDOS_DIR_NAME(entry);
                        int      i;                                   
                                                                      
                        for (i = 0; i < MSDOS_SHORT_NAME_LEN; i++, p++)
                            cs = ((cs & 1) ? 0x80 : 0) + (cs >> 1) + *p;
   579d4:	4206           	clrb %d6                                    <== NOT EXECUTED
   579d6:	1218           	moveb %a0@+,%d1                             <== NOT EXECUTED
   579d8:	60a8           	bras 57982 <msdos_find_name_in_fat_file+0x158><== NOT EXECUTED
                     * match a long file name against a short file name because
                     * a long file name that generates a matching short file
                     * name is not a long file name.                  
                     */                                               
                    if (lfn_matched ||                                
                        ((name_type == MSDOS_NAME_SHORT) &&           
   579da:	70ff           	moveq #-1,%d0                               
   579dc:	b0ae fff8      	cmpl %fp@(-8),%d0                           
   579e0:	66ce           	bnes 579b0 <msdos_find_name_in_fat_file+0x186><== NEVER TAKEN
                         (lfn_start.cln == FAT_FILE_SHORT_NAME) &&    
                         (memcmp(MSDOS_DIR_NAME(entry),               
   579e2:	4878 000b      	pea b <LASTO+0x1>                           
   579e6:	2f2e 0024      	movel %fp@(36),%sp@-                        
   579ea:	2f0a           	movel %a2,%sp@-                             
   579ec:	4eb9 0005 b0f8 	jsr 5b0f8 <memcmp>                          
   579f2:	4fef 000c      	lea %sp@(12),%sp                            
                     * a long file name that generates a matching short file
                     * name is not a long file name.                  
                     */                                               
                    if (lfn_matched ||                                
                        ((name_type == MSDOS_NAME_SHORT) &&           
                         (lfn_start.cln == FAT_FILE_SHORT_NAME) &&    
   579f6:	4a80           	tstl %d0                                    
   579f8:	66b6           	bnes 579b0 <msdos_find_name_in_fat_file+0x186><== NEVER TAKEN
#endif                                                                
                        /*                                            
                         * We get the entry we looked for - fill the position
                         * structure and the 32 bytes of the short entry
                         */                                           
                        int rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM,
   579fa:	2f2e 0020      	movel %fp@(32),%sp@-                        
   579fe:	47f9 0005 2006 	lea 52006 <fat_file_ioctl>,%a3              
   57a04:	2f2e ffd6      	movel %fp@(-42),%sp@-                       
   57a08:	4878 0001      	pea 1 <ADD>                                 
   57a0c:	2f2e 000c      	movel %fp@(12),%sp@-                        
   57a10:	2f2e ffe2      	movel %fp@(-30),%sp@-                       
   57a14:	4e93           	jsr %a3@                                    
                                                dir_offset * bts2rd,  
                                                &dir_pos->sname.cln); 
                        if (rc != RC_OK)                              
   57a16:	4fef 0014      	lea %sp@(20),%sp                            
#endif                                                                
                        /*                                            
                         * We get the entry we looked for - fill the position
                         * structure and the 32 bytes of the short entry
                         */                                           
                        int rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM,
   57a1a:	2c00           	movel %d0,%d6                               
                                                dir_offset * bts2rd,  
                                                &dir_pos->sname.cln); 
                        if (rc != RC_OK)                              
   57a1c:	665e           	bnes 57a7c <msdos_find_name_in_fat_file+0x252><== NEVER TAKEN
                            return rc;                                
                                                                      
                        dir_pos->sname.ofs = dir_entry;               
   57a1e:	206e 0020      	moveal %fp@(32),%a0                         
                                                                      
                        if (lfn_start.cln != FAT_FILE_SHORT_NAME)     
   57a22:	72ff           	moveq #-1,%d1                               
   57a24:	202e fff8      	movel %fp@(-8),%d0                          
                                                dir_offset * bts2rd,  
                                                &dir_pos->sname.cln); 
                        if (rc != RC_OK)                              
                            return rc;                                
                                                                      
                        dir_pos->sname.ofs = dir_entry;               
   57a28:	2142 0004      	movel %d2,%a0@(4)                           
                                                                      
                        if (lfn_start.cln != FAT_FILE_SHORT_NAME)     
   57a2c:	b280           	cmpl %d0,%d1                                
   57a2e:	6700 02d6      	beqw 57d06 <msdos_find_name_in_fat_file+0x4dc>
                        {                                             
                          rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM,
   57a32:	486e fff8      	pea %fp@(-8)                                <== NOT EXECUTED
   57a36:	4c00 4800      	mulsl %d0,%d4                               <== NOT EXECUTED
   57a3a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   57a3c:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   57a40:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   57a44:	2f2e ffe2      	movel %fp@(-30),%sp@-                       <== NOT EXECUTED
   57a48:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                              lfn_start.cln * bts2rd, 
                                              &lfn_start.cln);        
                          if (rc != RC_OK)                            
   57a4a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   57a4e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   57a50:	6600 0290      	bnew 57ce2 <msdos_find_name_in_fat_file+0x4b8><== NOT EXECUTED
                            return rc;                                
                        }                                             
                                                                      
                        dir_pos->lname.cln = lfn_start.cln;           
                        dir_pos->lname.ofs = lfn_start.ofs;           
   57a54:	226e 0020      	moveal %fp@(32),%a1                         <== NOT EXECUTED
   57a58:	47ee fffc      	lea %fp@(-4),%a3                            <== NOT EXECUTED
   57a5c:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
                                                                      
                        memcpy(name_dir_entry, entry,                 
   57a60:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
                          if (rc != RC_OK)                            
                            return rc;                                
                        }                                             
                                                                      
                        dir_pos->lname.cln = lfn_start.cln;           
                        dir_pos->lname.ofs = lfn_start.ofs;           
   57a64:	2353 000c      	movel %a3@,%a1@(12)                         <== NOT EXECUTED
                                              &lfn_start.cln);        
                          if (rc != RC_OK)                            
                            return rc;                                
                        }                                             
                                                                      
                        dir_pos->lname.cln = lfn_start.cln;           
   57a68:	2340 0008      	movel %d0,%a1@(8)                           <== NOT EXECUTED
                        dir_pos->lname.ofs = lfn_start.ofs;           
                                                                      
                        memcpy(name_dir_entry, entry,                 
   57a6c:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   57a6e:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   57a70:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   57a72:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   57a74:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   57a76:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   57a78:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   57a7a:	2092           	movel %a2@,%a0@                             <== NOT EXECUTED
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
}                                                                     
   57a7c:	2006           	movel %d6,%d0                               
   57a7e:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            
   57a84:	4e5e           	unlk %fp                                    
   57a86:	4e75           	rts                                         
                }                                                     
                break;                                                
            }                                                         
            else if (entry_empty)                                     
            {                                                         
                if (create_node)                                      
   57a88:	4a05           	tstb %d5                                    <== NOT EXECUTED
   57a8a:	6700 ff2c      	beqw 579b8 <msdos_find_name_in_fat_file+0x18e><== NOT EXECUTED
                {                                                     
                  /*                                                  
                   * Remainder is not empty so is this entry empty ?  
                   */                                                 
                  empty_space_count++;                                
   57a8e:	5283           	addql #1,%d3                                <== NOT EXECUTED
                                                                      
                  if (empty_space_count == (lfn_entries + 1))         
   57a90:	b6ae ffda      	cmpl %fp@(-38),%d3                          <== NOT EXECUTED
   57a94:	6600 ff22      	bnew 579b8 <msdos_find_name_in_fat_file+0x18e><== NOT EXECUTED
   57a98:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   57a9e:	45ea 0020      	lea %a2@(32),%a2                            <== NOT EXECUTED
                    empty_space_found = true;                         
   57aa2:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   57aa4:	1d41 ffe6      	moveb %d1,%fp@(-26)                         <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
                                                                      
        assert(ret == bts2rd);                                        
                                                                      
        /* have to look at the DIR_NAME as "raw" 8-bit data */        
        for (dir_entry = 0;                                           
   57aa8:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   57aaa:	6500 fe6a      	bcsw 57916 <msdos_find_name_in_fat_file+0xec><== NOT EXECUTED
   57aae:	6000 ff18      	braw 579c8 <msdos_find_name_in_fat_file+0x19e><== NOT EXECUTED
#endif                                                                
                    /*                                                
                     * If we are not already processing a LFN see if this is
                     * the first entry of a LFN ?                     
                     */                                               
                    if (lfn_start.cln == FAT_FILE_SHORT_NAME)         
   57ab2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   57ab4:	b0ae fff8      	cmpl %fp@(-8),%d0                           <== NOT EXECUTED
   57ab8:	6724           	beqs 57ade <msdos_find_name_in_fat_file+0x2b4><== NOT EXECUTED
                     * If the entry number or the check sum do not match
                     * forget this series of long directory entries. These
                     * could be orphaned entries depending on the history
                     * of the disk.                                   
                     */                                               
                    if ((lfn_entry != (*MSDOS_DIR_ENTRY_TYPE(entry) & 
   57aba:	7c3f           	moveq #63,%d6                               <== NOT EXECUTED
   57abc:	c286           	andl %d6,%d1                                <== NOT EXECUTED
   57abe:	b2ae ffea      	cmpl %fp@(-22),%d1                          <== NOT EXECUTED
   57ac2:	6746           	beqs 57b0a <msdos_find_name_in_fat_file+0x2e0><== NOT EXECUTED
                        (lfn_checksum != *MSDOS_DIR_LFN_CHECKSUM(entry)))
                    {                                                 
#if MSDOS_FIND_PRINT                                                  
                        printf ("MSFS:[4.4] no match\n");             
#endif                                                                
                        lfn_start.cln = FAT_FILE_SHORT_NAME;          
   57ac4:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   57ac6:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   57acc:	45ea 0020      	lea %a2@(32),%a2                            <== NOT EXECUTED
   57ad0:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
                                                                      
        assert(ret == bts2rd);                                        
                                                                      
        /* have to look at the DIR_NAME as "raw" 8-bit data */        
        for (dir_entry = 0;                                           
   57ad4:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   57ad6:	6500 fe3e      	bcsw 57916 <msdos_find_name_in_fat_file+0xec><== NOT EXECUTED
   57ada:	6000 feec      	braw 579c8 <msdos_find_name_in_fat_file+0x19e><== NOT EXECUTED
                                                                      
                        /*                                            
                         * The first entry must have the last long entry
                         * flag set.                                  
                         */                                           
                        if ((*MSDOS_DIR_ENTRY_TYPE(entry) &           
   57ade:	7040           	moveq #64,%d0                               <== NOT EXECUTED
   57ae0:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   57ae2:	4a00           	tstb %d0                                    <== NOT EXECUTED
   57ae4:	670e           	beqs 57af4 <msdos_find_name_in_fat_file+0x2ca><== NOT EXECUTED
                         * entry match the number we expect for this  
                         * file name. Note we do not know the number of
                         * characters in the entry so this is check further
                         * on when the characters are checked.        
                         */                                           
                        if (lfn_entries != (*MSDOS_DIR_ENTRY_TYPE(entry) &
   57ae6:	1c3c 003f      	moveb #63,%d6                               <== NOT EXECUTED
   57aea:	c286           	andl %d6,%d1                                <== NOT EXECUTED
   57aec:	b2ae ffd2      	cmpl %fp@(-46),%d1                          <== NOT EXECUTED
   57af0:	6700 0150      	beqw 57c42 <msdos_find_name_in_fat_file+0x418><== NOT EXECUTED
   57af4:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   57afa:	45ea 0020      	lea %a2@(32),%a2                            <== NOT EXECUTED
                     * If we are not already processing a LFN see if this is
                     * the first entry of a LFN ?                     
                     */                                               
                    if (lfn_start.cln == FAT_FILE_SHORT_NAME)         
                    {                                                 
                        lfn_matched = false;                          
   57afe:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
                                                                      
        assert(ret == bts2rd);                                        
                                                                      
        /* have to look at the DIR_NAME as "raw" 8-bit data */        
        for (dir_entry = 0;                                           
   57b00:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   57b02:	6500 fe12      	bcsw 57916 <msdos_find_name_in_fat_file+0xec><== NOT EXECUTED
   57b06:	6000 fec0      	braw 579c8 <msdos_find_name_in_fat_file+0x19e><== NOT EXECUTED
                     * forget this series of long directory entries. These
                     * could be orphaned entries depending on the history
                     * of the disk.                                   
                     */                                               
                    if ((lfn_entry != (*MSDOS_DIR_ENTRY_TYPE(entry) & 
                                       MSDOS_LAST_LONG_ENTRY_MASK)) ||
   57b0a:	4286           	clrl %d6                                    <== NOT EXECUTED
                        (lfn_checksum != *MSDOS_DIR_LFN_CHECKSUM(entry)))
   57b0c:	102a 000d      	moveb %a2@(13),%d0                          <== NOT EXECUTED
   57b10:	1d40 ffee      	moveb %d0,%fp@(-18)                         <== NOT EXECUTED
                     * forget this series of long directory entries. These
                     * could be orphaned entries depending on the history
                     * of the disk.                                   
                     */                                               
                    if ((lfn_entry != (*MSDOS_DIR_ENTRY_TYPE(entry) & 
                                       MSDOS_LAST_LONG_ENTRY_MASK)) ||
   57b14:	4280           	clrl %d0                                    <== NOT EXECUTED
   57b16:	1007           	moveb %d7,%d0                               <== NOT EXECUTED
   57b18:	1c2e ffee      	moveb %fp@(-18),%d6                         <== NOT EXECUTED
   57b1c:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
   57b1e:	b088           	cmpl %a0,%d0                                <== NOT EXECUTED
   57b20:	66a2           	bnes 57ac4 <msdos_find_name_in_fat_file+0x29a><== NOT EXECUTED
#endif                                                                
                        lfn_start.cln = FAT_FILE_SHORT_NAME;          
                        continue;                                     
                    }                                                 
                                                                      
                    lfn_entry--;                                      
   57b22:	53ae ffea      	subql #1,%fp@(-22)                          <== NOT EXECUTED
                    o = lfn_entry * MSDOS_LFN_LEN_PER_ENTRY;          
   57b26:	700d           	moveq #13,%d0                               <== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57b28:	41ea 0001      	lea %a2@(1),%a0                             <== NOT EXECUTED
                        lfn_start.cln = FAT_FILE_SHORT_NAME;          
                        continue;                                     
                    }                                                 
                                                                      
                    lfn_entry--;                                      
                    o = lfn_entry * MSDOS_LFN_LEN_PER_ENTRY;          
   57b2c:	2c2e ffea      	movel %fp@(-22),%d6                         <== NOT EXECUTED
   57b30:	4c00 6800      	mulsl %d0,%d6                               <== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57b34:	4200           	clrb %d0                                    <== NOT EXECUTED
   57b36:	226e 0014      	moveal %fp@(20),%a1                         <== NOT EXECUTED
   57b3a:	d3c6           	addal %d6,%a1                               <== NOT EXECUTED
                        lfn_start.cln = FAT_FILE_SHORT_NAME;          
                        continue;                                     
                    }                                                 
                                                                      
                    lfn_entry--;                                      
                    o = lfn_entry * MSDOS_LFN_LEN_PER_ENTRY;          
   57b3c:	2d46 fff0      	movel %d6,%fp@(-16)                         <== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57b40:	2d41 ffce      	movel %d1,%fp@(-50)                         <== NOT EXECUTED
   57b44:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
                    {                                                 
#if MSDOS_FIND_PRINT > 1                                              
                        printf ("MSFS:[6] o:%i i:%i *p:%c(%02x) name[o + i]:%c(%02x)\n",
                                o, i, *p, *p, name[o + i], name[o + i]);
#endif                                                                
                        if (*p == '\0')                               
   57b46:	1210           	moveb %a0@,%d1                              <== NOT EXECUTED
   57b48:	6768           	beqs 57bb2 <msdos_find_name_in_fat_file+0x388><== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57b4a:	2e2e fff0      	movel %fp@(-16),%d7                         <== NOT EXECUTED
   57b4e:	de80           	addl %d0,%d7                                <== NOT EXECUTED
                                ((o + i) != name_len))                
                                lfn_start.cln = FAT_FILE_SHORT_NAME;  
                            break;                                    
                        }                                             
                                                                      
                        if (((o + i) >= name_len) || (*p != name[o + i]))
   57b50:	beae 0018      	cmpl %fp@(24),%d7                           <== NOT EXECUTED
   57b54:	6c00 017c      	bgew 57cd2 <msdos_find_name_in_fat_file+0x4a8><== NOT EXECUTED
   57b58:	5280           	addql #1,%d0                                <== NOT EXECUTED
   57b5a:	49c1           	extbl %d1                                   <== NOT EXECUTED
   57b5c:	1e19           	moveb %a1@+,%d7                             <== NOT EXECUTED
   57b5e:	49c7           	extbl %d7                                   <== NOT EXECUTED
   57b60:	be81           	cmpl %d1,%d7                                <== NOT EXECUTED
   57b62:	6600 016e      	bnew 57cd2 <msdos_find_name_in_fat_file+0x4a8><== NOT EXECUTED
                        {                                             
                            lfn_start.cln = FAT_FILE_SHORT_NAME;      
                            break;                                    
                        }                                             
                                                                      
                        switch (i)                                    
   57b66:	7204           	moveq #4,%d1                                <== NOT EXECUTED
   57b68:	b286           	cmpl %d6,%d1                                <== NOT EXECUTED
   57b6a:	676a           	beqs 57bd6 <msdos_find_name_in_fat_file+0x3ac><== NOT EXECUTED
   57b6c:	123c 000a      	moveb #10,%d1                               <== NOT EXECUTED
   57b70:	b286           	cmpl %d6,%d1                                <== NOT EXECUTED
   57b72:	6736           	beqs 57baa <msdos_find_name_in_fat_file+0x380><== NOT EXECUTED
                                break;                                
                            case 10:                                  
                                p += 4;                               
                                break;                                
                            default:                                  
                                p += 2;                               
   57b74:	5488           	addql #2,%a0                                <== NOT EXECUTED
                    p = entry + 1;                                    
                                                                      
#if MSDOS_FIND_PRINT                                                  
                    printf ("MSFS:[5] lfne:%i\n", lfn_entry);         
#endif                                                                
                    for (i = 0; i < MSDOS_LFN_LEN_PER_ENTRY; i++)     
   57b76:	7c0d           	moveq #13,%d6                               <== NOT EXECUTED
   57b78:	bc80           	cmpl %d0,%d6                                <== NOT EXECUTED
   57b7a:	66c8           	bnes 57b44 <msdos_find_name_in_fat_file+0x31a><== NOT EXECUTED
                                p += 2;                               
                                break;                                
                        }                                             
                    }                                                 
                                                                      
                    lfn_matched = ((lfn_entry == 0) &&                
   57b7c:	4aae ffea      	tstl %fp@(-22)                              <== NOT EXECUTED
   57b80:	6600 00e8      	bnew 57c6a <msdos_find_name_in_fat_file+0x440><== NOT EXECUTED
   57b84:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   57b86:	b0ae fff8      	cmpl %fp@(-8),%d0                           <== NOT EXECUTED
   57b8a:	56c6           	sne %d6                                     <== NOT EXECUTED
                     * If we are not already processing a LFN see if this is
                     * the first entry of a LFN ?                     
                     */                                               
                    if (lfn_start.cln == FAT_FILE_SHORT_NAME)         
                    {                                                 
                        lfn_matched = false;                          
   57b8c:	1e2e ffee      	moveb %fp@(-18),%d7                         <== NOT EXECUTED
                                p += 2;                               
                                break;                                
                        }                                             
                    }                                                 
                                                                      
                    lfn_matched = ((lfn_entry == 0) &&                
   57b90:	2206           	movel %d6,%d1                               <== NOT EXECUTED
   57b92:	4481           	negl %d1                                    <== NOT EXECUTED
   57b94:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
   57b96:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   57b9c:	45ea 0020      	lea %a2@(32),%a2                            <== NOT EXECUTED
            rtems_set_errno_and_return_minus_one(EIO);                
                                                                      
        assert(ret == bts2rd);                                        
                                                                      
        /* have to look at the DIR_NAME as "raw" 8-bit data */        
        for (dir_entry = 0;                                           
   57ba0:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   57ba2:	6500 fd72      	bcsw 57916 <msdos_find_name_in_fat_file+0xec><== NOT EXECUTED
   57ba6:	6000 fe20      	braw 579c8 <msdos_find_name_in_fat_file+0x19e><== NOT EXECUTED
                        {                                             
                            case 4:                                   
                                p += 5;                               
                                break;                                
                            case 10:                                  
                                p += 4;                               
   57baa:	5888           	addql #4,%a0                                <== NOT EXECUTED
   57bac:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
                    {                                                 
#if MSDOS_FIND_PRINT > 1                                              
                        printf ("MSFS:[6] o:%i i:%i *p:%c(%02x) name[o + i]:%c(%02x)\n",
                                o, i, *p, *p, name[o + i], name[o + i]);
#endif                                                                
                        if (*p == '\0')                               
   57bae:	1210           	moveb %a0@,%d1                              <== NOT EXECUTED
   57bb0:	6698           	bnes 57b4a <msdos_find_name_in_fat_file+0x320><== NOT EXECUTED
   57bb2:	222e ffce      	movel %fp@(-50),%d1                         <== NOT EXECUTED
                            /*                                        
                             * If this is the first entry, ie the last part of the
                             * long file name and the length does not match then
                             * the file names do not match.           
                             */                                       
                            if (((lfn_entry + 1) == lfn_entries) &&   
   57bb6:	b2ae ffd2      	cmpl %fp@(-46),%d1                          <== NOT EXECUTED
   57bba:	66c0           	bnes 57b7c <msdos_find_name_in_fat_file+0x352><== NOT EXECUTED
                                ((o + i) != name_len))                
   57bbc:	d0ae fff0      	addl %fp@(-16),%d0                          <== NOT EXECUTED
                            /*                                        
                             * If this is the first entry, ie the last part of the
                             * long file name and the length does not match then
                             * the file names do not match.           
                             */                                       
                            if (((lfn_entry + 1) == lfn_entries) &&   
   57bc0:	b0ae 0018      	cmpl %fp@(24),%d0                           <== NOT EXECUTED
   57bc4:	67b6           	beqs 57b7c <msdos_find_name_in_fat_file+0x352><== NOT EXECUTED
                                ((o + i) != name_len))                
                                lfn_start.cln = FAT_FILE_SHORT_NAME;  
   57bc6:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   57bc8:	2d41 fff8      	movel %d1,%fp@(-8)                          <== NOT EXECUTED
                                p += 2;                               
                                break;                                
                        }                                             
                    }                                                 
                                                                      
                    lfn_matched = ((lfn_entry == 0) &&                
   57bcc:	4aae ffea      	tstl %fp@(-22)                              <== NOT EXECUTED
   57bd0:	6600 0098      	bnew 57c6a <msdos_find_name_in_fat_file+0x440><== NOT EXECUTED
   57bd4:	60ae           	bras 57b84 <msdos_find_name_in_fat_file+0x35a><== NOT EXECUTED
                        }                                             
                                                                      
                        switch (i)                                    
                        {                                             
                            case 4:                                   
                                p += 5;                               
   57bd6:	5a88           	addql #5,%a0                                <== NOT EXECUTED
                                break;                                
   57bd8:	6000 ff6a      	braw 57b44 <msdos_find_name_in_fat_file+0x31a><== NOT EXECUTED
   57bdc:	200c           	movel %a4,%d0                               
   57bde:	284d           	moveal %a5,%a4                              
   57be0:	2a40           	moveal %d0,%a5                              
#endif                                                                
                /*                                                    
                 * If just looking and there is no more entries in the
                 * directory - return name-not-found                  
                 */                                                   
                if (!create_node)                                     
   57be2:	4a05           	tstb %d5                                    
   57be4:	6700 04ce      	beqw 580b4 <msdos_find_name_in_fat_file+0x88a>
                 * Lets go and write the directory entries. If we have not found
                 * any available space add the remaining number of entries to any that
                 * we may have already found that are just before this entry. If more
                 * are needed FAT_EOF is returned by the read and we extend the file.
                 */                                                   
                if (!empty_space_found)                               
   57be8:	4a2e ffe6      	tstb %fp@(-26)                              
   57bec:	660a           	bnes 57bf8 <msdos_find_name_in_fat_file+0x3ce><== NEVER TAKEN
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
        bts2rd = fat_fd->fat_file_size;                               
    else                                                              
        bts2rd = fs_info->fat.vol.bpc;                                
                                                                      
    entries_per_block = bts2rd / MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;   
   57bee:	2004           	movel %d4,%d0                               
   57bf0:	ea88           	lsrl #5,%d0                                 
                 * are needed FAT_EOF is returned by the read and we extend the file.
                 */                                                   
                if (!empty_space_found)                               
                {                                                     
                  empty_space_count +=                                
                    entries_per_block - (dir_entry / MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);
   57bf2:	d680           	addl %d0,%d3                                
   57bf4:	ea8a           	lsrl #5,%d2                                 
                 * we may have already found that are just before this entry. If more
                 * are needed FAT_EOF is returned by the read and we extend the file.
                 */                                                   
                if (!empty_space_found)                               
                {                                                     
                  empty_space_count +=                                
   57bf6:	9682           	subl %d2,%d3                                
     * data to place in each long file name entry. First set the short
     * file name to the slot of the SFN entry. This will mean no clashes
     * in this directory.                                             
     */                                                               
    lfn_checksum = 0;                                                 
    if (name_type == MSDOS_NAME_LONG)                                 
   57bf8:	7402           	moveq #2,%d2                                
   57bfa:	b4ae 001c      	cmpl %fp@(28),%d2                           
   57bfe:	6700 04d4      	beqw 580d4 <msdos_find_name_in_fat_file+0x8aa>
        int      slot = (((empty_space_offset * bts2rd) + empty_space_entry) /
                         MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE) + lfn_entries + 1;
        msdos_short_name_hex(MSDOS_DIR_NAME(name_dir_entry), slot);   
    }                                                                 
                                                                      
    if (lfn_entries)                                                  
   57c02:	4aae ffd2      	tstl %fp@(-46)                              
   57c06:	6700 0128      	beqw 57d30 <msdos_find_name_in_fat_file+0x506>
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57c0a:	226e 0024      	moveal %fp@(36),%a1                         <== NOT EXECUTED
   57c0e:	43e9 000b      	lea %a1@(11),%a1                            <== NOT EXECUTED
   57c12:	4201           	clrb %d1                                    <== NOT EXECUTED
    if (lfn_entries)                                                  
    {                                                                 
        uint8_t* p = (uint8_t*) MSDOS_DIR_NAME(name_dir_entry);       
        int      i;                                                   
        for (i = 0; i < 11; i++, p++)                                 
            lfn_checksum =                                            
   57c14:	4202           	clrb %d2                                    <== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57c16:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
   57c1a:	1d41 ffef      	moveb %d1,%fp@(-17)                         <== NOT EXECUTED
    if (lfn_entries)                                                  
    {                                                                 
        uint8_t* p = (uint8_t*) MSDOS_DIR_NAME(name_dir_entry);       
        int      i;                                                   
        for (i = 0; i < 11; i++, p++)                                 
            lfn_checksum =                                            
   57c1e:	4280           	clrl %d0                                    <== NOT EXECUTED
   57c20:	102e ffef      	moveb %fp@(-17),%d0                         <== NOT EXECUTED
   57c24:	e288           	lsrl #1,%d0                                 <== NOT EXECUTED
   57c26:	1218           	moveb %a0@+,%d1                             <== NOT EXECUTED
   57c28:	d081           	addl %d1,%d0                                <== NOT EXECUTED
   57c2a:	d480           	addl %d0,%d2                                <== NOT EXECUTED
   57c2c:	1d42 ffef      	moveb %d2,%fp@(-17)                         <== NOT EXECUTED
                                                                      
    if (lfn_entries)                                                  
    {                                                                 
        uint8_t* p = (uint8_t*) MSDOS_DIR_NAME(name_dir_entry);       
        int      i;                                                   
        for (i = 0; i < 11; i++, p++)                                 
   57c30:	b3c8           	cmpal %a0,%a1                               <== NOT EXECUTED
   57c32:	6700 0102      	beqw 57d36 <msdos_find_name_in_fat_file+0x50c><== NOT EXECUTED
            lfn_checksum =                                            
   57c36:	0802 0000      	btst #0,%d2                                 <== NOT EXECUTED
   57c3a:	6700 042a      	beqw 58066 <msdos_find_name_in_fat_file+0x83c><== NOT EXECUTED
   57c3e:	7480           	moveq #-128,%d2                             <== NOT EXECUTED
   57c40:	60dc           	bras 57c1e <msdos_find_name_in_fat_file+0x3f4><== NOT EXECUTED
                         * Get the checksum of the short entry.       
                         */                                           
                        lfn_start.cln = dir_offset;                   
                        lfn_start.ofs = dir_entry;                    
                        lfn_entry = lfn_entries;                      
                        lfn_checksum = *MSDOS_DIR_LFN_CHECKSUM(entry);
   57c42:	222e ffd2      	movel %fp@(-46),%d1                         <== NOT EXECUTED
                     * If the entry number or the check sum do not match
                     * forget this series of long directory entries. These
                     * could be orphaned entries depending on the history
                     * of the disk.                                   
                     */                                               
                    if ((lfn_entry != (*MSDOS_DIR_ENTRY_TYPE(entry) & 
   57c46:	7c3f           	moveq #63,%d6                               <== NOT EXECUTED
                            continue;                                 
                                                                      
                        /*                                            
                         * Get the checksum of the short entry.       
                         */                                           
                        lfn_start.cln = dir_offset;                   
   57c48:	2d4d fff8      	movel %a5,%fp@(-8)                          <== NOT EXECUTED
                     * If we are not already processing a LFN see if this is
                     * the first entry of a LFN ?                     
                     */                                               
                    if (lfn_start.cln == FAT_FILE_SHORT_NAME)         
                    {                                                 
                        lfn_matched = false;                          
   57c4c:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
                                                                      
                        /*                                            
                         * Get the checksum of the short entry.       
                         */                                           
                        lfn_start.cln = dir_offset;                   
                        lfn_start.ofs = dir_entry;                    
   57c4e:	2d42 fffc      	movel %d2,%fp@(-4)                          <== NOT EXECUTED
                        lfn_entry = lfn_entries;                      
                        lfn_checksum = *MSDOS_DIR_LFN_CHECKSUM(entry);
   57c52:	1e2a 000d      	moveb %a2@(13),%d7                          <== NOT EXECUTED
   57c56:	2d41 ffea      	movel %d1,%fp@(-22)                         <== NOT EXECUTED
   57c5a:	1212           	moveb %a2@,%d1                              <== NOT EXECUTED
                     * If the entry number or the check sum do not match
                     * forget this series of long directory entries. These
                     * could be orphaned entries depending on the history
                     * of the disk.                                   
                     */                                               
                    if ((lfn_entry != (*MSDOS_DIR_ENTRY_TYPE(entry) & 
   57c5c:	c286           	andl %d6,%d1                                <== NOT EXECUTED
   57c5e:	b2ae ffea      	cmpl %fp@(-22),%d1                          <== NOT EXECUTED
   57c62:	6600 fe60      	bnew 57ac4 <msdos_find_name_in_fat_file+0x29a><== NOT EXECUTED
   57c66:	6000 fea2      	braw 57b0a <msdos_find_name_in_fat_file+0x2e0><== NOT EXECUTED
                                p += 2;                               
                                break;                                
                        }                                             
                    }                                                 
                                                                      
                    lfn_matched = ((lfn_entry == 0) &&                
   57c6a:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
                     * If we are not already processing a LFN see if this is
                     * the first entry of a LFN ?                     
                     */                                               
                    if (lfn_start.cln == FAT_FILE_SHORT_NAME)         
                    {                                                 
                        lfn_matched = false;                          
   57c6c:	1e2e ffee      	moveb %fp@(-18),%d7                         <== NOT EXECUTED
   57c70:	6000 ff24      	braw 57b96 <msdos_find_name_in_fat_file+0x36c><== NOT EXECUTED
      lfn_entries = 0;                                                
    else                                                              
      lfn_entries =                                                   
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   57c74:	4aa8 0024      	tstl %a0@(36)                               
   57c78:	6600 fc1c      	bnew 57896 <msdos_find_name_in_fat_file+0x6c>
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
   57c7c:	206e ffe2      	moveal %fp@(-30),%a0                        
      lfn_entries = 0;                                                
    else                                                              
      lfn_entries =                                                   
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   57c80:	7203           	moveq #3,%d1                                
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
   57c82:	1028 000e      	moveb %a0@(14),%d0                          
   57c86:	1d40 ffcd      	moveb %d0,%fp@(-51)                         
      lfn_entries = 0;                                                
    else                                                              
      lfn_entries =                                                   
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   57c8a:	c081           	andl %d1,%d0                                
   57c8c:	4a00           	tstb %d0                                    
   57c8e:	6700 fc06      	beqw 57896 <msdos_find_name_in_fat_file+0x6c>
   57c92:	266e ffe2      	moveal %fp@(-30),%a3                        
    uint32_t         bts2rd = 0;                                      
    fat_pos_t        lfn_start;                                       
    bool             lfn_matched = false;                             
    uint8_t          lfn_checksum = 0;                                
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
   57c96:	4287           	clrl %d7                                    
    uint32_t         empty_space_offset = 0;                          
    uint32_t         empty_space_entry = 0;                           
    uint32_t         empty_space_count = 0;                           
   57c98:	4283           	clrl %d3                                    
    bool             lfn_matched = false;                             
    uint8_t          lfn_checksum = 0;                                
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
    uint32_t         empty_space_offset = 0;                          
    uint32_t         empty_space_entry = 0;                           
   57c9a:	9bcd           	subal %a5,%a5                               
    char                                 *name_dir_entry              
                                )                                     
{                                                                     
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         dir_offset = 0;                                  
   57c9c:	99cc           	subal %a4,%a4                               
                  /*                                                  
                   * Remainder is not empty so is this entry empty ?  
                   */                                                 
                  empty_space_count++;                                
                                                                      
                  if (empty_space_count == (lfn_entries + 1))         
   57c9e:	222e ffd2      	movel %fp@(-46),%d1                         
   57ca2:	5281           	addql #1,%d1                                
   57ca4:	266b 0094      	moveal %a3@(148),%a3                        
      lfn_entries =                                                   
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
        bts2rd = fat_fd->fat_file_size;                               
   57ca8:	206e 000c      	moveal %fp@(12),%a0                         
                  /*                                                  
                   * Remainder is not empty so is this entry empty ?  
                   */                                                 
                  empty_space_count++;                                
                                                                      
                  if (empty_space_count == (lfn_entries + 1))         
   57cac:	2d41 ffda      	movel %d1,%fp@(-38)                         
      lfn_entries =                                                   
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
        bts2rd = fat_fd->fat_file_size;                               
   57cb0:	2828 0018      	movel %a0@(24),%d4                          
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
    uint32_t         empty_space_offset = 0;                          
    uint32_t         empty_space_entry = 0;                           
    uint32_t         empty_space_count = 0;                           
    bool             empty_space_found = false;                       
   57cb4:	4202           	clrb %d2                                    
    uint32_t         dir_offset = 0;                                  
    uint32_t         dir_entry = 0;                                   
    uint32_t         bts2rd = 0;                                      
    fat_pos_t        lfn_start;                                       
    bool             lfn_matched = false;                             
    uint8_t          lfn_checksum = 0;                                
   57cb6:	4201           	clrb %d1                                    
   57cb8:	2d4b ffde      	movel %a3,%fp@(-34)                         
    int              lfn_entries;                                     
    int              lfn_entry = 0;                                   
    uint32_t         empty_space_offset = 0;                          
   57cbc:	97cb           	subal %a3,%a3                               
   57cbe:	2d47 ffea      	movel %d7,%fp@(-22)                         
    uint32_t         empty_space_entry = 0;                           
    uint32_t         empty_space_count = 0;                           
    bool             empty_space_found = false;                       
   57cc2:	1d42 ffe6      	moveb %d2,%fp@(-26)                         
    /*                                                                
     * Scan the directory seeing if the file is present. While        
     * doing this see if a suitable location can be found to          
     * create the entry if the name is not found.                     
     */                                                               
    while ((ret = fat_file_read(&fs_info->fat, fat_fd, (dir_offset * bts2rd),
   57cc6:	42ae ffd6      	clrl %fp@(-42)                              
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         dir_offset = 0;                                  
    uint32_t         dir_entry = 0;                                   
    uint32_t         bts2rd = 0;                                      
    fat_pos_t        lfn_start;                                       
    bool             lfn_matched = false;                             
   57cca:	4206           	clrb %d6                                    
   57ccc:	1e01           	moveb %d1,%d7                               
   57cce:	6000 fc04      	braw 578d4 <msdos_find_name_in_fat_file+0xaa>
                            break;                                    
                        }                                             
                                                                      
                        if (((o + i) >= name_len) || (*p != name[o + i]))
                        {                                             
                            lfn_start.cln = FAT_FILE_SHORT_NAME;      
   57cd2:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
   57cd4:	2d46 fff8      	movel %d6,%fp@(-8)                          <== NOT EXECUTED
                                p += 2;                               
                                break;                                
                        }                                             
                    }                                                 
                                                                      
                    lfn_matched = ((lfn_entry == 0) &&                
   57cd8:	4aae ffea      	tstl %fp@(-22)                              <== NOT EXECUTED
   57cdc:	668c           	bnes 57c6a <msdos_find_name_in_fat_file+0x440><== NOT EXECUTED
   57cde:	6000 fea4      	braw 57b84 <msdos_find_name_in_fat_file+0x35a><== NOT EXECUTED
                if (lfn_start.cln != FAT_FILE_SHORT_NAME)             
                {                                                     
                  rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM,
                                      lfn_start.cln * bts2rd,         
                                      &lfn_start.cln);                
                  if (rc != RC_OK)                                    
   57ce2:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
}                                                                     
   57ce4:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   57ce6:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   57cec:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   57cee:	4e75           	rts                                         <== NOT EXECUTED
      lfn_entries = 0;                                                
    else                                                              
      lfn_entries =                                                   
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   57cf0:	206e 000c      	moveal %fp@(12),%a0                         
   57cf4:	7001           	moveq #1,%d0                                
     *                                                                
     * In PR1491 we need to have a LFN for a short file name entry. To
     * test this make this test always fail, ie add "0 &&".           
     */                                                               
    if (create_node && (name_type == MSDOS_NAME_SHORT))               
      lfn_entries = 0;                                                
   57cf6:	42ae ffd2      	clrl %fp@(-46)                              
    else                                                              
      lfn_entries =                                                   
        ((name_len - 1) + MSDOS_LFN_LEN_PER_ENTRY) / MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   57cfa:	b0a8 0020      	cmpl %a0@(32),%d0                           
   57cfe:	6600 fb96      	bnew 57896 <msdos_find_name_in_fat_file+0x6c>
   57d02:	6000 ff70      	braw 57c74 <msdos_find_name_in_fat_file+0x44a>
                          if (rc != RC_OK)                            
                            return rc;                                
                        }                                             
                                                                      
                        dir_pos->lname.cln = lfn_start.cln;           
                        dir_pos->lname.ofs = lfn_start.ofs;           
   57d06:	226e 0020      	moveal %fp@(32),%a1                         
   57d0a:	47ee fffc      	lea %fp@(-4),%a3                            
                        if (rc != RC_OK)                              
                            return rc;                                
                                                                      
                        dir_pos->sname.ofs = dir_entry;               
                                                                      
                        if (lfn_start.cln != FAT_FILE_SHORT_NAME)     
   57d0e:	70ff           	moveq #-1,%d0                               
                        }                                             
                                                                      
                        dir_pos->lname.cln = lfn_start.cln;           
                        dir_pos->lname.ofs = lfn_start.ofs;           
                                                                      
                        memcpy(name_dir_entry, entry,                 
   57d10:	206e 0024      	moveal %fp@(36),%a0                         
                          if (rc != RC_OK)                            
                            return rc;                                
                        }                                             
                                                                      
                        dir_pos->lname.cln = lfn_start.cln;           
                        dir_pos->lname.ofs = lfn_start.ofs;           
   57d14:	2353 000c      	movel %a3@,%a1@(12)                         
                                              &lfn_start.cln);        
                          if (rc != RC_OK)                            
                            return rc;                                
                        }                                             
                                                                      
                        dir_pos->lname.cln = lfn_start.cln;           
   57d18:	2340 0008      	movel %d0,%a1@(8)                           
                        dir_pos->lname.ofs = lfn_start.ofs;           
                                                                      
                        memcpy(name_dir_entry, entry,                 
   57d1c:	20da           	movel %a2@+,%a0@+                           
   57d1e:	20da           	movel %a2@+,%a0@+                           
   57d20:	20da           	movel %a2@+,%a0@+                           
   57d22:	20da           	movel %a2@+,%a0@+                           
   57d24:	20da           	movel %a2@+,%a0@+                           
   57d26:	20da           	movel %a2@+,%a0@+                           
   57d28:	20da           	movel %a2@+,%a0@+                           
   57d2a:	2092           	movel %a2@,%a0@                             
   57d2c:	6000 fd4e      	braw 57a7c <msdos_find_name_in_fat_file+0x252>
     * If a long file name calculate the checksum of the short file name
     * data to place in each long file name entry. First set the short
     * file name to the slot of the SFN entry. This will mean no clashes
     * in this directory.                                             
     */                                                               
    lfn_checksum = 0;                                                 
   57d30:	4202           	clrb %d2                                    
   57d32:	1d42 ffef      	moveb %d2,%fp@(-17)                         
     * empty_space_count is a count of empty entries in the currently 
     * read cluster so if 0 there is no space. Note, dir_offset will  
     * be at the next cluster so we can just make empty_space_offset  
     * that value.                                                    
     */                                                               
    if (empty_space_count == 0)                                       
   57d36:	4a83           	tstl %d3                                    
   57d38:	6700 0370      	beqw 580aa <msdos_find_name_in_fat_file+0x880>
    uint32_t         empty_space_offset = 0;                          
    uint32_t         empty_space_entry = 0;                           
    uint32_t         empty_space_count = 0;                           
    bool             empty_space_found = false;                       
    uint32_t         entries_per_block;                               
    bool             read_cluster = false;                            
   57d3c:	b7cc           	cmpal %a4,%a3                               
   57d3e:	56c0           	sne %d0                                     
   57d40:	4480           	negl %d0                                    
        read_cluster = true;                                          
                                                                      
    /*                                                                
     * Handle the entry writes.                                       
     */                                                               
    lfn_start.cln = lfn_start.ofs = FAT_FILE_SHORT_NAME;              
   57d42:	7aff           	moveq #-1,%d5                               
   57d44:	2d45 fffc      	movel %d5,%fp@(-4)                          
   57d48:	2d45 fff8      	movel %d5,%fp@(-8)                          
#endif                                                                
                                                                      
    /*                                                                
     * The one more is the short entry.                               
     */                                                               
    while (lfn_entry < (lfn_entries + 1))                             
   57d4c:	4aae ffd2      	tstl %fp@(-46)                              
   57d50:	6d00 0298      	bltw 57fea <msdos_find_name_in_fat_file+0x7c0>
   57d54:	2c0b           	movel %a3,%d6                               
   57d56:	4c04 6800      	mulsl %d4,%d6                               
                                                                      
    /*                                                                
     * Handle the entry writes.                                       
     */                                                               
    lfn_start.cln = lfn_start.ofs = FAT_FILE_SHORT_NAME;              
    lfn_entry = 0;                                                    
   57d5a:	4287           	clrl %d7                                    
   57d5c:	2d46 ffde      	movel %d6,%fp@(-34)                         
     */                                                               
    while (lfn_entry < (lfn_entries + 1))                             
    {                                                                 
        int length = 0;                                               
                                                                      
        if (read_cluster)                                             
   57d60:	4a00           	tstb %d0                                    
   57d62:	6700 00b0      	beqw 57e14 <msdos_find_name_in_fat_file+0x5ea>
        {                                                             
          uint32_t new_length;                                        
#if MSDOS_FIND_PRINT                                                  
          printf ("MSFS:[9.1] eso:%li\n", empty_space_offset);        
#endif                                                                
          ret = fat_file_read(&fs_info->fat, fat_fd,                  
   57d66:	206e ffe2      	moveal %fp@(-30),%a0                        <== NOT EXECUTED
   57d6a:	2f28 0094      	movel %a0@(148),%sp@-                       <== NOT EXECUTED
   57d6e:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   57d70:	2f2e ffde      	movel %fp@(-34),%sp@-                       <== NOT EXECUTED
   57d74:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   57d78:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   57d7a:	4eb9 0005 1bd0 	jsr 51bd0 <fat_file_read>                   <== NOT EXECUTED
                              (empty_space_offset * bts2rd), bts2rd,  
                              fs_info->cl_buf);                       
                                                                      
          if (ret != bts2rd)                                          
   57d80:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   57d84:	b880           	cmpl %d0,%d4                                <== NOT EXECUTED
   57d86:	6700 008c      	beqw 57e14 <msdos_find_name_in_fat_file+0x5ea><== NOT EXECUTED
          {                                                           
            if (ret != FAT_EOF)                                       
   57d8a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   57d8c:	6600 03d8      	bnew 58166 <msdos_find_name_in_fat_file+0x93c><== NOT EXECUTED
              rtems_set_errno_and_return_minus_one(EIO);              
                                                                      
#if MSDOS_FIND_PRINT                                                  
            printf ("MSFS:[9.2] extending file:%li\n", empty_space_offset);
#endif                                                                
            ret = fat_file_extend (&fs_info->fat, fat_fd, false,      
   57d90:	486e fff4      	pea %fp@(-12)                               <== NOT EXECUTED
   57d94:	2f2e ffde      	movel %fp@(-34),%sp@-                       <== NOT EXECUTED
   57d98:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   57d9a:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   57d9e:	2f2e ffe2      	movel %fp@(-30),%sp@-                       <== NOT EXECUTED
   57da2:	4eb9 0005 20bc 	jsr 520bc <fat_file_extend>                 <== NOT EXECUTED
                                   empty_space_offset * bts2rd, &new_length);
                                                                      
            if (ret != RC_OK)                                         
   57da8:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
              rtems_set_errno_and_return_minus_one(EIO);              
                                                                      
#if MSDOS_FIND_PRINT                                                  
            printf ("MSFS:[9.2] extending file:%li\n", empty_space_offset);
#endif                                                                
            ret = fat_file_extend (&fs_info->fat, fat_fd, false,      
   57dac:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
                                   empty_space_offset * bts2rd, &new_length);
                                                                      
            if (ret != RC_OK)                                         
   57dae:	6600 fccc      	bnew 57a7c <msdos_find_name_in_fat_file+0x252><== NOT EXECUTED
              return ret;                                             
                                                                      
#if MSDOS_FIND_PRINT                                                  
            printf ("MSFS:[9.3] extended: %d <-> %d\n", new_length, empty_space_offset * bts2rd);
#endif                                                                
            if (new_length != (empty_space_offset * bts2rd))          
   57db2:	286e ffde      	moveal %fp@(-34),%a4                        <== NOT EXECUTED
   57db6:	b9ee fff4      	cmpal %fp@(-12),%a4                         <== NOT EXECUTED
   57dba:	663e           	bnes 57dfa <msdos_find_name_in_fat_file+0x5d0><== NOT EXECUTED
              rtems_set_errno_and_return_minus_one(EIO);              
                                                                      
            memset(fs_info->cl_buf, 0, bts2rd);                       
   57dbc:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   57dbe:	226e ffe2      	moveal %fp@(-30),%a1                        <== NOT EXECUTED
   57dc2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   57dc4:	2f29 0094      	movel %a1@(148),%sp@-                       <== NOT EXECUTED
   57dc8:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          <== NOT EXECUTED
                                                                      
            ret = fat_file_write(&fs_info->fat, fat_fd,               
   57dce:	286e ffe2      	moveal %fp@(-30),%a4                        <== NOT EXECUTED
   57dd2:	2f2c 0094      	movel %a4@(148),%sp@-                       <== NOT EXECUTED
   57dd6:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   57dd8:	2f2e ffde      	movel %fp@(-34),%sp@-                       <== NOT EXECUTED
   57ddc:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   57de0:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   57de2:	4eb9 0005 22ee 	jsr 522ee <fat_file_write>                  <== NOT EXECUTED
                                 empty_space_offset * bts2rd,         
                                 bts2rd, fs_info->cl_buf);            
#if MSDOS_FIND_PRINT                                                  
            printf ("MSFS:[9.4] clear write: %d\n", ret);             
#endif                                                                
            if (ret == -1)                                            
   57de8:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
            if (new_length != (empty_space_offset * bts2rd))          
              rtems_set_errno_and_return_minus_one(EIO);              
                                                                      
            memset(fs_info->cl_buf, 0, bts2rd);                       
                                                                      
            ret = fat_file_write(&fs_info->fat, fat_fd,               
   57dec:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
                                 empty_space_offset * bts2rd,         
                                 bts2rd, fs_info->cl_buf);            
#if MSDOS_FIND_PRINT                                                  
            printf ("MSFS:[9.4] clear write: %d\n", ret);             
#endif                                                                
            if (ret == -1)                                            
   57dee:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   57df0:	b086           	cmpl %d6,%d0                                <== NOT EXECUTED
   57df2:	6700 fc88      	beqw 57a7c <msdos_find_name_in_fat_file+0x252><== NOT EXECUTED
              return ret;                                             
            else if (ret != bts2rd)                                   
   57df6:	b886           	cmpl %d6,%d4                                <== NOT EXECUTED
   57df8:	671a           	beqs 57e14 <msdos_find_name_in_fat_file+0x5ea><== NOT EXECUTED
                             (empty_space_offset * bts2rd) + empty_space_entry,
                             length, fs_info->cl_buf + empty_space_entry);
        if (ret == -1)                                                
            return ret;                                               
        else if (ret != length)                                       
            rtems_set_errno_and_return_minus_one(EIO);                
   57dfa:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   57e00:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
   57e02:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   57e04:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   57e06:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
}                                                                     
   57e08:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   57e0a:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   57e10:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   57e12:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
#if MSDOS_FIND_PRINT                                                  
        printf ("MSFS:[10] eso:%li\n", empty_space_offset);           
#endif                                                                
                                                                      
        for (dir_entry = empty_space_entry;                           
   57e14:	bbc4           	cmpal %d4,%a5                               
   57e16:	6400 028a      	bccw 580a2 <msdos_find_name_in_fat_file+0x878>
             dir_entry < bts2rd;                                      
             dir_entry += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)          
        {                                                             
            char*       entry = (char*) fs_info->cl_buf + dir_entry;  
   57e1a:	226e ffe2      	moveal %fp@(-30),%a1                        
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
                                                                      
            length += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;              
            lfn_entry++;                                              
   57e1e:	2a07           	movel %d7,%d5                               
   57e20:	5285           	addql #1,%d5                                
                    length, lfn_entry);                               
#endif                                                                
            /*                                                        
             * Time to write the short file name entry.               
             */                                                       
            if (lfn_entry == (lfn_entries + 1))                       
   57e22:	286e ffd2      	moveal %fp@(-46),%a4                        
   57e26:	528c           	addql #1,%a4                                
                                                                      
        for (dir_entry = empty_space_entry;                           
             dir_entry < bts2rd;                                      
             dir_entry += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)          
        {                                                             
            char*       entry = (char*) fs_info->cl_buf + dir_entry;  
   57e28:	2469 0094      	moveal %a1@(148),%a2                        
   57e2c:	d5cd           	addal %a5,%a2                               
                    length, lfn_entry);                               
#endif                                                                
            /*                                                        
             * Time to write the short file name entry.               
             */                                                       
            if (lfn_entry == (lfn_entries + 1))                       
   57e2e:	2d4c ffea      	movel %a4,%fp@(-22)                         
   57e32:	ba8c           	cmpl %a4,%d5                                
   57e34:	6700 0264      	beqw 5809a <msdos_find_name_in_fat_file+0x870>
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57e38:	4687           	notl %d7                                    <== NOT EXECUTED
   57e3a:	deae ffd2      	addl %fp@(-46),%d7                          <== NOT EXECUTED
   57e3e:	700d           	moveq #13,%d0                               <== NOT EXECUTED
   57e40:	4c00 7800      	mulsl %d0,%d7                               <== NOT EXECUTED
   57e44:	2c0d           	movel %a5,%d6                               <== NOT EXECUTED
            char*       p;                                            
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
                                                                      
            length += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;              
   57e46:	7420           	moveq #32,%d2                               <== NOT EXECUTED
   57e48:	122e ffed      	moveb %fp@(-19),%d1                         <== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57e4c:	2d4d ffd6      	movel %a5,%fp@(-42)                         <== NOT EXECUTED
   57e50:	deae 0014      	addl %fp@(20),%d7                           <== NOT EXECUTED
   57e54:	1d41 ffe9      	moveb %d1,%fp@(-23)                         <== NOT EXECUTED
   57e58:	2d4b ffda      	movel %a3,%fp@(-38)                         <== NOT EXECUTED
   57e5c:	2a6e ffe2      	moveal %fp@(-30),%a5                        <== NOT EXECUTED
   57e60:	2642           	moveal %d2,%a3                              <== NOT EXECUTED
             * This is a long file name and we need to write          
             * a long file name entry. See if this is the             
             * first entry written and if so remember the             
             * the location of the long file name.                    
             */                                                       
            if (lfn_start.cln == FAT_FILE_SHORT_NAME)                 
   57e62:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   57e64:	b4ae fff8      	cmpl %fp@(-8),%d2                           <== NOT EXECUTED
   57e68:	6700 01c0      	beqw 5802a <msdos_find_name_in_fat_file+0x800><== NOT EXECUTED
            }                                                         
                                                                      
            /*                                                        
             * Clear the entry before loading the data.               
             */                                                       
            memset (entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);     
   57e6c:	284a           	moveal %a2,%a4                              <== NOT EXECUTED
                                                                      
            *MSDOS_DIR_LFN_CHECKSUM(entry) = lfn_checksum;            
                                                                      
            p = entry + 1;                                            
   57e6e:	41ea 0001      	lea %a2@(1),%a0                             <== NOT EXECUTED
            n = name + (lfn_entries - lfn_entry) * MSDOS_LFN_LEN_PER_ENTRY;
   57e72:	2247           	moveal %d7,%a1                              <== NOT EXECUTED
   57e74:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            }                                                         
                                                                      
            /*                                                        
             * Clear the entry before loading the data.               
             */                                                       
            memset (entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);     
   57e76:	429c           	clrl %a4@+                                  <== NOT EXECUTED
        {                                                             
            char*       entry = (char*) fs_info->cl_buf + dir_entry;  
            char*       p;                                            
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
   57e78:	4203           	clrb %d3                                    <== NOT EXECUTED
            }                                                         
                                                                      
            /*                                                        
             * Clear the entry before loading the data.               
             */                                                       
            memset (entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);     
   57e7a:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   57e7c:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   57e7e:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   57e80:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   57e82:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   57e84:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   57e86:	4294           	clrl %a4@                                   <== NOT EXECUTED
                                                                      
            *MSDOS_DIR_LFN_CHECKSUM(entry) = lfn_checksum;            
   57e88:	122e ffef      	moveb %fp@(-17),%d1                         <== NOT EXECUTED
   57e8c:	1541 000d      	moveb %d1,%a2@(13)                          <== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57e90:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   57e92:	5381           	subql #1,%d1                                <== NOT EXECUTED
            p = entry + 1;                                            
            n = name + (lfn_entries - lfn_entry) * MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
            for (i = 0; i < MSDOS_LFN_LEN_PER_ENTRY; i++)             
            {                                                         
                if (*n != 0)                                          
   57e94:	1411           	moveb %a1@,%d2                              <== NOT EXECUTED
   57e96:	6726           	beqs 57ebe <msdos_find_name_in_fat_file+0x694><== NOT EXECUTED
                {                                                     
                    *p = *n;                                          
                    n++;                                              
   57e98:	5289           	addql #1,%a1                                <== NOT EXECUTED
                                                                      
            for (i = 0; i < MSDOS_LFN_LEN_PER_ENTRY; i++)             
            {                                                         
                if (*n != 0)                                          
                {                                                     
                    *p = *n;                                          
   57e9a:	1082           	moveb %d2,%a0@                              <== NOT EXECUTED
                    p [0] = fill;                                     
                    p [1] = fill;                                     
                    fill = 0xff;                                      
                }                                                     
                                                                      
                switch (i)                                            
   57e9c:	7404           	moveq #4,%d2                                <== NOT EXECUTED
   57e9e:	b481           	cmpl %d1,%d2                                <== NOT EXECUTED
   57ea0:	672a           	beqs 57ecc <msdos_find_name_in_fat_file+0x6a2><== NOT EXECUTED
   57ea2:	143c 000a      	moveb #10,%d2                               <== NOT EXECUTED
   57ea6:	b481           	cmpl %d1,%d2                                <== NOT EXECUTED
   57ea8:	6700 01b4      	beqw 5805e <msdos_find_name_in_fat_file+0x834><== NOT EXECUTED
                        break;                                        
                    case 10:                                          
                        p += 4;                                       
                        break;                                        
                    default:                                          
                        p += 2;                                       
   57eac:	5488           	addql #2,%a0                                <== NOT EXECUTED
            *MSDOS_DIR_LFN_CHECKSUM(entry) = lfn_checksum;            
                                                                      
            p = entry + 1;                                            
            n = name + (lfn_entries - lfn_entry) * MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
            for (i = 0; i < MSDOS_LFN_LEN_PER_ENTRY; i++)             
   57eae:	720d           	moveq #13,%d1                               <== NOT EXECUTED
   57eb0:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   57eb2:	671e           	beqs 57ed2 <msdos_find_name_in_fat_file+0x6a8><== NOT EXECUTED
   57eb4:	5280           	addql #1,%d0                                <== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57eb6:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   57eb8:	5381           	subql #1,%d1                                <== NOT EXECUTED
            p = entry + 1;                                            
            n = name + (lfn_entries - lfn_entry) * MSDOS_LFN_LEN_PER_ENTRY;
                                                                      
            for (i = 0; i < MSDOS_LFN_LEN_PER_ENTRY; i++)             
            {                                                         
                if (*n != 0)                                          
   57eba:	1411           	moveb %a1@,%d2                              <== NOT EXECUTED
   57ebc:	66da           	bnes 57e98 <msdos_find_name_in_fat_file+0x66e><== NOT EXECUTED
                    p [0] = fill;                                     
                    p [1] = fill;                                     
                    fill = 0xff;                                      
                }                                                     
                                                                      
                switch (i)                                            
   57ebe:	7404           	moveq #4,%d2                                <== NOT EXECUTED
                    *p = *n;                                          
                    n++;                                              
                }                                                     
                else                                                  
                {                                                     
                    p [0] = fill;                                     
   57ec0:	1083           	moveb %d3,%a0@                              <== NOT EXECUTED
                    p [1] = fill;                                     
   57ec2:	1143 0001      	moveb %d3,%a0@(1)                           <== NOT EXECUTED
                    fill = 0xff;                                      
   57ec6:	50c3           	st %d3                                      <== NOT EXECUTED
                }                                                     
                                                                      
                switch (i)                                            
   57ec8:	b481           	cmpl %d1,%d2                                <== NOT EXECUTED
   57eca:	66d6           	bnes 57ea2 <msdos_find_name_in_fat_file+0x678><== NOT EXECUTED
                {                                                     
                    case 4:                                           
                        p += 5;                                       
   57ecc:	5a88           	addql #5,%a0                                <== NOT EXECUTED
   57ece:	5280           	addql #1,%d0                                <== NOT EXECUTED
   57ed0:	60e4           	bras 57eb6 <msdos_find_name_in_fat_file+0x68c><== NOT EXECUTED
                        break;                                        
                }                                                     
            }                                                         
                                                                      
            *MSDOS_DIR_ENTRY_TYPE(entry) = (lfn_entries - lfn_entry) + 1;
            if (lfn_entry == 1)                                       
   57ed2:	7401           	moveq #1,%d2                                <== NOT EXECUTED
 *     RC_OK on success, or error code if error occured (errno set    
 *     appropriately)                                                 
 *                                                                    
 */                                                                   
#define MSDOS_FIND_PRINT 0                                            
int msdos_find_name_in_fat_file(                                      
   57ed4:	102e ffe9      	moveb %fp@(-23),%d0                         <== NOT EXECUTED
   57ed8:	9085           	subl %d5,%d0                                <== NOT EXECUTED
                        p += 2;                                       
                        break;                                        
                }                                                     
            }                                                         
                                                                      
            *MSDOS_DIR_ENTRY_TYPE(entry) = (lfn_entries - lfn_entry) + 1;
   57eda:	1480           	moveb %d0,%a2@                              <== NOT EXECUTED
            if (lfn_entry == 1)                                       
   57edc:	b485           	cmpl %d5,%d2                                <== NOT EXECUTED
   57ede:	6700 0118      	beqw 57ff8 <msdos_find_name_in_fat_file+0x7ce><== NOT EXECUTED
                *MSDOS_DIR_ENTRY_TYPE(entry) |= MSDOS_LAST_LONG_ENTRY;
            *MSDOS_DIR_ATTR(entry) |= MSDOS_ATTR_LFN;                 
   57ee2:	740f           	moveq #15,%d2                               <== NOT EXECUTED
        printf ("MSFS:[10] eso:%li\n", empty_space_offset);           
#endif                                                                
                                                                      
        for (dir_entry = empty_space_entry;                           
             dir_entry < bts2rd;                                      
             dir_entry += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)          
   57ee4:	0686 0000 0020 	addil #32,%d6                               <== NOT EXECUTED
            }                                                         
                                                                      
            *MSDOS_DIR_ENTRY_TYPE(entry) = (lfn_entries - lfn_entry) + 1;
            if (lfn_entry == 1)                                       
                *MSDOS_DIR_ENTRY_TYPE(entry) |= MSDOS_LAST_LONG_ENTRY;
            *MSDOS_DIR_ATTR(entry) |= MSDOS_ATTR_LFN;                 
   57eea:	102a 000b      	moveb %a2@(11),%d0                          <== NOT EXECUTED
   57eee:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   57ef0:	1540 000b      	moveb %d0,%a2@(11)                          <== NOT EXECUTED
                                                                      
#if MSDOS_FIND_PRINT                                                  
        printf ("MSFS:[10] eso:%li\n", empty_space_offset);           
#endif                                                                
                                                                      
        for (dir_entry = empty_space_entry;                           
   57ef4:	bc84           	cmpl %d4,%d6                                <== NOT EXECUTED
   57ef6:	6400 0120      	bccw 58018 <msdos_find_name_in_fat_file+0x7ee><== NOT EXECUTED
             dir_entry < bts2rd;                                      
             dir_entry += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)          
        {                                                             
            char*       entry = (char*) fs_info->cl_buf + dir_entry;  
   57efa:	246d 0094      	moveal %a5@(148),%a2                        <== NOT EXECUTED
            char*       p;                                            
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
                                                                      
            length += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;              
   57efe:	47eb 0020      	lea %a3@(32),%a3                            <== NOT EXECUTED
                                                                      
        for (dir_entry = empty_space_entry;                           
             dir_entry < bts2rd;                                      
             dir_entry += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)          
        {                                                             
            char*       entry = (char*) fs_info->cl_buf + dir_entry;  
   57f02:	d5c6           	addal %d6,%a2                               <== NOT EXECUTED
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
                                                                      
            length += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;              
            lfn_entry++;                                              
   57f04:	5285           	addql #1,%d5                                <== NOT EXECUTED
   57f06:	0687 ffff fff3 	addil #-13,%d7                              <== NOT EXECUTED
                    length, lfn_entry);                               
#endif                                                                
            /*                                                        
             * Time to write the short file name entry.               
             */                                                       
            if (lfn_entry == (lfn_entries + 1))                       
   57f0c:	baae ffea      	cmpl %fp@(-22),%d5                          <== NOT EXECUTED
   57f10:	6600 ff50      	bnew 57e62 <msdos_find_name_in_fat_file+0x638><== NOT EXECUTED
   57f14:	240b           	movel %a3,%d2                               <== NOT EXECUTED
   57f16:	2a6e ffd6      	moveal %fp@(-42),%a5                        <== NOT EXECUTED
   57f1a:	266e ffda      	moveal %fp@(-38),%a3                        <== NOT EXECUTED
            {                                                         
                /* get current cluster number */                      
                int rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM,
   57f1e:	2f2e 0020      	movel %fp@(32),%sp@-                        
   57f22:	49f9 0005 2006 	lea 52006 <fat_file_ioctl>,%a4              
   57f28:	2f2e ffde      	movel %fp@(-34),%sp@-                       
   57f2c:	4878 0001      	pea 1 <ADD>                                 
   57f30:	2f2e 000c      	movel %fp@(12),%sp@-                        
   57f34:	2f2e ffe2      	movel %fp@(-30),%sp@-                       
   57f38:	4e94           	jsr %a4@                                    
                                        empty_space_offset * bts2rd,  
                                        &dir_pos->sname.cln);         
                if (rc != RC_OK)                                      
   57f3a:	4fef 0014      	lea %sp@(20),%sp                            
   57f3e:	4a80           	tstl %d0                                    
   57f40:	6600 fda0      	bnew 57ce2 <msdos_find_name_in_fat_file+0x4b8>
                  return rc;                                          
                                                                      
                dir_pos->sname.ofs = dir_entry;                       
   57f44:	206e 0020      	moveal %fp@(32),%a0                         
                                                                      
                if (lfn_start.cln != FAT_FILE_SHORT_NAME)             
   57f48:	72ff           	moveq #-1,%d1                               
   57f4a:	202e fff8      	movel %fp@(-8),%d0                          
                                        empty_space_offset * bts2rd,  
                                        &dir_pos->sname.cln);         
                if (rc != RC_OK)                                      
                  return rc;                                          
                                                                      
                dir_pos->sname.ofs = dir_entry;                       
   57f4e:	2146 0004      	movel %d6,%a0@(4)                           
                                                                      
                if (lfn_start.cln != FAT_FILE_SHORT_NAME)             
   57f52:	b280           	cmpl %d0,%d1                                
   57f54:	6700 0116      	beqw 5806c <msdos_find_name_in_fat_file+0x842>
                {                                                     
                  rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM,
   57f58:	486e fff8      	pea %fp@(-8)                                <== NOT EXECUTED
   57f5c:	4c04 0800      	mulsl %d4,%d0                               <== NOT EXECUTED
   57f60:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   57f62:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   57f66:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   57f6a:	2f2e ffe2      	movel %fp@(-30),%sp@-                       <== NOT EXECUTED
   57f6e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                      lfn_start.cln * bts2rd,         
                                      &lfn_start.cln);                
                  if (rc != RC_OK)                                    
   57f70:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   57f74:	4a80           	tstl %d0                                    <== NOT EXECUTED
   57f76:	6600 fd6a      	bnew 57ce2 <msdos_find_name_in_fat_file+0x4b8><== NOT EXECUTED
                    return rc;                                        
                }                                                     
                                                                      
                dir_pos->lname.cln = lfn_start.cln;                   
                dir_pos->lname.ofs = lfn_start.ofs;                   
   57f7a:	226e 0020      	moveal %fp@(32),%a1                         <== NOT EXECUTED
   57f7e:	49ee fffc      	lea %fp@(-4),%a4                            <== NOT EXECUTED
   57f82:	2002           	movel %d2,%d0                               <== NOT EXECUTED
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
                                                                      
            length += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;              
            lfn_entry++;                                              
   57f84:	2e05           	movel %d5,%d7                               <== NOT EXECUTED
   57f86:	222e fff8      	movel %fp@(-8),%d1                          <== NOT EXECUTED
                                                                      
                dir_pos->lname.cln = lfn_start.cln;                   
                dir_pos->lname.ofs = lfn_start.ofs;                   
                                                                      
                /* write new node entry */                            
                memcpy (entry, (uint8_t *) name_dir_entry,            
   57f8a:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
                  if (rc != RC_OK)                                    
                    return rc;                                        
                }                                                     
                                                                      
                dir_pos->lname.cln = lfn_start.cln;                   
                dir_pos->lname.ofs = lfn_start.ofs;                   
   57f8e:	2354 000c      	movel %a4@,%a1@(12)                         <== NOT EXECUTED
                                      &lfn_start.cln);                
                  if (rc != RC_OK)                                    
                    return rc;                                        
                }                                                     
                                                                      
                dir_pos->lname.cln = lfn_start.cln;                   
   57f92:	2341 0008      	movel %d1,%a1@(8)                           <== NOT EXECUTED
                dir_pos->lname.ofs = lfn_start.ofs;                   
                                                                      
                /* write new node entry */                            
                memcpy (entry, (uint8_t *) name_dir_entry,            
   57f96:	24d8           	movel %a0@+,%a2@+                           <== NOT EXECUTED
   57f98:	24d8           	movel %a0@+,%a2@+                           <== NOT EXECUTED
   57f9a:	24d8           	movel %a0@+,%a2@+                           <== NOT EXECUTED
   57f9c:	24d8           	movel %a0@+,%a2@+                           <== NOT EXECUTED
   57f9e:	24d8           	movel %a0@+,%a2@+                           <== NOT EXECUTED
   57fa0:	24d8           	movel %a0@+,%a2@+                           <== NOT EXECUTED
   57fa2:	24d8           	movel %a0@+,%a2@+                           <== NOT EXECUTED
   57fa4:	2490           	movel %a0@,%a2@                             <== NOT EXECUTED
            if (lfn_entry == 1)                                       
                *MSDOS_DIR_ENTRY_TYPE(entry) |= MSDOS_LAST_LONG_ENTRY;
            *MSDOS_DIR_ATTR(entry) |= MSDOS_ATTR_LFN;                 
        }                                                             
                                                                      
        ret = fat_file_write(&fs_info->fat, fat_fd,                   
   57fa6:	206e ffe2      	moveal %fp@(-30),%a0                        
   57faa:	2268 0094      	moveal %a0@(148),%a1                        
   57fae:	d3cd           	addal %a5,%a1                               
   57fb0:	2f09           	movel %a1,%sp@-                             
   57fb2:	286e ffde      	moveal %fp@(-34),%a4                        
   57fb6:	2f00           	movel %d0,%sp@-                             
   57fb8:	4874 d800      	pea %a4@(00000000,%a5:l)                    
   57fbc:	2f2e 000c      	movel %fp@(12),%sp@-                        
   57fc0:	2f08           	movel %a0,%sp@-                             
   57fc2:	4eb9 0005 22ee 	jsr 522ee <fat_file_write>                  
                             (empty_space_offset * bts2rd) + empty_space_entry,
                             length, fs_info->cl_buf + empty_space_entry);
        if (ret == -1)                                                
   57fc8:	4fef 0014      	lea %sp@(20),%sp                            
   57fcc:	72ff           	moveq #-1,%d1                               
   57fce:	b280           	cmpl %d0,%d1                                
   57fd0:	6700 00f4      	beqw 580c6 <msdos_find_name_in_fat_file+0x89c>
            return ret;                                               
        else if (ret != length)                                       
   57fd4:	b480           	cmpl %d0,%d2                                
   57fd6:	6600 fe22      	bnew 57dfa <msdos_find_name_in_fat_file+0x5d0>
            rtems_set_errno_and_return_minus_one(EIO);                
                                                                      
        empty_space_offset++;                                         
   57fda:	528b           	addql #1,%a3                                
   57fdc:	d9ae ffde      	addl %d4,%fp@(-34)                          
        empty_space_entry = 0;                                        
   57fe0:	9bcd           	subal %a5,%a5                               
#endif                                                                
                                                                      
    /*                                                                
     * The one more is the short entry.                               
     */                                                               
    while (lfn_entry < (lfn_entries + 1))                             
   57fe2:	beae ffd2      	cmpl %fp@(-46),%d7                          
   57fe6:	6f00 fd7e      	blew 57d66 <msdos_find_name_in_fat_file+0x53c>
        empty_space_offset++;                                         
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
   57fea:	4286           	clrl %d6                                    
}                                                                     
   57fec:	2006           	movel %d6,%d0                               
   57fee:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            
   57ff4:	4e5e           	unlk %fp                                    
   57ff6:	4e75           	rts                                         
                }                                                     
            }                                                         
                                                                      
            *MSDOS_DIR_ENTRY_TYPE(entry) = (lfn_entries - lfn_entry) + 1;
            if (lfn_entry == 1)                                       
                *MSDOS_DIR_ENTRY_TYPE(entry) |= MSDOS_LAST_LONG_ENTRY;
   57ff8:	123c 0040      	moveb #64,%d1                               <== NOT EXECUTED
            *MSDOS_DIR_ATTR(entry) |= MSDOS_ATTR_LFN;                 
   57ffc:	740f           	moveq #15,%d2                               <== NOT EXECUTED
        printf ("MSFS:[10] eso:%li\n", empty_space_offset);           
#endif                                                                
                                                                      
        for (dir_entry = empty_space_entry;                           
             dir_entry < bts2rd;                                      
             dir_entry += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)          
   57ffe:	0686 0000 0020 	addil #32,%d6                               <== NOT EXECUTED
                }                                                     
            }                                                         
                                                                      
            *MSDOS_DIR_ENTRY_TYPE(entry) = (lfn_entries - lfn_entry) + 1;
            if (lfn_entry == 1)                                       
                *MSDOS_DIR_ENTRY_TYPE(entry) |= MSDOS_LAST_LONG_ENTRY;
   58004:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   58006:	1480           	moveb %d0,%a2@                              <== NOT EXECUTED
            *MSDOS_DIR_ATTR(entry) |= MSDOS_ATTR_LFN;                 
   58008:	102a 000b      	moveb %a2@(11),%d0                          <== NOT EXECUTED
   5800c:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   5800e:	1540 000b      	moveb %d0,%a2@(11)                          <== NOT EXECUTED
                                                                      
#if MSDOS_FIND_PRINT                                                  
        printf ("MSFS:[10] eso:%li\n", empty_space_offset);           
#endif                                                                
                                                                      
        for (dir_entry = empty_space_entry;                           
   58012:	bc84           	cmpl %d4,%d6                                <== NOT EXECUTED
   58014:	6500 fee4      	bcsw 57efa <msdos_find_name_in_fat_file+0x6d0><== NOT EXECUTED
   58018:	240b           	movel %a3,%d2                               <== NOT EXECUTED
   5801a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5801c:	2e05           	movel %d5,%d7                               <== NOT EXECUTED
   5801e:	266e ffda      	moveal %fp@(-38),%a3                        <== NOT EXECUTED
   58022:	2a6e ffd6      	moveal %fp@(-42),%a5                        <== NOT EXECUTED
   58026:	6000 ff7e      	braw 57fa6 <msdos_find_name_in_fat_file+0x77c><== NOT EXECUTED
             * first entry written and if so remember the             
             * the location of the long file name.                    
             */                                                       
            if (lfn_start.cln == FAT_FILE_SHORT_NAME)                 
            {                                                         
              lfn_start.cln = empty_space_offset;                     
   5802a:	202e ffda      	movel %fp@(-38),%d0                         <== NOT EXECUTED
            }                                                         
                                                                      
            /*                                                        
             * Clear the entry before loading the data.               
             */                                                       
            memset (entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);     
   5802e:	284a           	moveal %a2,%a4                              <== NOT EXECUTED
                                                                      
            *MSDOS_DIR_LFN_CHECKSUM(entry) = lfn_checksum;            
                                                                      
            p = entry + 1;                                            
   58030:	41ea 0001      	lea %a2@(1),%a0                             <== NOT EXECUTED
            n = name + (lfn_entries - lfn_entry) * MSDOS_LFN_LEN_PER_ENTRY;
   58034:	2247           	moveal %d7,%a1                              <== NOT EXECUTED
             * first entry written and if so remember the             
             * the location of the long file name.                    
             */                                                       
            if (lfn_start.cln == FAT_FILE_SHORT_NAME)                 
            {                                                         
              lfn_start.cln = empty_space_offset;                     
   58036:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
            memset (entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);     
                                                                      
            *MSDOS_DIR_LFN_CHECKSUM(entry) = lfn_checksum;            
                                                                      
            p = entry + 1;                                            
            n = name + (lfn_entries - lfn_entry) * MSDOS_LFN_LEN_PER_ENTRY;
   5803a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
             * the location of the long file name.                    
             */                                                       
            if (lfn_start.cln == FAT_FILE_SHORT_NAME)                 
            {                                                         
              lfn_start.cln = empty_space_offset;                     
              lfn_start.ofs = dir_entry;                              
   5803c:	2d46 fffc      	movel %d6,%fp@(-4)                          <== NOT EXECUTED
        {                                                             
            char*       entry = (char*) fs_info->cl_buf + dir_entry;  
            char*       p;                                            
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
   58040:	4203           	clrb %d3                                    <== NOT EXECUTED
            }                                                         
                                                                      
            /*                                                        
             * Clear the entry before loading the data.               
             */                                                       
            memset (entry, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);     
   58042:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   58044:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   58046:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   58048:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   5804a:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   5804c:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   5804e:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   58050:	4294           	clrl %a4@                                   <== NOT EXECUTED
                                                                      
            *MSDOS_DIR_LFN_CHECKSUM(entry) = lfn_checksum;            
   58052:	122e ffef      	moveb %fp@(-17),%d1                         <== NOT EXECUTED
   58056:	1541 000d      	moveb %d1,%a2@(13)                          <== NOT EXECUTED
   5805a:	6000 fe34      	braw 57e90 <msdos_find_name_in_fat_file+0x666><== NOT EXECUTED
                {                                                     
                    case 4:                                           
                        p += 5;                                       
                        break;                                        
                    case 10:                                          
                        p += 4;                                       
   5805e:	5888           	addql #4,%a0                                <== NOT EXECUTED
   58060:	5280           	addql #1,%d0                                <== NOT EXECUTED
   58062:	6000 fe52      	braw 57eb6 <msdos_find_name_in_fat_file+0x68c><== NOT EXECUTED
    if (lfn_entries)                                                  
    {                                                                 
        uint8_t* p = (uint8_t*) MSDOS_DIR_NAME(name_dir_entry);       
        int      i;                                                   
        for (i = 0; i < 11; i++, p++)                                 
            lfn_checksum =                                            
   58066:	4202           	clrb %d2                                    <== NOT EXECUTED
   58068:	6000 fbb4      	braw 57c1e <msdos_find_name_in_fat_file+0x3f4><== NOT EXECUTED
                  if (rc != RC_OK)                                    
                    return rc;                                        
                }                                                     
                                                                      
                dir_pos->lname.cln = lfn_start.cln;                   
                dir_pos->lname.ofs = lfn_start.ofs;                   
   5806c:	226e 0020      	moveal %fp@(32),%a1                         
   58070:	49ee fffc      	lea %fp@(-4),%a4                            
                if (rc != RC_OK)                                      
                  return rc;                                          
                                                                      
                dir_pos->sname.ofs = dir_entry;                       
                                                                      
                if (lfn_start.cln != FAT_FILE_SHORT_NAME)             
   58074:	72ff           	moveq #-1,%d1                               
   58076:	2002           	movel %d2,%d0                               
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
                                                                      
            length += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;              
            lfn_entry++;                                              
   58078:	2e05           	movel %d5,%d7                               
                                                                      
                dir_pos->lname.cln = lfn_start.cln;                   
                dir_pos->lname.ofs = lfn_start.ofs;                   
                                                                      
                /* write new node entry */                            
                memcpy (entry, (uint8_t *) name_dir_entry,            
   5807a:	206e 0024      	moveal %fp@(36),%a0                         
                  if (rc != RC_OK)                                    
                    return rc;                                        
                }                                                     
                                                                      
                dir_pos->lname.cln = lfn_start.cln;                   
                dir_pos->lname.ofs = lfn_start.ofs;                   
   5807e:	2354 000c      	movel %a4@,%a1@(12)                         
                                      &lfn_start.cln);                
                  if (rc != RC_OK)                                    
                    return rc;                                        
                }                                                     
                                                                      
                dir_pos->lname.cln = lfn_start.cln;                   
   58082:	2341 0008      	movel %d1,%a1@(8)                           
                dir_pos->lname.ofs = lfn_start.ofs;                   
                                                                      
                /* write new node entry */                            
                memcpy (entry, (uint8_t *) name_dir_entry,            
   58086:	24d8           	movel %a0@+,%a2@+                           
   58088:	24d8           	movel %a0@+,%a2@+                           
   5808a:	24d8           	movel %a0@+,%a2@+                           
   5808c:	24d8           	movel %a0@+,%a2@+                           
   5808e:	24d8           	movel %a0@+,%a2@+                           
   58090:	24d8           	movel %a0@+,%a2@+                           
   58092:	24d8           	movel %a0@+,%a2@+                           
   58094:	2490           	movel %a0@,%a2@                             
   58096:	6000 ff0e      	braw 57fa6 <msdos_find_name_in_fat_file+0x77c>
                    length, lfn_entry);                               
#endif                                                                
            /*                                                        
             * Time to write the short file name entry.               
             */                                                       
            if (lfn_entry == (lfn_entries + 1))                       
   5809a:	2c0d           	movel %a5,%d6                               
            char*       p;                                            
            const char* n;                                            
            int         i;                                            
            char        fill = 0;                                     
                                                                      
            length += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;              
   5809c:	7420           	moveq #32,%d2                               
   5809e:	6000 fe7e      	braw 57f1e <msdos_find_name_in_fat_file+0x6f4>
                                                                      
#if MSDOS_FIND_PRINT                                                  
        printf ("MSFS:[10] eso:%li\n", empty_space_offset);           
#endif                                                                
                                                                      
        for (dir_entry = empty_space_entry;                           
   580a2:	4280           	clrl %d0                                    <== NOT EXECUTED
   580a4:	4282           	clrl %d2                                    <== NOT EXECUTED
   580a6:	6000 fefe      	braw 57fa6 <msdos_find_name_in_fat_file+0x77c><== NOT EXECUTED
     * empty_space_count is a count of empty entries in the currently 
     * read cluster so if 0 there is no space. Note, dir_offset will  
     * be at the next cluster so we can just make empty_space_offset  
     * that value.                                                    
     */                                                               
    if (empty_space_count == 0)                                       
   580aa:	264c           	moveal %a4,%a3                              <== NOT EXECUTED
    {                                                                 
        read_cluster = true;                                          
        empty_space_offset = dir_offset;                              
        empty_space_entry = 0;                                        
   580ac:	9bcd           	subal %a5,%a5                               <== NOT EXECUTED
     * be at the next cluster so we can just make empty_space_offset  
     * that value.                                                    
     */                                                               
    if (empty_space_count == 0)                                       
    {                                                                 
        read_cluster = true;                                          
   580ae:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   580b0:	6000 fc90      	braw 57d42 <msdos_find_name_in_fat_file+0x518><== NOT EXECUTED
                /*                                                    
                 * If just looking and there is no more entries in the
                 * directory - return name-not-found                  
                 */                                                   
                if (!create_node)                                     
                    return MSDOS_NAME_NOT_FOUND_ERR;                  
   580b4:	2c3c 0000 7d01 	movel #32001,%d6                            
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
}                                                                     
   580ba:	2006           	movel %d6,%d0                               
   580bc:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            
   580c2:	4e5e           	unlk %fp                                    
   580c4:	4e75           	rts                                         
        }                                                             
                                                                      
        ret = fat_file_write(&fs_info->fat, fat_fd,                   
                             (empty_space_offset * bts2rd) + empty_space_entry,
                             length, fs_info->cl_buf + empty_space_entry);
        if (ret == -1)                                                
   580c6:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
}                                                                     
   580c8:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   580ca:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   580d0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   580d2:	4e75           	rts                                         <== NOT EXECUTED
     * in this directory.                                             
     */                                                               
    lfn_checksum = 0;                                                 
    if (name_type == MSDOS_NAME_LONG)                                 
    {                                                                 
        int      slot = (((empty_space_offset * bts2rd) + empty_space_entry) /
   580d4:	200b           	movel %a3,%d0                               <== NOT EXECUTED
   580d6:	4c04 0800      	mulsl %d4,%d0                               <== NOT EXECUTED
{                                                                     
    static const char* hex = "0123456789ABCDEF";                      
    char* c = MSDOS_DIR_NAME(sfn);                                    
    int   i;                                                          
    for (i = 0; i < 2; i++, c++)                                      
      if ((*c == ' ') || (*c == '.'))                                 
   580da:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
     * in this directory.                                             
     */                                                               
    lfn_checksum = 0;                                                 
    if (name_type == MSDOS_NAME_LONG)                                 
    {                                                                 
        int      slot = (((empty_space_offset * bts2rd) + empty_space_entry) /
   580de:	d08d           	addl %a5,%d0                                <== NOT EXECUTED
   580e0:	ea88           	lsrl #5,%d0                                 <== NOT EXECUTED
                         MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE) + lfn_entries + 1;
   580e2:	226e ffd2      	moveal %fp@(-46),%a1                        <== NOT EXECUTED
{                                                                     
    static const char* hex = "0123456789ABCDEF";                      
    char* c = MSDOS_DIR_NAME(sfn);                                    
    int   i;                                                          
    for (i = 0; i < 2; i++, c++)                                      
      if ((*c == ' ') || (*c == '.'))                                 
   580e6:	1210           	moveb %a0@,%d1                              <== NOT EXECUTED
     */                                                               
    lfn_checksum = 0;                                                 
    if (name_type == MSDOS_NAME_LONG)                                 
    {                                                                 
        int      slot = (((empty_space_offset * bts2rd) + empty_space_entry) /
                         MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE) + lfn_entries + 1;
   580e8:	43f1 0801      	lea %a1@(00000001,%d0:l),%a1                <== NOT EXECUTED
{                                                                     
    static const char* hex = "0123456789ABCDEF";                      
    char* c = MSDOS_DIR_NAME(sfn);                                    
    int   i;                                                          
    for (i = 0; i < 2; i++, c++)                                      
      if ((*c == ' ') || (*c == '.'))                                 
   580ec:	7020           	moveq #32,%d0                               <== NOT EXECUTED
   580ee:	49c1           	extbl %d1                                   <== NOT EXECUTED
     */                                                               
    lfn_checksum = 0;                                                 
    if (name_type == MSDOS_NAME_LONG)                                 
    {                                                                 
        int      slot = (((empty_space_offset * bts2rd) + empty_space_entry) /
                         MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE) + lfn_entries + 1;
   580f0:	2409           	movel %a1,%d2                               <== NOT EXECUTED
{                                                                     
    static const char* hex = "0123456789ABCDEF";                      
    char* c = MSDOS_DIR_NAME(sfn);                                    
    int   i;                                                          
    for (i = 0; i < 2; i++, c++)                                      
      if ((*c == ' ') || (*c == '.'))                                 
   580f2:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   580f4:	6766           	beqs 5815c <msdos_find_name_in_fat_file+0x932><== NOT EXECUTED
   580f6:	702e           	moveq #46,%d0                               <== NOT EXECUTED
   580f8:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   580fa:	6760           	beqs 5815c <msdos_find_name_in_fat_file+0x932><== NOT EXECUTED
   580fc:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
   58100:	7220           	moveq #32,%d1                               <== NOT EXECUTED
   58102:	1028 0001      	moveb %a0@(1),%d0                           <== NOT EXECUTED
   58106:	49c0           	extbl %d0                                   <== NOT EXECUTED
   58108:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5810a:	6744           	beqs 58150 <msdos_find_name_in_fat_file+0x926><== NOT EXECUTED
   5810c:	722e           	moveq #46,%d1                               <== NOT EXECUTED
   5810e:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   58110:	673e           	beqs 58150 <msdos_find_name_in_fat_file+0x926><== NOT EXECUTED
msdos_short_name_hex(char* sfn, int num)                              
{                                                                     
    static const char* hex = "0123456789ABCDEF";                      
    char* c = MSDOS_DIR_NAME(sfn);                                    
    int   i;                                                          
    for (i = 0; i < 2; i++, c++)                                      
   58112:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
   58116:	700c           	moveq #12,%d0                               <== NOT EXECUTED
   58118:	5488           	addql #2,%a0                                <== NOT EXECUTED
   5811a:	43f9 0006 9a0e 	lea 69a0e <null_ops+0x54>,%a1               <== NOT EXECUTED
      if ((*c == ' ') || (*c == '.'))                                 
        *c = '_';                                                     
    for (i = 0; i < 4; i++, c++)                                      
      *c = hex[(num >> ((3 - i) * 4)) & 0xf];                         
   58120:	2202           	movel %d2,%d1                               <== NOT EXECUTED
   58122:	e0a1           	asrl %d0,%d1                                <== NOT EXECUTED
   58124:	7a0f           	moveq #15,%d5                               <== NOT EXECUTED
   58126:	5980           	subql #4,%d0                                <== NOT EXECUTED
    char* c = MSDOS_DIR_NAME(sfn);                                    
    int   i;                                                          
    for (i = 0; i < 2; i++, c++)                                      
      if ((*c == ' ') || (*c == '.'))                                 
        *c = '_';                                                     
    for (i = 0; i < 4; i++, c++)                                      
   58128:	7cfc           	moveq #-4,%d6                               <== NOT EXECUTED
      *c = hex[(num >> ((3 - i) * 4)) & 0xf];                         
   5812a:	c285           	andl %d5,%d1                                <== NOT EXECUTED
   5812c:	10f1 1800      	moveb %a1@(00000000,%d1:l),%a0@+            <== NOT EXECUTED
    char* c = MSDOS_DIR_NAME(sfn);                                    
    int   i;                                                          
    for (i = 0; i < 2; i++, c++)                                      
      if ((*c == ' ') || (*c == '.'))                                 
        *c = '_';                                                     
    for (i = 0; i < 4; i++, c++)                                      
   58130:	bc80           	cmpl %d0,%d6                                <== NOT EXECUTED
   58132:	66ec           	bnes 58120 <msdos_find_name_in_fat_file+0x8f6><== NOT EXECUTED
      *c = hex[(num >> ((3 - i) * 4)) & 0xf];                         
    *c++ = '~';                                                       
   58134:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
   58138:	707e           	moveq #126,%d0                              <== NOT EXECUTED
   5813a:	1140 0006      	moveb %d0,%a0@(6)                           <== NOT EXECUTED
    *c++ = '1';                                                       
   5813e:	7031           	moveq #49,%d0                               <== NOT EXECUTED
   58140:	1140 0007      	moveb %d0,%a0@(7)                           <== NOT EXECUTED
        int      slot = (((empty_space_offset * bts2rd) + empty_space_entry) /
                         MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE) + lfn_entries + 1;
        msdos_short_name_hex(MSDOS_DIR_NAME(name_dir_entry), slot);   
    }                                                                 
                                                                      
    if (lfn_entries)                                                  
   58144:	4aae ffd2      	tstl %fp@(-46)                              <== NOT EXECUTED
   58148:	6700 fbe6      	beqw 57d30 <msdos_find_name_in_fat_file+0x506><== NOT EXECUTED
   5814c:	6000 fabc      	braw 57c0a <msdos_find_name_in_fat_file+0x3e0><== NOT EXECUTED
    static const char* hex = "0123456789ABCDEF";                      
    char* c = MSDOS_DIR_NAME(sfn);                                    
    int   i;                                                          
    for (i = 0; i < 2; i++, c++)                                      
      if ((*c == ' ') || (*c == '.'))                                 
        *c = '_';                                                     
   58150:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
   58154:	7a5f           	moveq #95,%d5                               <== NOT EXECUTED
   58156:	1145 0001      	moveb %d5,%a0@(1)                           <== NOT EXECUTED
   5815a:	60b6           	bras 58112 <msdos_find_name_in_fat_file+0x8e8><== NOT EXECUTED
   5815c:	206e 0024      	moveal %fp@(36),%a0                         <== NOT EXECUTED
   58160:	10bc 005f      	moveb #95,%a0@                              <== NOT EXECUTED
   58164:	6096           	bras 580fc <msdos_find_name_in_fat_file+0x8d2><== NOT EXECUTED
                              fs_info->cl_buf);                       
                                                                      
          if (ret != bts2rd)                                          
          {                                                           
            if (ret != FAT_EOF)                                       
              rtems_set_errno_and_return_minus_one(EIO);              
   58166:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   5816c:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
   5816e:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   58170:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
}                                                                     
   58172:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   58174:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            <== NOT EXECUTED
                              fs_info->cl_buf);                       
                                                                      
          if (ret != bts2rd)                                          
          {                                                           
            if (ret != FAT_EOF)                                       
              rtems_set_errno_and_return_minus_one(EIO);              
   5817a:	2281           	movel %d1,%a1@                              <== NOT EXECUTED
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
}                                                                     
   5817c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5817e:	4e75           	rts                                         <== NOT EXECUTED
#endif                                                                
                                                                      
        if (ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)                  
            rtems_set_errno_and_return_minus_one(EIO);                
                                                                      
        assert(ret == bts2rd);                                        
   58180:	4879 0006 a0ae 	pea 6a0ae <msdos_file_handlers+0xd0>        <== NOT EXECUTED
   58186:	4879 0006 a0d7 	pea 6a0d7 <__FUNCTION__.7675>               <== NOT EXECUTED
   5818c:	4878 03f9      	pea 3f9 <DBL_MANT_DIG+0x3c4>                <== NOT EXECUTED
   58190:	4879 0006 a03f 	pea 6a03f <msdos_file_handlers+0x61>        <== NOT EXECUTED
   58196:	4eb9 0005 43cc 	jsr 543cc <__assert_func>                   <== NOT EXECUTED
   5819c:	200c           	movel %a4,%d0                               <== NOT EXECUTED
   5819e:	284d           	moveal %a5,%a4                              <== NOT EXECUTED
   581a0:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
                                                                      
    /*                                                                
     * If we are not to create the entry return a not found error.    
     */                                                               
    if (!create_node)                                                 
      return MSDOS_NAME_NOT_FOUND_ERR;                                
   581a2:	2c3c 0000 7d01 	movel #32001,%d6                            <== NOT EXECUTED
    }                                                                 
                                                                      
    /*                                                                
     * If we are not to create the entry return a not found error.    
     */                                                               
    if (!create_node)                                                 
   581a8:	4a05           	tstb %d5                                    <== NOT EXECUTED
   581aa:	6600 fa4c      	bnew 57bf8 <msdos_find_name_in_fat_file+0x3ce><== NOT EXECUTED
        empty_space_entry = 0;                                        
        read_cluster = true;                                          
    }                                                                 
                                                                      
    return 0;                                                         
}                                                                     
   581ae:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   581b0:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   581b6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   581b8:	4e75           	rts                                         <== NOT EXECUTED
    uint32_t         empty_space_count = 0;                           
    bool             empty_space_found = false;                       
    uint32_t         entries_per_block;                               
    bool             read_cluster = false;                            
                                                                      
    assert(name_len > 0);                                             
   581ba:	4879 0006 a0a1 	pea 6a0a1 <msdos_file_handlers+0xc3>        <== NOT EXECUTED
   581c0:	4879 0006 a0d7 	pea 6a0d7 <__FUNCTION__.7675>               <== NOT EXECUTED
   581c6:	4878 03c9      	pea 3c9 <DBL_MANT_DIG+0x394>                <== NOT EXECUTED
   581ca:	4879 0006 a03f 	pea 6a03f <msdos_file_handlers+0x61>        <== NOT EXECUTED
   581d0:	4eb9 0005 43cc 	jsr 543cc <__assert_func>                   <== NOT EXECUTED
                                                                      

000581d6 <msdos_find_node_by_cluster_num_in_fat_file>: ssize_t ret = 0; msdos_fs_info_t *fs_info = mt_entry->fs_info; uint32_t bts2rd = 0; uint32_t i = 0, j = 0; if (FAT_FD_OF_ROOT_DIR(fat_fd) &&
   581d6:	7001           	moveq #1,%d0                                <== NOT EXECUTED
    fat_file_fd_t                        *fat_fd,                     
    uint32_t                              cl4find,                    
    fat_dir_pos_t                        *dir_pos,                    
    char                                 *dir_entry                   
    )                                                                 
{                                                                     
   581d8:	4e56 ffd8      	linkw %fp,#-40                              <== NOT EXECUTED
    int              rc = RC_OK;                                      
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   581dc:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
    fat_file_fd_t                        *fat_fd,                     
    uint32_t                              cl4find,                    
    fat_dir_pos_t                        *dir_pos,                    
    char                                 *dir_entry                   
    )                                                                 
{                                                                     
   581e0:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
   581e4:	266e 000c      	moveal %fp@(12),%a3                         <== NOT EXECUTED
   581e8:	2c2e 0010      	movel %fp@(16),%d6                          <== NOT EXECUTED
    int              rc = RC_OK;                                      
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   581ec:	2a68 0008      	moveal %a0@(8),%a5                          <== NOT EXECUTED
    uint32_t         bts2rd = 0;                                      
    uint32_t         i = 0, j = 0;                                    
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   581f0:	b0ab 0020      	cmpl %a3@(32),%d0                           <== NOT EXECUTED
   581f4:	6700 00ec      	beqw 582e2 <msdos_find_node_by_cluster_num_in_fat_file+0x10c><== NOT EXECUTED
       (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))             
        bts2rd = fat_fd->fat_file_size;                               
    else                                                              
        bts2rd = fs_info->fat.vol.bpc;                                
   581f8:	4285           	clrl %d5                                    <== NOT EXECUTED
                                  fs_info->cl_buf)) != FAT_EOF)       
    {                                                                 
        if ( ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE )                
            rtems_set_errno_and_return_minus_one( EIO );              
                                                                      
        assert(ret == bts2rd);                                        
   581fa:	4287           	clrl %d7                                    <== NOT EXECUTED
   581fc:	49f9 0005 1bd0 	lea 51bd0 <fat_file_read>,%a4               <== NOT EXECUTED
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
       (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))             
        bts2rd = fat_fd->fat_file_size;                               
    else                                                              
        bts2rd = fs_info->fat.vol.bpc;                                
   58202:	3a2d 0006      	movew %a5@(6),%d5                           <== NOT EXECUTED
   58206:	206d 0094      	moveal %a5@(148),%a0                        <== NOT EXECUTED
                                                                      
    while ((ret = fat_file_read(&fs_info->fat, fat_fd, j * bts2rd, bts2rd,
   5820a:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5820c:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5820e:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   58210:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   58212:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   58214:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   58216:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5821a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5821c:	6700 00ee      	beqw 5830c <msdos_find_node_by_cluster_num_in_fat_file+0x136><== NOT EXECUTED
                                  fs_info->cl_buf)) != FAT_EOF)       
    {                                                                 
        if ( ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE )                
   58220:	721f           	moveq #31,%d1                               <== NOT EXECUTED
   58222:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   58224:	6c00 00f4      	bgew 5831a <msdos_find_node_by_cluster_num_in_fat_file+0x144><== NOT EXECUTED
            rtems_set_errno_and_return_minus_one( EIO );              
                                                                      
        assert(ret == bts2rd);                                        
   58228:	ba80           	cmpl %d0,%d5                                <== NOT EXECUTED
   5822a:	6600 0106      	bnew 58332 <msdos_find_node_by_cluster_num_in_fat_file+0x15c><== NOT EXECUTED
   5822e:	206d 0094      	moveal %a5@(148),%a0                        <== NOT EXECUTED
   58232:	4282           	clrl %d2                                    <== NOT EXECUTED
   58234:	2448           	moveal %a0,%a2                              <== NOT EXECUTED
        for (i = 0; i < bts2rd; i += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)
        {                                                             
            char* entry = (char*) fs_info->cl_buf + i;                
                                                                      
            /* if this and all rest entries are empty - return not-found */
            if ((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                     
   58236:	1012           	moveb %a2@,%d0                              <== NOT EXECUTED
   58238:	674c           	beqs 58286 <msdos_find_node_by_cluster_num_in_fat_file+0xb0><== NOT EXECUTED
                MSDOS_THIS_DIR_ENTRY_AND_REST_EMPTY)                  
                return MSDOS_NAME_NOT_FOUND_ERR;                      
                                                                      
            /* if this entry is empty - skip it */                    
            if ((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                     
   5823a:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   58240:	0c80 0000 00e5 	cmpil #229,%d0                              <== NOT EXECUTED
   58246:	672c           	beqs 58274 <msdos_find_node_by_cluster_num_in_fat_file+0x9e><== NOT EXECUTED
                                                                      
static inline uint16_t m68k_swap_u16(                                 
  uint16_t value                                                      
)                                                                     
{                                                                     
  return (((value & 0xff) << 8) | ((value >> 8) & 0xff));             
   58248:	4284           	clrl %d4                                    <== NOT EXECUTED
   5824a:	4283           	clrl %d3                                    <== NOT EXECUTED
   5824c:	382a 0014      	movew %a2@(20),%d4                          <== NOT EXECUTED
   58250:	362a 001a      	movew %a2@(26),%d3                          <== NOT EXECUTED
   58254:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   58256:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   58258:	e08c           	lsrl #8,%d4                                 <== NOT EXECUTED
   5825a:	e08b           	lsrl #8,%d3                                 <== NOT EXECUTED
   5825c:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5825e:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   58260:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
   58262:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
                MSDOS_THIS_DIR_ENTRY_EMPTY)                           
                continue;                                             
                                                                      
            /* if get a non-empty entry - compare clusters num */     
            if (MSDOS_EXTRACT_CLUSTER_NUM(entry) == cl4find)          
   58264:	4840           	swap %d0                                    <== NOT EXECUTED
   58266:	4240           	clrw %d0                                    <== NOT EXECUTED
   58268:	0281 0000 ffff 	andil #65535,%d1                            <== NOT EXECUTED
   5826e:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   58270:	bc80           	cmpl %d0,%d6                                <== NOT EXECUTED
   58272:	6722           	beqs 58296 <msdos_find_node_by_cluster_num_in_fat_file+0xc0><== NOT EXECUTED
        if ( ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE )                
            rtems_set_errno_and_return_minus_one( EIO );              
                                                                      
        assert(ret == bts2rd);                                        
                                                                      
        for (i = 0; i < bts2rd; i += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE)
   58274:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   5827a:	45ea 0020      	lea %a2@(32),%a2                            <== NOT EXECUTED
   5827e:	ba82           	cmpl %d2,%d5                                <== NOT EXECUTED
   58280:	62b4           	bhis 58236 <msdos_find_node_by_cluster_num_in_fat_file+0x60><== NOT EXECUTED
   58282:	de85           	addl %d5,%d7                                <== NOT EXECUTED
   58284:	6084           	bras 5820a <msdos_find_node_by_cluster_num_in_fat_file+0x34><== NOT EXECUTED
            char* entry = (char*) fs_info->cl_buf + i;                
                                                                      
            /* if this and all rest entries are empty - return not-found */
            if ((*MSDOS_DIR_ENTRY_TYPE(entry)) ==                     
                MSDOS_THIS_DIR_ENTRY_AND_REST_EMPTY)                  
                return MSDOS_NAME_NOT_FOUND_ERR;                      
   58286:	203c 0000 7d01 	movel #32001,%d0                            <== NOT EXECUTED
            }                                                         
        }                                                             
        j++;                                                          
    }                                                                 
    return MSDOS_NAME_NOT_FOUND_ERR;                                  
}                                                                     
   5828c:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   58292:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58294:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
            /* if get a non-empty entry - compare clusters num */     
            if (MSDOS_EXTRACT_CLUSTER_NUM(entry) == cl4find)          
            {                                                         
                /* on success fill aux structure and copy all 32 bytes */
                rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM, j * bts2rd,
   58296:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5829a:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   5829c:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   582a0:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   582a2:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   582a4:	4eb9 0005 2006 	jsr 52006 <fat_file_ioctl>                  <== NOT EXECUTED
                                    &dir_pos->sname.cln);             
                if (rc != RC_OK)                                      
   582aa:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   582ae:	4a80           	tstl %d0                                    <== NOT EXECUTED
   582b0:	66da           	bnes 5828c <msdos_find_node_by_cluster_num_in_fat_file+0xb6><== NOT EXECUTED
                    return rc;                                        
                                                                      
                dir_pos->sname.ofs = i;                               
   582b2:	226e 0014      	moveal %fp@(20),%a1                         <== NOT EXECUTED
                dir_pos->lname.cln = FAT_FILE_SHORT_NAME;             
   582b6:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
                dir_pos->lname.ofs = FAT_FILE_SHORT_NAME;             
                                                                      
                memcpy(dir_entry, entry,                              
   582b8:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
                rc = fat_file_ioctl(&fs_info->fat, fat_fd, F_CLU_NUM, j * bts2rd,
                                    &dir_pos->sname.cln);             
                if (rc != RC_OK)                                      
                    return rc;                                        
                                                                      
                dir_pos->sname.ofs = i;                               
   582bc:	2342 0004      	movel %d2,%a1@(4)                           <== NOT EXECUTED
                dir_pos->lname.cln = FAT_FILE_SHORT_NAME;             
   582c0:	2341 0008      	movel %d1,%a1@(8)                           <== NOT EXECUTED
                dir_pos->lname.ofs = FAT_FILE_SHORT_NAME;             
   582c4:	2341 000c      	movel %d1,%a1@(12)                          <== NOT EXECUTED
                                                                      
                memcpy(dir_entry, entry,                              
   582c8:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   582ca:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   582cc:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   582ce:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   582d0:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   582d2:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   582d4:	20da           	movel %a2@+,%a0@+                           <== NOT EXECUTED
   582d6:	2092           	movel %a2@,%a0@                             <== NOT EXECUTED
            }                                                         
        }                                                             
        j++;                                                          
    }                                                                 
    return MSDOS_NAME_NOT_FOUND_ERR;                                  
}                                                                     
   582d8:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   582de:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   582e0:	4e75           	rts                                         <== NOT EXECUTED
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         bts2rd = 0;                                      
    uint32_t         i = 0, j = 0;                                    
                                                                      
    if (FAT_FD_OF_ROOT_DIR(fat_fd) &&                                 
   582e2:	4aab 0024      	tstl %a3@(36)                               <== NOT EXECUTED
   582e6:	6600 ff10      	bnew 581f8 <msdos_find_node_by_cluster_num_in_fat_file+0x22><== NOT EXECUTED
   582ea:	7203           	moveq #3,%d1                                <== NOT EXECUTED
   582ec:	102d 000e      	moveb %a5@(14),%d0                          <== NOT EXECUTED
   582f0:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   582f2:	4a00           	tstb %d0                                    <== NOT EXECUTED
   582f4:	6700 ff02      	beqw 581f8 <msdos_find_node_by_cluster_num_in_fat_file+0x22><== NOT EXECUTED
       (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))             
        bts2rd = fat_fd->fat_file_size;                               
   582f8:	2a2b 0018      	movel %a3@(24),%d5                          <== NOT EXECUTED
                                  fs_info->cl_buf)) != FAT_EOF)       
    {                                                                 
        if ( ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE )                
            rtems_set_errno_and_return_minus_one( EIO );              
                                                                      
        assert(ret == bts2rd);                                        
   582fc:	4287           	clrl %d7                                    <== NOT EXECUTED
   582fe:	49f9 0005 1bd0 	lea 51bd0 <fat_file_read>,%a4               <== NOT EXECUTED
   58304:	206d 0094      	moveal %a5@(148),%a0                        <== NOT EXECUTED
   58308:	6000 ff00      	braw 5820a <msdos_find_node_by_cluster_num_in_fat_file+0x34><== NOT EXECUTED
            }                                                         
        }                                                             
        j++;                                                          
    }                                                                 
    return MSDOS_NAME_NOT_FOUND_ERR;                                  
}                                                                     
   5830c:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
                return RC_OK;                                         
            }                                                         
        }                                                             
        j++;                                                          
    }                                                                 
    return MSDOS_NAME_NOT_FOUND_ERR;                                  
   58312:	303c 7d01      	movew #32001,%d0                            <== NOT EXECUTED
}                                                                     
   58316:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58318:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    while ((ret = fat_file_read(&fs_info->fat, fat_fd, j * bts2rd, bts2rd,
                                  fs_info->cl_buf)) != FAT_EOF)       
    {                                                                 
        if ( ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE )                
            rtems_set_errno_and_return_minus_one( EIO );              
   5831a:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   58320:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   58322:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   58324:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   58326:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
            }                                                         
        }                                                             
        j++;                                                          
    }                                                                 
    return MSDOS_NAME_NOT_FOUND_ERR;                                  
}                                                                     
   58328:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5832e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58330:	4e75           	rts                                         <== NOT EXECUTED
                                  fs_info->cl_buf)) != FAT_EOF)       
    {                                                                 
        if ( ret < MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE )                
            rtems_set_errno_and_return_minus_one( EIO );              
                                                                      
        assert(ret == bts2rd);                                        
   58332:	4879 0006 a0ae 	pea 6a0ae <msdos_file_handlers+0xd0>        <== NOT EXECUTED
   58338:	4879 0006 a0f3 	pea 6a0f3 <__FUNCTION__.7743>               <== NOT EXECUTED
   5833e:	4878 064e      	pea 64e <DBL_MAX_EXP+0x24d>                 <== NOT EXECUTED
   58342:	4879 0006 a03f 	pea 6a03f <msdos_file_handlers+0x61>        <== NOT EXECUTED
   58348:	4eb9 0005 43cc 	jsr 543cc <__assert_func>                   <== NOT EXECUTED
                                                                      

0004d1ea <msdos_format>: ) /*-------------------------------------------------------------------------*\ | Return Value: | | 0, if success, -1 and errno if failed | \*=========================================================================*/ {
   4d1ea:	4e56 fd20      	linkw %fp,#-736                             
   4d1ee:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  msdos_format_param_t fmt_params;                                    
                                                                      
  /*                                                                  
   * open device for writing                                          
   */                                                                 
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, "open device\n");
   4d1f2:	4879 0006 9bd7 	pea 69bd7 <_CPU_m68k_BFFFO_table+0x140>     
   4d1f8:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
 )                                                                    
/*-------------------------------------------------------------------------*\
| Return Value:                                                             |
|    0, if success, -1 and errno if failed                                  |
\*=========================================================================*/
{                                                                     
   4d1fc:	286e 000c      	moveal %fp@(12),%a4                         
   4d200:	282e 0008      	movel %fp@(8),%d4                           
  msdos_format_param_t fmt_params;                                    
                                                                      
  /*                                                                  
   * open device for writing                                          
   */                                                                 
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, "open device\n");
   4d204:	2f0c           	movel %a4,%sp@-                             
   4d206:	4eba fd08      	jsr %pc@(4cf10 <msdos_format_printf>)       
  fd = open(devname, O_RDWR);                                         
   4d20a:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d20e:	2f04           	movel %d4,%sp@-                             
   4d210:	4eb9 0004 5a28 	jsr 45a28 <open>                            
  if (fd == -1) {                                                     
   4d216:	4fef 0014      	lea %sp@(20),%sp                            
                                                                      
  /*                                                                  
   * open device for writing                                          
   */                                                                 
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, "open device\n");
  fd = open(devname, O_RDWR);                                         
   4d21a:	2640           	moveal %d0,%a3                              
  if (fd == -1) {                                                     
   4d21c:	70ff           	moveq #-1,%d0                               
   4d21e:	b08b           	cmpl %a3,%d0                                
   4d220:	6700 04b8      	beqw 4d6da <msdos_format+0x4f0>             
  }                                                                   
                                                                      
  /*                                                                  
   * sanity check on device                                           
   */                                                                 
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
   4d224:	2f04           	movel %d4,%sp@-                             
   4d226:	4879 0006 9c89 	pea 69c89 <_CPU_m68k_BFFFO_table+0x1f2>     
   4d22c:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d230:	2f0c           	movel %a4,%sp@-                             
   4d232:	4eba fcdc      	jsr %pc@(4cf10 <msdos_format_printf>)       
                       "stat check: %s\n", devname);                  
  if (ret_val == 0) {                                                 
    ret_val = fstat(fd, &stat_buf);                                   
   4d236:	486e fd6a      	pea %fp@(-662)                              
   4d23a:	2f0b           	movel %a3,%sp@-                             
   4d23c:	4eb9 0004 4c7c 	jsr 44c7c <fstat>                           
   4d242:	2e00           	movel %d0,%d7                               
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_INFO,             
   4d244:	2f04           	movel %d4,%sp@-                             
   4d246:	4879 0006 9c99 	pea 69c99 <_CPU_m68k_BFFFO_table+0x202>     
   4d24c:	4878 0001      	pea 1 <ADD>                                 
   4d250:	2f0c           	movel %a4,%sp@-                             
   4d252:	4eba fcbc      	jsr %pc@(4cf10 <msdos_format_printf>)       
                       "formating: %s\n", devname);                   
  /* rtems feature: no block devices, all are character devices */    
  if ((ret_val == 0) && (!S_ISBLK(stat_buf.st_mode))) {               
   4d256:	4fef 0028      	lea %sp@(40),%sp                            
   4d25a:	4a87           	tstl %d7                                    
   4d25c:	6620           	bnes 4d27e <msdos_format+0x94>              <== NEVER TAKEN
   4d25e:	202e fd76      	movel %fp@(-650),%d0                        
   4d262:	0280 0000 f000 	andil #61440,%d0                            
   4d268:	0c80 0000 6000 	cmpil #24576,%d0                            
   4d26e:	6758           	beqs 4d2c8 <msdos_format+0xde>              <== ALWAYS TAKEN
    errno = ENOTTY;                                                   
   4d270:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
    ret_val = -1;                                                     
   4d276:	7eff           	moveq #-1,%d7                               <== NOT EXECUTED
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_INFO,             
                       "formating: %s\n", devname);                   
  /* rtems feature: no block devices, all are character devices */    
  if ((ret_val == 0) && (!S_ISBLK(stat_buf.st_mode))) {               
    errno = ENOTTY;                                                   
   4d278:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4d27a:	7019           	moveq #25,%d0                               <== NOT EXECUTED
   4d27c:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
  /*                                                                  
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
   4d27e:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4d280:	b08b           	cmpl %a3,%d0                                <== NOT EXECUTED
   4d282:	662e           	bnes 4d2b2 <msdos_format+0xc8>              <== NOT EXECUTED
    close(fd);                                                        
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4d284:	2007           	movel %d7,%d0                               <== NOT EXECUTED
   4d286:	4cee 3cfc fd20 	moveml %fp@(-736),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   4d28c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4d28e:	4e75           	rts                                         <== NOT EXECUTED
   4d290:	2e00           	movel %d0,%d7                               
         fmt_params.bytes_per_sector,                                 
         tmp_sec);                                                    
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0 && rqdata != NULL && rqdata->sync_device) {        
   4d292:	4a87           	tstl %d7                                    
   4d294:	661c           	bnes 4d2b2 <msdos_format+0xc8>              <== NEVER TAKEN
   4d296:	4a8c           	tstl %a4                                    
   4d298:	6718           	beqs 4d2b2 <msdos_format+0xc8>              <== NEVER TAKEN
   4d29a:	4a2c 0017      	tstb %a4@(23)                               
   4d29e:	6712           	beqs 4d2b2 <msdos_format+0xc8>              
  return ioctl(fd, RTEMS_BLKIO_GETDISKDEV, dd_ptr);                   
}                                                                     
                                                                      
static inline int rtems_disk_fd_sync(int fd)                          
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_SYNCDEV);                              
   4d2a0:	2f3c 2000 4206 	movel #536887814,%sp@-                      
   4d2a6:	2f0b           	movel %a3,%sp@-                             
   4d2a8:	4eb9 0005 46f4 	jsr 546f4 <ioctl>                           
   4d2ae:	508f           	addql #8,%sp                                
   4d2b0:	2e00           	movel %d0,%d7                               
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
    close(fd);                                                        
   4d2b2:	2f0b           	movel %a3,%sp@-                             
   4d2b4:	4eb9 0004 4918 	jsr 44918 <close>                           
   4d2ba:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4d2bc:	2007           	movel %d7,%d0                               
   4d2be:	4cee 3cfc fd20 	moveml %fp@(-736),%d2-%d7/%a2-%a5           
   4d2c4:	4e5e           	unlk %fp                                    
   4d2c6:	4e75           	rts                                         
  uint64_t total_size = 0;                                            
  uint32_t data_clusters_cnt;                                         
  uint8_t  iteration_cnt = 0;                                         
  uint8_t  fat_type = UINT8_MAX;                                      
                                                                      
  memset(fmt_params,0,sizeof(*fmt_params));                           
   4d2c8:	4878 0050      	pea 50 <DBL_MANT_DIG+0x1b>                  
   4d2cc:	42a7           	clrl %sp@-                                  
   4d2ce:	486e fdb0      	pea %fp@(-592)                              
   4d2d2:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
static inline int rtems_disk_fd_get_media_block_size(                 
  int fd,                                                             
  uint32_t *media_block_size                                          
)                                                                     
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_GETMEDIABLKSIZE, media_block_size);    
   4d2d8:	486e fdb0      	pea %fp@(-592)                              
   4d2dc:	2f3c 4004 4202 	movel #1074020866,%sp@-                     
   4d2e2:	2f0b           	movel %a3,%sp@-                             
   4d2e4:	4eb9 0005 46f4 	jsr 546f4 <ioctl>                           
   * At least one thing we don't have to magically guess...           
   */                                                                 
  if (ret_val == 0) {                                                 
    ret_val = rtems_disk_fd_get_media_block_size(fd, &fmt_params->bytes_per_sector);
  }                                                                   
  if (ret_val == 0) {                                                 
   4d2ea:	4fef 0018      	lea %sp@(24),%sp                            
   4d2ee:	4a80           	tstl %d0                                    
   4d2f0:	6700 041e      	beqw 4d710 <msdos_format+0x526>             
   4d2f4:	226e fdb4      	moveal %fp@(-588),%a1                       <== NOT EXECUTED
      }                                                               
                                                                      
      ++iteration_cnt;                                                
    }                                                                 
  }                                                                   
  if ( fmt_params->totl_sector_cnt == 0 )                             
   4d2f8:	4a89           	tstl %a1                                    <== NOT EXECUTED
   4d2fa:	6700 06f8      	beqw 4d9f4 <msdos_format+0x80a>             <== NOT EXECUTED
   4d2fe:	242e fdb8      	movel %fp@(-584),%d2                        <== NOT EXECUTED
   4d302:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
  }                                                                   
  /*                                                                  
   * determine location and size of root directory                    
   * for formatting                                                   
   */                                                                 
  if (fmt_params->root_dir_sectors > 0) {                             
   4d304:	202e fdcc      	movel %fp@(-564),%d0                        
   4d308:	6700 086c      	beqw 4db76 <msdos_format+0x98c>             
    fmt_params->root_dir_start_sec =                                  
      fmt_params->rsvd_sector_cnt                                     
      + (fmt_params-> fat_num*fmt_params->sectors_per_fat);           
    fmt_params->root_dir_fmt_sec_cnt = fmt_params->root_dir_sectors;  
   4d30c:	2d40 fdd4      	movel %d0,%fp@(-556)                        
   * for formatting                                                   
   */                                                                 
  if (fmt_params->root_dir_sectors > 0) {                             
    fmt_params->root_dir_start_sec =                                  
      fmt_params->rsvd_sector_cnt                                     
      + (fmt_params-> fat_num*fmt_params->sectors_per_fat);           
   4d310:	4280           	clrl %d0                                    
   4d312:	102e fde0      	moveb %fp@(-544),%d0                        
   4d316:	41ee fdc0      	lea %fp@(-576),%a0                          
   4d31a:	4c10 0800      	mulsl %a0@,%d0                              
   4d31e:	d480           	addl %d0,%d2                                
   4d320:	2d42 fdd0      	movel %d2,%fp@(-560)                        
    fmt_params->root_dir_fmt_sec_cnt = fmt_params->sectors_per_cluster;
  }                                                                   
  /*                                                                  
   * determine usable OEMName                                         
   */                                                                 
  if (ret_val == 0) {                                                 
   4d324:	4a87           	tstl %d7                                    
   4d326:	6600 ff56      	bnew 4d27e <msdos_format+0x94>              
      const char *from;                                               
      char        *to = fmt_params->OEMName;                          
      int          cnt;                                               
      from = "RTEMS"; /* default: make "from" point to OS Name */     
    if ((rqdata != NULL) &&                                           
   4d32a:	4a8c           	tstl %a4                                    
   4d32c:	6700 0be0      	beqw 4df0e <msdos_format+0xd24>             
	(rqdata->OEMName != NULL)) {                                         
   4d330:	2454           	moveal %a4@,%a2                             
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->OEMName;                          
      int          cnt;                                               
      from = "RTEMS"; /* default: make "from" point to OS Name */     
    if ((rqdata != NULL) &&                                           
   4d332:	4a8a           	tstl %a2                                    
   4d334:	6700 0bd8      	beqw 4df0e <msdos_format+0xd24>             
  /*                                                                  
   * determine usable OEMName                                         
   */                                                                 
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->OEMName;                          
   4d338:	41ee fdb0      	lea %fp@(-592),%a0                          
      const char valid_media_codes[] =                                
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
		       rqdata->media,                                               
		       sizeof(valid_media_codes))) {                                
	ret_val = -1;                                                        
   4d33c:	7208           	moveq #8,%d1                                
  /*                                                                  
   * determine usable OEMName                                         
   */                                                                 
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->OEMName;                          
   4d33e:	41e8 0033      	lea %a0@(51),%a0                            
   4d342:	2279 0006 adbc 	moveal 6adbc <__ctype_ptr__>,%a1            
      from = rqdata->OEMName;                                         
    }                                                                 
    for (cnt = 0;                                                     
	 cnt < (sizeof(fmt_params->OEMName)-1);                              
	 cnt++) {                                                            
      if (isprint((unsigned char)*from)) {                            
   4d348:	4280           	clrl %d0                                    
   4d34a:	1412           	moveb %a2@,%d2                              
   4d34c:	1002           	moveb %d2,%d0                               
   4d34e:	1031 0801      	moveb %a1@(00000001,%d0:l),%d0              
   4d352:	49c0           	extbl %d0                                   
   4d354:	0280 0000 0097 	andil #151,%d0                              
   4d35a:	6700 0804      	beqw 4db60 <msdos_format+0x976>             
	*to++ = *from++;                                                     
   4d35e:	528a           	addql #1,%a2                                
   4d360:	10c2           	moveb %d2,%a0@+                             
   4d362:	5381           	subql #1,%d1                                
	 * at that character and replace all following characters            
	 * with a ' '                                                        
	 */                                                                  
	*to++=' ';                                                           
      }                                                               
      *to = '\0';                                                     
   4d364:	4210           	clrb %a0@                                   
      from = "RTEMS"; /* default: make "from" point to OS Name */     
    if ((rqdata != NULL) &&                                           
	(rqdata->OEMName != NULL)) {                                         
      from = rqdata->OEMName;                                         
    }                                                                 
    for (cnt = 0;                                                     
   4d366:	4a81           	tstl %d1                                    
   4d368:	66de           	bnes 4d348 <msdos_format+0x15e>             
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->VolLabel;                         
      int          cnt;                                               
      from = ""; /* default: make "from" point to empty string */     
    if ((rqdata != NULL) &&                                           
   4d36a:	4a8c           	tstl %a4                                    
   4d36c:	6700 0c12      	beqw 4df80 <msdos_format+0xd96>             
	(rqdata->VolLabel != NULL)) {                                        
   4d370:	246c 0004      	moveal %a4@(4),%a2                          
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->VolLabel;                         
      int          cnt;                                               
      from = ""; /* default: make "from" point to empty string */     
    if ((rqdata != NULL) &&                                           
   4d374:	4a8a           	tstl %a2                                    
   4d376:	6700 0c08      	beqw 4df80 <msdos_format+0xd96>             
  /*                                                                  
   * determine usable Volume Label                                    
   */                                                                 
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->VolLabel;                         
   4d37a:	41ee fdb0      	lea %fp@(-592),%a0                          
      const char valid_media_codes[] =                                
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
		       rqdata->media,                                               
		       sizeof(valid_media_codes))) {                                
	ret_val = -1;                                                        
   4d37e:	720b           	moveq #11,%d1                               
  /*                                                                  
   * determine usable Volume Label                                    
   */                                                                 
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->VolLabel;                         
   4d380:	41e8 003c      	lea %a0@(60),%a0                            
      int          cnt;                                               
      from = ""; /* default: make "from" point to empty string */     
    if ((rqdata != NULL) &&                                           
	(rqdata->VolLabel != NULL)) {                                        
      from = rqdata->VolLabel;                                        
      fmt_params->VolLabel_present = true;                            
   4d384:	7001           	moveq #1,%d0                                
   4d386:	1d40 fdf8      	moveb %d0,%fp@(-520)                        
    }                                                                 
    for (cnt = 0;                                                     
	 cnt < (sizeof(fmt_params->VolLabel)-1);                             
	 cnt++) {                                                            
      if (isprint((unsigned char)*from)) {                            
   4d38a:	4280           	clrl %d0                                    
   4d38c:	1412           	moveb %a2@,%d2                              
   4d38e:	1002           	moveb %d2,%d0                               
   4d390:	1031 0801      	moveb %a1@(00000001,%d0:l),%d0              
   4d394:	49c0           	extbl %d0                                   
   4d396:	0280 0000 0097 	andil #151,%d0                              
   4d39c:	6700 07b0      	beqw 4db4e <msdos_format+0x964>             
	*to++ = *from++;                                                     
   4d3a0:	528a           	addql #1,%a2                                
   4d3a2:	5381           	subql #1,%d1                                
   4d3a4:	10c2           	moveb %d2,%a0@+                             
	 * at that character and replace all following characters            
	 * with a ' '                                                        
	 */                                                                  
	*to++=' ';                                                           
      }                                                               
      *to = '\0';                                                     
   4d3a6:	4210           	clrb %a0@                                   
    if ((rqdata != NULL) &&                                           
	(rqdata->VolLabel != NULL)) {                                        
      from = rqdata->VolLabel;                                        
      fmt_params->VolLabel_present = true;                            
    }                                                                 
    for (cnt = 0;                                                     
   4d3a8:	4a81           	tstl %d1                                    
   4d3aa:	66de           	bnes 4d38a <msdos_format+0x1a0>             <== ALWAYS TAKEN
{                                                                     
  int ret_val = 0;                                                    
  int rc;                                                             
  struct timeval time_value;                                          
                                                                      
  rc = rtems_clock_get_tod_timeval(&time_value);                      
   4d3ac:	45ee fe00      	lea %fp@(-512),%a2                          
   4d3b0:	2f0a           	movel %a2,%sp@-                             
   4d3b2:	4eb9 0005 502c 	jsr 5502c <rtems_clock_get_tod_timeval>     
  if (rc == RTEMS_SUCCESSFUL) {                                       
   4d3b8:	588f           	addql #4,%sp                                
   4d3ba:	4a80           	tstl %d0                                    
   4d3bc:	6600 0baa      	bnew 4df68 <msdos_format+0xd7e>             
    *volid_ptr = time_value.tv_sec + time_value.tv_sec;               
   4d3c0:	202e fe00      	movel %fp@(-512),%d0                        <== NOT EXECUTED
   4d3c4:	d080           	addl %d0,%d0                                <== NOT EXECUTED
   4d3c6:	2d40 fdfa      	movel %d0,%fp@(-518)                        <== NOT EXECUTED
    ret_val = msdos_format_determine_fmt_params(fd,rqdata,&fmt_params);
  }                                                                   
  /*                                                                  
   * if requested, write whole disk/partition with 0xe5               
   */                                                                 
  if ((ret_val == 0) &&                                               
   4d3ca:	4a8c           	tstl %a4                                    
   4d3cc:	6708           	beqs 4d3d6 <msdos_format+0x1ec>             <== NEVER TAKEN
      (rqdata != NULL) &&                                             
   4d3ce:	4a2c 0015      	tstb %a4@(21)                               
   4d3d2:	6700 0636      	beqw 4da0a <msdos_format+0x820>             
   */                                                                 
  if (ret_val == 0) {                                                 
    /*                                                                
     * Read the current MBR to obtain the partition table.            
     */                                                               
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4d3d6:	4879 0006 9c4c 	pea 69c4c <_CPU_m68k_BFFFO_table+0x1b5>     
   4d3dc:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d3e0:	2f0c           	movel %a4,%sp@-                             
   4d3e2:	4eba fb2c      	jsr %pc@(4cf10 <msdos_format_printf>)       
                         "read MRB sector\n");                        
    ret_val = msdos_format_read_sec(fd,                               
   4d3e6:	242e fdb0      	movel %fp@(-592),%d2                        
|    0, if success, -1 and errno if failed                                  |
\*=========================================================================*/
{                                                                     
  int ret_val = 0;                                                    
                                                                      
  if (0 > lseek(fd,((off_t)start_sector)*sector_size,SEEK_SET)) {     
   4d3ea:	42a7           	clrl %sp@-                                  
   4d3ec:	42a7           	clrl %sp@-                                  
   4d3ee:	42a7           	clrl %sp@-                                  
   4d3f0:	2f0b           	movel %a3,%sp@-                             
   4d3f2:	4eb9 0005 4750 	jsr 54750 <lseek>                           
   4d3f8:	4fef 001c      	lea %sp@(28),%sp                            
   4d3fc:	4a80           	tstl %d0                                    
   4d3fe:	6b00 0768      	bmiw 4db68 <msdos_format+0x97e>             
    ret_val = -1;                                                     
  }                                                                   
  if (ret_val == 0) {                                                 
    if (0 > read(fd,buffer,sector_size)) {                            
   4d402:	2f02           	movel %d2,%sp@-                             
   4d404:	2f0a           	movel %a2,%sp@-                             
   4d406:	2f0b           	movel %a3,%sp@-                             
   4d408:	4eb9 0005 4a98 	jsr 54a98 <read>                            
   4d40e:	4fef 000c      	lea %sp@(12),%sp                            
   4d412:	4a80           	tstl %d0                                    
   4d414:	6d00 0752      	bltw 4db68 <msdos_format+0x97e>             
    ret_val = msdos_format_read_sec(fd,                               
                                    0,                                
                                    fmt_params.bytes_per_sector,      
                                    tmp_sec);                         
    if (ret_val == 0) {                                               
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
   4d418:	4879 0006 9ca8 	pea 69ca8 <_CPU_m68k_BFFFO_table+0x211>     
   4d41e:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d422:	2f0c           	movel %a4,%sp@-                             
   4d424:	4eba faea      	jsr %pc@(4cf10 <msdos_format_printf>)       
{                                                                     
  uint32_t  total_sectors_num16 = 0;                                  
  uint32_t  total_sectors_num32 = 0;                                  
                                                                      
  /* store total sector count in either 16 or 32 bit field in mbr */  
  if (fmt_params->totl_sector_cnt < 0x10000) {                        
   4d428:	262e fdb4      	movel %fp@(-588),%d3                        
   4d42c:	4fef 000c      	lea %sp@(12),%sp                            
   4d430:	0c83 0000 ffff 	cmpil #65535,%d3                            
   4d436:	6200 0a0e      	bhiw 4de46 <msdos_format+0xc5c>             
   4d43a:	2203           	movel %d3,%d1                               
   4d43c:	e089           	lsrl #8,%d1                                 
   4d43e:	4204           	clrb %d4                                    
   4d440:	1d43 fd60      	moveb %d3,%fp@(-672)                        
   4d444:	1d41 fd5f      	moveb %d1,%fp@(-673)                        
   4d448:	9bcd           	subal %a5,%a5                               
   4d44a:	4203           	clrb %d3                                    
   4d44c:	4202           	clrb %d2                                    
   4d44e:	1d44 fd58      	moveb %d4,%fp@(-680)                        
   * finally we are there: let's fill in the values into the MBR      
   * but first clear the MRB leaving the partition table.             
   */                                                                 
#define RTEMS_IDE_PARTITION_TABLE_OFFSET                  0x1be       
#define RTEMS_IDE_PARTITION_TABLE_SIZE                    (4 * 16)    
  memset(mbr,0,RTEMS_IDE_PARTITION_TABLE_OFFSET);                     
   4d452:	4878 01be      	pea 1be <DBL_MANT_DIG+0x189>                
  FAT_SET_BR_SECTORS_PER_TRACK(mbr   , 255); /* only needed for INT13... */
  FAT_SET_BR_NUMBER_OF_HEADS(mbr     , 6);   /* only needed for INT13... */
  FAT_SET_BR_HIDDEN_SECTORS(mbr      , 1);   /* only needed for INT13... */
                                                                      
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
  if (fmt_params->fattype != FAT_FAT32) {                             
   4d456:	4284           	clrl %d4                                    
   * finally we are there: let's fill in the values into the MBR      
   * but first clear the MRB leaving the partition table.             
   */                                                                 
#define RTEMS_IDE_PARTITION_TABLE_OFFSET                  0x1be       
#define RTEMS_IDE_PARTITION_TABLE_SIZE                    (4 * 16)    
  memset(mbr,0,RTEMS_IDE_PARTITION_TABLE_OFFSET);                     
   4d458:	42a7           	clrl %sp@-                                  
   4d45a:	2f0a           	movel %a2,%sp@-                             
   4d45c:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
	 fmt_params->OEMName,                                                
	 FAT_BR_OEMNAME_SIZE);                                               
  FAT_SET_BR_BYTES_PER_SECTOR(mbr    , fmt_params->bytes_per_sector); 
  FAT_SET_BR_SECTORS_PER_CLUSTER(mbr , fmt_params->sectors_per_cluster);
  FAT_SET_BR_RESERVED_SECTORS_NUM(mbr, fmt_params->rsvd_sector_cnt);  
   4d462:	222e fdb8      	movel %fp@(-584),%d1                        
   */                                                                 
  /*                                                                  
   * fill OEMName                                                     
   */                                                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
	 fmt_params->OEMName,                                                
   4d466:	43ee fdb0      	lea %fp@(-592),%a1                          
   4d46a:	43e9 0033      	lea %a1@(51),%a1                            
   * with 0xEB,....                                                   
   */                                                                 
  /*                                                                  
   * fill OEMName                                                     
   */                                                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
   4d46e:	41ea 0003      	lea %a2@(3),%a0                             
	 fmt_params->OEMName,                                                
	 FAT_BR_OEMNAME_SIZE);                                               
  FAT_SET_BR_BYTES_PER_SECTOR(mbr    , fmt_params->bytes_per_sector); 
  FAT_SET_BR_SECTORS_PER_CLUSTER(mbr , fmt_params->sectors_per_cluster);
  FAT_SET_BR_RESERVED_SECTORS_NUM(mbr, fmt_params->rsvd_sector_cnt);  
   4d472:	2c01           	movel %d1,%d6                               
   4d474:	e08e           	lsrl #8,%d6                                 
  FAT_SET_BR_SECTORS_PER_TRACK(mbr   , 255); /* only needed for INT13... */
  FAT_SET_BR_NUMBER_OF_HEADS(mbr     , 6);   /* only needed for INT13... */
  FAT_SET_BR_HIDDEN_SECTORS(mbr      , 1);   /* only needed for INT13... */
                                                                      
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
  if (fmt_params->fattype != FAT_FAT32) {                             
   4d476:	182e fde2      	moveb %fp@(-542),%d4                        
   4d47a:	4fef 000c      	lea %sp@(12),%sp                            
   * but first clear the MRB leaving the partition table.             
   */                                                                 
#define RTEMS_IDE_PARTITION_TABLE_OFFSET                  0x1be       
#define RTEMS_IDE_PARTITION_TABLE_SIZE                    (4 * 16)    
  memset(mbr,0,RTEMS_IDE_PARTITION_TABLE_OFFSET);                     
  memset(mbr + RTEMS_IDE_PARTITION_TABLE_OFFSET + RTEMS_IDE_PARTITION_TABLE_SIZE,
   4d47e:	4240           	clrw %d0                                    
   * fill OEMName                                                     
   */                                                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
	 fmt_params->OEMName,                                                
	 FAT_BR_OEMNAME_SIZE);                                               
  FAT_SET_BR_BYTES_PER_SECTOR(mbr    , fmt_params->bytes_per_sector); 
   4d480:	2e2e fdb0      	movel %fp@(-592),%d7                        
   4d484:	e08f           	lsrl #8,%d7                                 
   * but first clear the MRB leaving the partition table.             
   */                                                                 
#define RTEMS_IDE_PARTITION_TABLE_OFFSET                  0x1be       
#define RTEMS_IDE_PARTITION_TABLE_SIZE                    (4 * 16)    
  memset(mbr,0,RTEMS_IDE_PARTITION_TABLE_OFFSET);                     
  memset(mbr + RTEMS_IDE_PARTITION_TABLE_OFFSET + RTEMS_IDE_PARTITION_TABLE_SIZE,
   4d486:	3d40 fffe      	movew %d0,%fp@(-2)                          
   * fill OEMName                                                     
   */                                                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
	 fmt_params->OEMName,                                                
	 FAT_BR_OEMNAME_SIZE);                                               
  FAT_SET_BR_BYTES_PER_SECTOR(mbr    , fmt_params->bytes_per_sector); 
   4d48a:	102e fdb3      	moveb %fp@(-589),%d0                        
   * with 0xEB,....                                                   
   */                                                                 
  /*                                                                  
   * fill OEMName                                                     
   */                                                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
   4d48e:	2091           	movel %a1@,%a0@                             
   4d490:	2569 0004 0007 	movel %a1@(4),%a2@(7)                       
  FAT_SET_BR_SECTORS_PER_CLUSTER(mbr , fmt_params->sectors_per_cluster);
  FAT_SET_BR_RESERVED_SECTORS_NUM(mbr, fmt_params->rsvd_sector_cnt);  
                                                                      
  /* number of FATs on medium */                                      
  FAT_SET_BR_FAT_NUM(mbr             , 2); /* standard/recommended value */
  FAT_SET_BR_FILES_PER_ROOT_DIR(mbr  , fmt_params->files_per_root_dir);
   4d496:	2a2e fdc8      	movel %fp@(-568),%d5                        
   4d49a:	e08d           	lsrl #8,%d5                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
	 fmt_params->OEMName,                                                
	 FAT_BR_OEMNAME_SIZE);                                               
  FAT_SET_BR_BYTES_PER_SECTOR(mbr    , fmt_params->bytes_per_sector); 
  FAT_SET_BR_SECTORS_PER_CLUSTER(mbr , fmt_params->sectors_per_cluster);
  FAT_SET_BR_RESERVED_SECTORS_NUM(mbr, fmt_params->rsvd_sector_cnt);  
   4d49c:	1d41 fe0e      	moveb %d1,%fp@(-498)                        
                                                                      
  /* number of FATs on medium */                                      
  FAT_SET_BR_FAT_NUM(mbr             , 2); /* standard/recommended value */
   4d4a0:	7202           	moveq #2,%d1                                
   * fill OEMName                                                     
   */                                                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
	 fmt_params->OEMName,                                                
	 FAT_BR_OEMNAME_SIZE);                                               
  FAT_SET_BR_BYTES_PER_SECTOR(mbr    , fmt_params->bytes_per_sector); 
   4d4a2:	1d47 fe0c      	moveb %d7,%fp@(-500)                        
  FAT_SET_BR_SECTORS_PER_CLUSTER(mbr , fmt_params->sectors_per_cluster);
  FAT_SET_BR_RESERVED_SECTORS_NUM(mbr, fmt_params->rsvd_sector_cnt);  
   4d4a6:	1d46 fe0f      	moveb %d6,%fp@(-497)                        
                                                                      
  /* number of FATs on medium */                                      
  FAT_SET_BR_FAT_NUM(mbr             , 2); /* standard/recommended value */
   4d4aa:	1d41 fe10      	moveb %d1,%fp@(-496)                        
  FAT_SET_BR_FILES_PER_ROOT_DIR(mbr  , fmt_params->files_per_root_dir);
   4d4ae:	1c2e fdcb      	moveb %fp@(-565),%d6                        
  FAT_SET_BR_TOTAL_SECTORS_NUM16(mbr , total_sectors_num16);          
   4d4b2:	1e2e fd60      	moveb %fp@(-672),%d7                        
   4d4b6:	122e fd5f      	moveb %fp@(-673),%d1                        
   * fill OEMName                                                     
   */                                                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
	 fmt_params->OEMName,                                                
	 FAT_BR_OEMNAME_SIZE);                                               
  FAT_SET_BR_BYTES_PER_SECTOR(mbr    , fmt_params->bytes_per_sector); 
   4d4ba:	1d40 fe0b      	moveb %d0,%fp@(-501)                        
  FAT_SET_BR_SECTORS_PER_CLUSTER(mbr , fmt_params->sectors_per_cluster);
  FAT_SET_BR_RESERVED_SECTORS_NUM(mbr, fmt_params->rsvd_sector_cnt);  
                                                                      
  /* number of FATs on medium */                                      
  FAT_SET_BR_FAT_NUM(mbr             , 2); /* standard/recommended value */
  FAT_SET_BR_FILES_PER_ROOT_DIR(mbr  , fmt_params->files_per_root_dir);
   4d4be:	1d46 fe11      	moveb %d6,%fp@(-495)                        
  FAT_SET_BR_TOTAL_SECTORS_NUM16(mbr , total_sectors_num16);          
   4d4c2:	1d47 fe13      	moveb %d7,%fp@(-493)                        
   4d4c6:	1d41 fe14      	moveb %d1,%fp@(-492)                        
                                                                      
  FAT_SET_BR_SECTORS_PER_TRACK(mbr   , 255); /* only needed for INT13... */
  FAT_SET_BR_NUMBER_OF_HEADS(mbr     , 6);   /* only needed for INT13... */
  FAT_SET_BR_HIDDEN_SECTORS(mbr      , 1);   /* only needed for INT13... */
                                                                      
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
   4d4ca:	122e fd58      	moveb %fp@(-680),%d1                        
   4d4ce:	1d42 fe21      	moveb %d2,%fp@(-479)                        
  FAT_SET_BR_FAT_NUM(mbr             , 2); /* standard/recommended value */
  FAT_SET_BR_FILES_PER_ROOT_DIR(mbr  , fmt_params->files_per_root_dir);
  FAT_SET_BR_TOTAL_SECTORS_NUM16(mbr , total_sectors_num16);          
  FAT_SET_BR_MEDIA(mbr               , fmt_params->media_code);       
                                                                      
  FAT_SET_BR_SECTORS_PER_TRACK(mbr   , 255); /* only needed for INT13... */
   4d4d2:	50c6           	st %d6                                      
  FAT_SET_BR_NUMBER_OF_HEADS(mbr     , 6);   /* only needed for INT13... */
   4d4d4:	7e06           	moveq #6,%d7                                
  FAT_SET_BR_HIDDEN_SECTORS(mbr      , 1);   /* only needed for INT13... */
   4d4d6:	7001           	moveq #1,%d0                                
                                                                      
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
   4d4d8:	340d           	movew %a5,%d2                               
   4d4da:	1d43 fe22      	moveb %d3,%fp@(-478)                        
  if (fmt_params->fattype != FAT_FAT32) {                             
   4d4de:	7604           	moveq #4,%d3                                
   */                                                                 
  memcpy(FAT_GET_ADDR_BR_OEMNAME(mbr),                                
	 fmt_params->OEMName,                                                
	 FAT_BR_OEMNAME_SIZE);                                               
  FAT_SET_BR_BYTES_PER_SECTOR(mbr    , fmt_params->bytes_per_sector); 
  FAT_SET_BR_SECTORS_PER_CLUSTER(mbr , fmt_params->sectors_per_cluster);
   4d4e0:	1d6e fdbf fe0d 	moveb %fp@(-577),%fp@(-499)                 
  FAT_SET_BR_RESERVED_SECTORS_NUM(mbr, fmt_params->rsvd_sector_cnt);  
                                                                      
  /* number of FATs on medium */                                      
  FAT_SET_BR_FAT_NUM(mbr             , 2); /* standard/recommended value */
  FAT_SET_BR_FILES_PER_ROOT_DIR(mbr  , fmt_params->files_per_root_dir);
   4d4e6:	1d45 fe12      	moveb %d5,%fp@(-494)                        
  FAT_SET_BR_TOTAL_SECTORS_NUM16(mbr , total_sectors_num16);          
  FAT_SET_BR_MEDIA(mbr               , fmt_params->media_code);       
   4d4ea:	1d6e fde1 fe15 	moveb %fp@(-543),%fp@(-491)                 
                                                                      
  FAT_SET_BR_SECTORS_PER_TRACK(mbr   , 255); /* only needed for INT13... */
   4d4f0:	1d46 fe18      	moveb %d6,%fp@(-488)                        
  FAT_SET_BR_NUMBER_OF_HEADS(mbr     , 6);   /* only needed for INT13... */
   4d4f4:	1d47 fe1a      	moveb %d7,%fp@(-486)                        
  FAT_SET_BR_HIDDEN_SECTORS(mbr      , 1);   /* only needed for INT13... */
   4d4f8:	1d40 fe1c      	moveb %d0,%fp@(-484)                        
                                                                      
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
   4d4fc:	1d41 fe20      	moveb %d1,%fp@(-480)                        
   4d500:	1d42 fe23      	moveb %d2,%fp@(-477)                        
  if (fmt_params->fattype != FAT_FAT32) {                             
   4d504:	b684           	cmpl %d4,%d3                                
   4d506:	6700 0a94      	beqw 4df9c <msdos_format+0xdb2>             
    FAT_SET_BR_SECTORS_PER_FAT(mbr   ,fmt_params->sectors_per_fat);   
    FAT_SET_BR_DRVNUM(mbr            , 0); /* only needed for INT13... */
    FAT_SET_BR_RSVD1(mbr             , 0); /* fill with zero */       
    FAT_SET_BR_BOOTSIG(mbr           , FAT_BR_BOOTSIG_VAL);           
    FAT_SET_BR_VOLID(mbr             , fmt_params->vol_id); /* volume id */
   4d50a:	202e fdfa      	movel %fp@(-518),%d0                        
   4d50e:	7c18           	moveq #24,%d6                               
   4d510:	2400           	movel %d0,%d2                               
   4d512:	2600           	movel %d0,%d3                               
   4d514:	ecaa           	lsrl %d6,%d2                                
   4d516:	2a00           	movel %d0,%d5                               
   4d518:	e08d           	lsrl #8,%d5                                 
  memcpy(FAT_GET_ADDR_BR_VOLLAB(mbr),                                 
	 fmt_params->VolLabel,                                               
	 FAT_BR_VOLLAB_SIZE);                                                
    memcpy(FAT_GET_ADDR_BR_FILSYSTYPE(mbr),                           
   4d51a:	41f9 0006 9bc8 	lea 69bc8 <_CPU_m68k_BFFFO_table+0x131>,%a0 
  FAT_SET_BR_NUMBER_OF_HEADS(mbr     , 6);   /* only needed for INT13... */
  FAT_SET_BR_HIDDEN_SECTORS(mbr      , 1);   /* only needed for INT13... */
                                                                      
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
  if (fmt_params->fattype != FAT_FAT32) {                             
    FAT_SET_BR_SECTORS_PER_FAT(mbr   ,fmt_params->sectors_per_fat);   
   4d520:	222e fdc0      	movel %fp@(-576),%d1                        
   4d524:	2c01           	movel %d1,%d6                               
   4d526:	e08e           	lsrl #8,%d6                                 
    FAT_SET_BR_DRVNUM(mbr            , 0); /* only needed for INT13... */
    FAT_SET_BR_RSVD1(mbr             , 0); /* fill with zero */       
    FAT_SET_BR_BOOTSIG(mbr           , FAT_BR_BOOTSIG_VAL);           
    FAT_SET_BR_VOLID(mbr             , fmt_params->vol_id); /* volume id */
   4d528:	4243           	clrw %d3                                    
   4d52a:	4843           	swap %d3                                    
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
  if (fmt_params->fattype != FAT_FAT32) {                             
    FAT_SET_BR_SECTORS_PER_FAT(mbr   ,fmt_params->sectors_per_fat);   
    FAT_SET_BR_DRVNUM(mbr            , 0); /* only needed for INT13... */
    FAT_SET_BR_RSVD1(mbr             , 0); /* fill with zero */       
    FAT_SET_BR_BOOTSIG(mbr           , FAT_BR_BOOTSIG_VAL);           
   4d52c:	7e29           	moveq #41,%d7                               
    FAT_SET_BR_VOLID(mbr             , fmt_params->vol_id); /* volume id */
   4d52e:	1d40 fe27      	moveb %d0,%fp@(-473)                        
  FAT_SET_BR_NUMBER_OF_HEADS(mbr     , 6);   /* only needed for INT13... */
  FAT_SET_BR_HIDDEN_SECTORS(mbr      , 1);   /* only needed for INT13... */
                                                                      
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
  if (fmt_params->fattype != FAT_FAT32) {                             
    FAT_SET_BR_SECTORS_PER_FAT(mbr   ,fmt_params->sectors_per_fat);   
   4d532:	1d41 fe16      	moveb %d1,%fp@(-490)                        
    FAT_SET_BR_BOOTSIG(mbr           , FAT_BR_BOOTSIG_VAL);           
    FAT_SET_BR_VOLID(mbr             , fmt_params->vol_id); /* volume id */
  memcpy(FAT_GET_ADDR_BR_VOLLAB(mbr),                                 
	 fmt_params->VolLabel,                                               
	 FAT_BR_VOLLAB_SIZE);                                                
    memcpy(FAT_GET_ADDR_BR_FILSYSTYPE(mbr),                           
   4d536:	7001           	moveq #1,%d0                                
  FAT_SET_BR_NUMBER_OF_HEADS(mbr     , 6);   /* only needed for INT13... */
  FAT_SET_BR_HIDDEN_SECTORS(mbr      , 1);   /* only needed for INT13... */
                                                                      
  FAT_SET_BR_TOTAL_SECTORS_NUM32(mbr , total_sectors_num32);          
  if (fmt_params->fattype != FAT_FAT32) {                             
    FAT_SET_BR_SECTORS_PER_FAT(mbr   ,fmt_params->sectors_per_fat);   
   4d538:	1d46 fe17      	moveb %d6,%fp@(-489)                        
    FAT_SET_BR_DRVNUM(mbr            , 0); /* only needed for INT13... */
    FAT_SET_BR_RSVD1(mbr             , 0); /* fill with zero */       
    FAT_SET_BR_BOOTSIG(mbr           , FAT_BR_BOOTSIG_VAL);           
   4d53c:	1d47 fe26      	moveb %d7,%fp@(-474)                        
    FAT_SET_BR_VOLID(mbr             , fmt_params->vol_id); /* volume id */
   4d540:	1d45 fe28      	moveb %d5,%fp@(-472)                        
   4d544:	1d43 fe29      	moveb %d3,%fp@(-471)                        
   4d548:	1d42 fe2a      	moveb %d2,%fp@(-470)                        
  memcpy(FAT_GET_ADDR_BR_VOLLAB(mbr),                                 
   4d54c:	356e fdf4 0033 	movew %fp@(-524),%a2@(51)                   
   4d552:	256e fdec 002b 	movel %fp@(-532),%a2@(43)                   
   4d558:	256e fdf0 002f 	movel %fp@(-528),%a2@(47)                   
   4d55e:	156e fdf6 0035 	moveb %fp@(-522),%a2@(53)                   
	 fmt_params->VolLabel,                                               
	 FAT_BR_VOLLAB_SIZE);                                                
    memcpy(FAT_GET_ADDR_BR_FILSYSTYPE(mbr),                           
   4d564:	b084           	cmpl %d4,%d0                                
   4d566:	6700 09e2      	beqw 4df4a <msdos_format+0xd60>             
   4d56a:	43ea 0036      	lea %a2@(54),%a1                            <== NOT EXECUTED
   4d56e:	2290           	movel %a0@,%a1@                             <== NOT EXECUTED
   4d570:	2568 0004 003a 	movel %a0@(4),%a2@(58)                      <== NOT EXECUTED
    /*                                                                
     * write master boot record to disk                               
     * also write copy of MBR to disk                                 
     */                                                               
    if (ret_val == 0) {                                               
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
   4d576:	4879 0006 9c5d 	pea 69c5d <_CPU_m68k_BFFFO_table+0x1c6>     
                           "write MRB sector\n");                     
      ret_val = msdos_format_write_sec(fd,                            
   4d57c:	263c 0004 cf5a 	movel #315226,%d3                           
    /*                                                                
     * write master boot record to disk                               
     * also write copy of MBR to disk                                 
     */                                                               
    if (ret_val == 0) {                                               
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
   4d582:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
  /*                                                                  
   * add jump to boot loader at start of sector                       
   */                                                                 
  FAT_SET_VAL8(mbr,0,0xeb);                                           
  FAT_SET_VAL8(mbr,1,0x3c);                                           
  FAT_SET_VAL8(mbr,2,0x90);                                           
   4d586:	7090           	moveq #-112,%d0                             
                                                                      
  /*                                                                  
   * add jump to boot loader at start of sector                       
   */                                                                 
  FAT_SET_VAL8(mbr,0,0xeb);                                           
  FAT_SET_VAL8(mbr,1,0x3c);                                           
   4d588:	7e3c           	moveq #60,%d7                               
	   FAT_BR_FILSYSTYPE_SIZE);                                          
  }                                                                   
  /*                                                                  
   * add boot record signature                                        
   */                                                                 
  FAT_SET_BR_SIGNATURE(mbr,      FAT_BR_SIGNATURE_VAL);               
   4d58a:	7455           	moveq #85,%d2                               
    /*                                                                
     * write master boot record to disk                               
     * also write copy of MBR to disk                                 
     */                                                               
    if (ret_val == 0) {                                               
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
   4d58c:	2f0c           	movel %a4,%sp@-                             
	   FAT_BR_FILSYSTYPE_SIZE);                                          
  }                                                                   
  /*                                                                  
   * add boot record signature                                        
   */                                                                 
  FAT_SET_BR_SIGNATURE(mbr,      FAT_BR_SIGNATURE_VAL);               
   4d58e:	78aa           	moveq #-86,%d4                              
                                                                      
  /*                                                                  
   * add jump to boot loader at start of sector                       
   */                                                                 
  FAT_SET_VAL8(mbr,0,0xeb);                                           
   4d590:	7ceb           	moveq #-21,%d6                              
  FAT_SET_VAL8(mbr,1,0x3c);                                           
   4d592:	1d47 fe01      	moveb %d7,%fp@(-511)                        
  FAT_SET_VAL8(mbr,2,0x90);                                           
   4d596:	1d40 fe02      	moveb %d0,%fp@(-510)                        
	   FAT_BR_FILSYSTYPE_SIZE);                                          
  }                                                                   
  /*                                                                  
   * add boot record signature                                        
   */                                                                 
  FAT_SET_BR_SIGNATURE(mbr,      FAT_BR_SIGNATURE_VAL);               
   4d59a:	1d42 fffe      	moveb %d2,%fp@(-2)                          
   4d59e:	1d44 ffff      	moveb %d4,%fp@(-1)                          
                                                                      
  /*                                                                  
   * add jump to boot loader at start of sector                       
   */                                                                 
  FAT_SET_VAL8(mbr,0,0xeb);                                           
   4d5a2:	1d46 fe00      	moveb %d6,%fp@(-512)                        
    /*                                                                
     * write master boot record to disk                               
     * also write copy of MBR to disk                                 
     */                                                               
    if (ret_val == 0) {                                               
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
   4d5a6:	4eba f968      	jsr %pc@(4cf10 <msdos_format_printf>)       
                           "write MRB sector\n");                     
      ret_val = msdos_format_write_sec(fd,                            
   4d5aa:	2043           	moveal %d3,%a0                              
   4d5ac:	2f0a           	movel %a2,%sp@-                             
   4d5ae:	2f2e fdb0      	movel %fp@(-592),%sp@-                      
   4d5b2:	42a7           	clrl %sp@-                                  
   4d5b4:	2f0b           	movel %a3,%sp@-                             
   4d5b6:	4e90           	jsr %a0@                                    
                                       0,                             
                                       fmt_params.bytes_per_sector,   
                                       tmp_sec);                      
    }                                                                 
    if ((ret_val == 0) &&                                             
   4d5b8:	4fef 001c      	lea %sp@(28),%sp                            
     * also write copy of MBR to disk                                 
     */                                                               
    if (ret_val == 0) {                                               
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
                           "write MRB sector\n");                     
      ret_val = msdos_format_write_sec(fd,                            
   4d5bc:	2e00           	movel %d0,%d7                               
                                       0,                             
                                       fmt_params.bytes_per_sector,   
                                       tmp_sec);                      
    }                                                                 
    if ((ret_val == 0) &&                                             
   4d5be:	6600 fcbe      	bnew 4d27e <msdos_format+0x94>              
   4d5c2:	4aae fdd8      	tstl %fp@(-552)                             
   4d5c6:	6600 08d4      	bnew 4de9c <msdos_format+0xcb2>             
  }                                                                   
  /*                                                                  
   * for FAT32: initialize info sector on disk                        
   */                                                                 
  if ((ret_val == 0) &&                                               
      (fmt_params.fsinfo_sec != 0)) {                                 
   4d5ca:	242e fddc      	movel %fp@(-548),%d2                        
    }                                                                 
  }                                                                   
  /*                                                                  
   * for FAT32: initialize info sector on disk                        
   */                                                                 
  if ((ret_val == 0) &&                                               
   4d5ce:	6600 04b4      	bnew 4da84 <msdos_format+0x89a>             
   * write FAT as all empty                                           
   * -> write all FAT sectors as zero                                 
   */                                                                 
  if (ret_val == 0) {                                                 
    ret_val = msdos_format_fill_sectors                               
      (rqdata,                                                        
   4d5d2:	4280           	clrl %d0                                    
   4d5d4:	102e fde0      	moveb %fp@(-544),%d0                        
  /*                                                                  
   * write FAT as all empty                                           
   * -> write all FAT sectors as zero                                 
   */                                                                 
  if (ret_val == 0) {                                                 
    ret_val = msdos_format_fill_sectors                               
   4d5d8:	4bfa f9f0      	lea %pc@(4cfca <msdos_format_fill_sectors>),%a5
   4d5dc:	42a7           	clrl %sp@-                                  
   4d5de:	222e fdc0      	movel %fp@(-576),%d1                        
   4d5e2:	4c00 1800      	mulsl %d0,%d1                               
   4d5e6:	2f2e fdb0      	movel %fp@(-592),%sp@-                      
   4d5ea:	2f01           	movel %d1,%sp@-                             
   4d5ec:	2f2e fdb8      	movel %fp@(-584),%sp@-                      
   4d5f0:	2f0b           	movel %a3,%sp@-                             
   4d5f2:	2f0c           	movel %a4,%sp@-                             
   4d5f4:	4e95           	jsr %a5@                                    
  }                                                                   
  /*                                                                  
   * clear/init root directory                                        
   * -> write all directory sectors as 0x00                           
   */                                                                 
  if (ret_val == 0) {                                                 
   4d5f6:	4fef 0018      	lea %sp@(24),%sp                            
  /*                                                                  
   * write FAT as all empty                                           
   * -> write all FAT sectors as zero                                 
   */                                                                 
  if (ret_val == 0) {                                                 
    ret_val = msdos_format_fill_sectors                               
   4d5fa:	2e00           	movel %d0,%d7                               
  }                                                                   
  /*                                                                  
   * clear/init root directory                                        
   * -> write all directory sectors as 0x00                           
   */                                                                 
  if (ret_val == 0) {                                                 
   4d5fc:	6600 fc80      	bnew 4d27e <msdos_format+0x94>              
    ret_val = msdos_format_fill_sectors                               
   4d600:	42a7           	clrl %sp@-                                  
   4d602:	2f2e fdb0      	movel %fp@(-592),%sp@-                      
   4d606:	2f2e fdd4      	movel %fp@(-556),%sp@-                      
   4d60a:	2f2e fdd0      	movel %fp@(-560),%sp@-                      
   4d60e:	2f0b           	movel %a3,%sp@-                             
   4d610:	2f0c           	movel %a4,%sp@-                             
   4d612:	4e95           	jsr %a5@                                    
       0x00);                                                         
  }                                                                   
  /*                                                                  
   * write volume label to first entry of directory                   
   */                                                                 
  if ((ret_val == 0) && fmt_params.VolLabel_present) {                
   4d614:	4fef 0018      	lea %sp@(24),%sp                            
  /*                                                                  
   * clear/init root directory                                        
   * -> write all directory sectors as 0x00                           
   */                                                                 
  if (ret_val == 0) {                                                 
    ret_val = msdos_format_fill_sectors                               
   4d618:	2400           	movel %d0,%d2                               
       0x00);                                                         
  }                                                                   
  /*                                                                  
   * write volume label to first entry of directory                   
   */                                                                 
  if ((ret_val == 0) && fmt_params.VolLabel_present) {                
   4d61a:	6600 0a54      	bnew 4e070 <msdos_format+0xe86>             
   4d61e:	4a2e fdf8      	tstb %fp@(-520)                             
   4d622:	6600 0412      	bnew 4da36 <msdos_format+0x84c>             
    uint32_t start_sector;                                            
                                                                      
    /*                                                                
     * empty sector: all clusters are free/do not link further on     
     */                                                               
    memset(tmp_sec,0,sizeof(tmp_sec));                                
   4d626:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                
   4d62a:	42a7           	clrl %sp@-                                  
   4d62c:	2f0a           	movel %a2,%sp@-                             
   4d62e:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
                                                                      
    switch(fmt_params.fattype) {                                      
   4d634:	4fef 000c      	lea %sp@(12),%sp                            
   4d638:	4280           	clrl %d0                                    
   4d63a:	102e fde2      	moveb %fp@(-542),%d0                        
   4d63e:	7202           	moveq #2,%d1                                
   4d640:	b280           	cmpl %d0,%d1                                
   4d642:	6700 0550      	beqw 4db94 <msdos_format+0x9aa>             
   4d646:	7804           	moveq #4,%d4                                
   4d648:	b880           	cmpl %d0,%d4                                
   4d64a:	6700 04c0      	beqw 4db0c <msdos_format+0x922>             
   4d64e:	7c01           	moveq #1,%d6                                
   4d650:	bc80           	cmpl %d0,%d6                                
   4d652:	6700 055a      	beqw 4dbae <msdos_format+0x9c4>             
      FAT_SET_VAL32(tmp_sec,4,FAT_FAT32_EOC);                         
      break;                                                          
                                                                      
    default:                                                          
      ret_val = -1;                                                   
      errno = EINVAL;                                                 
   4d656:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4d65c:	7816           	moveq #22,%d4                               <== NOT EXECUTED
      /* FAT entry 1: EOC */                                          
      FAT_SET_VAL32(tmp_sec,4,FAT_FAT32_EOC);                         
      break;                                                          
                                                                      
    default:                                                          
      ret_val = -1;                                                   
   4d65e:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
      errno = EINVAL;                                                 
   4d660:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    }                                                                 
    if (fmt_params.fattype == FAT_FAT32) {                            
   4d662:	4280           	clrl %d0                                    <== NOT EXECUTED
   4d664:	7204           	moveq #4,%d1                                <== NOT EXECUTED
      FAT_SET_VAL32(tmp_sec,4,FAT_FAT32_EOC);                         
      break;                                                          
                                                                      
    default:                                                          
      ret_val = -1;                                                   
      errno = EINVAL;                                                 
   4d666:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
    }                                                                 
    if (fmt_params.fattype == FAT_FAT32) {                            
   4d668:	102e fde2      	moveb %fp@(-542),%d0                        <== NOT EXECUTED
   4d66c:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   4d66e:	6700 04c4      	beqw 4db34 <msdos_format+0x94a>             <== NOT EXECUTED
       * mark this in every copy of the FAT                           
       */                                                             
      FAT_SET_VAL32(tmp_sec,8,FAT_FAT32_EOC);                         
    }                                                                 
                                                                      
    start_sector = loc_align_object (fmt_params.rsvd_sector_cnt,      
   4d672:	202e fdbc      	movel %fp@(-580),%d0                        
   4d676:	2a6e fdb8      	moveal %fp@(-584),%a5                       
static uint32_t                                                       
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
   4d67a:	4a2e fdfe      	tstb %fp@(-514)                             
   4d67e:	660e           	bnes 4d68e <msdos_format+0x4a4>             
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4d680:	2200           	movel %d0,%d1                               
   4d682:	4481           	negl %d1                                    
   4d684:	4bf5 08ff      	lea %a5@(ffffffff,%d0:l),%a5                
   4d688:	200d           	movel %a5,%d0                               
   4d68a:	c081           	andl %d1,%d0                                
   4d68c:	2a40           	moveal %d0,%a5                              
    }                                                                 
                                                                      
    start_sector = loc_align_object (fmt_params.rsvd_sector_cnt,      
                                     fmt_params.sectors_per_cluster,  
                                     fmt_params.skip_alignment);      
    for (i = 0;                                                       
   4d68e:	4a2e fde0      	tstb %fp@(-544)                             
   4d692:	6700 0986      	beqw 4e01a <msdos_format+0xe30>             
	 (i < fmt_params.fat_num) && (ret_val == 0);                         
   4d696:	4a82           	tstl %d2                                    
   4d698:	6600 08a0      	bnew 4df3a <msdos_format+0xd50>             
   4d69c:	202e fdc0      	movel %fp@(-576),%d0                        
	 i++) {                                                              
      ret_val = msdos_format_write_sec                                
        (fd,                                                          
         start_sector                                                 
         + (i * fmt_params.sectors_per_fat),                          
   4d6a0:	4c02 0800      	mulsl %d2,%d0                               
                                     fmt_params.sectors_per_cluster,  
                                     fmt_params.skip_alignment);      
    for (i = 0;                                                       
	 (i < fmt_params.fat_num) && (ret_val == 0);                         
	 i++) {                                                              
      ret_val = msdos_format_write_sec                                
   4d6a4:	2043           	moveal %d3,%a0                              
    start_sector = loc_align_object (fmt_params.rsvd_sector_cnt,      
                                     fmt_params.sectors_per_cluster,  
                                     fmt_params.skip_alignment);      
    for (i = 0;                                                       
	 (i < fmt_params.fat_num) && (ret_val == 0);                         
	 i++) {                                                              
   4d6a6:	5282           	addql #1,%d2                                
      ret_val = msdos_format_write_sec                                
   4d6a8:	2f0a           	movel %a2,%sp@-                             
   4d6aa:	2f2e fdb0      	movel %fp@(-592),%sp@-                      
   4d6ae:	4875 0800      	pea %a5@(00000000,%d0:l)                    
   4d6b2:	2f0b           	movel %a3,%sp@-                             
   4d6b4:	4e90           	jsr %a0@                                    
    }                                                                 
                                                                      
    start_sector = loc_align_object (fmt_params.rsvd_sector_cnt,      
                                     fmt_params.sectors_per_cluster,  
                                     fmt_params.skip_alignment);      
    for (i = 0;                                                       
   4d6b6:	4fef 0010      	lea %sp@(16),%sp                            
	 (i < fmt_params.fat_num) && (ret_val == 0);                         
   4d6ba:	4281           	clrl %d1                                    
   4d6bc:	122e fde0      	moveb %fp@(-544),%d1                        
    }                                                                 
                                                                      
    start_sector = loc_align_object (fmt_params.rsvd_sector_cnt,      
                                     fmt_params.sectors_per_cluster,  
                                     fmt_params.skip_alignment);      
    for (i = 0;                                                       
   4d6c0:	b481           	cmpl %d1,%d2                                
   4d6c2:	6c00 fbcc      	bgew 4d290 <msdos_format+0xa6>              
	 (i < fmt_params.fat_num) && (ret_val == 0);                         
   4d6c6:	4a80           	tstl %d0                                    
   4d6c8:	67d2           	beqs 4d69c <msdos_format+0x4b2>             <== ALWAYS TAKEN
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
    close(fd);                                                        
   4d6ca:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   4d6cc:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
   4d6ce:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
   4d6d4:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4d6d6:	6000 fbe4      	braw 4d2bc <msdos_format+0xd2>              <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * sanity check on device                                           
   */                                                                 
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
   4d6da:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4d6dc:	4879 0006 9c89 	pea 69c89 <_CPU_m68k_BFFFO_table+0x1f2>     <== NOT EXECUTED
                       "stat check: %s\n", devname);                  
  if (ret_val == 0) {                                                 
    ret_val = fstat(fd, &stat_buf);                                   
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_INFO,             
   4d6e2:	7eff           	moveq #-1,%d7                               <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * sanity check on device                                           
   */                                                                 
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
   4d6e4:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4d6e8:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   4d6ea:	4eba f824      	jsr %pc@(4cf10 <msdos_format_printf>)       <== NOT EXECUTED
                       "stat check: %s\n", devname);                  
  if (ret_val == 0) {                                                 
    ret_val = fstat(fd, &stat_buf);                                   
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_INFO,             
   4d6ee:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4d6f0:	4879 0006 9c99 	pea 69c99 <_CPU_m68k_BFFFO_table+0x202>     <== NOT EXECUTED
   4d6f6:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   4d6fa:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   4d6fc:	4eba f812      	jsr %pc@(4cf10 <msdos_format_printf>)       <== NOT EXECUTED
   4d700:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
  if (fd != -1) {                                                     
    close(fd);                                                        
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4d704:	2007           	movel %d7,%d0                               <== NOT EXECUTED
   4d706:	4cee 3cfc fd20 	moveml %fp@(-736),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   4d70c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4d70e:	4e75           	rts                                         <== NOT EXECUTED
static inline int rtems_disk_fd_get_block_count(                      
  int fd,                                                             
  rtems_blkdev_bnum *block_count                                      
)                                                                     
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_GETSIZE, block_count);                 
   4d710:	486e fdb4      	pea %fp@(-588)                              
   4d714:	2f3c 4004 4205 	movel #1074020869,%sp@-                     
   4d71a:	2f0b           	movel %a3,%sp@-                             
   4d71c:	4eb9 0005 46f4 	jsr 546f4 <ioctl>                           
    ret_val = rtems_disk_fd_get_media_block_size(fd, &fmt_params->bytes_per_sector);
  }                                                                   
  if (ret_val == 0) {                                                 
    ret_val = rtems_disk_fd_get_block_count(fd, &fmt_params->totl_sector_cnt);
  }                                                                   
  if (ret_val == 0) {                                                 
   4d722:	4fef 000c      	lea %sp@(12),%sp                            
   4d726:	4a80           	tstl %d0                                    
   4d728:	6600 fbca      	bnew 4d2f4 <msdos_format+0x10a>             
    total_size = fmt_params->bytes_per_sector * fmt_params->totl_sector_cnt;
   4d72c:	222e fdb4      	movel %fp@(-588),%d1                        
   4d730:	2801           	movel %d1,%d4                               
   4d732:	4282           	clrl %d2                                    
   4d734:	202e fdb0      	movel %fp@(-592),%d0                        
   4d738:	4c00 4800      	mulsl %d0,%d4                               
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4d73c:	2f04           	movel %d4,%sp@-                             
  }                                                                   
  if (ret_val == 0) {                                                 
    ret_val = rtems_disk_fd_get_block_count(fd, &fmt_params->totl_sector_cnt);
  }                                                                   
  if (ret_val == 0) {                                                 
    total_size = fmt_params->bytes_per_sector * fmt_params->totl_sector_cnt;
   4d73e:	2604           	movel %d4,%d3                               
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4d740:	2f02           	movel %d2,%sp@-                             
   4d742:	2f01           	movel %d1,%sp@-                             
   4d744:	2f00           	movel %d0,%sp@-                             
   4d746:	4879 0006 9be4 	pea 69be4 <_CPU_m68k_BFFFO_table+0x14d>     
   4d74c:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d750:	2f0c           	movel %a4,%sp@-                             
   4d752:	4eba f7bc      	jsr %pc@(4cf10 <msdos_format_printf>)       
                                                                      
  /*                                                                  
   * determine number of FATs                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata == NULL) ||                                           
   4d756:	4fef 001c      	lea %sp@(28),%sp                            
   4d75a:	4a8c           	tstl %a4                                    
   4d75c:	6700 08c2      	beqw 4e020 <msdos_format+0xe36>             
	(rqdata->fat_num == 0)) {                                            
   4d760:	202c 000c      	movel %a4@(12),%d0                          
                                                                      
  /*                                                                  
   * determine number of FATs                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata == NULL) ||                                           
   4d764:	6700 045e      	beqw 4dbc4 <msdos_format+0x9da>             
	(rqdata->fat_num == 0)) {                                            
      fmt_params->fat_num = 2;                                        
    }                                                                 
    else if (rqdata->fat_num <= 6) {                                  
   4d768:	7206           	moveq #6,%d1                                
   4d76a:	b280           	cmpl %d0,%d1                                
   4d76c:	6500 07ba      	bcsw 4df28 <msdos_format+0xd3e>             
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0)                                                   
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4d770:	2f00           	movel %d0,%sp@-                             
   4d772:	4879 0006 9c1f 	pea 69c1f <_CPU_m68k_BFFFO_table+0x188>     
   4d778:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
    if ((rqdata == NULL) ||                                           
	(rqdata->fat_num == 0)) {                                            
      fmt_params->fat_num = 2;                                        
    }                                                                 
    else if (rqdata->fat_num <= 6) {                                  
      fmt_params->fat_num = rqdata->fat_num;                          
   4d77c:	1d40 fde0      	moveb %d0,%fp@(-544)                        
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0)                                                   
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4d780:	2f0c           	movel %a4,%sp@-                             
   4d782:	4eba f78c      	jsr %pc@(4cf10 <msdos_format_printf>)       
  /*                                                                  
   * determine FAT type and sectors per cluster                       
   * depends on                                                       
   */                                                                 
  if (ret_val == 0) {                                                 
    fmt_params->sectors_per_cluster = 1;                              
   4d786:	4fef 0010      	lea %sp@(16),%sp                            
     * are a compromise concerning capacity and efficency             
     */                                                               
    uint32_t fat12_sect_per_clust = 8;                                
    uint32_t fat16_sect_per_clust = 32;                               
                                                                      
    if (rqdata != NULL && rqdata->sectors_per_cluster != 0) {         
   4d78a:	202c 0008      	movel %a4@(8),%d0                           
   4d78e:	6700 05da      	beqw 4dd6a <msdos_format+0xb80>             
   4d792:	283c 0000 0ff5 	movel #4085,%d4                             
   4d798:	4c00 4800      	mulsl %d0,%d4                               
      fat12_sect_per_clust = rqdata->sectors_per_cluster;             
      fat16_sect_per_clust = rqdata->sectors_per_cluster;             
    }                                                                 
                                                                      
    if (fmt_params->totl_sector_cnt < FAT_FAT12_MAX_CLN * fat12_sect_per_clust) {
   4d79c:	222e fdb4      	movel %fp@(-588),%d1                        
   4d7a0:	b881           	cmpl %d1,%d4                                
   4d7a2:	6300 05a6      	blsw 4dd4a <msdos_format+0xb60>             
      fmt_params->fattype = FAT_FAT12;                                
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
   4d7a6:	7802           	moveq #2,%d4                                
      fat12_sect_per_clust = rqdata->sectors_per_cluster;             
      fat16_sect_per_clust = rqdata->sectors_per_cluster;             
    }                                                                 
                                                                      
    if (fmt_params->totl_sector_cnt < FAT_FAT12_MAX_CLN * fat12_sect_per_clust) {
      fmt_params->fattype = FAT_FAT12;                                
   4d7a8:	7c01           	moveq #1,%d6                                
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
   4d7aa:	2d44 fdbc      	movel %d4,%fp@(-580)                        
      fat12_sect_per_clust = rqdata->sectors_per_cluster;             
      fat16_sect_per_clust = rqdata->sectors_per_cluster;             
    }                                                                 
                                                                      
    if (fmt_params->totl_sector_cnt < FAT_FAT12_MAX_CLN * fat12_sect_per_clust) {
      fmt_params->fattype = FAT_FAT12;                                
   4d7ae:	1d46 fde2      	moveb %d6,%fp@(-542)                        
        if ((gigs & (1 << b)) != 0)                                   
          break;                                                      
      fmt_params->sectors_per_cluster = 1 << b;                       
    }                                                                 
                                                                      
    ret_val = msdos_set_sectors_per_cluster_from_request( rqdata, fmt_params );
   4d7b2:	283c ffff fdbc 	movel #-580,%d4                             
   4d7b8:	d88e           	addl %fp,%d4                                
   4d7ba:	2f04           	movel %d4,%sp@-                             
   4d7bc:	486e fdb0      	pea %fp@(-592)                              
   4d7c0:	2f0c           	movel %a4,%sp@-                             
   4d7c2:	4eba f9ae      	jsr %pc@(4d172 <msdos_set_sectors_per_cluster_from_request.isra.1>)
    if (ret_val == 0) {                                               
      data_clusters_cnt =                                             
        fmt_params->totl_sector_cnt / fmt_params->sectors_per_cluster;
    }                                                                 
                                                                      
    while(   ret_val == 0                                             
   4d7c6:	4fef 000c      	lea %sp@(12),%sp                            
        if ((gigs & (1 << b)) != 0)                                   
          break;                                                      
      fmt_params->sectors_per_cluster = 1 << b;                       
    }                                                                 
                                                                      
    ret_val = msdos_set_sectors_per_cluster_from_request( rqdata, fmt_params );
   4d7ca:	2e00           	movel %d0,%d7                               
    if (ret_val == 0) {                                               
      data_clusters_cnt =                                             
        fmt_params->totl_sector_cnt / fmt_params->sectors_per_cluster;
    }                                                                 
                                                                      
    while(   ret_val == 0                                             
   4d7cc:	6600 0884      	bnew 4e052 <msdos_format+0xe68>             
          && fmt_params->fattype != fat_type                          
   4d7d0:	4280           	clrl %d0                                    
   4d7d2:	102e fde2      	moveb %fp@(-542),%d0                        
   4d7d6:	0c80 0000 00ff 	cmpil #255,%d0                              
   4d7dc:	6700 086c      	beqw 4e04a <msdos_format+0xe60>             
          && fmt_params->totl_sector_cnt > 0 ) {                      
   4d7e0:	4aae fdb4      	tstl %fp@(-588)                             
   4d7e4:	6700 020e      	beqw 4d9f4 <msdos_format+0x80a>             
            data_clusters_cnt );                                      
          /* Correct sectors per cluster to the fat type specific default value */
          if (fat_type != fmt_params->fattype) {                      
            msdos_set_default_sectors_per_cluster_for_fattype( fmt_params,
                                                               total_size );
            ret_val = msdos_set_sectors_per_cluster_from_request( rqdata,
   4d7e8:	2d44 fd54      	movel %d4,%fp@(-684)                        
    /* start trying with small clusters */                            
    fmt_params->sectors_per_cluster = 2;                              
  }                                                                   
  else {                                                              
    #define ONE_GB ( 1024L * 1024L * 1024L )                          
    uint32_t gigs = ( total_size + ONE_GB ) / ONE_GB;                 
   4d7ec:	7c1e           	moveq #30,%d6                               
   4d7ee:	4280           	clrl %d0                                    
   4d7f0:	0683 4000 0000 	addil #1073741824,%d3                       
   4d7f6:	d580           	addxl %d0,%d2                               
   4d7f8:	2d4b fd50      	movel %a3,%fp@(-688)                        
   4d7fc:	2802           	movel %d2,%d4                               
   4d7fe:	2003           	movel %d3,%d0                               
   4d800:	eca8           	lsrl %d6,%d0                                
   4d802:	e58c           	lsll #2,%d4                                 
   4d804:	4201           	clrb %d1                                    
   4d806:	2d47 fd4c      	movel %d7,%fp@(-692)                        
   4d80a:	3441           	moveaw %d1,%a2                              
   4d80c:	2d44 fd5c      	movel %d4,%fp@(-676)                        
   4d810:	81ae fd5c      	orl %d0,%fp@(-676)                          
          && fmt_params->fattype != fat_type                          
          && fmt_params->totl_sector_cnt > 0 ) {                      
      /*                                                              
       * Skip aligning structures or d align them                     
       */                                                             
      if (ret_val == 0 && rqdata != NULL)                             
   4d814:	4a8c           	tstl %a4                                    
   4d816:	6706           	beqs 4d81e <msdos_format+0x634>             <== NEVER TAKEN
        fmt_params->skip_alignment = rqdata->skip_alignment;          
   4d818:	1d6c 0016 fdfe 	moveb %a4@(22),%fp@(-514)                   
                                                                      
      if (ret_val == 0) {                                             
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,     
   4d81e:	2f2e fdbc      	movel %fp@(-580),%sp@-                      
                             "sectors per cluster: %d\n", fmt_params->sectors_per_cluster);
                                                                      
        if (fmt_params->fattype == FAT_FAT32) {                       
   4d822:	4285           	clrl %d5                                    
       */                                                             
      if (ret_val == 0 && rqdata != NULL)                             
        fmt_params->skip_alignment = rqdata->skip_alignment;          
                                                                      
      if (ret_val == 0) {                                             
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,     
   4d824:	4879 0006 9c33 	pea 69c33 <_CPU_m68k_BFFFO_table+0x19c>     
                             "sectors per cluster: %d\n", fmt_params->sectors_per_cluster);
                                                                      
        if (fmt_params->fattype == FAT_FAT32) {                       
   4d82a:	7e04           	moveq #4,%d7                                
       */                                                             
      if (ret_val == 0 && rqdata != NULL)                             
        fmt_params->skip_alignment = rqdata->skip_alignment;          
                                                                      
      if (ret_val == 0) {                                             
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,     
   4d82c:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d830:	2f0c           	movel %a4,%sp@-                             
   4d832:	4eba f6dc      	jsr %pc@(4cf10 <msdos_format_printf>)       
                             "sectors per cluster: %d\n", fmt_params->sectors_per_cluster);
                                                                      
        if (fmt_params->fattype == FAT_FAT32) {                       
   4d836:	4fef 0010      	lea %sp@(16),%sp                            
   4d83a:	1a2e fde2      	moveb %fp@(-542),%d5                        
   4d83e:	be85           	cmpl %d5,%d7                                
   4d840:	6700 049a      	beqw 4dcdc <msdos_format+0xaf2>             
          fmt_params->fsinfo_sec = 1;                                 
                                                                      
        }                                                             
        else {                                                        
          /* recommended: for FAT12/FAT16, always set reserved sector count to 1 */
          fmt_params->rsvd_sector_cnt = 1;                            
   4d844:	7601           	moveq #1,%d3                                
   4d846:	2d43 fdb8      	movel %d3,%fp@(-584)                        
          /* recommended: for FAT16, set files per root directory to 512 */
          /* for FAT12/FAT16, set files per root directory */         
          /* must fill up an even count of sectors         */         
          if ((rqdata != NULL) &&                                     
   4d84a:	4a8c           	tstl %a4                                    
   4d84c:	6700 0460      	beqw 4dcae <msdos_format+0xac4>             
              (rqdata->files_per_root_dir > 0)) {                     
   4d850:	222c 0010      	movel %a4@(16),%d1                          
          /* recommended: for FAT12/FAT16, always set reserved sector count to 1 */
          fmt_params->rsvd_sector_cnt = 1;                            
          /* recommended: for FAT16, set files per root directory to 512 */
          /* for FAT12/FAT16, set files per root directory */         
          /* must fill up an even count of sectors         */         
          if ((rqdata != NULL) &&                                     
   4d854:	6700 0458      	beqw 4dcae <msdos_format+0xac4>             
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
                                           (2*fmt_params->bytes_per_sector/
   4d858:	282e fdb0      	movel %fp@(-592),%d4                        
   4d85c:	2004           	movel %d4,%d0                               
   4d85e:	5381           	subql #1,%d1                                
                                           FAT_DIRENTRY_SIZE-1));     
          fmt_params->files_per_root_dir -= (fmt_params->files_per_root_dir %
   4d860:	367c 0001      	moveaw #1,%a3                               
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
                                           (2*fmt_params->bytes_per_sector/
   4d864:	d080           	addl %d0,%d0                                
   4d866:	ea88           	lsrl #5,%d0                                 
            }                                                         
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
   4d868:	d280           	addl %d0,%d1                                
                                           (2*fmt_params->bytes_per_sector/
                                           FAT_DIRENTRY_SIZE-1));     
          fmt_params->files_per_root_dir -= (fmt_params->files_per_root_dir %
   4d86a:	2c01           	movel %d1,%d6                               
   4d86c:	4c40 6002      	remul %d0,%d2,%d6                           
   4d870:	9282           	subl %d2,%d1                                
   4d872:	2001           	movel %d1,%d0                               
   4d874:	eb88           	lsll #5,%d0                                 
   4d876:	2d41 fdc8      	movel %d1,%fp@(-568)                        
                                            /FAT_DIRENTRY_SIZE));     
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
          (((fmt_params->files_per_root_dir * FAT_DIRENTRY_SIZE)      
            + fmt_params->bytes_per_sector - 1)                       
   4d87a:	2044           	moveal %d4,%a0                              
   4d87c:	5388           	subql #1,%a0                                
   4d87e:	d088           	addl %a0,%d0                                
           / fmt_params->bytes_per_sector);                           
   4d880:	2e00           	movel %d0,%d7                               
  uint32_t fatdata_sect_cnt;                                          
  uint32_t fat_sectors_cnt;                                           
  /*                                                                  
   * ensure, that maximum cluster size (32KByte) is not exceeded      
   */                                                                 
  while (MS_BYTES_PER_CLUSTER_LIMIT / bytes_per_sector < sectors_per_cluster) {
   4d882:	223c 0000 8000 	movel #32768,%d1                            
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
          (((fmt_params->files_per_root_dir * FAT_DIRENTRY_SIZE)      
            + fmt_params->bytes_per_sector - 1)                       
           / fmt_params->bytes_per_sector);                           
   4d888:	4c44 7007      	remul %d4,%d7,%d7                           
  uint32_t fatdata_sect_cnt;                                          
  uint32_t fat_sectors_cnt;                                           
  /*                                                                  
   * ensure, that maximum cluster size (32KByte) is not exceeded      
   */                                                                 
  while (MS_BYTES_PER_CLUSTER_LIMIT / bytes_per_sector < sectors_per_cluster) {
   4d88c:	4c44 1001      	remul %d4,%d1,%d1                           
      if (ret_val == 0) {                                             
        /*                                                            
         * check values to get legal arrangement of FAT type and cluster count
         */                                                           
                                                                      
        ret_val = msdos_format_eval_sectors_per_cluster(fmt_params->fattype,
   4d890:	202e fdbc      	movel %fp@(-580),%d0                        
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
          (((fmt_params->files_per_root_dir * FAT_DIRENTRY_SIZE)      
            + fmt_params->bytes_per_sector - 1)                       
           / fmt_params->bytes_per_sector);                           
   4d894:	2d47 fd64      	movel %d7,%fp@(-668)                        
      if (ret_val == 0) {                                             
        /*                                                            
         * check values to get legal arrangement of FAT type and cluster count
         */                                                           
                                                                      
        ret_val = msdos_format_eval_sectors_per_cluster(fmt_params->fattype,
   4d898:	226e fdb4      	moveal %fp@(-588),%a1                       
          fmt_params->files_per_root_dir -= (fmt_params->files_per_root_dir %
                                            (2*fmt_params->bytes_per_sector
                                            /FAT_DIRENTRY_SIZE));     
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
   4d89c:	2d47 fdcc      	movel %d7,%fp@(-564)                        
                                                        fmt_params->totl_sector_cnt,
                                                        fmt_params->rsvd_sector_cnt,
                                                        fmt_params->root_dir_sectors,
                                                        fmt_params->fat_num,
                                                        fmt_params->sectors_per_cluster,
                                                        fmt_params->skip_alignment,
   4d8a0:	1c2e fdfe      	moveb %fp@(-514),%d6                        
        ret_val = msdos_format_eval_sectors_per_cluster(fmt_params->fattype,
                                                        fmt_params->bytes_per_sector,
                                                        fmt_params->totl_sector_cnt,
                                                        fmt_params->rsvd_sector_cnt,
                                                        fmt_params->root_dir_sectors,
                                                        fmt_params->fat_num,
   4d8a4:	1e2e fde0      	moveb %fp@(-544),%d7                        
  uint32_t fatdata_sect_cnt;                                          
  uint32_t fat_sectors_cnt;                                           
  /*                                                                  
   * ensure, that maximum cluster size (32KByte) is not exceeded      
   */                                                                 
  while (MS_BYTES_PER_CLUSTER_LIMIT / bytes_per_sector < sectors_per_cluster) {
   4d8a8:	b280           	cmpl %d0,%d1                                
   4d8aa:	6406           	bccs 4d8b2 <msdos_format+0x6c8>             <== ALWAYS TAKEN
    sectors_per_cluster /= 2;                                         
   4d8ac:	e288           	lsrl #1,%d0                                 <== NOT EXECUTED
  uint32_t fatdata_sect_cnt;                                          
  uint32_t fat_sectors_cnt;                                           
  /*                                                                  
   * ensure, that maximum cluster size (32KByte) is not exceeded      
   */                                                                 
  while (MS_BYTES_PER_CLUSTER_LIMIT / bytes_per_sector < sectors_per_cluster) {
   4d8ae:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   4d8b0:	65fa           	bcss 4d8ac <msdos_format+0x6c2>             <== NOT EXECUTED
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4d8b2:	242e fd64      	movel %fp@(-668),%d2                        
     * compute number of data clusters for current data:              
     * - compute cluster count for data AND fat                       
     * - compute storage size for FAT                                 
     * - subtract from total cluster count                            
     */                                                               
    fatdata_sect_cnt = total_sector_cnt                               
   4d8b6:	2209           	movel %a1,%d1                               
   4d8b8:	928b           	subl %a3,%d1                                
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4d8ba:	5382           	subql #1,%d2                                
   4d8bc:	538b           	subql #1,%a3                                
   4d8be:	0287 0000 00ff 	andil #255,%d7                              
     * compute number of data clusters for current data:              
     * - compute cluster count for data AND fat                       
     * - compute storage size for FAT                                 
     * - subtract from total cluster count                            
     */                                                               
    fatdata_sect_cnt = total_sector_cnt                               
   4d8c4:	2d41 fd58      	movel %d1,%fp@(-680)                        
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4d8c8:	2d42 fd60      	movel %d2,%fp@(-672)                        
   4d8cc:	2d47 fd48      	movel %d7,%fp@(-696)                        
static uint32_t                                                       
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
   4d8d0:	4a06           	tstb %d6                                    
   4d8d2:	6700 0312      	beqw 4dbe6 <msdos_format+0x9fc>             
     * compute number of data clusters for current data:              
     * - compute cluster count for data AND fat                       
     * - compute storage size for FAT                                 
     * - subtract from total cluster count                            
     */                                                               
    fatdata_sect_cnt = total_sector_cnt                               
   4d8d6:	262e fd58      	movel %fp@(-680),%d3                        
      - loc_align_object (rsvd_sector_cnt, sectors_per_cluster, skip_alignment);
    if (fattype == FAT_FAT12) {                                       
   4d8da:	7201           	moveq #1,%d1                                
   4d8dc:	b285           	cmpl %d5,%d1                                
   4d8de:	6700 079e      	beqw 4e07e <msdos_format+0xe94>             
      fatdata_sect_cnt    = fatdata_sect_cnt                          
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
      fat_capacity        = fatdata_cluster_cnt * 3 / 2;              
    }                                                                 
    else if (fattype == FAT_FAT16) {                                  
   4d8e2:	7202           	moveq #2,%d1                                <== NOT EXECUTED
   4d8e4:	b285           	cmpl %d5,%d1                                <== NOT EXECUTED
   4d8e6:	6600 031c      	bnew 4dc04 <msdos_format+0xa1a>             <== NOT EXECUTED
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
  else                                                                
    return sectors;                                                   
   4d8ea:	222e fd64      	movel %fp@(-668),%d1                        <== NOT EXECUTED
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
      fat_capacity        = fatdata_cluster_cnt * 3 / 2;              
    }                                                                 
    else if (fattype == FAT_FAT16) {                                  
      fatdata_sect_cnt    = fatdata_sect_cnt                          
   4d8ee:	9681           	subl %d1,%d3                                <== NOT EXECUTED
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
   4d8f0:	4c40 3003      	remul %d0,%d3,%d3                           <== NOT EXECUTED
      fat_capacity        = fatdata_cluster_cnt * 2;                  
   4d8f4:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   4d8f6:	d281           	addl %d1,%d1                                <== NOT EXECUTED
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
      fat_capacity        = fatdata_cluster_cnt * 4;                  
    }                                                                 
                                                                      
    sectors_per_fat = ((fat_capacity                                  
			+ (bytes_per_sector - 1))                                          
   4d8f8:	d288           	addl %a0,%d1                                
    else { /* FAT32 */                                                
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
      fat_capacity        = fatdata_cluster_cnt * 4;                  
    }                                                                 
                                                                      
    sectors_per_fat = ((fat_capacity                                  
   4d8fa:	4c44 1001      	remul %d4,%d1,%d1                           
			+ (bytes_per_sector - 1))                                          
		       / bytes_per_sector);                                         
                                                                      
    fat_sectors_cnt = loc_align_object (sectors_per_fat * fat_num,    
   4d8fe:	242e fd48      	movel %fp@(-696),%d2                        
   4d902:	4c02 1800      	mulsl %d2,%d1                               
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4d906:	2400           	movel %d0,%d2                               
   4d908:	5382           	subql #1,%d2                                
static uint32_t                                                       
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
   4d90a:	4a06           	tstb %d6                                    
   4d90c:	6608           	bnes 4d916 <msdos_format+0x72c>             
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4d90e:	2e00           	movel %d0,%d7                               
   4d910:	d282           	addl %d2,%d1                                
   4d912:	4487           	negl %d7                                    
   4d914:	c287           	andl %d7,%d1                                
                                        sectors_per_cluster,          
                                        skip_alignment);              
                                                                      
    *data_cluster_cnt = (fatdata_cluster_cnt -                        
			((fat_sectors_cnt                                                  
			  + (sectors_per_cluster - 1))                                     
   4d916:	d481           	addl %d1,%d2                                
			 / sectors_per_cluster));                                          
   4d918:	4c40 2002      	remul %d0,%d2,%d2                           
                                                                      
    fat_sectors_cnt = loc_align_object (sectors_per_fat * fat_num,    
                                        sectors_per_cluster,          
                                        skip_alignment);              
                                                                      
    *data_cluster_cnt = (fatdata_cluster_cnt -                        
   4d91c:	9682           	subl %d2,%d3                                
			  + (sectors_per_cluster - 1))                                     
			 / sectors_per_cluster));                                          
    /*                                                                
     * data cluster count too big? Then make clusters bigger          
     */                                                               
    if (((fattype == FAT_FAT12) && (*data_cluster_cnt > FAT_FAT12_MAX_CLN)) ||
   4d91e:	7401           	moveq #1,%d2                                
   4d920:	b485           	cmpl %d5,%d2                                
   4d922:	6700 02ec      	beqw 4dc10 <msdos_format+0xa26>             
   4d926:	7e02           	moveq #2,%d7                                <== NOT EXECUTED
   4d928:	be85           	cmpl %d5,%d7                                <== NOT EXECUTED
   4d92a:	6700 0330      	beqw 4dc5c <msdos_format+0xa72>             <== NOT EXECUTED
     */                                                               
    if (fattype == FAT_FAT12) {                                       
      if (MS_BYTES_PER_CLUSTER_LIMIT_FAT12 < (sectors_per_cluster * bytes_per_sector)) {
        finished = true;                                              
      }                                                               
    } else if ((sectors_per_cluster * bytes_per_sector)               
   4d92e:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
   4d930:	4c04 7800      	mulsl %d4,%d7                               <== NOT EXECUTED
    if (((fattype == FAT_FAT12) && (*data_cluster_cnt > FAT_FAT12_MAX_CLN)) ||
        ((fattype == FAT_FAT16) && (*data_cluster_cnt > FAT_FAT16_MAX_CLN))) {
      sectors_per_cluster *= 2;                                       
    }                                                                 
    else {                                                            
      finished = true;                                                
   4d934:	7401           	moveq #1,%d2                                <== NOT EXECUTED
     */                                                               
    if (fattype == FAT_FAT12) {                                       
      if (MS_BYTES_PER_CLUSTER_LIMIT_FAT12 < (sectors_per_cluster * bytes_per_sector)) {
        finished = true;                                              
      }                                                               
    } else if ((sectors_per_cluster * bytes_per_sector)               
   4d936:	0c87 0000 8000 	cmpil #32768,%d7                            <== NOT EXECUTED
   4d93c:	6300 02ee      	blsw 4dc2c <msdos_format+0xa42>             <== NOT EXECUTED
   4d940:	2e2e fd48      	movel %fp@(-696),%d7                        <== NOT EXECUTED
      finished = true;                                                
    }                                                                 
  } while (!finished);                                                
                                                                      
  *sectors_per_cluster_adj = sectors_per_cluster;                     
  *sectors_per_fat_ptr     = fat_sectors_cnt / fat_num;               
   4d944:	4c47 1001      	remul %d7,%d1,%d1                           <== NOT EXECUTED
                                                        fmt_params->sectors_per_cluster,
                                                        fmt_params->skip_alignment,
                                                        §ors_per_cluster_adj,
                                                        &fmt_params->sectors_per_fat,
                                                        &data_clusters_cnt);
        fmt_params->sectors_per_cluster = sectors_per_cluster_adj;    
   4d948:	2d40 fdbc      	movel %d0,%fp@(-580)                        <== NOT EXECUTED
      finished = true;                                                
    }                                                                 
  } while (!finished);                                                
                                                                      
  *sectors_per_cluster_adj = sectors_per_cluster;                     
  *sectors_per_fat_ptr     = fat_sectors_cnt / fat_num;               
   4d94c:	2d41 fdc0      	movel %d1,%fp@(-576)                        <== NOT EXECUTED
    ( MS_BYTES_PER_CLUSTER_LIMIT_FAT12 +1 ) / bytes_per_sector;       
  uint32_t ms_sectors_per_cluster_limit_FAT16 =                       
    ( MS_BYTES_PER_CLUSTER_LIMIT +1 ) / bytes_per_sector;             
  uint8_t fattype = FAT_FAT32;                                        
                                                                      
  if (   number_of_clusters < FAT_FAT12_MAX_CLN                       
   4d950:	0c83 0000 0ff4 	cmpil #4084,%d3                             <== NOT EXECUTED
   4d956:	6200 02f4      	bhiw 4dc4c <msdos_format+0xa62>             <== NOT EXECUTED
static uint8_t                                                        
msdos_get_fat_type( const uint32_t bytes_per_sector,                  
                    const uint32_t sectors_per_cluster,               
                    const uint32_t number_of_clusters )               
{                                                                     
  uint32_t ms_sectors_per_cluster_limit_FAT12 =                       
   4d95a:	223c 0000 1001 	movel #4097,%d1                             
   4d960:	4c44 1001      	remul %d4,%d1,%d1                           
  uint32_t ms_sectors_per_cluster_limit_FAT16 =                       
    ( MS_BYTES_PER_CLUSTER_LIMIT +1 ) / bytes_per_sector;             
  uint8_t fattype = FAT_FAT32;                                        
                                                                      
  if (   number_of_clusters < FAT_FAT12_MAX_CLN                       
      && sectors_per_cluster <= ms_sectors_per_cluster_limit_FAT12 ) {
   4d964:	b081           	cmpl %d1,%d0                                
   4d966:	6200 03cc      	bhiw 4dd34 <msdos_format+0xb4a>             
    fattype = FAT_FAT12;                                              
   4d96a:	7001           	moveq #1,%d0                                
          fmt_params->fattype = msdos_get_fat_type(                   
            fmt_params->bytes_per_sector,                             
            fmt_params->sectors_per_cluster,                          
            data_clusters_cnt );                                      
          /* Correct sectors per cluster to the fat type specific default value */
          if (fat_type != fmt_params->fattype) {                      
   4d96c:	4281           	clrl %d1                                    
   4d96e:	1200           	moveb %d0,%d1                               
        fmt_params->sectors_per_cluster = sectors_per_cluster_adj;    
        fat_type = fmt_params->fattype;                               
                                                                      
        /* Correct the FAT type according to the new data cluster count */
        if ( ret_val == 0 ) {                                         
          fmt_params->fattype = msdos_get_fat_type(                   
   4d970:	1d40 fde2      	moveb %d0,%fp@(-542)                        
            fmt_params->bytes_per_sector,                             
            fmt_params->sectors_per_cluster,                          
            data_clusters_cnt );                                      
          /* Correct sectors per cluster to the fat type specific default value */
          if (fat_type != fmt_params->fattype) {                      
   4d974:	b285           	cmpl %d5,%d1                                
   4d976:	6700 03fe      	beqw 4dd76 <msdos_format+0xb8c>             
msdos_set_default_sectors_per_cluster_for_fattype(                    
  msdos_format_param_t *fmt_params,                                   
  const uint64_t        total_size )                                  
{                                                                     
  if (   fmt_params->fattype == FAT_FAT12                             
      || fmt_params->fattype == FAT_FAT16 ) {                         
   4d97a:	5380           	subql #1,%d0                                <== NOT EXECUTED
static void                                                           
msdos_set_default_sectors_per_cluster_for_fattype(                    
  msdos_format_param_t *fmt_params,                                   
  const uint64_t        total_size )                                  
{                                                                     
  if (   fmt_params->fattype == FAT_FAT12                             
   4d97c:	7601           	moveq #1,%d3                                <== NOT EXECUTED
   4d97e:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   4d984:	b680           	cmpl %d0,%d3                                <== NOT EXECUTED
   4d986:	6400 05ee      	bccw 4df76 <msdos_format+0xd8c>             <== NOT EXECUTED
    #define ONE_GB ( 1024L * 1024L * 1024L )                          
    uint32_t gigs = ( total_size + ONE_GB ) / ONE_GB;                 
    int b;                                                            
    /* scale with the size of disk... */                              
    for ( b = 31; b > 0; b-- ) {                                      
      if ( (gigs & ( 1 << b) ) != 0 )                                 
   4d98a:	282e fd5c      	movel %fp@(-676),%d4                        <== NOT EXECUTED
static void                                                           
msdos_set_default_sectors_per_cluster_for_fattype(                    
  msdos_format_param_t *fmt_params,                                   
  const uint64_t        total_size )                                  
{                                                                     
  if (   fmt_params->fattype == FAT_FAT12                             
   4d98e:	701f           	moveq #31,%d0                               <== NOT EXECUTED
    #define ONE_GB ( 1024L * 1024L * 1024L )                          
    uint32_t gigs = ( total_size + ONE_GB ) / ONE_GB;                 
    int b;                                                            
    /* scale with the size of disk... */                              
    for ( b = 31; b > 0; b-- ) {                                      
      if ( (gigs & ( 1 << b) ) != 0 )                                 
   4d990:	7601           	moveq #1,%d3                                <== NOT EXECUTED
   4d992:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   4d994:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
  else {                                                              
    #define ONE_GB ( 1024L * 1024L * 1024L )                          
    uint32_t gigs = ( total_size + ONE_GB ) / ONE_GB;                 
    int b;                                                            
    /* scale with the size of disk... */                              
    for ( b = 31; b > 0; b-- ) {                                      
   4d996:	5380           	subql #1,%d0                                <== NOT EXECUTED
      if ( (gigs & ( 1 << b) ) != 0 )                                 
   4d998:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   4d99a:	c484           	andl %d4,%d2                                <== NOT EXECUTED
   4d99c:	6606           	bnes 4d9a4 <msdos_format+0x7ba>             <== NOT EXECUTED
  else {                                                              
    #define ONE_GB ( 1024L * 1024L * 1024L )                          
    uint32_t gigs = ( total_size + ONE_GB ) / ONE_GB;                 
    int b;                                                            
    /* scale with the size of disk... */                              
    for ( b = 31; b > 0; b-- ) {                                      
   4d99e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4d9a0:	66f0           	bnes 4d992 <msdos_format+0x7a8>             <== NOT EXECUTED
   4d9a2:	7201           	moveq #1,%d1                                <== NOT EXECUTED
      if ( (gigs & ( 1 << b) ) != 0 )                                 
        break;                                                        
    }                                                                 
    fmt_params->sectors_per_cluster = 1 << b;                         
   4d9a4:	2d41 fdbc      	movel %d1,%fp@(-580)                        <== NOT EXECUTED
            data_clusters_cnt );                                      
          /* Correct sectors per cluster to the fat type specific default value */
          if (fat_type != fmt_params->fattype) {                      
            msdos_set_default_sectors_per_cluster_for_fattype( fmt_params,
                                                               total_size );
            ret_val = msdos_set_sectors_per_cluster_from_request( rqdata,
   4d9a8:	2f2e fd54      	movel %fp@(-684),%sp@-                      <== NOT EXECUTED
   4d9ac:	486e fdb0      	pea %fp@(-592)                              <== NOT EXECUTED
   4d9b0:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   4d9b2:	4eba f7be      	jsr %pc@(4d172 <msdos_set_sectors_per_cluster_from_request.isra.1>)<== NOT EXECUTED
                                                                  fmt_params );
          }                                                           
        }                                                             
        if (fat_type != fmt_params->fattype && 1 < iteration_cnt) {   
   4d9b6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   4d9ba:	4281           	clrl %d1                                    <== NOT EXECUTED
   4d9bc:	122e fde2      	moveb %fp@(-542),%d1                        <== NOT EXECUTED
   4d9c0:	b285           	cmpl %d5,%d1                                <== NOT EXECUTED
   4d9c2:	6700 05d0      	beqw 4df94 <msdos_format+0xdaa>             <== NOT EXECUTED
   4d9c6:	4282           	clrl %d2                                    <== NOT EXECUTED
   4d9c8:	7e01           	moveq #1,%d7                                <== NOT EXECUTED
   4d9ca:	3c0a           	movew %a2,%d6                               <== NOT EXECUTED
          --fmt_params->totl_sector_cnt;                              
   4d9cc:	226e fdb4      	moveal %fp@(-588),%a1                       <== NOT EXECUTED
                                                               total_size );
            ret_val = msdos_set_sectors_per_cluster_from_request( rqdata,
                                                                  fmt_params );
          }                                                           
        }                                                             
        if (fat_type != fmt_params->fattype && 1 < iteration_cnt) {   
   4d9d0:	1406           	moveb %d6,%d2                               <== NOT EXECUTED
   4d9d2:	be82           	cmpl %d2,%d7                                <== NOT EXECUTED
   4d9d4:	6406           	bccs 4d9dc <msdos_format+0x7f2>             <== NOT EXECUTED
          --fmt_params->totl_sector_cnt;                              
   4d9d6:	5389           	subql #1,%a1                                <== NOT EXECUTED
   4d9d8:	2d49 fdb4      	movel %a1,%fp@(-588)                        <== NOT EXECUTED
        }                                                             
                                                                      
      }                                                               
                                                                      
      ++iteration_cnt;                                                
   4d9dc:	528a           	addql #1,%a2                                <== NOT EXECUTED
    if (ret_val == 0) {                                               
      data_clusters_cnt =                                             
        fmt_params->totl_sector_cnt / fmt_params->sectors_per_cluster;
    }                                                                 
                                                                      
    while(   ret_val == 0                                             
   4d9de:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4d9e0:	6600 057e      	bnew 4df60 <msdos_format+0xd76>             <== NOT EXECUTED
          && fmt_params->fattype != fat_type                          
   4d9e4:	b285           	cmpl %d5,%d1                                <== NOT EXECUTED
   4d9e6:	6700 038e      	beqw 4dd76 <msdos_format+0xb8c>             <== NOT EXECUTED
          && fmt_params->totl_sector_cnt > 0 ) {                      
   4d9ea:	4a89           	tstl %a1                                    <== NOT EXECUTED
   4d9ec:	6600 fe26      	bnew 4d814 <msdos_format+0x62a>             <== NOT EXECUTED
   4d9f0:	266e fd50      	moveal %fp@(-688),%a3                       <== NOT EXECUTED
      ++iteration_cnt;                                                
    }                                                                 
  }                                                                   
  if ( fmt_params->totl_sector_cnt == 0 )                             
  {                                                                   
    errno = EINVAL;                                                   
   4d9f4:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4d9fa:	7c16           	moveq #22,%d6                               <== NOT EXECUTED
    ret_val = -1;                                                     
   4d9fc:	7eff           	moveq #-1,%d7                               <== NOT EXECUTED
      ++iteration_cnt;                                                
    }                                                                 
  }                                                                   
  if ( fmt_params->totl_sector_cnt == 0 )                             
  {                                                                   
    errno = EINVAL;                                                   
   4d9fe:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4da00:	242e fdb8      	movel %fp@(-584),%d2                        <== NOT EXECUTED
   4da04:	2086           	movel %d6,%a0@                              <== NOT EXECUTED
   4da06:	6000 f8fc      	braw 4d304 <msdos_format+0x11a>             <== NOT EXECUTED
   * if requested, write whole disk/partition with 0xe5               
   */                                                                 
  if ((ret_val == 0) &&                                               
      (rqdata != NULL) &&                                             
      !(rqdata->quick_format)) {                                      
    ret_val = msdos_format_fill_sectors                               
   4da0a:	4878 ffe5      	pea ffffffe5 <DBL_MIN_EXP+0x3e2>            
   4da0e:	2f2e fdb0      	movel %fp@(-592),%sp@-                      
   4da12:	2f2e fdb4      	movel %fp@(-588),%sp@-                      
   4da16:	42a7           	clrl %sp@-                                  
   4da18:	2f0b           	movel %a3,%sp@-                             
   4da1a:	2f0c           	movel %a4,%sp@-                             
   4da1c:	4eba f5ac      	jsr %pc@(4cfca <msdos_format_fill_sectors>) 
  }                                                                   
                                                                      
  /*                                                                  
   * create master boot record                                        
   */                                                                 
  if (ret_val == 0) {                                                 
   4da20:	4fef 0018      	lea %sp@(24),%sp                            
   * if requested, write whole disk/partition with 0xe5               
   */                                                                 
  if ((ret_val == 0) &&                                               
      (rqdata != NULL) &&                                             
      !(rqdata->quick_format)) {                                      
    ret_val = msdos_format_fill_sectors                               
   4da24:	2e00           	movel %d0,%d7                               
  }                                                                   
                                                                      
  /*                                                                  
   * create master boot record                                        
   */                                                                 
  if (ret_val == 0) {                                                 
   4da26:	6700 f9ae      	beqw 4d3d6 <msdos_format+0x1ec>             
  /*                                                                  
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
   4da2a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4da2c:	b08b           	cmpl %a3,%d0                                <== NOT EXECUTED
   4da2e:	6700 f854      	beqw 4d284 <msdos_format+0x9a>              <== NOT EXECUTED
   4da32:	6000 f87e      	braw 4d2b2 <msdos_format+0xc8>              <== NOT EXECUTED
  }                                                                   
  /*                                                                  
   * write volume label to first entry of directory                   
   */                                                                 
  if ((ret_val == 0) && fmt_params.VolLabel_present) {                
    memset(tmp_sec,0,sizeof(tmp_sec));                                
   4da36:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                
    memcpy(MSDOS_DIR_NAME(tmp_sec),fmt_params.VolLabel,MSDOS_SHORT_NAME_LEN);
    *MSDOS_DIR_ATTR(tmp_sec) = MSDOS_ATTR_VOLUME_ID;                  
   4da3a:	7808           	moveq #8,%d4                                
  }                                                                   
  /*                                                                  
   * write volume label to first entry of directory                   
   */                                                                 
  if ((ret_val == 0) && fmt_params.VolLabel_present) {                
    memset(tmp_sec,0,sizeof(tmp_sec));                                
   4da3c:	42a7           	clrl %sp@-                                  
   4da3e:	2f0a           	movel %a2,%sp@-                             
   4da40:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
    memcpy(MSDOS_DIR_NAME(tmp_sec),fmt_params.VolLabel,MSDOS_SHORT_NAME_LEN);
   4da46:	204a           	moveal %a2,%a0                              
   4da48:	20ee fdec      	movel %fp@(-532),%a0@+                      
   4da4c:	20ee fdf0      	movel %fp@(-528),%a0@+                      
   4da50:	30ee fdf4      	movew %fp@(-524),%a0@+                      
   4da54:	10ae fdf6      	moveb %fp@(-522),%a0@                       
    *MSDOS_DIR_ATTR(tmp_sec) = MSDOS_ATTR_VOLUME_ID;                  
   4da58:	1d44 fe0b      	moveb %d4,%fp@(-501)                        
    ret_val = msdos_format_write_sec                                  
   4da5c:	2f0a           	movel %a2,%sp@-                             
   4da5e:	2f2e fdb0      	movel %fp@(-592),%sp@-                      
   4da62:	2043           	moveal %d3,%a0                              
   4da64:	2f2e fdd0      	movel %fp@(-560),%sp@-                      
   4da68:	2f0b           	movel %a3,%sp@-                             
   4da6a:	4e90           	jsr %a0@                                    
  /*                                                                  
   * write FAT entry 0 as (0xffffff00|Media_type)EOC,                 
   * write FAT entry 1 as EOC                                         
   * allocate directory in a FAT32 FS                                 
   */                                                                 
  if (ret_val == 0) {                                                 
   4da6c:	4fef 001c      	lea %sp@(28),%sp                            
   */                                                                 
  if ((ret_val == 0) && fmt_params.VolLabel_present) {                
    memset(tmp_sec,0,sizeof(tmp_sec));                                
    memcpy(MSDOS_DIR_NAME(tmp_sec),fmt_params.VolLabel,MSDOS_SHORT_NAME_LEN);
    *MSDOS_DIR_ATTR(tmp_sec) = MSDOS_ATTR_VOLUME_ID;                  
    ret_val = msdos_format_write_sec                                  
   4da70:	2e00           	movel %d0,%d7                               
  /*                                                                  
   * write FAT entry 0 as (0xffffff00|Media_type)EOC,                 
   * write FAT entry 1 as EOC                                         
   * allocate directory in a FAT32 FS                                 
   */                                                                 
  if (ret_val == 0) {                                                 
   4da72:	6700 fbb2      	beqw 4d626 <msdos_format+0x43c>             
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
    close(fd);                                                        
   4da76:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   4da78:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
   4da7e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4da80:	6000 f83a      	braw 4d2bc <msdos_format+0xd2>              <== NOT EXECUTED
\*=========================================================================*/
{                                                                     
  /*                                                                  
   * clear fsinfo sector data                                         
   */                                                                 
  memset(fsinfo,0,FAT_TOTAL_FSINFO_SIZE);                             
   4da84:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                <== NOT EXECUTED
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
  FAT_SET_FSINFO_STRUC_SIGNATURE(fsinfo,FAT_FSINFO_STRUC_SIGNATURE_VALUE);
   4da88:	7872           	moveq #114,%d4                              <== NOT EXECUTED
\*=========================================================================*/
{                                                                     
  /*                                                                  
   * clear fsinfo sector data                                         
   */                                                                 
  memset(fsinfo,0,FAT_TOTAL_FSINFO_SIZE);                             
   4da8a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
  FAT_SET_FSINFO_STRUC_SIGNATURE(fsinfo,FAT_FSINFO_STRUC_SIGNATURE_VALUE);
  FAT_SET_FSINFO_TRAIL_SIGNATURE(fsinfo,FAT_FSINFO_TRAIL_SIGNATURE_VALUE);
   4da8c:	7eaa           	moveq #-86,%d7                              <== NOT EXECUTED
\*=========================================================================*/
{                                                                     
  /*                                                                  
   * clear fsinfo sector data                                         
   */                                                                 
  memset(fsinfo,0,FAT_TOTAL_FSINFO_SIZE);                             
   4da8e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
  FAT_SET_FSINFO_STRUC_SIGNATURE(fsinfo,FAT_FSINFO_STRUC_SIGNATURE_VALUE);
  FAT_SET_FSINFO_TRAIL_SIGNATURE(fsinfo,FAT_FSINFO_TRAIL_SIGNATURE_VALUE);
   4da90:	7c55           	moveq #85,%d6                               <== NOT EXECUTED
\*=========================================================================*/
{                                                                     
  /*                                                                  
   * clear fsinfo sector data                                         
   */                                                                 
  memset(fsinfo,0,FAT_TOTAL_FSINFO_SIZE);                             
   4da92:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          <== NOT EXECUTED
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
   4da98:	7052           	moveq #82,%d0                               <== NOT EXECUTED
  /*                                                                  
   * write fsinfo sector                                              
   */                                                                 
  if ((ret_val == 0) &&                                               
      (fmt_params.fsinfo_sec != 0)) {                                 
    ret_val = msdos_format_write_sec(fd,                              
   4da9a:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   4da9c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4da9e:	2f2e fdb0      	movel %fp@(-592),%sp@-                      <== NOT EXECUTED
   */                                                                 
  memset(fsinfo,0,FAT_TOTAL_FSINFO_SIZE);                             
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
   4daa2:	1d40 fe00      	moveb %d0,%fp@(-512)                        <== NOT EXECUTED
  /*                                                                  
   * write fsinfo sector                                              
   */                                                                 
  if ((ret_val == 0) &&                                               
      (fmt_params.fsinfo_sec != 0)) {                                 
    ret_val = msdos_format_write_sec(fd,                              
   4daa6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   */                                                                 
  memset(fsinfo,0,FAT_TOTAL_FSINFO_SIZE);                             
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
   4daa8:	1d40 fe01      	moveb %d0,%fp@(-511)                        <== NOT EXECUTED
  FAT_SET_FSINFO_STRUC_SIGNATURE(fsinfo,FAT_FSINFO_STRUC_SIGNATURE_VALUE);
  FAT_SET_FSINFO_TRAIL_SIGNATURE(fsinfo,FAT_FSINFO_TRAIL_SIGNATURE_VALUE);
  /*                                                                  
   * write "empty" values for free cluster count and next cluster number
   */                                                                 
  FAT_SET_FSINFO_FREE_CLUSTER_COUNT(fsinfo+FAT_FSI_INFO,              
   4daac:	50c0           	st %d0                                      <== NOT EXECUTED
   */                                                                 
  memset(fsinfo,0,FAT_TOTAL_FSINFO_SIZE);                             
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
   4daae:	7261           	moveq #97,%d1                               <== NOT EXECUTED
   4dab0:	7441           	moveq #65,%d2                               <== NOT EXECUTED
  /*                                                                  
   * write fsinfo sector                                              
   */                                                                 
  if ((ret_val == 0) &&                                               
      (fmt_params.fsinfo_sec != 0)) {                                 
    ret_val = msdos_format_write_sec(fd,                              
   4dab2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
  FAT_SET_FSINFO_STRUC_SIGNATURE(fsinfo,FAT_FSINFO_STRUC_SIGNATURE_VALUE);
  FAT_SET_FSINFO_TRAIL_SIGNATURE(fsinfo,FAT_FSINFO_TRAIL_SIGNATURE_VALUE);
   4dab4:	1d47 ffff      	moveb %d7,%fp@(-1)                          <== NOT EXECUTED
   */                                                                 
  memset(fsinfo,0,FAT_TOTAL_FSINFO_SIZE);                             
  /*                                                                  
   * write LEADSIG, STRUCTSIG, TRAILSIG                               
   */                                                                 
  FAT_SET_FSINFO_LEAD_SIGNATURE (fsinfo,FAT_FSINFO_LEAD_SIGNATURE_VALUE );
   4dab8:	1d41 fe02      	moveb %d1,%fp@(-510)                        <== NOT EXECUTED
   4dabc:	1d42 fe03      	moveb %d2,%fp@(-509)                        <== NOT EXECUTED
  FAT_SET_FSINFO_STRUC_SIGNATURE(fsinfo,FAT_FSINFO_STRUC_SIGNATURE_VALUE);
   4dac0:	1d44 ffe4      	moveb %d4,%fp@(-28)                         <== NOT EXECUTED
   4dac4:	1d44 ffe5      	moveb %d4,%fp@(-27)                         <== NOT EXECUTED
   4dac8:	1d42 ffe6      	moveb %d2,%fp@(-26)                         <== NOT EXECUTED
   4dacc:	1d41 ffe7      	moveb %d1,%fp@(-25)                         <== NOT EXECUTED
  FAT_SET_FSINFO_TRAIL_SIGNATURE(fsinfo,FAT_FSINFO_TRAIL_SIGNATURE_VALUE);
   4dad0:	1d46 fffe      	moveb %d6,%fp@(-2)                          <== NOT EXECUTED
  /*                                                                  
   * write "empty" values for free cluster count and next cluster number
   */                                                                 
  FAT_SET_FSINFO_FREE_CLUSTER_COUNT(fsinfo+FAT_FSI_INFO,              
   4dad4:	1d40 ffe8      	moveb %d0,%fp@(-24)                         <== NOT EXECUTED
   4dad8:	1d40 ffe9      	moveb %d0,%fp@(-23)                         <== NOT EXECUTED
   4dadc:	1d40 ffea      	moveb %d0,%fp@(-22)                         <== NOT EXECUTED
   4dae0:	1d40 ffeb      	moveb %d0,%fp@(-21)                         <== NOT EXECUTED
				    0xffffffff);                                                  
  FAT_SET_FSINFO_NEXT_FREE_CLUSTER (fsinfo+FAT_FSI_INFO,              
   4dae4:	1d40 ffec      	moveb %d0,%fp@(-20)                         <== NOT EXECUTED
   4dae8:	1d40 ffed      	moveb %d0,%fp@(-19)                         <== NOT EXECUTED
   4daec:	1d40 ffee      	moveb %d0,%fp@(-18)                         <== NOT EXECUTED
   4daf0:	1d40 ffef      	moveb %d0,%fp@(-17)                         <== NOT EXECUTED
  /*                                                                  
   * write fsinfo sector                                              
   */                                                                 
  if ((ret_val == 0) &&                                               
      (fmt_params.fsinfo_sec != 0)) {                                 
    ret_val = msdos_format_write_sec(fd,                              
   4daf4:	4e90           	jsr %a0@                                    <== NOT EXECUTED
  }                                                                   
  /*                                                                  
   * write FAT as all empty                                           
   * -> write all FAT sectors as zero                                 
   */                                                                 
  if (ret_val == 0) {                                                 
   4daf6:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
  /*                                                                  
   * write fsinfo sector                                              
   */                                                                 
  if ((ret_val == 0) &&                                               
      (fmt_params.fsinfo_sec != 0)) {                                 
    ret_val = msdos_format_write_sec(fd,                              
   4dafa:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
  }                                                                   
  /*                                                                  
   * write FAT as all empty                                           
   * -> write all FAT sectors as zero                                 
   */                                                                 
  if (ret_val == 0) {                                                 
   4dafc:	6700 fad4      	beqw 4d5d2 <msdos_format+0x3e8>             <== NOT EXECUTED
  /*                                                                  
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
   4db00:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4db02:	b08b           	cmpl %a3,%d0                                <== NOT EXECUTED
   4db04:	6700 f77e      	beqw 4d284 <msdos_format+0x9a>              <== NOT EXECUTED
   4db08:	6000 f7a8      	braw 4d2b2 <msdos_format+0xc8>              <== NOT EXECUTED
      FAT_SET_VAL16(tmp_sec,2,FAT_FAT16_EOC);                         
      break;                                                          
                                                                      
    case FAT_FAT32:                                                   
      /* FAT entry 0: 0xffffff00|media_type */                        
      FAT_SET_VAL32(tmp_sec,0,0xffffff00|fmt_params.media_code);      
   4db0c:	50c6           	st %d6                                      <== NOT EXECUTED
      /* FAT entry 1: EOC */                                          
      FAT_SET_VAL32(tmp_sec,4,FAT_FAT32_EOC);                         
   4db0e:	7ef8           	moveq #-8,%d7                               <== NOT EXECUTED
   4db10:	700f           	moveq #15,%d0                               <== NOT EXECUTED
      FAT_SET_VAL16(tmp_sec,2,FAT_FAT16_EOC);                         
      break;                                                          
                                                                      
    case FAT_FAT32:                                                   
      /* FAT entry 0: 0xffffff00|media_type */                        
      FAT_SET_VAL32(tmp_sec,0,0xffffff00|fmt_params.media_code);      
   4db12:	1d6e fde1 fe00 	moveb %fp@(-543),%fp@(-512)                 <== NOT EXECUTED
   4db18:	1d46 fe01      	moveb %d6,%fp@(-511)                        <== NOT EXECUTED
   4db1c:	1d46 fe02      	moveb %d6,%fp@(-510)                        <== NOT EXECUTED
   4db20:	1d46 fe03      	moveb %d6,%fp@(-509)                        <== NOT EXECUTED
      /* FAT entry 1: EOC */                                          
      FAT_SET_VAL32(tmp_sec,4,FAT_FAT32_EOC);                         
   4db24:	1d47 fe04      	moveb %d7,%fp@(-508)                        <== NOT EXECUTED
   4db28:	1d46 fe05      	moveb %d6,%fp@(-507)                        <== NOT EXECUTED
   4db2c:	1d46 fe06      	moveb %d6,%fp@(-506)                        <== NOT EXECUTED
   4db30:	1d40 fe07      	moveb %d0,%fp@(-505)                        <== NOT EXECUTED
      /*                                                              
       * only first valid cluster (cluster number 2) belongs          
       * to root directory, and is end of chain                       
       * mark this in every copy of the FAT                           
       */                                                             
      FAT_SET_VAL32(tmp_sec,8,FAT_FAT32_EOC);                         
   4db34:	50c6           	st %d6                                      <== NOT EXECUTED
   4db36:	78f8           	moveq #-8,%d4                               <== NOT EXECUTED
   4db38:	7e0f           	moveq #15,%d7                               <== NOT EXECUTED
   4db3a:	1d44 fe08      	moveb %d4,%fp@(-504)                        <== NOT EXECUTED
   4db3e:	1d46 fe09      	moveb %d6,%fp@(-503)                        <== NOT EXECUTED
   4db42:	1d46 fe0a      	moveb %d6,%fp@(-502)                        <== NOT EXECUTED
   4db46:	1d47 fe0b      	moveb %d7,%fp@(-501)                        <== NOT EXECUTED
   4db4a:	6000 fb26      	braw 4d672 <msdos_format+0x488>             <== NOT EXECUTED
   4db4e:	5381           	subql #1,%d1                                
	/*                                                                   
	 * non-printable character in given name, so keep stuck              
	 * at that character and replace all following characters            
	 * with a ' '                                                        
	 */                                                                  
	*to++=' ';                                                           
   4db50:	10fc 0020      	moveb #32,%a0@+                             
      }                                                               
      *to = '\0';                                                     
   4db54:	4210           	clrb %a0@                                   
    if ((rqdata != NULL) &&                                           
	(rqdata->VolLabel != NULL)) {                                        
      from = rqdata->VolLabel;                                        
      fmt_params->VolLabel_present = true;                            
    }                                                                 
    for (cnt = 0;                                                     
   4db56:	4a81           	tstl %d1                                    
   4db58:	6600 f830      	bnew 4d38a <msdos_format+0x1a0>             
   4db5c:	6000 f84e      	braw 4d3ac <msdos_format+0x1c2>             
	/*                                                                   
	 * non-printable character in given name, so keep stuck              
	 * at that character and replace all following characters            
	 * with a ' '                                                        
	 */                                                                  
	*to++=' ';                                                           
   4db60:	10fc 0020      	moveb #32,%a0@+                             
   4db64:	6000 f7fc      	braw 4d362 <msdos_format+0x178>             
      }                                                               
                                                                      
      ++iteration_cnt;                                                
    }                                                                 
  }                                                                   
  if ( fmt_params->totl_sector_cnt == 0 )                             
   4db68:	7eff           	moveq #-1,%d7                               <== NOT EXECUTED
  /*                                                                  
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
   4db6a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4db6c:	b08b           	cmpl %a3,%d0                                <== NOT EXECUTED
   4db6e:	6700 f714      	beqw 4d284 <msdos_format+0x9a>              <== NOT EXECUTED
   4db72:	6000 f73e      	braw 4d2b2 <msdos_format+0xc8>              <== NOT EXECUTED
    /*                                                                
     * for FAT32: root directory is in cluster 2                      
     */                                                               
    fmt_params->root_dir_start_sec =                                  
      fmt_params->rsvd_sector_cnt                                     
      + (fmt_params-> fat_num*fmt_params->sectors_per_fat);           
   4db76:	4280           	clrl %d0                                    <== NOT EXECUTED
   4db78:	102e fde0      	moveb %fp@(-544),%d0                        <== NOT EXECUTED
   4db7c:	4bee fdc0      	lea %fp@(-576),%a5                          <== NOT EXECUTED
   4db80:	4c15 0800      	mulsl %a5@,%d0                              <== NOT EXECUTED
    fmt_params->root_dir_fmt_sec_cnt = fmt_params->sectors_per_cluster;
   4db84:	2d6e fdbc fdd4 	movel %fp@(-580),%fp@(-556)                 <== NOT EXECUTED
    /*                                                                
     * for FAT32: root directory is in cluster 2                      
     */                                                               
    fmt_params->root_dir_start_sec =                                  
      fmt_params->rsvd_sector_cnt                                     
      + (fmt_params-> fat_num*fmt_params->sectors_per_fat);           
   4db8a:	d480           	addl %d0,%d2                                <== NOT EXECUTED
   4db8c:	2d42 fdd0      	movel %d2,%fp@(-560)                        <== NOT EXECUTED
   4db90:	6000 f792      	braw 4d324 <msdos_format+0x13a>             <== NOT EXECUTED
      break;                                                          
                                                                      
    case FAT_FAT16:                                                   
      /* FAT entry 0: 0xff00|media_type */                            
      FAT_SET_VAL8(tmp_sec,0,fmt_params.media_code);                  
      FAT_SET_VAL8(tmp_sec,1,0xff);                                   
   4db94:	50c1           	st %d1                                      <== NOT EXECUTED
      /* FAT entry 1: EOC */                                          
      FAT_SET_VAL16(tmp_sec,2,FAT_FAT16_EOC);                         
   4db96:	78f8           	moveq #-8,%d4                               <== NOT EXECUTED
      FAT_SET_VAL8(tmp_sec,2,(FAT_FAT12_EOC >> 4));                   
      break;                                                          
                                                                      
    case FAT_FAT16:                                                   
      /* FAT entry 0: 0xff00|media_type */                            
      FAT_SET_VAL8(tmp_sec,0,fmt_params.media_code);                  
   4db98:	1d6e fde1 fe00 	moveb %fp@(-543),%fp@(-512)                 <== NOT EXECUTED
      FAT_SET_VAL8(tmp_sec,1,0xff);                                   
   4db9e:	1d41 fe01      	moveb %d1,%fp@(-511)                        <== NOT EXECUTED
      /* FAT entry 1: EOC */                                          
      FAT_SET_VAL16(tmp_sec,2,FAT_FAT16_EOC);                         
   4dba2:	1d44 fe02      	moveb %d4,%fp@(-510)                        <== NOT EXECUTED
   4dba6:	1d41 fe03      	moveb %d1,%fp@(-509)                        <== NOT EXECUTED
      break;                                                          
   4dbaa:	6000 fac6      	braw 4d672 <msdos_format+0x488>             <== NOT EXECUTED
    switch(fmt_params.fattype) {                                      
    case FAT_FAT12:                                                   
      /* LSBits of FAT entry 0: media_type */                         
      FAT_SET_VAL8(tmp_sec,0,(fmt_params.media_code));                
      /* MSBits of FAT entry 0:0xf, LSBits of FAT entry 1: LSB of EOC */
      FAT_SET_VAL8(tmp_sec,1,(0x0f | (FAT_FAT12_EOC << 4)));          
   4dbae:	7e8f           	moveq #-113,%d7                             
      /* MSBits of FAT entry 1: MSBits of EOC */                      
      FAT_SET_VAL8(tmp_sec,2,(FAT_FAT12_EOC >> 4));                   
   4dbb0:	50c0           	st %d0                                      
    memset(tmp_sec,0,sizeof(tmp_sec));                                
                                                                      
    switch(fmt_params.fattype) {                                      
    case FAT_FAT12:                                                   
      /* LSBits of FAT entry 0: media_type */                         
      FAT_SET_VAL8(tmp_sec,0,(fmt_params.media_code));                
   4dbb2:	1d6e fde1 fe00 	moveb %fp@(-543),%fp@(-512)                 
      /* MSBits of FAT entry 0:0xf, LSBits of FAT entry 1: LSB of EOC */
      FAT_SET_VAL8(tmp_sec,1,(0x0f | (FAT_FAT12_EOC << 4)));          
   4dbb8:	1d47 fe01      	moveb %d7,%fp@(-511)                        
      /* MSBits of FAT entry 1: MSBits of EOC */                      
      FAT_SET_VAL8(tmp_sec,2,(FAT_FAT12_EOC >> 4));                   
   4dbbc:	1d40 fe02      	moveb %d0,%fp@(-510)                        
      break;                                                          
   4dbc0:	6000 fab0      	braw 4d672 <msdos_format+0x488>             
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0)                                                   
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4dbc4:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4dbc8:	4879 0006 9c1f 	pea 69c1f <_CPU_m68k_BFFFO_table+0x188>     
   4dbce:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   * determine number of FATs                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata == NULL) ||                                           
	(rqdata->fat_num == 0)) {                                            
      fmt_params->fat_num = 2;                                        
   4dbd2:	7c02           	moveq #2,%d6                                
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0)                                                   
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4dbd4:	2f0c           	movel %a4,%sp@-                             
   * determine number of FATs                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata == NULL) ||                                           
	(rqdata->fat_num == 0)) {                                            
      fmt_params->fat_num = 2;                                        
   4dbd6:	1d46 fde0      	moveb %d6,%fp@(-544)                        
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0)                                                   
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4dbda:	4eba f334      	jsr %pc@(4cf10 <msdos_format_printf>)       
  /*                                                                  
   * determine FAT type and sectors per cluster                       
   * depends on                                                       
   */                                                                 
  if (ret_val == 0) {                                                 
    fmt_params->sectors_per_cluster = 1;                              
   4dbde:	4fef 0010      	lea %sp@(16),%sp                            
   4dbe2:	6000 fba6      	braw 4d78a <msdos_format+0x5a0>             
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4dbe6:	240b           	movel %a3,%d2                               
   4dbe8:	2200           	movel %d0,%d1                               
   4dbea:	d480           	addl %d0,%d2                                
   4dbec:	4481           	negl %d1                                    
     * compute number of data clusters for current data:              
     * - compute cluster count for data AND fat                       
     * - compute storage size for FAT                                 
     * - subtract from total cluster count                            
     */                                                               
    fatdata_sect_cnt = total_sector_cnt                               
   4dbee:	2609           	movel %a1,%d3                               
      - loc_align_object (rsvd_sector_cnt, sectors_per_cluster, skip_alignment);
    if (fattype == FAT_FAT12) {                                       
   4dbf0:	7e01           	moveq #1,%d7                                
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4dbf2:	c481           	andl %d1,%d2                                
     * compute number of data clusters for current data:              
     * - compute cluster count for data AND fat                       
     * - compute storage size for FAT                                 
     * - subtract from total cluster count                            
     */                                                               
    fatdata_sect_cnt = total_sector_cnt                               
   4dbf4:	9682           	subl %d2,%d3                                
      - loc_align_object (rsvd_sector_cnt, sectors_per_cluster, skip_alignment);
    if (fattype == FAT_FAT12) {                                       
   4dbf6:	be85           	cmpl %d5,%d7                                
   4dbf8:	6700 0082      	beqw 4dc7c <msdos_format+0xa92>             
      fatdata_sect_cnt    = fatdata_sect_cnt                          
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
      fat_capacity        = fatdata_cluster_cnt * 3 / 2;              
    }                                                                 
    else if (fattype == FAT_FAT16) {                                  
   4dbfc:	7e02           	moveq #2,%d7                                <== NOT EXECUTED
   4dbfe:	be85           	cmpl %d5,%d7                                <== NOT EXECUTED
   4dc00:	6700 0096      	beqw 4dc98 <msdos_format+0xaae>             <== NOT EXECUTED
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
      fat_capacity        = fatdata_cluster_cnt * 2;                  
    }                                                                 
    else { /* FAT32 */                                                
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
   4dc04:	4c40 3003      	remul %d0,%d3,%d3                           <== NOT EXECUTED
      fat_capacity        = fatdata_cluster_cnt * 4;                  
   4dc08:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   4dc0a:	e589           	lsll #2,%d1                                 <== NOT EXECUTED
   4dc0c:	6000 fcea      	braw 4d8f8 <msdos_format+0x70e>             <== NOT EXECUTED
			  + (sectors_per_cluster - 1))                                     
			 / sectors_per_cluster));                                          
    /*                                                                
     * data cluster count too big? Then make clusters bigger          
     */                                                               
    if (((fattype == FAT_FAT12) && (*data_cluster_cnt > FAT_FAT12_MAX_CLN)) ||
   4dc10:	0c83 0000 0ff5 	cmpil #4085,%d3                             
   4dc16:	6304           	blss 4dc1c <msdos_format+0xa32>             <== ALWAYS TAKEN
        ((fattype == FAT_FAT16) && (*data_cluster_cnt > FAT_FAT16_MAX_CLN))) {
      sectors_per_cluster *= 2;                                       
   4dc18:	d080           	addl %d0,%d0                                <== NOT EXECUTED
   4dc1a:	4202           	clrb %d2                                    <== NOT EXECUTED
    }                                                                 
    /*                                                                
     * when maximum cluster size is exceeded, we have invalid data, abort...
     */                                                               
    if (fattype == FAT_FAT12) {                                       
      if (MS_BYTES_PER_CLUSTER_LIMIT_FAT12 < (sectors_per_cluster * bytes_per_sector)) {
   4dc1c:	2e00           	movel %d0,%d7                               
   4dc1e:	4c04 7800      	mulsl %d4,%d7                               
   4dc22:	0c87 0000 1000 	cmpil #4096,%d7                             
   4dc28:	6200 fd16      	bhiw 4d940 <msdos_format+0x756>             
      }                                                               
    } else if ((sectors_per_cluster * bytes_per_sector)               
	> MS_BYTES_PER_CLUSTER_LIMIT) {                                      
      finished = true;                                                
    }                                                                 
  } while (!finished);                                                
   4dc2c:	4a02           	tstb %d2                                    
   4dc2e:	6700 fca0      	beqw 4d8d0 <msdos_format+0x6e6>             
   4dc32:	2e2e fd48      	movel %fp@(-696),%d7                        
                                                                      
  *sectors_per_cluster_adj = sectors_per_cluster;                     
  *sectors_per_fat_ptr     = fat_sectors_cnt / fat_num;               
   4dc36:	4c47 1001      	remul %d7,%d1,%d1                           
                                                        fmt_params->sectors_per_cluster,
                                                        fmt_params->skip_alignment,
                                                        §ors_per_cluster_adj,
                                                        &fmt_params->sectors_per_fat,
                                                        &data_clusters_cnt);
        fmt_params->sectors_per_cluster = sectors_per_cluster_adj;    
   4dc3a:	2d40 fdbc      	movel %d0,%fp@(-580)                        
      finished = true;                                                
    }                                                                 
  } while (!finished);                                                
                                                                      
  *sectors_per_cluster_adj = sectors_per_cluster;                     
  *sectors_per_fat_ptr     = fat_sectors_cnt / fat_num;               
   4dc3e:	2d41 fdc0      	movel %d1,%fp@(-576)                        
    ( MS_BYTES_PER_CLUSTER_LIMIT_FAT12 +1 ) / bytes_per_sector;       
  uint32_t ms_sectors_per_cluster_limit_FAT16 =                       
    ( MS_BYTES_PER_CLUSTER_LIMIT +1 ) / bytes_per_sector;             
  uint8_t fattype = FAT_FAT32;                                        
                                                                      
  if (   number_of_clusters < FAT_FAT12_MAX_CLN                       
   4dc42:	0c83 0000 0ff4 	cmpil #4084,%d3                             
   4dc48:	6300 fd10      	blsw 4d95a <msdos_format+0x770>             
      && sectors_per_cluster <= ms_sectors_per_cluster_limit_FAT12 ) {
    fattype = FAT_FAT12;                                              
  }                                                                   
  else if (   number_of_clusters < FAT_FAT16_MAX_CLN                  
   4dc4c:	0c83 0000 fff4 	cmpil #65524,%d3                            <== NOT EXECUTED
   4dc52:	6300 00e0      	blsw 4dd34 <msdos_format+0xb4a>             <== NOT EXECUTED
{                                                                     
  uint32_t ms_sectors_per_cluster_limit_FAT12 =                       
    ( MS_BYTES_PER_CLUSTER_LIMIT_FAT12 +1 ) / bytes_per_sector;       
  uint32_t ms_sectors_per_cluster_limit_FAT16 =                       
    ( MS_BYTES_PER_CLUSTER_LIMIT +1 ) / bytes_per_sector;             
  uint8_t fattype = FAT_FAT32;                                        
   4dc56:	7004           	moveq #4,%d0                                <== NOT EXECUTED
   4dc58:	6000 fd12      	braw 4d96c <msdos_format+0x782>             <== NOT EXECUTED
			 / sectors_per_cluster));                                          
    /*                                                                
     * data cluster count too big? Then make clusters bigger          
     */                                                               
    if (((fattype == FAT_FAT12) && (*data_cluster_cnt > FAT_FAT12_MAX_CLN)) ||
        ((fattype == FAT_FAT16) && (*data_cluster_cnt > FAT_FAT16_MAX_CLN))) {
   4dc5c:	0c83 0000 fff5 	cmpil #65525,%d3                            <== NOT EXECUTED
   4dc62:	6300 fcca      	blsw 4d92e <msdos_format+0x744>             <== NOT EXECUTED
      sectors_per_cluster *= 2;                                       
   4dc66:	d080           	addl %d0,%d0                                <== NOT EXECUTED
   4dc68:	4202           	clrb %d2                                    <== NOT EXECUTED
     */                                                               
    if (fattype == FAT_FAT12) {                                       
      if (MS_BYTES_PER_CLUSTER_LIMIT_FAT12 < (sectors_per_cluster * bytes_per_sector)) {
        finished = true;                                              
      }                                                               
    } else if ((sectors_per_cluster * bytes_per_sector)               
   4dc6a:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
   4dc6c:	4c04 7800      	mulsl %d4,%d7                               <== NOT EXECUTED
   4dc70:	0c87 0000 8000 	cmpil #32768,%d7                            <== NOT EXECUTED
   4dc76:	6200 fcc8      	bhiw 4d940 <msdos_format+0x756>             <== NOT EXECUTED
   4dc7a:	60b0           	bras 4dc2c <msdos_format+0xa42>             <== NOT EXECUTED
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4dc7c:	242e fd60      	movel %fp@(-672),%d2                        
   4dc80:	d480           	addl %d0,%d2                                
   4dc82:	c481           	andl %d1,%d2                                
     * - subtract from total cluster count                            
     */                                                               
    fatdata_sect_cnt = total_sector_cnt                               
      - loc_align_object (rsvd_sector_cnt, sectors_per_cluster, skip_alignment);
    if (fattype == FAT_FAT12) {                                       
      fatdata_sect_cnt    = fatdata_sect_cnt                          
   4dc84:	9682           	subl %d2,%d3                                
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
   4dc86:	4c40 3003      	remul %d0,%d3,%d3                           
      fat_capacity        = fatdata_cluster_cnt * 3 / 2;              
   4dc8a:	2a43           	moveal %d3,%a5                              
   4dc8c:	4bf5 3a00      	lea %a5@(00000000,%d3:l:2),%a5              
   4dc90:	220d           	movel %a5,%d1                               
   4dc92:	e289           	lsrl #1,%d1                                 
   4dc94:	6000 fc62      	braw 4d8f8 <msdos_format+0x70e>             
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4dc98:	242e fd60      	movel %fp@(-672),%d2                        <== NOT EXECUTED
   4dc9c:	d480           	addl %d0,%d2                                <== NOT EXECUTED
   4dc9e:	c282           	andl %d2,%d1                                <== NOT EXECUTED
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
      fat_capacity        = fatdata_cluster_cnt * 3 / 2;              
    }                                                                 
    else if (fattype == FAT_FAT16) {                                  
      fatdata_sect_cnt    = fatdata_sect_cnt                          
   4dca0:	9681           	subl %d1,%d3                                <== NOT EXECUTED
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
   4dca2:	4c40 3003      	remul %d0,%d3,%d3                           <== NOT EXECUTED
      fat_capacity        = fatdata_cluster_cnt * 2;                  
   4dca6:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   4dca8:	d281           	addl %d1,%d1                                <== NOT EXECUTED
   4dcaa:	6000 fc4c      	braw 4d8f8 <msdos_format+0x70e>             <== NOT EXECUTED
          if ((rqdata != NULL) &&                                     
              (rqdata->files_per_root_dir > 0)) {                     
            fmt_params->files_per_root_dir = rqdata->files_per_root_dir;
          }                                                           
          else {                                                      
            if (fmt_params->fattype == FAT_FAT16) {                   
   4dcae:	7802           	moveq #2,%d4                                
   4dcb0:	b885           	cmpl %d5,%d4                                
   4dcb2:	6700 01be      	beqw 4de72 <msdos_format+0xc88>             
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
                                           (2*fmt_params->bytes_per_sector/
   4dcb6:	282e fdb0      	movel %fp@(-592),%d4                        
   4dcba:	2004           	movel %d4,%d0                               
          if ((rqdata != NULL) &&                                     
              (rqdata->files_per_root_dir > 0)) {                     
            fmt_params->files_per_root_dir = rqdata->files_per_root_dir;
          }                                                           
          else {                                                      
            if (fmt_params->fattype == FAT_FAT16) {                   
   4dcbc:	723f           	moveq #63,%d1                               
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
                                           (2*fmt_params->bytes_per_sector/
                                           FAT_DIRENTRY_SIZE-1));     
          fmt_params->files_per_root_dir -= (fmt_params->files_per_root_dir %
   4dcbe:	367c 0001      	moveaw #1,%a3                               
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
                                           (2*fmt_params->bytes_per_sector/
   4dcc2:	d080           	addl %d0,%d0                                
   4dcc4:	ea88           	lsrl #5,%d0                                 
            }                                                         
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
   4dcc6:	d280           	addl %d0,%d1                                
                                           (2*fmt_params->bytes_per_sector/
                                           FAT_DIRENTRY_SIZE-1));     
          fmt_params->files_per_root_dir -= (fmt_params->files_per_root_dir %
   4dcc8:	2c01           	movel %d1,%d6                               
   4dcca:	4c40 6002      	remul %d0,%d2,%d6                           
   4dcce:	9282           	subl %d2,%d1                                
   4dcd0:	2001           	movel %d1,%d0                               
   4dcd2:	2d41 fdc8      	movel %d1,%fp@(-568)                        
   4dcd6:	eb88           	lsll #5,%d0                                 
   4dcd8:	6000 fba0      	braw 4d87a <msdos_format+0x690>             
   4dcdc:	282e fdb0      	movel %fp@(-592),%d4                        <== NOT EXECUTED
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,     
                             "sectors per cluster: %d\n", fmt_params->sectors_per_cluster);
                                                                      
        if (fmt_params->fattype == FAT_FAT32) {                       
          /* recommended: for FAT32, always set reserved sector count to 32 */
          fmt_params->rsvd_sector_cnt = 32;                           
   4dce0:	7020           	moveq #32,%d0                               <== NOT EXECUTED
                                            /FAT_DIRENTRY_SIZE));     
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
          (((fmt_params->files_per_root_dir * FAT_DIRENTRY_SIZE)      
            + fmt_params->bytes_per_sector - 1)                       
   4dce2:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   4dce4:	5388           	subql #1,%a0                                <== NOT EXECUTED
          /* recommended: for FAT32, always set reserved sector count to 32 */
          fmt_params->rsvd_sector_cnt = 32;                           
          /* for FAT32, always set files per root directory 0 */      
          fmt_params->files_per_root_dir = 0;                         
          /* location of copy of MBR */                               
          fmt_params->mbr_copy_sec = 6;                               
   4dce6:	7206           	moveq #6,%d1                                <== NOT EXECUTED
          /* location of fsinfo sector */                             
          fmt_params->fsinfo_sec = 1;                                 
   4dce8:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   4dcea:	367c 0020      	moveaw #32,%a3                              <== NOT EXECUTED
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,     
                             "sectors per cluster: %d\n", fmt_params->sectors_per_cluster);
                                                                      
        if (fmt_params->fattype == FAT_FAT32) {                       
          /* recommended: for FAT32, always set reserved sector count to 32 */
          fmt_params->rsvd_sector_cnt = 32;                           
   4dcee:	2d40 fdb8      	movel %d0,%fp@(-584)                        <== NOT EXECUTED
          /* for FAT32, always set files per root directory 0 */      
          fmt_params->files_per_root_dir = 0;                         
          /* location of copy of MBR */                               
          fmt_params->mbr_copy_sec = 6;                               
          /* location of fsinfo sector */                             
          fmt_params->fsinfo_sec = 1;                                 
   4dcf2:	4200           	clrb %d0                                    <== NOT EXECUTED
                                            /FAT_DIRENTRY_SIZE));     
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
          (((fmt_params->files_per_root_dir * FAT_DIRENTRY_SIZE)      
            + fmt_params->bytes_per_sector - 1)                       
   4dcf4:	d088           	addl %a0,%d0                                <== NOT EXECUTED
           / fmt_params->bytes_per_sector);                           
   4dcf6:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
          /* recommended: for FAT32, always set reserved sector count to 32 */
          fmt_params->rsvd_sector_cnt = 32;                           
          /* for FAT32, always set files per root directory 0 */      
          fmt_params->files_per_root_dir = 0;                         
          /* location of copy of MBR */                               
          fmt_params->mbr_copy_sec = 6;                               
   4dcf8:	2d41 fdd8      	movel %d1,%fp@(-552)                        <== NOT EXECUTED
  uint32_t fatdata_sect_cnt;                                          
  uint32_t fat_sectors_cnt;                                           
  /*                                                                  
   * ensure, that maximum cluster size (32KByte) is not exceeded      
   */                                                                 
  while (MS_BYTES_PER_CLUSTER_LIMIT / bytes_per_sector < sectors_per_cluster) {
   4dcfc:	223c 0000 8000 	movel #32768,%d1                            <== NOT EXECUTED
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
          (((fmt_params->files_per_root_dir * FAT_DIRENTRY_SIZE)      
            + fmt_params->bytes_per_sector - 1)                       
           / fmt_params->bytes_per_sector);                           
   4dd02:	4c44 7007      	remul %d4,%d7,%d7                           <== NOT EXECUTED
  uint32_t fatdata_sect_cnt;                                          
  uint32_t fat_sectors_cnt;                                           
  /*                                                                  
   * ensure, that maximum cluster size (32KByte) is not exceeded      
   */                                                                 
  while (MS_BYTES_PER_CLUSTER_LIMIT / bytes_per_sector < sectors_per_cluster) {
   4dd06:	4c44 1001      	remul %d4,%d1,%d1                           <== NOT EXECUTED
      if (ret_val == 0) {                                             
        /*                                                            
         * check values to get legal arrangement of FAT type and cluster count
         */                                                           
                                                                      
        ret_val = msdos_format_eval_sectors_per_cluster(fmt_params->fattype,
   4dd0a:	202e fdbc      	movel %fp@(-580),%d0                        <== NOT EXECUTED
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
          (((fmt_params->files_per_root_dir * FAT_DIRENTRY_SIZE)      
            + fmt_params->bytes_per_sector - 1)                       
           / fmt_params->bytes_per_sector);                           
   4dd0e:	2d47 fd64      	movel %d7,%fp@(-668)                        <== NOT EXECUTED
      if (ret_val == 0) {                                             
        /*                                                            
         * check values to get legal arrangement of FAT type and cluster count
         */                                                           
                                                                      
        ret_val = msdos_format_eval_sectors_per_cluster(fmt_params->fattype,
   4dd12:	226e fdb4      	moveal %fp@(-588),%a1                       <== NOT EXECUTED
          fmt_params->files_per_root_dir -= (fmt_params->files_per_root_dir %
                                            (2*fmt_params->bytes_per_sector
                                            /FAT_DIRENTRY_SIZE));     
                                                                      
        }                                                             
        fmt_params->root_dir_sectors =                                
   4dd16:	2d47 fdcc      	movel %d7,%fp@(-564)                        <== NOT EXECUTED
                                                        fmt_params->totl_sector_cnt,
                                                        fmt_params->rsvd_sector_cnt,
                                                        fmt_params->root_dir_sectors,
                                                        fmt_params->fat_num,
                                                        fmt_params->sectors_per_cluster,
                                                        fmt_params->skip_alignment,
   4dd1a:	1c2e fdfe      	moveb %fp@(-514),%d6                        <== NOT EXECUTED
                                                                      
        if (fmt_params->fattype == FAT_FAT32) {                       
          /* recommended: for FAT32, always set reserved sector count to 32 */
          fmt_params->rsvd_sector_cnt = 32;                           
          /* for FAT32, always set files per root directory 0 */      
          fmt_params->files_per_root_dir = 0;                         
   4dd1e:	42ae fdc8      	clrl %fp@(-568)                             <== NOT EXECUTED
        ret_val = msdos_format_eval_sectors_per_cluster(fmt_params->fattype,
                                                        fmt_params->bytes_per_sector,
                                                        fmt_params->totl_sector_cnt,
                                                        fmt_params->rsvd_sector_cnt,
                                                        fmt_params->root_dir_sectors,
                                                        fmt_params->fat_num,
   4dd22:	1e2e fde0      	moveb %fp@(-544),%d7                        <== NOT EXECUTED
          /* for FAT32, always set files per root directory 0 */      
          fmt_params->files_per_root_dir = 0;                         
          /* location of copy of MBR */                               
          fmt_params->mbr_copy_sec = 6;                               
          /* location of fsinfo sector */                             
          fmt_params->fsinfo_sec = 1;                                 
   4dd26:	2d42 fddc      	movel %d2,%fp@(-548)                        <== NOT EXECUTED
  uint32_t fatdata_sect_cnt;                                          
  uint32_t fat_sectors_cnt;                                           
  /*                                                                  
   * ensure, that maximum cluster size (32KByte) is not exceeded      
   */                                                                 
  while (MS_BYTES_PER_CLUSTER_LIMIT / bytes_per_sector < sectors_per_cluster) {
   4dd2a:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   4dd2c:	6500 fb7e      	bcsw 4d8ac <msdos_format+0x6c2>             <== NOT EXECUTED
   4dd30:	6000 fb80      	braw 4d8b2 <msdos_format+0x6c8>             <== NOT EXECUTED
                    const uint32_t sectors_per_cluster,               
                    const uint32_t number_of_clusters )               
{                                                                     
  uint32_t ms_sectors_per_cluster_limit_FAT12 =                       
    ( MS_BYTES_PER_CLUSTER_LIMIT_FAT12 +1 ) / bytes_per_sector;       
  uint32_t ms_sectors_per_cluster_limit_FAT16 =                       
   4dd34:	243c 0000 8001 	movel #32769,%d2                            <== NOT EXECUTED
   4dd3a:	4c44 2002      	remul %d4,%d2,%d2                           <== NOT EXECUTED
  if (   number_of_clusters < FAT_FAT12_MAX_CLN                       
      && sectors_per_cluster <= ms_sectors_per_cluster_limit_FAT12 ) {
    fattype = FAT_FAT12;                                              
  }                                                                   
  else if (   number_of_clusters < FAT_FAT16_MAX_CLN                  
           && sectors_per_cluster <= ms_sectors_per_cluster_limit_FAT16 ) {
   4dd3e:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   4dd40:	6200 ff14      	bhiw 4dc56 <msdos_format+0xa6c>             <== NOT EXECUTED
    fattype = FAT_FAT16;                                              
   4dd44:	7002           	moveq #2,%d0                                <== NOT EXECUTED
   4dd46:	6000 fc24      	braw 4d96c <msdos_format+0x782>             <== NOT EXECUTED
    if (fmt_params->totl_sector_cnt < FAT_FAT12_MAX_CLN * fat12_sect_per_clust) {
      fmt_params->fattype = FAT_FAT12;                                
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
    }                                                                 
    else if (fmt_params->totl_sector_cnt < FAT_FAT16_MAX_CLN * fat16_sect_per_clust) {
   4dd4a:	2e3c 0000 fff5 	movel #65525,%d7                            <== NOT EXECUTED
   4dd50:	4c07 0800      	mulsl %d7,%d0                               <== NOT EXECUTED
   4dd54:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   4dd56:	6300 017a      	blsw 4ded2 <msdos_format+0xce8>             <== NOT EXECUTED
      fmt_params->fattype = FAT_FAT16;                                
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
   4dd5a:	7002           	moveq #2,%d0                                <== NOT EXECUTED
      fmt_params->fattype = FAT_FAT12;                                
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
    }                                                                 
    else if (fmt_params->totl_sector_cnt < FAT_FAT16_MAX_CLN * fat16_sect_per_clust) {
      fmt_params->fattype = FAT_FAT16;                                
   4dd5c:	7202           	moveq #2,%d1                                <== NOT EXECUTED
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
   4dd5e:	2d40 fdbc      	movel %d0,%fp@(-580)                        <== NOT EXECUTED
      fmt_params->fattype = FAT_FAT12;                                
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
    }                                                                 
    else if (fmt_params->totl_sector_cnt < FAT_FAT16_MAX_CLN * fat16_sect_per_clust) {
      fmt_params->fattype = FAT_FAT16;                                
   4dd62:	1d41 fde2      	moveb %d1,%fp@(-542)                        <== NOT EXECUTED
   4dd66:	6000 fa4a      	braw 4d7b2 <msdos_format+0x5c8>             <== NOT EXECUTED
     * are a compromise concerning capacity and efficency             
     */                                                               
    uint32_t fat12_sect_per_clust = 8;                                
    uint32_t fat16_sect_per_clust = 32;                               
                                                                      
    if (rqdata != NULL && rqdata->sectors_per_cluster != 0) {         
   4dd6a:	283c 0000 7fa8 	movel #32680,%d4                            
     * limiting values for disk size, fat type, sectors per cluster   
     * NOTE: maximum sect_per_clust is arbitrarily choosen with values that
     * are a compromise concerning capacity and efficency             
     */                                                               
    uint32_t fat12_sect_per_clust = 8;                                
    uint32_t fat16_sect_per_clust = 32;                               
   4dd70:	7020           	moveq #32,%d0                               
   4dd72:	6000 fa28      	braw 4d79c <msdos_format+0x5b2>             
   4dd76:	266e fd50      	moveal %fp@(-688),%a3                       
   4dd7a:	2e2e fd4c      	movel %fp@(-692),%d7                        
      }                                                               
                                                                      
      ++iteration_cnt;                                                
    }                                                                 
  }                                                                   
  if ( fmt_params->totl_sector_cnt == 0 )                             
   4dd7e:	4a89           	tstl %a1                                    
   4dd80:	6700 fc72      	beqw 4d9f4 <msdos_format+0x80a>             
    ret_val = -1;                                                     
  }                                                                   
                                                                      
  if (0 == ret_val)                                                   
  {                                                                   
    if (FAT_FAT32 != fmt_params->fattype)                             
   4dd84:	4280           	clrl %d0                                    
   4dd86:	102e fde2      	moveb %fp@(-542),%d0                        
   4dd8a:	7204           	moveq #4,%d1                                
    {                                                                 
      fmt_params->files_per_root_dir = loc_align_object (fmt_params->root_dir_sectors,
   4dd8c:	282e fdbc      	movel %fp@(-580),%d4                        
                                                         fmt_params->sectors_per_cluster,
                                                         fmt_params->skip_alignment)
   4dd90:	162e fdfe      	moveb %fp@(-514),%d3                        
    ret_val = -1;                                                     
  }                                                                   
                                                                      
  if (0 == ret_val)                                                   
  {                                                                   
    if (FAT_FAT32 != fmt_params->fattype)                             
   4dd94:	b280           	cmpl %d0,%d1                                
   4dd96:	6724           	beqs 4ddbc <msdos_format+0xbd2>             <== NEVER TAKEN
    {                                                                 
      fmt_params->files_per_root_dir = loc_align_object (fmt_params->root_dir_sectors,
   4dd98:	222e fdcc      	movel %fp@(-564),%d1                        
static uint32_t                                                       
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
   4dd9c:	4a03           	tstb %d3                                    
   4dd9e:	660e           	bnes 4ddae <msdos_format+0xbc4>             
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4dda0:	2044           	moveal %d4,%a0                              
   4dda2:	2004           	movel %d4,%d0                               
   4dda4:	4480           	negl %d0                                    
   4dda6:	41f0 18ff      	lea %a0@(ffffffff,%d1:l),%a0                
   4ddaa:	2208           	movel %a0,%d1                               
   4ddac:	c280           	andl %d0,%d1                                
    if (FAT_FAT32 != fmt_params->fattype)                             
    {                                                                 
      fmt_params->files_per_root_dir = loc_align_object (fmt_params->root_dir_sectors,
                                                         fmt_params->sectors_per_cluster,
                                                         fmt_params->skip_alignment)
                                       * (fmt_params->bytes_per_sector / FAT_DIRENTRY_SIZE);
   4ddae:	202e fdb0      	movel %fp@(-592),%d0                        
   4ddb2:	ea88           	lsrl #5,%d0                                 
   4ddb4:	4c00 1800      	mulsl %d0,%d1                               
   4ddb8:	2d41 fdc8      	movel %d1,%fp@(-568)                        
    }                                                                 
                                                                      
    fmt_params->rsvd_sector_cnt = loc_align_object (fmt_params->rsvd_sector_cnt,
   4ddbc:	242e fdb8      	movel %fp@(-584),%d2                        
static uint32_t                                                       
 loc_align_object (const uint32_t sectors,                            
                   const uint32_t clustersize,                        
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
   4ddc0:	4a03           	tstb %d3                                    
   4ddc2:	660e           	bnes 4ddd2 <msdos_format+0xbe8>             
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
   4ddc4:	2a44           	moveal %d4,%a5                              
   4ddc6:	2004           	movel %d4,%d0                               
   4ddc8:	4480           	negl %d0                                    
   4ddca:	4bf5 28ff      	lea %a5@(ffffffff,%d2:l),%a5                
   4ddce:	240d           	movel %a5,%d2                               
   4ddd0:	c480           	andl %d0,%d2                                
                                                         fmt_params->sectors_per_cluster,
                                                         fmt_params->skip_alignment)
                                       * (fmt_params->bytes_per_sector / FAT_DIRENTRY_SIZE);
    }                                                                 
                                                                      
    fmt_params->rsvd_sector_cnt = loc_align_object (fmt_params->rsvd_sector_cnt,
   4ddd2:	2d42 fdb8      	movel %d2,%fp@(-584)                        
                                                                      
  /*                                                                  
   * determine media code                                             
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata != NULL) &&                                           
   4ddd6:	4a8c           	tstl %a4                                    
   4ddd8:	6762           	beqs 4de3c <msdos_format+0xc52>             <== NEVER TAKEN
	(rqdata->media != 0)) {                                              
   4ddda:	162c 0014      	moveb %a4@(20),%d3                          
                                                                      
  /*                                                                  
   * determine media code                                             
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata != NULL) &&                                           
   4ddde:	675c           	beqs 4de3c <msdos_format+0xc52>             <== ALWAYS TAKEN
	(rqdata->media != 0)) {                                              
      const char valid_media_codes[] =                                
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
   4dde0:	4878 0009      	pea 9 <DIVIDE_BY_ZERO+0x1>                  <== NOT EXECUTED
   4dde4:	4280           	clrl %d0                                    <== NOT EXECUTED
   4dde6:	1003           	moveb %d3,%d0                               <== NOT EXECUTED
   * determine media code                                             
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata != NULL) &&                                           
	(rqdata->media != 0)) {                                              
      const char valid_media_codes[] =                                
   4dde8:	72f0           	moveq #-16,%d1                              <== NOT EXECUTED
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
   4ddea:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4ddec:	486e fe00      	pea %fp@(-512)                              <== NOT EXECUTED
   * determine media code                                             
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata != NULL) &&                                           
	(rqdata->media != 0)) {                                              
      const char valid_media_codes[] =                                
   4ddf0:	1d41 fe00      	moveb %d1,%fp@(-512)                        <== NOT EXECUTED
   4ddf4:	78f8           	moveq #-8,%d4                               <== NOT EXECUTED
   4ddf6:	7cf9           	moveq #-7,%d6                               <== NOT EXECUTED
   4ddf8:	70fa           	moveq #-6,%d0                               <== NOT EXECUTED
   4ddfa:	72fb           	moveq #-5,%d1                               <== NOT EXECUTED
   4ddfc:	1d44 fe01      	moveb %d4,%fp@(-511)                        <== NOT EXECUTED
   4de00:	1d46 fe02      	moveb %d6,%fp@(-510)                        <== NOT EXECUTED
   4de04:	1d40 fe03      	moveb %d0,%fp@(-509)                        <== NOT EXECUTED
   4de08:	1d41 fe04      	moveb %d1,%fp@(-508)                        <== NOT EXECUTED
   4de0c:	70fe           	moveq #-2,%d0                               <== NOT EXECUTED
   4de0e:	50c1           	st %d1                                      <== NOT EXECUTED
   4de10:	78fc           	moveq #-4,%d4                               <== NOT EXECUTED
   4de12:	7cfd           	moveq #-3,%d6                               <== NOT EXECUTED
   4de14:	1d44 fe05      	moveb %d4,%fp@(-507)                        <== NOT EXECUTED
   4de18:	1d46 fe06      	moveb %d6,%fp@(-506)                        <== NOT EXECUTED
   4de1c:	1d40 fe07      	moveb %d0,%fp@(-505)                        <== NOT EXECUTED
   4de20:	1d41 fe08      	moveb %d1,%fp@(-504)                        <== NOT EXECUTED
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
   4de24:	4eb9 0005 b000 	jsr 5b000 <memchr>                          <== NOT EXECUTED
   4de2a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   4de2e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4de30:	6700 0228      	beqw 4e05a <msdos_format+0xe70>             <== NOT EXECUTED
		       sizeof(valid_media_codes))) {                                
	ret_val = -1;                                                        
	errno = EINVAL;                                                      
      }                                                               
      else {                                                          
	fmt_params->media_code = rqdata->media;                              
   4de34:	1d43 fde1      	moveb %d3,%fp@(-543)                        <== NOT EXECUTED
   4de38:	6000 f4ca      	braw 4d304 <msdos_format+0x11a>             <== NOT EXECUTED
      }                                                               
    }                                                                 
    else {                                                            
      fmt_params->media_code = FAT_BR_MEDIA_FIXED;                    
   4de3c:	70f8           	moveq #-8,%d0                               
   4de3e:	1d40 fde1      	moveb %d0,%fp@(-543)                        
   4de42:	6000 f4c0      	braw 4d304 <msdos_format+0x11a>             
   4de46:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   4de48:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   4de4a:	e2a8           	lsrl %d1,%d0                                <== NOT EXECUTED
   4de4c:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
   4de4e:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   4de50:	0280 0000 ffff 	andil #65535,%d0                            <== NOT EXECUTED
{                                                                     
  uint32_t  total_sectors_num16 = 0;                                  
  uint32_t  total_sectors_num32 = 0;                                  
                                                                      
  /* store total sector count in either 16 or 32 bit field in mbr */  
  if (fmt_params->totl_sector_cnt < 0x10000) {                        
   4de56:	4204           	clrb %d4                                    <== NOT EXECUTED
   4de58:	4206           	clrb %d6                                    <== NOT EXECUTED
   4de5a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   4de5c:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
   4de5e:	1d43 fd58      	moveb %d3,%fp@(-680)                        <== NOT EXECUTED
   4de62:	4243           	clrw %d3                                    <== NOT EXECUTED
   4de64:	4843           	swap %d3                                    <== NOT EXECUTED
   4de66:	1d44 fd5f      	moveb %d4,%fp@(-673)                        <== NOT EXECUTED
   4de6a:	1d46 fd60      	moveb %d6,%fp@(-672)                        <== NOT EXECUTED
   4de6e:	6000 f5e2      	braw 4d452 <msdos_format+0x268>             <== NOT EXECUTED
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
                                           (2*fmt_params->bytes_per_sector/
   4de72:	282e fdb0      	movel %fp@(-592),%d4                        <== NOT EXECUTED
   4de76:	2004           	movel %d4,%d0                               <== NOT EXECUTED
          if ((rqdata != NULL) &&                                     
              (rqdata->files_per_root_dir > 0)) {                     
            fmt_params->files_per_root_dir = rqdata->files_per_root_dir;
          }                                                           
          else {                                                      
            if (fmt_params->fattype == FAT_FAT16) {                   
   4de78:	223c 0000 01ff 	movel #511,%d1                              <== NOT EXECUTED
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
                                           (2*fmt_params->bytes_per_sector/
                                           FAT_DIRENTRY_SIZE-1));     
          fmt_params->files_per_root_dir -= (fmt_params->files_per_root_dir %
   4de7e:	367c 0001      	moveaw #1,%a3                               <== NOT EXECUTED
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
                                           (2*fmt_params->bytes_per_sector/
   4de82:	d080           	addl %d0,%d0                                <== NOT EXECUTED
   4de84:	ea88           	lsrl #5,%d0                                 <== NOT EXECUTED
            }                                                         
            else {                                                    
              fmt_params->files_per_root_dir = 64;                    
            }                                                         
          }                                                           
          fmt_params->files_per_root_dir = (fmt_params->files_per_root_dir +
   4de86:	d280           	addl %d0,%d1                                <== NOT EXECUTED
                                           (2*fmt_params->bytes_per_sector/
                                           FAT_DIRENTRY_SIZE-1));     
          fmt_params->files_per_root_dir -= (fmt_params->files_per_root_dir %
   4de88:	2c01           	movel %d1,%d6                               <== NOT EXECUTED
   4de8a:	4c40 6002      	remul %d0,%d2,%d6                           <== NOT EXECUTED
   4de8e:	9282           	subl %d2,%d1                                <== NOT EXECUTED
   4de90:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   4de92:	2d41 fdc8      	movel %d1,%fp@(-568)                        <== NOT EXECUTED
   4de96:	eb88           	lsll #5,%d0                                 <== NOT EXECUTED
   4de98:	6000 f9e0      	braw 4d87a <msdos_format+0x690>             <== NOT EXECUTED
    if ((ret_val == 0) &&                                             
        (fmt_params.mbr_copy_sec != 0)) {                             
      /*                                                              
       * write copy of MBR                                            
       */                                                             
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
   4de9c:	4879 0006 9c6f 	pea 69c6f <_CPU_m68k_BFFFO_table+0x1d8>     <== NOT EXECUTED
                           "write back up MRB sector\n");             
      ret_val = msdos_format_write_sec(fd,                            
   4dea2:	2a43           	moveal %d3,%a5                              <== NOT EXECUTED
    if ((ret_val == 0) &&                                             
        (fmt_params.mbr_copy_sec != 0)) {                             
      /*                                                              
       * write copy of MBR                                            
       */                                                             
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
   4dea4:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4dea8:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   4deaa:	4eba f064      	jsr %pc@(4cf10 <msdos_format_printf>)       <== NOT EXECUTED
                           "write back up MRB sector\n");             
      ret_val = msdos_format_write_sec(fd,                            
   4deae:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4deb0:	2f2e fdb0      	movel %fp@(-592),%sp@-                      <== NOT EXECUTED
   4deb4:	2f2e fdd8      	movel %fp@(-552),%sp@-                      <== NOT EXECUTED
   4deb8:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   4deba:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    }                                                                 
  }                                                                   
  /*                                                                  
   * for FAT32: initialize info sector on disk                        
   */                                                                 
  if ((ret_val == 0) &&                                               
   4debc:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
      /*                                                              
       * write copy of MBR                                            
       */                                                             
      msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,       
                           "write back up MRB sector\n");             
      ret_val = msdos_format_write_sec(fd,                            
   4dec0:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
  /*                                                                  
   * for FAT32: initialize info sector on disk                        
   */                                                                 
  if ((ret_val == 0) &&                                               
   4dec2:	6600 f3ba      	bnew 4d27e <msdos_format+0x94>              <== NOT EXECUTED
      (fmt_params.fsinfo_sec != 0)) {                                 
   4dec6:	242e fddc      	movel %fp@(-548),%d2                        <== NOT EXECUTED
    }                                                                 
  }                                                                   
  /*                                                                  
   * for FAT32: initialize info sector on disk                        
   */                                                                 
  if ((ret_val == 0) &&                                               
   4deca:	6700 f706      	beqw 4d5d2 <msdos_format+0x3e8>             <== NOT EXECUTED
   4dece:	6000 fbb4      	braw 4da84 <msdos_format+0x89a>             <== NOT EXECUTED
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
    }                                                                 
    else {                                                            
      #define ONE_GB (1024L * 1024L * 1024L)                          
      uint32_t gigs = (total_size + ONE_GB) / ONE_GB;                 
   4ded2:	7e1e           	moveq #30,%d7                               <== NOT EXECUTED
      int b;                                                          
      fmt_params->fattype = FAT_FAT32;                                
      /* scale with the size of disk... */                            
      for (b = 31; b > 0; b--)                                        
   4ded4:	781f           	moveq #31,%d4                               <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                   
   4ded6:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
    }                                                                 
    else {                                                            
      #define ONE_GB (1024L * 1024L * 1024L)                          
      uint32_t gigs = (total_size + ONE_GB) / ONE_GB;                 
   4ded8:	4280           	clrl %d0                                    <== NOT EXECUTED
   4deda:	223c 4000 0000 	movel #1073741824,%d1                       <== NOT EXECUTED
      int b;                                                          
      fmt_params->fattype = FAT_FAT32;                                
   4dee0:	7c04           	moveq #4,%d6                                <== NOT EXECUTED
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
    }                                                                 
    else {                                                            
      #define ONE_GB (1024L * 1024L * 1024L)                          
      uint32_t gigs = (total_size + ONE_GB) / ONE_GB;                 
   4dee2:	d283           	addl %d3,%d1                                <== NOT EXECUTED
   4dee4:	d182           	addxl %d2,%d0                               <== NOT EXECUTED
      int b;                                                          
      fmt_params->fattype = FAT_FAT32;                                
   4dee6:	1d46 fde2      	moveb %d6,%fp@(-542)                        <== NOT EXECUTED
      /* start trying with small clusters */                          
      fmt_params->sectors_per_cluster = 2;                            
    }                                                                 
    else {                                                            
      #define ONE_GB (1024L * 1024L * 1024L)                          
      uint32_t gigs = (total_size + ONE_GB) / ONE_GB;                 
   4deea:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
   4deec:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   4deee:	eea8           	lsrl %d7,%d0                                <== NOT EXECUTED
   4def0:	e58e           	lsll #2,%d6                                 <== NOT EXECUTED
   4def2:	8c80           	orl %d0,%d6                                 <== NOT EXECUTED
      int b;                                                          
      fmt_params->fattype = FAT_FAT32;                                
      /* scale with the size of disk... */                            
      for (b = 31; b > 0; b--)                                        
        if ((gigs & (1 << b)) != 0)                                   
   4def4:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   4def6:	e9a8           	lsll %d4,%d0                                <== NOT EXECUTED
      #define ONE_GB (1024L * 1024L * 1024L)                          
      uint32_t gigs = (total_size + ONE_GB) / ONE_GB;                 
      int b;                                                          
      fmt_params->fattype = FAT_FAT32;                                
      /* scale with the size of disk... */                            
      for (b = 31; b > 0; b--)                                        
   4def8:	5384           	subql #1,%d4                                <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                   
   4defa:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   4defc:	c286           	andl %d6,%d1                                <== NOT EXECUTED
   4defe:	6606           	bnes 4df06 <msdos_format+0xd1c>             <== NOT EXECUTED
      #define ONE_GB (1024L * 1024L * 1024L)                          
      uint32_t gigs = (total_size + ONE_GB) / ONE_GB;                 
      int b;                                                          
      fmt_params->fattype = FAT_FAT32;                                
      /* scale with the size of disk... */                            
      for (b = 31; b > 0; b--)                                        
   4df00:	4a84           	tstl %d4                                    <== NOT EXECUTED
   4df02:	66f0           	bnes 4def4 <msdos_format+0xd0a>             <== NOT EXECUTED
   4df04:	7001           	moveq #1,%d0                                <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                   
          break;                                                      
      fmt_params->sectors_per_cluster = 1 << b;                       
   4df06:	2d40 fdbc      	movel %d0,%fp@(-580)                        <== NOT EXECUTED
   4df0a:	6000 f8a6      	braw 4d7b2 <msdos_format+0x5c8>             <== NOT EXECUTED
  /*                                                                  
   * determine usable OEMName                                         
   */                                                                 
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->OEMName;                          
   4df0e:	41ee fdb0      	lea %fp@(-592),%a0                          
      int          cnt;                                               
      from = "RTEMS"; /* default: make "from" point to OS Name */     
   4df12:	45f9 0006 9bd1 	lea 69bd1 <_CPU_m68k_BFFFO_table+0x13a>,%a2 
      const char valid_media_codes[] =                                
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
		       rqdata->media,                                               
		       sizeof(valid_media_codes))) {                                
	ret_val = -1;                                                        
   4df18:	7208           	moveq #8,%d1                                
  /*                                                                  
   * determine usable OEMName                                         
   */                                                                 
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->OEMName;                          
   4df1a:	41e8 0033      	lea %a0@(51),%a0                            
   4df1e:	2279 0006 adbc 	moveal 6adbc <__ctype_ptr__>,%a1            
   4df24:	6000 f422      	braw 4d348 <msdos_format+0x15e>             
    }                                                                 
    else if (rqdata->fat_num <= 6) {                                  
      fmt_params->fat_num = rqdata->fat_num;                          
    }                                                                 
    else {                                                            
      errno = EINVAL;                                                 
   4df28:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4df2e:	7e16           	moveq #22,%d7                               <== NOT EXECUTED
   4df30:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
      ret_val = -1;                                                   
   4df32:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
    }                                                                 
    else if (rqdata->fat_num <= 6) {                                  
      fmt_params->fat_num = rqdata->fat_num;                          
    }                                                                 
    else {                                                            
      errno = EINVAL;                                                 
   4df34:	2087           	movel %d7,%a0@                              <== NOT EXECUTED
   4df36:	6000 f3bc      	braw 4d2f4 <msdos_format+0x10a>             <== NOT EXECUTED
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
    close(fd);                                                        
   4df3a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
                                                                      
    start_sector = loc_align_object (fmt_params.rsvd_sector_cnt,      
                                     fmt_params.sectors_per_cluster,  
                                     fmt_params.skip_alignment);      
    for (i = 0;                                                       
	 (i < fmt_params.fat_num) && (ret_val == 0);                         
   4df3c:	7eff           	moveq #-1,%d7                               <== NOT EXECUTED
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
    close(fd);                                                        
   4df3e:	4eb9 0004 4918 	jsr 44918 <close>                           <== NOT EXECUTED
   4df44:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4df46:	6000 f374      	braw 4d2bc <msdos_format+0xd2>              <== NOT EXECUTED
    FAT_SET_BR_BOOTSIG(mbr           , FAT_BR_BOOTSIG_VAL);           
    FAT_SET_BR_VOLID(mbr             , fmt_params->vol_id); /* volume id */
  memcpy(FAT_GET_ADDR_BR_VOLLAB(mbr),                                 
	 fmt_params->VolLabel,                                               
	 FAT_BR_VOLLAB_SIZE);                                                
    memcpy(FAT_GET_ADDR_BR_FILSYSTYPE(mbr),                           
   4df4a:	41f9 0006 9bbf 	lea 69bbf <_CPU_m68k_BFFFO_table+0x128>,%a0 
   4df50:	43ea 0036      	lea %a2@(54),%a1                            
   4df54:	2290           	movel %a0@,%a1@                             
   4df56:	2568 0004 003a 	movel %a0@(4),%a2@(58)                      
   4df5c:	6000 f618      	braw 4d576 <msdos_format+0x38c>             
   4df60:	266e fd50      	moveal %fp@(-688),%a3                       <== NOT EXECUTED
   4df64:	6000 f392      	braw 4d2f8 <msdos_format+0x10e>             <== NOT EXECUTED
  rc = rtems_clock_get_tod_timeval(&time_value);                      
  if (rc == RTEMS_SUCCESSFUL) {                                       
    *volid_ptr = time_value.tv_sec + time_value.tv_sec;               
  }                                                                   
  else {                                                              
    *volid_ptr = rand();                                              
   4df68:	4eb9 0005 b8f8 	jsr 5b8f8 <rand>                            
   4df6e:	2d40 fdfa      	movel %d0,%fp@(-518)                        
   4df72:	6000 f456      	braw 4d3ca <msdos_format+0x1e0>             
  const uint64_t        total_size )                                  
{                                                                     
  if (   fmt_params->fattype == FAT_FAT12                             
      || fmt_params->fattype == FAT_FAT16 ) {                         
    /* start trying with small clusters */                            
    fmt_params->sectors_per_cluster = 2;                              
   4df76:	7802           	moveq #2,%d4                                <== NOT EXECUTED
   4df78:	2d44 fdbc      	movel %d4,%fp@(-580)                        <== NOT EXECUTED
   4df7c:	6000 fa2a      	braw 4d9a8 <msdos_format+0x7be>             <== NOT EXECUTED
  /*                                                                  
   * determine usable Volume Label                                    
   */                                                                 
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->VolLabel;                         
   4df80:	41ee fdb0      	lea %fp@(-592),%a0                          
      int          cnt;                                               
      from = ""; /* default: make "from" point to empty string */     
   4df84:	45f9 0006 998d 	lea 6998d <rtems_termios_baud_table+0x101>,%a2
      const char valid_media_codes[] =                                
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
		       rqdata->media,                                               
		       sizeof(valid_media_codes))) {                                
	ret_val = -1;                                                        
   4df8a:	720b           	moveq #11,%d1                               
  /*                                                                  
   * determine usable Volume Label                                    
   */                                                                 
  if (ret_val == 0) {                                                 
      const char *from;                                               
      char        *to = fmt_params->VolLabel;                         
   4df8c:	41e8 003c      	lea %a0@(60),%a0                            
   4df90:	6000 f3f8      	braw 4d38a <msdos_format+0x1a0>             
   4df94:	226e fdb4      	moveal %fp@(-588),%a1                       <== NOT EXECUTED
   4df98:	6000 fa42      	braw 4d9dc <msdos_format+0x7f2>             <== NOT EXECUTED
	   ? "FAT12   "                                                      
	   : "FAT16   ",                                                     
	   FAT_BR_FILSYSTYPE_SIZE);                                          
  }                                                                   
  else {                                                              
    FAT_SET_BR_SECTORS_PER_FAT32(mbr   ,fmt_params->sectors_per_fat); 
   4df9c:	202e fdc0      	movel %fp@(-576),%d0                        <== NOT EXECUTED
   4dfa0:	2800           	movel %d0,%d4                               <== NOT EXECUTED
   4dfa2:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
   4dfa4:	e08d           	lsrl #8,%d5                                 <== NOT EXECUTED
   4dfa6:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   4dfa8:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   4dfaa:	e2ab           	lsrl %d1,%d3                                <== NOT EXECUTED
    FAT_SET_BR_FAT32_DRVNUM(mbr      , 0); /* only needed for INT13... */
    FAT_SET_BR_FAT32_RSVD1(mbr       , 0); /* fill with zero */       
    FAT_SET_BR_FAT32_BOOTSIG(mbr     ,FAT_BR_FAT32_BOOTSIG_VAL);      
    FAT_SET_BR_FAT32_VOLID(mbr       , 0); /* not set */              
    memset(FAT_GET_ADDR_BR_FAT32_VOLLAB(mbr)   ,0,FAT_BR_VOLLAB_SIZE);
    memcpy(FAT_GET_ADDR_BR_FAT32_FILSYSTYPE(mbr),                     
   4dfac:	41ea 0052      	lea %a2@(82),%a0                            <== NOT EXECUTED
	   ? "FAT12   "                                                      
	   : "FAT16   ",                                                     
	   FAT_BR_FILSYSTYPE_SIZE);                                          
  }                                                                   
  else {                                                              
    FAT_SET_BR_SECTORS_PER_FAT32(mbr   ,fmt_params->sectors_per_fat); 
   4dfb0:	4244           	clrw %d4                                    <== NOT EXECUTED
   4dfb2:	4844           	swap %d4                                    <== NOT EXECUTED
   4dfb4:	1d40 fe24      	moveb %d0,%fp@(-476)                        <== NOT EXECUTED
   4dfb8:	1d45 fe25      	moveb %d5,%fp@(-475)                        <== NOT EXECUTED
   4dfbc:	1d44 fe26      	moveb %d4,%fp@(-474)                        <== NOT EXECUTED
    FAT_SET_BR_EXT_FLAGS(mbr           , 0);                          
    FAT_SET_BR_FSVER(mbr               , 0); /* FAT32 Version:0.0 */  
    FAT_SET_BR_FAT32_ROOT_CLUSTER(mbr  , 2); /* put root dir to cluster 2 */
    FAT_SET_BR_FAT32_FS_INFO_SECTOR(mbr, 1); /* Put fsinfo  to rsrvd sec 1*/
    FAT_SET_BR_FAT32_BK_BOOT_SECTOR(mbr, fmt_params->mbr_copy_sec ); /* Put MBR copy to rsrvd sec */
   4dfc0:	222e fdd8      	movel %fp@(-552),%d1                        <== NOT EXECUTED
   4dfc4:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   4dfc6:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
    memset(FAT_GET_ADDR_BR_FAT32_RESERVED(mbr),0,FAT_BR_FAT32_RESERVED_SIZE);
   4dfc8:	42aa 0034      	clrl %a2@(52)                               <== NOT EXECUTED
	   ? "FAT12   "                                                      
	   : "FAT16   ",                                                     
	   FAT_BR_FILSYSTYPE_SIZE);                                          
  }                                                                   
  else {                                                              
    FAT_SET_BR_SECTORS_PER_FAT32(mbr   ,fmt_params->sectors_per_fat); 
   4dfcc:	1d43 fe27      	moveb %d3,%fp@(-473)                        <== NOT EXECUTED
    FAT_SET_BR_EXT_FLAGS(mbr           , 0);                          
    FAT_SET_BR_FSVER(mbr               , 0); /* FAT32 Version:0.0 */  
    FAT_SET_BR_FAT32_ROOT_CLUSTER(mbr  , 2); /* put root dir to cluster 2 */
   4dfd0:	7602           	moveq #2,%d3                                <== NOT EXECUTED
    FAT_SET_BR_FAT32_FS_INFO_SECTOR(mbr, 1); /* Put fsinfo  to rsrvd sec 1*/
   4dfd2:	7801           	moveq #1,%d4                                <== NOT EXECUTED
  }                                                                   
  else {                                                              
    FAT_SET_BR_SECTORS_PER_FAT32(mbr   ,fmt_params->sectors_per_fat); 
    FAT_SET_BR_EXT_FLAGS(mbr           , 0);                          
    FAT_SET_BR_FSVER(mbr               , 0); /* FAT32 Version:0.0 */  
    FAT_SET_BR_FAT32_ROOT_CLUSTER(mbr  , 2); /* put root dir to cluster 2 */
   4dfd4:	1d43 fe2c      	moveb %d3,%fp@(-468)                        <== NOT EXECUTED
    FAT_SET_BR_FAT32_BK_BOOT_SECTOR(mbr, fmt_params->mbr_copy_sec ); /* Put MBR copy to rsrvd sec */
    memset(FAT_GET_ADDR_BR_FAT32_RESERVED(mbr),0,FAT_BR_FAT32_RESERVED_SIZE);
                                                                      
    FAT_SET_BR_FAT32_DRVNUM(mbr      , 0); /* only needed for INT13... */
    FAT_SET_BR_FAT32_RSVD1(mbr       , 0); /* fill with zero */       
    FAT_SET_BR_FAT32_BOOTSIG(mbr     ,FAT_BR_FAT32_BOOTSIG_VAL);      
   4dfd8:	7c29           	moveq #41,%d6                               <== NOT EXECUTED
    FAT_SET_BR_EXT_FLAGS(mbr           , 0);                          
    FAT_SET_BR_FSVER(mbr               , 0); /* FAT32 Version:0.0 */  
    FAT_SET_BR_FAT32_ROOT_CLUSTER(mbr  , 2); /* put root dir to cluster 2 */
    FAT_SET_BR_FAT32_FS_INFO_SECTOR(mbr, 1); /* Put fsinfo  to rsrvd sec 1*/
    FAT_SET_BR_FAT32_BK_BOOT_SECTOR(mbr, fmt_params->mbr_copy_sec ); /* Put MBR copy to rsrvd sec */
    memset(FAT_GET_ADDR_BR_FAT32_RESERVED(mbr),0,FAT_BR_FAT32_RESERVED_SIZE);
   4dfda:	42aa 0038      	clrl %a2@(56)                               <== NOT EXECUTED
    FAT_SET_BR_SECTORS_PER_FAT32(mbr   ,fmt_params->sectors_per_fat); 
    FAT_SET_BR_EXT_FLAGS(mbr           , 0);                          
    FAT_SET_BR_FSVER(mbr               , 0); /* FAT32 Version:0.0 */  
    FAT_SET_BR_FAT32_ROOT_CLUSTER(mbr  , 2); /* put root dir to cluster 2 */
    FAT_SET_BR_FAT32_FS_INFO_SECTOR(mbr, 1); /* Put fsinfo  to rsrvd sec 1*/
    FAT_SET_BR_FAT32_BK_BOOT_SECTOR(mbr, fmt_params->mbr_copy_sec ); /* Put MBR copy to rsrvd sec */
   4dfde:	1d41 fe32      	moveb %d1,%fp@(-462)                        <== NOT EXECUTED
  else {                                                              
    FAT_SET_BR_SECTORS_PER_FAT32(mbr   ,fmt_params->sectors_per_fat); 
    FAT_SET_BR_EXT_FLAGS(mbr           , 0);                          
    FAT_SET_BR_FSVER(mbr               , 0); /* FAT32 Version:0.0 */  
    FAT_SET_BR_FAT32_ROOT_CLUSTER(mbr  , 2); /* put root dir to cluster 2 */
    FAT_SET_BR_FAT32_FS_INFO_SECTOR(mbr, 1); /* Put fsinfo  to rsrvd sec 1*/
   4dfe2:	1d44 fe30      	moveb %d4,%fp@(-464)                        <== NOT EXECUTED
    FAT_SET_BR_FAT32_BK_BOOT_SECTOR(mbr, fmt_params->mbr_copy_sec ); /* Put MBR copy to rsrvd sec */
    memset(FAT_GET_ADDR_BR_FAT32_RESERVED(mbr),0,FAT_BR_FAT32_RESERVED_SIZE);
   4dfe6:	42aa 003c      	clrl %a2@(60)                               <== NOT EXECUTED
    FAT_SET_BR_FAT32_DRVNUM(mbr      , 0); /* only needed for INT13... */
    FAT_SET_BR_FAT32_RSVD1(mbr       , 0); /* fill with zero */       
    FAT_SET_BR_FAT32_BOOTSIG(mbr     ,FAT_BR_FAT32_BOOTSIG_VAL);      
    FAT_SET_BR_FAT32_VOLID(mbr       , 0); /* not set */              
    memset(FAT_GET_ADDR_BR_FAT32_VOLLAB(mbr)   ,0,FAT_BR_VOLLAB_SIZE);
    memcpy(FAT_GET_ADDR_BR_FAT32_FILSYSTYPE(mbr),                     
   4dfea:	223c 3220 2020 	movel #840966176,%d1                        <== NOT EXECUTED
    FAT_SET_BR_SECTORS_PER_FAT32(mbr   ,fmt_params->sectors_per_fat); 
    FAT_SET_BR_EXT_FLAGS(mbr           , 0);                          
    FAT_SET_BR_FSVER(mbr               , 0); /* FAT32 Version:0.0 */  
    FAT_SET_BR_FAT32_ROOT_CLUSTER(mbr  , 2); /* put root dir to cluster 2 */
    FAT_SET_BR_FAT32_FS_INFO_SECTOR(mbr, 1); /* Put fsinfo  to rsrvd sec 1*/
    FAT_SET_BR_FAT32_BK_BOOT_SECTOR(mbr, fmt_params->mbr_copy_sec ); /* Put MBR copy to rsrvd sec */
   4dff0:	1d42 fe33      	moveb %d2,%fp@(-461)                        <== NOT EXECUTED
    memset(FAT_GET_ADDR_BR_FAT32_RESERVED(mbr),0,FAT_BR_FAT32_RESERVED_SIZE);
                                                                      
    FAT_SET_BR_FAT32_DRVNUM(mbr      , 0); /* only needed for INT13... */
    FAT_SET_BR_FAT32_RSVD1(mbr       , 0); /* fill with zero */       
    FAT_SET_BR_FAT32_BOOTSIG(mbr     ,FAT_BR_FAT32_BOOTSIG_VAL);      
   4dff4:	1d46 fe42      	moveb %d6,%fp@(-446)                        <== NOT EXECUTED
    FAT_SET_BR_FAT32_VOLID(mbr       , 0); /* not set */              
    memset(FAT_GET_ADDR_BR_FAT32_VOLLAB(mbr)   ,0,FAT_BR_VOLLAB_SIZE);
   4dff8:	4247           	clrw %d7                                    <== NOT EXECUTED
   4dffa:	42aa 0047      	clrl %a2@(71)                               <== NOT EXECUTED
   4dffe:	4200           	clrb %d0                                    <== NOT EXECUTED
   4e000:	42aa 004b      	clrl %a2@(75)                               <== NOT EXECUTED
   4e004:	3547 004f      	movew %d7,%a2@(79)                          <== NOT EXECUTED
   4e008:	1540 0051      	moveb %d0,%a2@(81)                          <== NOT EXECUTED
    memcpy(FAT_GET_ADDR_BR_FAT32_FILSYSTYPE(mbr),                     
   4e00c:	20bc 4641 5433 	movel #1178686515,%a0@                      <== NOT EXECUTED
   4e012:	2541 0056      	movel %d1,%a2@(86)                          <== NOT EXECUTED
   4e016:	6000 f55e      	braw 4d576 <msdos_format+0x38c>             <== NOT EXECUTED
    }                                                                 
                                                                      
    start_sector = loc_align_object (fmt_params.rsvd_sector_cnt,      
                                     fmt_params.sectors_per_cluster,  
                                     fmt_params.skip_alignment);      
    for (i = 0;                                                       
   4e01a:	2e02           	movel %d2,%d7                               <== NOT EXECUTED
   4e01c:	6000 f274      	braw 4d292 <msdos_format+0xa8>              <== NOT EXECUTED
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0)                                                   
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4e020:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4e024:	4879 0006 9c1f 	pea 69c1f <_CPU_m68k_BFFFO_table+0x188>     <== NOT EXECUTED
   4e02a:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   * determine number of FATs                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata == NULL) ||                                           
	(rqdata->fat_num == 0)) {                                            
      fmt_params->fat_num = 2;                                        
   4e02e:	7802           	moveq #2,%d4                                <== NOT EXECUTED
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0)                                                   
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4e030:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   * determine number of FATs                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    if ((rqdata == NULL) ||                                           
	(rqdata->fat_num == 0)) {                                            
      fmt_params->fat_num = 2;                                        
   4e032:	1d44 fde0      	moveb %d4,%fp@(-544)                        <== NOT EXECUTED
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val == 0)                                                   
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,         
   4e036:	4eba eed8      	jsr %pc@(4cf10 <msdos_format_printf>)       <== NOT EXECUTED
  /*                                                                  
   * determine FAT type and sectors per cluster                       
   * depends on                                                       
   */                                                                 
  if (ret_val == 0) {                                                 
    fmt_params->sectors_per_cluster = 1;                              
   4e03a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e03e:	283c 0000 7fa8 	movel #32680,%d4                            <== NOT EXECUTED
     * limiting values for disk size, fat type, sectors per cluster   
     * NOTE: maximum sect_per_clust is arbitrarily choosen with values that
     * are a compromise concerning capacity and efficency             
     */                                                               
    uint32_t fat12_sect_per_clust = 8;                                
    uint32_t fat16_sect_per_clust = 32;                               
   4e044:	7020           	moveq #32,%d0                               <== NOT EXECUTED
   4e046:	6000 f754      	braw 4d79c <msdos_format+0x5b2>             <== NOT EXECUTED
   4e04a:	226e fdb4      	moveal %fp@(-588),%a1                       <== NOT EXECUTED
   4e04e:	6000 fd2e      	braw 4dd7e <msdos_format+0xb94>             <== NOT EXECUTED
   4e052:	226e fdb4      	moveal %fp@(-588),%a1                       <== NOT EXECUTED
   4e056:	6000 f2a0      	braw 4d2f8 <msdos_format+0x10e>             <== NOT EXECUTED
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
		       rqdata->media,                                               
		       sizeof(valid_media_codes))) {                                
	ret_val = -1;                                                        
	errno = EINVAL;                                                      
   4e05a:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4e060:	7a16           	moveq #22,%d5                               <== NOT EXECUTED
      const char valid_media_codes[] =                                
	{0xF0,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF};                      
      if (NULL==memchr(valid_media_codes,                             
		       rqdata->media,                                               
		       sizeof(valid_media_codes))) {                                
	ret_val = -1;                                                        
   4e062:	7eff           	moveq #-1,%d7                               <== NOT EXECUTED
	errno = EINVAL;                                                      
   4e064:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4e066:	242e fdb8      	movel %fp@(-584),%d2                        <== NOT EXECUTED
   4e06a:	2085           	movel %d5,%a0@                              <== NOT EXECUTED
   4e06c:	6000 f296      	braw 4d304 <msdos_format+0x11a>             <== NOT EXECUTED
       0x00);                                                         
  }                                                                   
  /*                                                                  
   * write volume label to first entry of directory                   
   */                                                                 
  if ((ret_val == 0) && fmt_params.VolLabel_present) {                
   4e070:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
  /*                                                                  
   * cleanup:                                                         
   * sync and unlock disk                                             
   * free any data structures (not needed now)                        
   */                                                                 
  if (fd != -1) {                                                     
   4e072:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4e074:	b08b           	cmpl %a3,%d0                                <== NOT EXECUTED
   4e076:	6700 f20c      	beqw 4d284 <msdos_format+0x9a>              <== NOT EXECUTED
   4e07a:	6000 f236      	braw 4d2b2 <msdos_format+0xc8>              <== NOT EXECUTED
                   const bool     skip_alignment)                     
{                                                                     
  if (! skip_alignment)                                               
    return (sectors + clustersize - 1) & ~(clustersize - 1);          
  else                                                                
    return sectors;                                                   
   4e07e:	242e fd64      	movel %fp@(-668),%d2                        
     * - subtract from total cluster count                            
     */                                                               
    fatdata_sect_cnt = total_sector_cnt                               
      - loc_align_object (rsvd_sector_cnt, sectors_per_cluster, skip_alignment);
    if (fattype == FAT_FAT12) {                                       
      fatdata_sect_cnt    = fatdata_sect_cnt                          
   4e082:	9682           	subl %d2,%d3                                
        - loc_align_object (root_dir_sector_cnt, sectors_per_cluster, skip_alignment);
      fatdata_cluster_cnt = fatdata_sect_cnt/sectors_per_cluster;     
   4e084:	4c40 3003      	remul %d0,%d3,%d3                           
      fat_capacity        = fatdata_cluster_cnt * 3 / 2;              
   4e088:	2a43           	moveal %d3,%a5                              
   4e08a:	4bf5 3a00      	lea %a5@(00000000,%d3:l:2),%a5              
   4e08e:	220d           	movel %a5,%d1                               
   4e090:	e289           	lsrl #1,%d1                                 
   4e092:	6000 f864      	braw 4d8f8 <msdos_format+0x70e>             
	...                                                                  
                                                                      

0004cfca <msdos_format_fill_sectors>: ) /*-------------------------------------------------------------------------*\ | Return Value: | | 0, if success, -1 and errno if failed | \*=========================================================================*/ {
   4cfca:	4e56 ffd4      	linkw %fp,#-44                              
   4cfce:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4cfd2:	2e2e 0018      	movel %fp@(24),%d7                          
   4cfd6:	246e 000c      	moveal %fp@(12),%a2                         
                                                                      
  /*                                                                  
   * allocate and fill buffer                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    fill_buffer = malloc(sector_size);                                
   4cfda:	2f07           	movel %d7,%sp@-                             
 )                                                                    
/*-------------------------------------------------------------------------*\
| Return Value:                                                             |
|    0, if success, -1 and errno if failed                                  |
\*=========================================================================*/
{                                                                     
   4cfdc:	242e 0010      	movel %fp@(16),%d2                          
   4cfe0:	282e 0014      	movel %fp@(20),%d4                          
   4cfe4:	162e 001f      	moveb %fp@(31),%d3                          
                                                                      
  /*                                                                  
   * allocate and fill buffer                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    fill_buffer = malloc(sector_size);                                
   4cfe8:	4eb9 0004 50f4 	jsr 450f4 <malloc>                          
    if (fill_buffer == NULL) {                                        
   4cfee:	588f           	addql #4,%sp                                
                                                                      
  /*                                                                  
   * allocate and fill buffer                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    fill_buffer = malloc(sector_size);                                
   4cff0:	2c00           	movel %d0,%d6                               
    if (fill_buffer == NULL) {                                        
   4cff2:	6700 011a      	beqw 4d10e <msdos_format_fill_sectors+0x144>
      errno = ENOMEM;                                                 
      ret_val = -1;                                                   
    }                                                                 
    else {                                                            
      memset(fill_buffer,fill_byte,sector_size);                      
   4cff6:	2f07           	movel %d7,%sp@-                             
   4cff8:	49c3           	extbl %d3                                   
    }                                                                 
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
   4cffa:	4bfa ff14      	lea %pc@(4cf10 <msdos_format_printf>),%a5   
    if (fill_buffer == NULL) {                                        
      errno = ENOMEM;                                                 
      ret_val = -1;                                                   
    }                                                                 
    else {                                                            
      memset(fill_buffer,fill_byte,sector_size);                      
   4cffe:	2f03           	movel %d3,%sp@-                             
   4d000:	2f00           	movel %d0,%sp@-                             
   4d002:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
    }                                                                 
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
   4d008:	4879 0006 9b97 	pea 69b97 <_CPU_m68k_BFFFO_table+0x100>     
   4d00e:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d012:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4d016:	4e95           	jsr %a5@                                    
                       "Filling : ");                                 
  /*                                                                  
   * write to consecutive sectors                                     
   */                                                                 
  while ((ret_val == 0) &&                                            
   4d018:	4fef 0018      	lea %sp@(24),%sp                            
   4d01c:	4a84           	tstl %d4                                    
   4d01e:	6740           	beqs 4d060 <msdos_format_fill_sectors+0x96> <== NEVER TAKEN
   4d020:	7064           	moveq #100,%d0                              
   4d022:	4c04 0800      	mulsl %d4,%d0                               
   4d026:	2604           	movel %d4,%d3                               
\*=========================================================================*/
{                                                                     
  int ret_val = 0;                                                    
  char *fill_buffer = NULL;                                           
  uint32_t total_sectors = sector_cnt;                                
  int last_percent = -1;                                              
   4d028:	7aff           	moveq #-1,%d5                               
   4d02a:	47fa ff2e      	lea %pc@(4cf5a <msdos_format_write_sec>),%a3
   4d02e:	2840           	moveal %d0,%a4                              
  /*                                                                  
   * write to consecutive sectors                                     
   */                                                                 
  while ((ret_val == 0) &&                                            
	 (sector_cnt > 0)) {                                                 
    int percent = (sector_cnt * 100) / total_sectors;                 
   4d030:	200c           	movel %a4,%d0                               
   4d032:	4c44 0000      	remul %d4,%d0,%d0                           
    if (percent != last_percent) {                                    
   4d036:	ba80           	cmpl %d0,%d5                                
   4d038:	6708           	beqs 4d042 <msdos_format_fill_sectors+0x78> 
      if ((percent & 1) == 0)                                         
   4d03a:	2a00           	movel %d0,%d5                               
   4d03c:	0800 0000      	btst #0,%d0                                 
   4d040:	6758           	beqs 4d09a <msdos_format_fill_sectors+0xd0> 
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, ".");
      last_percent = percent;                                         
    }                                                                 
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
   4d042:	2f06           	movel %d6,%sp@-                             
    start_sector++;                                                   
    sector_cnt--;                                                     
   4d044:	5383           	subql #1,%d3                                
   4d046:	49ec ff9c      	lea %a4@(-100),%a4                          
    if (percent != last_percent) {                                    
      if ((percent & 1) == 0)                                         
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, ".");
      last_percent = percent;                                         
    }                                                                 
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
   4d04a:	2f07           	movel %d7,%sp@-                             
   4d04c:	2f02           	movel %d2,%sp@-                             
    start_sector++;                                                   
   4d04e:	5282           	addql #1,%d2                                
    if (percent != last_percent) {                                    
      if ((percent & 1) == 0)                                         
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, ".");
      last_percent = percent;                                         
    }                                                                 
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
   4d050:	2f0a           	movel %a2,%sp@-                             
   4d052:	4e93           	jsr %a3@                                    
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
                       "Filling : ");                                 
  /*                                                                  
   * write to consecutive sectors                                     
   */                                                                 
  while ((ret_val == 0) &&                                            
   4d054:	4fef 0010      	lea %sp@(16),%sp                            
   4d058:	4a80           	tstl %d0                                    
   4d05a:	666c           	bnes 4d0c8 <msdos_format_fill_sectors+0xfe> <== NEVER TAKEN
   4d05c:	4a83           	tstl %d3                                    
   4d05e:	66d0           	bnes 4d030 <msdos_format_fill_sectors+0x66> 
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
    start_sector++;                                                   
    sector_cnt--;                                                     
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, "\n");    
   4d060:	4879 0006 8e96 	pea 68e96 <Configuration_Initial_Extensions+0x286>
   4d066:	4280           	clrl %d0                                    
   4d068:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d06c:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4d070:	2d40 fffc      	movel %d0,%fp@(-4)                          
   4d074:	4e95           	jsr %a5@                                    
   4d076:	202e fffc      	movel %fp@(-4),%d0                          
   4d07a:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
  /*                                                                  
   * cleanup                                                          
   */                                                                 
  if (fill_buffer != NULL) {                                          
    free(fill_buffer);                                                
   4d07e:	2d40 fffc      	movel %d0,%fp@(-4)                          
   4d082:	2f06           	movel %d6,%sp@-                             
   4d084:	4eb9 0004 4bec 	jsr 44bec <free>                            
   4d08a:	202e fffc      	movel %fp@(-4),%d0                          
   4d08e:	588f           	addql #4,%sp                                
    fill_buffer = NULL;                                               
  }                                                                   
  return ret_val;                                                     
}                                                                     
   4d090:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   4d096:	4e5e           	unlk %fp                                    
   4d098:	4e75           	rts                                         
  while ((ret_val == 0) &&                                            
	 (sector_cnt > 0)) {                                                 
    int percent = (sector_cnt * 100) / total_sectors;                 
    if (percent != last_percent) {                                    
      if ((percent & 1) == 0)                                         
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, ".");
   4d09a:	4879 0006 9f9b 	pea 69f9b <IMFS_memfile_handlers+0x79>      
      last_percent = percent;                                         
    }                                                                 
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
    start_sector++;                                                   
    sector_cnt--;                                                     
   4d0a0:	5383           	subql #1,%d3                                
  while ((ret_val == 0) &&                                            
	 (sector_cnt > 0)) {                                                 
    int percent = (sector_cnt * 100) / total_sectors;                 
    if (percent != last_percent) {                                    
      if ((percent & 1) == 0)                                         
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, ".");
   4d0a2:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4d0a6:	49ec ff9c      	lea %a4@(-100),%a4                          
   4d0aa:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4d0ae:	4e95           	jsr %a5@                                    
   4d0b0:	4fef 000c      	lea %sp@(12),%sp                            
      last_percent = percent;                                         
    }                                                                 
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
   4d0b4:	2f06           	movel %d6,%sp@-                             
   4d0b6:	2f07           	movel %d7,%sp@-                             
   4d0b8:	2f02           	movel %d2,%sp@-                             
    start_sector++;                                                   
   4d0ba:	5282           	addql #1,%d2                                
    if (percent != last_percent) {                                    
      if ((percent & 1) == 0)                                         
        msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, ".");
      last_percent = percent;                                         
    }                                                                 
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
   4d0bc:	2f0a           	movel %a2,%sp@-                             
   4d0be:	4e93           	jsr %a3@                                    
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
                       "Filling : ");                                 
  /*                                                                  
   * write to consecutive sectors                                     
   */                                                                 
  while ((ret_val == 0) &&                                            
   4d0c0:	4fef 0010      	lea %sp@(16),%sp                            
   4d0c4:	4a80           	tstl %d0                                    
   4d0c6:	6794           	beqs 4d05c <msdos_format_fill_sectors+0x92> <== ALWAYS TAKEN
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
    start_sector++;                                                   
    sector_cnt--;                                                     
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, "\n");    
   4d0c8:	4879 0006 8e96 	pea 68e96 <Configuration_Initial_Extensions+0x286><== NOT EXECUTED
   4d0ce:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4d0d2:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4d0d6:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
   4d0da:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                                      
  if (ret_val)                                                        
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_INFO,           
   4d0dc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4d0de:	4879 0006 9ba2 	pea 69ba2 <_CPU_m68k_BFFFO_table+0x10b>     <== NOT EXECUTED
   4d0e4:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   4d0e8:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4d0ec:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                         "filling error on sector: %d\n", start_sector);
                                                                      
  /*                                                                  
   * cleanup                                                          
   */                                                                 
  if (fill_buffer != NULL) {                                          
   4d0ee:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
   4d0f2:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   4d0f6:	4a86           	tstl %d6                                    <== NOT EXECUTED
   4d0f8:	6796           	beqs 4d090 <msdos_format_fill_sectors+0xc6> <== NOT EXECUTED
    free(fill_buffer);                                                
   4d0fa:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   4d0fc:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
   4d100:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
   4d106:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
   4d10a:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4d10c:	6082           	bras 4d090 <msdos_format_fill_sectors+0xc6> <== NOT EXECUTED
   * allocate and fill buffer                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    fill_buffer = malloc(sector_size);                                
    if (fill_buffer == NULL) {                                        
      errno = ENOMEM;                                                 
   4d10e:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
    else {                                                            
      memset(fill_buffer,fill_byte,sector_size);                      
    }                                                                 
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
   4d114:	4bfa fdfa      	lea %pc@(4cf10 <msdos_format_printf>),%a5   <== NOT EXECUTED
   * allocate and fill buffer                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    fill_buffer = malloc(sector_size);                                
    if (fill_buffer == NULL) {                                        
      errno = ENOMEM;                                                 
   4d118:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4d11a:	720c           	moveq #12,%d1                               <== NOT EXECUTED
      ret_val = -1;                                                   
   4d11c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   * allocate and fill buffer                                         
   */                                                                 
  if (ret_val == 0) {                                                 
    fill_buffer = malloc(sector_size);                                
    if (fill_buffer == NULL) {                                        
      errno = ENOMEM;                                                 
   4d11e:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    else {                                                            
      memset(fill_buffer,fill_byte,sector_size);                      
    }                                                                 
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL,           
   4d120:	4879 0006 9b97 	pea 69b97 <_CPU_m68k_BFFFO_table+0x100>     <== NOT EXECUTED
   4d126:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4d12a:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4d12e:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
   4d132:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   4d134:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    ret_val = msdos_format_write_sec(fd,start_sector,sector_size,fill_buffer);
    start_sector++;                                                   
    sector_cnt--;                                                     
  }                                                                   
                                                                      
  msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_DETAIL, "\n");    
   4d138:	4879 0006 8e96 	pea 68e96 <Configuration_Initial_Extensions+0x286><== NOT EXECUTED
   4d13e:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4d142:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
   4d146:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4d14a:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
   4d14e:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                                      
  if (ret_val)                                                        
    msdos_format_printf (rqdata, MSDOS_FMT_INFO_LEVEL_INFO,           
   4d150:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4d152:	4879 0006 9ba2 	pea 69ba2 <_CPU_m68k_BFFFO_table+0x10b>     <== NOT EXECUTED
   4d158:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   4d15c:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4d160:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                         "filling error on sector: %d\n", start_sector);
                                                                      
  /*                                                                  
   * cleanup                                                          
   */                                                                 
  if (fill_buffer != NULL) {                                          
   4d162:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
   4d166:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   4d16a:	4a86           	tstl %d6                                    <== NOT EXECUTED
   4d16c:	668c           	bnes 4d0fa <msdos_format_fill_sectors+0x130><== NOT EXECUTED
   4d16e:	6000 ff20      	braw 4d090 <msdos_format_fill_sectors+0xc6> <== NOT EXECUTED
                                                                      

0004cf10 <msdos_format_printf>: */ static void msdos_format_printf (const msdos_format_request_param_t *rqdata, int info_level, const char *format, ...) {
   4cf10:	4e56 0000      	linkw %fp,#0                                
   4cf14:	206e 0008      	moveal %fp@(8),%a0                          
  va_list args;                                                       
  va_start (args, format);                                            
  if (rqdata != NULL && rqdata->info_level >= info_level)             
   4cf18:	4a88           	tstl %a0                                    
   4cf1a:	670a           	beqs 4cf26 <msdos_format_printf+0x16>       <== NEVER TAKEN
   4cf1c:	202e 000c      	movel %fp@(12),%d0                          
   4cf20:	b0a8 0018      	cmpl %a0@(24),%d0                           
   4cf24:	6f04           	bles 4cf2a <msdos_format_printf+0x1a>       <== NEVER TAKEN
  {                                                                   
    vfprintf (stdout, format, args);                                  
    fflush (stdout);                                                  
  }                                                                   
  va_end (args);                                                      
}                                                                     
   4cf26:	4e5e           	unlk %fp                                    
   4cf28:	4e75           	rts                                         
{                                                                     
  va_list args;                                                       
  va_start (args, format);                                            
  if (rqdata != NULL && rqdata->info_level >= info_level)             
  {                                                                   
    vfprintf (stdout, format, args);                                  
   4cf2a:	486e 0014      	pea %fp@(20)                                <== NOT EXECUTED
   4cf2e:	2079 0006 adc0 	moveal 6adc0 <_impure_ptr>,%a0              <== NOT EXECUTED
   4cf34:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   4cf38:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   4cf3c:	4eb9 0006 215c 	jsr 6215c <vfprintf>                        <== NOT EXECUTED
    fflush (stdout);                                                  
   4cf42:	2079 0006 adc0 	moveal 6adc0 <_impure_ptr>,%a0              <== NOT EXECUTED
   4cf48:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   4cf4c:	4eb9 0005 ab5e 	jsr 5ab5e <fflush>                          <== NOT EXECUTED
   4cf52:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
  va_end (args);                                                      
}                                                                     
   4cf56:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004cf5a <msdos_format_write_sec>: | 0, if success, -1 and errno if failed | \*=========================================================================*/ { int ret_val = 0; if (0 > lseek(fd,((off_t)start_sector)*sector_size,SEEK_SET)) {
   4cf5a:	4280           	clrl %d0                                    
 )                                                                    
/*-------------------------------------------------------------------------*\
| Return Value:                                                             |
|    0, if success, -1 and errno if failed                                  |
\*=========================================================================*/
{                                                                     
   4cf5c:	4e56 0000      	linkw %fp,#0                                
  int ret_val = 0;                                                    
                                                                      
  if (0 > lseek(fd,((off_t)start_sector)*sector_size,SEEK_SET)) {     
   4cf60:	222e 000c      	movel %fp@(12),%d1                          
 )                                                                    
/*-------------------------------------------------------------------------*\
| Return Value:                                                             |
|    0, if success, -1 and errno if failed                                  |
\*=========================================================================*/
{                                                                     
   4cf64:	2f03           	movel %d3,%sp@-                             
   4cf66:	262e 0010      	movel %fp@(16),%d3                          
   4cf6a:	2f02           	movel %d2,%sp@-                             
   4cf6c:	242e 0008      	movel %fp@(8),%d2                           
  int ret_val = 0;                                                    
                                                                      
  if (0 > lseek(fd,((off_t)start_sector)*sector_size,SEEK_SET)) {     
   4cf70:	42a7           	clrl %sp@-                                  
   4cf72:	2f03           	movel %d3,%sp@-                             
   4cf74:	42a7           	clrl %sp@-                                  
   4cf76:	2f01           	movel %d1,%sp@-                             
   4cf78:	2f00           	movel %d0,%sp@-                             
   4cf7a:	4eb9 0004 1684 	jsr 41684 <__muldi3>                        
   4cf80:	4fef 000c      	lea %sp@(12),%sp                            
   4cf84:	2e81           	movel %d1,%sp@                              
   4cf86:	2f00           	movel %d0,%sp@-                             
   4cf88:	2f02           	movel %d2,%sp@-                             
   4cf8a:	4eb9 0005 4750 	jsr 54750 <lseek>                           
   4cf90:	4fef 0010      	lea %sp@(16),%sp                            
   4cf94:	4a80           	tstl %d0                                    
   4cf96:	6b24           	bmis 4cfbc <msdos_format_write_sec+0x62>    <== NEVER TAKEN
    ret_val = -1;                                                     
  }                                                                   
  if (ret_val == 0) {                                                 
    if (0 > write(fd,buffer,sector_size)) {                           
   4cf98:	2f03           	movel %d3,%sp@-                             
   4cf9a:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4cf9e:	2f02           	movel %d2,%sp@-                             
   4cfa0:	4eb9 0004 8d50 	jsr 48d50 <write>                           
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4cfa6:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  if (0 > lseek(fd,((off_t)start_sector)*sector_size,SEEK_SET)) {     
    ret_val = -1;                                                     
  }                                                                   
  if (ret_val == 0) {                                                 
    if (0 > write(fd,buffer,sector_size)) {                           
   4cfaa:	4a80           	tstl %d0                                    
   4cfac:	5dc0           	slt %d0                                     
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4cfae:	262e fffc      	movel %fp@(-4),%d3                          
                                                                      
  if (0 > lseek(fd,((off_t)start_sector)*sector_size,SEEK_SET)) {     
    ret_val = -1;                                                     
  }                                                                   
  if (ret_val == 0) {                                                 
    if (0 > write(fd,buffer,sector_size)) {                           
   4cfb2:	4fef 000c      	lea %sp@(12),%sp                            
   4cfb6:	49c0           	extbl %d0                                   
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4cfb8:	4e5e           	unlk %fp                                    
   4cfba:	4e75           	rts                                         
   4cfbc:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
|    0, if success, -1 and errno if failed                                  |
\*=========================================================================*/
{                                                                     
  int ret_val = 0;                                                    
                                                                      
  if (0 > lseek(fd,((off_t)start_sector)*sector_size,SEEK_SET)) {     
   4cfc0:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
      ret_val = -1;                                                   
    }                                                                 
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4cfc2:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
   4cfc6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005834e <msdos_get_dotdot_dir_info_cluster_num_and_offset>: rtems_filesystem_mount_table_entry_t *mt_entry, uint32_t cln, fat_dir_pos_t *dir_pos, char *dir_entry ) {
   5834e:	4e56 ff94      	linkw %fp,#-108                             <== NOT EXECUTED
   58352:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
    uint32_t         cl4find = 0;                                     
                                                                      
    /*                                                                
     * open fat-file corresponded to ".."                             
     */                                                               
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
   58356:	486e ffbc      	pea %fp@(-68)                               <== NOT EXECUTED
   5835a:	4bf9 0005 1914 	lea 51914 <fat_file_open>,%a5               <== NOT EXECUTED
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    uint32_t                              cln,                        
    fat_dir_pos_t                        *dir_pos,                    
    char                                 *dir_entry                   
    )                                                                 
{                                                                     
   58360:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
   58364:	262e 0010      	movel %fp@(16),%d3                          <== NOT EXECUTED
    int              rc = RC_OK;                                      
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   58368:	246b 0008      	moveal %a3@(8),%a2                          <== NOT EXECUTED
    uint32_t         cl4find = 0;                                     
                                                                      
    /*                                                                
     * open fat-file corresponded to ".."                             
     */                                                               
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
   5836c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
    char                                 *dir_entry                   
    )                                                                 
{                                                                     
    int              rc = RC_OK;                                      
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    fat_file_fd_t   *fat_fd = NULL;                                   
   5836e:	42ae ffbc      	clrl %fp@(-68)                              <== NOT EXECUTED
    uint32_t         cl4find = 0;                                     
                                                                      
    /*                                                                
     * open fat-file corresponded to ".."                             
     */                                                               
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
   58372:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58374:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   58376:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    uint32_t         cl4find = 0;                                     
                                                                      
    /*                                                                
     * open fat-file corresponded to ".."                             
     */                                                               
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
   5837a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   5837c:	670c           	beqs 5838a <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x3c><== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
    rc = fat_file_close(&fs_info->fat, fat_fd);                       
    return rc;                                                        
}                                                                     
   5837e:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   58380:	4cee 3cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   58386:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58388:	4e75           	rts                                         <== NOT EXECUTED
     */                                                               
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    fat_fd->cln = cln;                                                
   5838a:	206e ffbc      	moveal %fp@(-68),%a0                        <== NOT EXECUTED
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
                                                                      
    fat_fd->map.file_cln = 0;                                         
    fat_fd->map.disk_cln = fat_fd->cln;                               
                                                                      
    rc = fat_file_size(&fs_info->fat, fat_fd);                        
   5838e:	49f9 0005 2680 	lea 52680 <fat_file_size>,%a4               <== NOT EXECUTED
     */                                                               
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    fat_fd->cln = cln;                                                
   58394:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
   58398:	2140 001c      	movel %d0,%a0@(28)                          <== NOT EXECUTED
    fat_fd->fat_file_type = FAT_DIRECTORY;                            
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
   5839c:	7020           	moveq #32,%d0                               <== NOT EXECUTED
   5839e:	4840           	swap %d0                                    <== NOT EXECUTED
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    fat_fd->cln = cln;                                                
    fat_fd->fat_file_type = FAT_DIRECTORY;                            
   583a0:	42a8 0010      	clrl %a0@(16)                               <== NOT EXECUTED
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
   583a4:	2140 0014      	movel %d0,%a0@(20)                          <== NOT EXECUTED
                                                                      
    fat_fd->map.file_cln = 0;                                         
    fat_fd->map.disk_cln = fat_fd->cln;                               
   583a8:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
                                                                      
    fat_fd->cln = cln;                                                
    fat_fd->fat_file_type = FAT_DIRECTORY;                            
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
                                                                      
    fat_fd->map.file_cln = 0;                                         
   583ac:	42a8 0032      	clrl %a0@(50)                               <== NOT EXECUTED
    fat_fd->map.disk_cln = fat_fd->cln;                               
   583b0:	2140 0036      	movel %d0,%a0@(54)                          <== NOT EXECUTED
                                                                      
    rc = fat_file_size(&fs_info->fat, fat_fd);                        
   583b4:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   583b6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   583b8:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   583ba:	508f           	addql #8,%sp                                <== NOT EXECUTED
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
                                                                      
    fat_fd->map.file_cln = 0;                                         
    fat_fd->map.disk_cln = fat_fd->cln;                               
                                                                      
    rc = fat_file_size(&fs_info->fat, fat_fd);                        
   583bc:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   583be:	6600 01fe      	bnew 585be <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x270><== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    /* find "." node in opened directory */                           
    memset(dot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);           
    msdos_long_to_short(".", 1, dot_node, MSDOS_SHORT_NAME_LEN);      
   583c2:	4878 000b      	pea b <LASTO+0x1>                           <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* find "." node in opened directory */                           
    memset(dot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);           
   583c6:	240e           	movel %fp,%d2                               <== NOT EXECUTED
   583c8:	0682 ffff ffc0 	addil #-64,%d2                              <== NOT EXECUTED
   583ce:	2042           	moveal %d2,%a0                              <== NOT EXECUTED
    msdos_long_to_short(".", 1, dot_node, MSDOS_SHORT_NAME_LEN);      
   583d0:	2a3c 0005 7050 	movel #356432,%d5                           <== NOT EXECUTED
    rc = msdos_find_name_in_fat_file(mt_entry, fat_fd, false, ".", 1, 
   583d6:	283c 0005 782a 	movel #358442,%d4                           <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    /* find "." node in opened directory */                           
    memset(dot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);           
    msdos_long_to_short(".", 1, dot_node, MSDOS_SHORT_NAME_LEN);      
   583dc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   583de:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   583e2:	4879 0006 9f9b 	pea 69f9b <IMFS_memfile_handlers+0x79>      <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* find "." node in opened directory */                           
    memset(dot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);           
   583e8:	42ae ffc4      	clrl %fp@(-60)                              <== NOT EXECUTED
   583ec:	4290           	clrl %a0@                                   <== NOT EXECUTED
    msdos_long_to_short(".", 1, dot_node, MSDOS_SHORT_NAME_LEN);      
   583ee:	2045           	moveal %d5,%a0                              <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* find "." node in opened directory */                           
    memset(dot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);           
   583f0:	42ae ffc8      	clrl %fp@(-56)                              <== NOT EXECUTED
   583f4:	42ae ffcc      	clrl %fp@(-52)                              <== NOT EXECUTED
   583f8:	42ae ffd0      	clrl %fp@(-48)                              <== NOT EXECUTED
   583fc:	42ae ffd4      	clrl %fp@(-44)                              <== NOT EXECUTED
   58400:	42ae ffd8      	clrl %fp@(-40)                              <== NOT EXECUTED
   58404:	42ae ffdc      	clrl %fp@(-36)                              <== NOT EXECUTED
    msdos_long_to_short(".", 1, dot_node, MSDOS_SHORT_NAME_LEN);      
   58408:	4e90           	jsr %a0@                                    <== NOT EXECUTED
    rc = msdos_find_name_in_fat_file(mt_entry, fat_fd, false, ".", 1, 
   5840a:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   5840c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5840e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   58410:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   58414:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   58418:	4879 0006 9f9b 	pea 69f9b <IMFS_memfile_handlers+0x79>      <== NOT EXECUTED
   5841e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   58420:	2f2e ffbc      	movel %fp@(-68),%sp@-                       <== NOT EXECUTED
   58424:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   58426:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                     MSDOS_NAME_SHORT, dir_pos, dot_node);
                                                                      
    if (rc != RC_OK)                                                  
   58428:	4fef 0030      	lea %sp@(48),%sp                            <== NOT EXECUTED
    }                                                                 
                                                                      
    /* find "." node in opened directory */                           
    memset(dot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);           
    msdos_long_to_short(".", 1, dot_node, MSDOS_SHORT_NAME_LEN);      
    rc = msdos_find_name_in_fat_file(mt_entry, fat_fd, false, ".", 1, 
   5842c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                     MSDOS_NAME_SHORT, dir_pos, dot_node);
                                                                      
    if (rc != RC_OK)                                                  
   5842e:	6600 018e      	bnew 585be <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x270><== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    /* find ".." node in opened directory */                          
    memset(dotdot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);        
    msdos_long_to_short("..", 2, dotdot_node, MSDOS_SHORT_NAME_LEN);  
   58432:	4878 000b      	pea b <LASTO+0x1>                           <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* find ".." node in opened directory */                          
    memset(dotdot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);        
   58436:	240e           	movel %fp,%d2                               <== NOT EXECUTED
   58438:	0682 ffff ffe0 	addil #-32,%d2                              <== NOT EXECUTED
   5843e:	2042           	moveal %d2,%a0                              <== NOT EXECUTED
    msdos_long_to_short("..", 2, dotdot_node, MSDOS_SHORT_NAME_LEN);  
   58440:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   58442:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   58446:	4879 0006 9f9a 	pea 69f9a <IMFS_memfile_handlers+0x78>      <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* find ".." node in opened directory */                          
    memset(dotdot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);        
   5844c:	42ae ffe4      	clrl %fp@(-28)                              <== NOT EXECUTED
   58450:	4290           	clrl %a0@                                   <== NOT EXECUTED
    msdos_long_to_short("..", 2, dotdot_node, MSDOS_SHORT_NAME_LEN);  
   58452:	2045           	moveal %d5,%a0                              <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* find ".." node in opened directory */                          
    memset(dotdot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);        
   58454:	42ae ffe8      	clrl %fp@(-24)                              <== NOT EXECUTED
   58458:	42ae ffec      	clrl %fp@(-20)                              <== NOT EXECUTED
   5845c:	42ae fff0      	clrl %fp@(-16)                              <== NOT EXECUTED
   58460:	42ae fff4      	clrl %fp@(-12)                              <== NOT EXECUTED
   58464:	42ae fff8      	clrl %fp@(-8)                               <== NOT EXECUTED
   58468:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
    msdos_long_to_short("..", 2, dotdot_node, MSDOS_SHORT_NAME_LEN);  
   5846c:	4e90           	jsr %a0@                                    <== NOT EXECUTED
    rc = msdos_find_name_in_fat_file(mt_entry, fat_fd, false, "..", 2,
   5846e:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   58470:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   58472:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   58474:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   58478:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   5847c:	4879 0006 9f9a 	pea 69f9a <IMFS_memfile_handlers+0x78>      <== NOT EXECUTED
   58482:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   58484:	2f2e ffbc      	movel %fp@(-68),%sp@-                       <== NOT EXECUTED
   58488:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5848a:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                     MSDOS_NAME_SHORT, dir_pos,       
                                     dotdot_node);                    
                                                                      
    if (rc != RC_OK)                                                  
   5848c:	4fef 0030      	lea %sp@(48),%sp                            <== NOT EXECUTED
    }                                                                 
                                                                      
    /* find ".." node in opened directory */                          
    memset(dotdot_node, 0, MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE);        
    msdos_long_to_short("..", 2, dotdot_node, MSDOS_SHORT_NAME_LEN);  
    rc = msdos_find_name_in_fat_file(mt_entry, fat_fd, false, "..", 2,
   58490:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                     MSDOS_NAME_SHORT, dir_pos,       
                                     dotdot_node);                    
                                                                      
    if (rc != RC_OK)                                                  
   58492:	6600 012a      	bnew 585be <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x270><== NOT EXECUTED
    }                                                                 
                                                                      
    cl4find = MSDOS_EXTRACT_CLUSTER_NUM(dot_node);                    
                                                                      
    /* close fat-file corresponded to ".." directory */               
    rc = fat_file_close(&fs_info->fat, fat_fd);                       
   58496:	2f2e ffbc      	movel %fp@(-68),%sp@-                       <== NOT EXECUTED
   5849a:	283c 0005 1f16 	movel #335638,%d4                           <== NOT EXECUTED
   584a0:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   584a2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    cl4find = MSDOS_EXTRACT_CLUSTER_NUM(dot_node);                    
   584a4:	3a2e ffda      	movew %fp@(-38),%d5                         <== NOT EXECUTED
   584a8:	3c2e ffd4      	movew %fp@(-44),%d6                         <== NOT EXECUTED
                                                                      
    /* close fat-file corresponded to ".." directory */               
    rc = fat_file_close(&fs_info->fat, fat_fd);                       
   584ac:	4e90           	jsr %a0@                                    <== NOT EXECUTED
    if ( rc != RC_OK )                                                
   584ae:	508f           	addql #8,%sp                                <== NOT EXECUTED
    }                                                                 
                                                                      
    cl4find = MSDOS_EXTRACT_CLUSTER_NUM(dot_node);                    
                                                                      
    /* close fat-file corresponded to ".." directory */               
    rc = fat_file_close(&fs_info->fat, fat_fd);                       
   584b0:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if ( rc != RC_OK )                                                
   584b2:	6600 feca      	bnew 5837e <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x30><== NOT EXECUTED
   584b6:	4287           	clrl %d7                                    <== NOT EXECUTED
   584b8:	4282           	clrl %d2                                    <== NOT EXECUTED
   584ba:	3e2e fff4      	movew %fp@(-12),%d7                         <== NOT EXECUTED
   584be:	342e fffa      	movew %fp@(-6),%d2                          <== NOT EXECUTED
   584c2:	2207           	movel %d7,%d1                               <== NOT EXECUTED
   584c4:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   584c6:	e08f           	lsrl #8,%d7                                 <== NOT EXECUTED
   584c8:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
   584ca:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   584cc:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   584ce:	8287           	orl %d7,%d1                                 <== NOT EXECUTED
   584d0:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
        return rc;                                                    
                                                                      
    if ( (MSDOS_EXTRACT_CLUSTER_NUM(dotdot_node)) == 0)               
   584d2:	4841           	swap %d1                                    <== NOT EXECUTED
   584d4:	4241           	clrw %d1                                    <== NOT EXECUTED
   584d6:	0280 0000 ffff 	andil #65535,%d0                            <== NOT EXECUTED
   584dc:	8280           	orl %d0,%d1                                 <== NOT EXECUTED
   584de:	6614           	bnes 584f4 <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x1a6><== NOT EXECUTED
fat_dir_pos_init(                                                     
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
  dir_pos->sname.ofs = 0;                                             
   584e0:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
  dir_pos->lname.cln = FAT_FILE_SHORT_NAME;                           
   584e2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
        /*                                                            
         * we handle root dir for all FAT types in the same way with the
         * ordinary directories ( through fat_file_* calls )          
         */                                                           
        fat_dir_pos_init(dir_pos);                                    
        dir_pos->sname.cln = FAT_ROOTDIR_CLUSTER_NUM;                 
   584e4:	7e01           	moveq #1,%d7                                <== NOT EXECUTED
fat_dir_pos_init(                                                     
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
  dir_pos->sname.ofs = 0;                                             
   584e6:	42a8 0004      	clrl %a0@(4)                                <== NOT EXECUTED
  dir_pos->lname.cln = FAT_FILE_SHORT_NAME;                           
   584ea:	2140 0008      	movel %d0,%a0@(8)                           <== NOT EXECUTED
  dir_pos->lname.ofs = FAT_FILE_SHORT_NAME;                           
   584ee:	2140 000c      	movel %d0,%a0@(12)                          <== NOT EXECUTED
   584f2:	2087           	movel %d7,%a0@                              <== NOT EXECUTED
    }                                                                 
                                                                      
    /* open fat-file corresponded to second ".." */                   
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
   584f4:	486e ffbc      	pea %fp@(-68)                               <== NOT EXECUTED
   584f8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   584fa:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   584fc:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   584fe:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
        fat_dir_pos_init(dir_pos);                                    
        dir_pos->sname.cln = FAT_ROOTDIR_CLUSTER_NUM;                 
    }                                                                 
                                                                      
    /* open fat-file corresponded to second ".." */                   
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
   58502:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   58504:	6600 fe78      	bnew 5837e <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x30><== NOT EXECUTED
   58508:	4287           	clrl %d7                                    <== NOT EXECUTED
   5850a:	4282           	clrl %d2                                    <== NOT EXECUTED
   5850c:	3e2e fff4      	movew %fp@(-12),%d7                         <== NOT EXECUTED
   58510:	342e fffa      	movew %fp@(-6),%d2                          <== NOT EXECUTED
        return rc;                                                    
                                                                      
    if ((MSDOS_EXTRACT_CLUSTER_NUM(dotdot_node)) == 0)                
        fat_fd->cln = fs_info->fat.vol.rdir_cl;                       
   58514:	206e ffbc      	moveal %fp@(-68),%a0                        <== NOT EXECUTED
   58518:	2007           	movel %d7,%d0                               <== NOT EXECUTED
   5851a:	2202           	movel %d2,%d1                               <== NOT EXECUTED
   5851c:	e08f           	lsrl #8,%d7                                 <== NOT EXECUTED
   5851e:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
   58520:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   58522:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   58524:	8087           	orl %d7,%d0                                 <== NOT EXECUTED
   58526:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
    /* open fat-file corresponded to second ".." */                   
    rc = fat_file_open(&fs_info->fat, dir_pos, &fat_fd);              
    if (rc != RC_OK)                                                  
        return rc;                                                    
                                                                      
    if ((MSDOS_EXTRACT_CLUSTER_NUM(dotdot_node)) == 0)                
   58528:	4840           	swap %d0                                    <== NOT EXECUTED
   5852a:	4240           	clrw %d0                                    <== NOT EXECUTED
   5852c:	0281 0000 ffff 	andil #65535,%d1                            <== NOT EXECUTED
   58532:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   58534:	6600 00ba      	bnew 585f0 <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x2a2><== NOT EXECUTED
        fat_fd->cln = fs_info->fat.vol.rdir_cl;                       
   58538:	216a 0038 001c 	movel %a2@(56),%a0@(28)                     <== NOT EXECUTED
    else                                                              
        fat_fd->cln = MSDOS_EXTRACT_CLUSTER_NUM(dotdot_node);         
                                                                      
    fat_fd->fat_file_type = FAT_DIRECTORY;                            
   5853e:	42a8 0010      	clrl %a0@(16)                               <== NOT EXECUTED
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
   58542:	7020           	moveq #32,%d0                               <== NOT EXECUTED
   58544:	4840           	swap %d0                                    <== NOT EXECUTED
                                                                      
    fat_fd->map.file_cln = 0;                                         
    fat_fd->map.disk_cln = fat_fd->cln;                               
   58546:	2168 001c 0036 	movel %a0@(28),%a0@(54)                     <== NOT EXECUTED
        fat_fd->cln = fs_info->fat.vol.rdir_cl;                       
    else                                                              
        fat_fd->cln = MSDOS_EXTRACT_CLUSTER_NUM(dotdot_node);         
                                                                      
    fat_fd->fat_file_type = FAT_DIRECTORY;                            
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
   5854c:	2140 0014      	movel %d0,%a0@(20)                          <== NOT EXECUTED
                                                                      
    fat_fd->map.file_cln = 0;                                         
   58550:	42a8 0032      	clrl %a0@(50)                               <== NOT EXECUTED
    fat_fd->map.disk_cln = fat_fd->cln;                               
                                                                      
    rc = fat_file_size(&fs_info->fat, fat_fd);                        
   58554:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   58556:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58558:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   5855a:	508f           	addql #8,%sp                                <== NOT EXECUTED
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
                                                                      
    fat_fd->map.file_cln = 0;                                         
    fat_fd->map.disk_cln = fat_fd->cln;                               
                                                                      
    rc = fat_file_size(&fs_info->fat, fat_fd);                        
   5855c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc != RC_OK)                                                  
   5855e:	6678           	bnes 585d8 <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x28a><== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* in this directory find slot with specified cluster num */      
    rc = msdos_find_node_by_cluster_num_in_fat_file(mt_entry, fat_fd, cl4find,
   58560:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   58564:	0286 0000 ffff 	andil #65535,%d6                            <== NOT EXECUTED
   5856a:	0285 0000 ffff 	andil #65535,%d5                            <== NOT EXECUTED
   58570:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   58572:	2206           	movel %d6,%d1                               <== NOT EXECUTED
   58574:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   58576:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   58578:	e08d           	lsrl #8,%d5                                 <== NOT EXECUTED
   5857a:	e18e           	lsll #8,%d6                                 <== NOT EXECUTED
   5857c:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5857e:	8c81           	orl %d1,%d6                                 <== NOT EXECUTED
   58580:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    cl4find = MSDOS_EXTRACT_CLUSTER_NUM(dot_node);                    
   58582:	4846           	swap %d6                                    <== NOT EXECUTED
   58584:	4246           	clrw %d6                                    <== NOT EXECUTED
   58586:	0280 0000 ffff 	andil #65535,%d0                            <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* in this directory find slot with specified cluster num */      
    rc = msdos_find_node_by_cluster_num_in_fat_file(mt_entry, fat_fd, cl4find,
   5858c:	8c80           	orl %d0,%d6                                 <== NOT EXECUTED
   5858e:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   58590:	2f2e ffbc      	movel %fp@(-68),%sp@-                       <== NOT EXECUTED
   58594:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   58596:	4eb9 0005 81d6 	jsr 581d6 <msdos_find_node_by_cluster_num_in_fat_file><== NOT EXECUTED
                                                    dir_pos, dir_entry);
    if (rc != RC_OK)                                                  
   5859c:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
                                                                      
    /* in this directory find slot with specified cluster num */      
    rc = msdos_find_node_by_cluster_num_in_fat_file(mt_entry, fat_fd, cl4find,
   585a0:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                    dir_pos, dir_entry);
    if (rc != RC_OK)                                                  
   585a2:	6634           	bnes 585d8 <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x28a><== NOT EXECUTED
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
    rc = fat_file_close(&fs_info->fat, fat_fd);                       
   585a4:	2f2e ffbc      	movel %fp@(-68),%sp@-                       <== NOT EXECUTED
   585a8:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   585aa:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   585ac:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   585ae:	508f           	addql #8,%sp                                <== NOT EXECUTED
   585b0:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    return rc;                                                        
}                                                                     
   585b2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   585b4:	4cee 3cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   585ba:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   585bc:	4e75           	rts                                         <== NOT EXECUTED
                                     MSDOS_NAME_SHORT, dir_pos,       
                                     dotdot_node);                    
                                                                      
    if (rc != RC_OK)                                                  
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
   585be:	2f2e ffbc      	movel %fp@(-68),%sp@-                       <== NOT EXECUTED
   585c2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   585c4:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  <== NOT EXECUTED
   585ca:	508f           	addql #8,%sp                                <== NOT EXECUTED
        fat_file_close(&fs_info->fat, fat_fd);                        
        return rc;                                                    
    }                                                                 
    rc = fat_file_close(&fs_info->fat, fat_fd);                       
    return rc;                                                        
}                                                                     
   585cc:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   585ce:	4cee 3cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   585d4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   585d6:	4e75           	rts                                         <== NOT EXECUTED
    /* in this directory find slot with specified cluster num */      
    rc = msdos_find_node_by_cluster_num_in_fat_file(mt_entry, fat_fd, cl4find,
                                                    dir_pos, dir_entry);
    if (rc != RC_OK)                                                  
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
   585d8:	2f2e ffbc      	movel %fp@(-68),%sp@-                       <== NOT EXECUTED
   585dc:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   585de:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   585e0:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   585e2:	508f           	addql #8,%sp                                <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
    rc = fat_file_close(&fs_info->fat, fat_fd);                       
    return rc;                                                        
}                                                                     
   585e4:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   585e6:	4cee 3cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   585ec:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   585ee:	4e75           	rts                                         <== NOT EXECUTED
        return rc;                                                    
                                                                      
    if ((MSDOS_EXTRACT_CLUSTER_NUM(dotdot_node)) == 0)                
        fat_fd->cln = fs_info->fat.vol.rdir_cl;                       
    else                                                              
        fat_fd->cln = MSDOS_EXTRACT_CLUSTER_NUM(dotdot_node);         
   585f0:	2140 001c      	movel %d0,%a0@(28)                          <== NOT EXECUTED
   585f4:	6000 ff48      	braw 5853e <msdos_get_dotdot_dir_info_cluster_num_and_offset+0x1f0><== NOT EXECUTED
                                                                      

000585f8 <msdos_get_name_node>: int rc = RC_OK; fat_file_fd_t *fat_fd = parent_loc->node_access; uint32_t dotdot_cln = 0; /* find name in fat-file which corresponds to the directory */ rc = msdos_find_name_in_fat_file(parent_loc->mt_entry, fat_fd,
   585f8:	4280           	clrl %d0                                    
    int                                     name_len,                 
    msdos_name_type_t                       name_type,                
    fat_dir_pos_t                          *dir_pos,                  
    char                                   *name_dir_entry            
    )                                                                 
{                                                                     
   585fa:	4e56 ffe8      	linkw %fp,#-24                              
   585fe:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
   58602:	286e 0020      	moveal %fp@(32),%a4                         
   58606:	266e 001c      	moveal %fp@(28),%a3                         
    int              rc = RC_OK;                                      
    fat_file_fd_t   *fat_fd = parent_loc->node_access;                
    uint32_t         dotdot_cln = 0;                                  
                                                                      
    /* find name in fat-file which corresponds to the directory */    
    rc = msdos_find_name_in_fat_file(parent_loc->mt_entry, fat_fd,    
   5860a:	2f0c           	movel %a4,%sp@-                             
    int                                     name_len,                 
    msdos_name_type_t                       name_type,                
    fat_dir_pos_t                          *dir_pos,                  
    char                                   *name_dir_entry            
    )                                                                 
{                                                                     
   5860c:	262e 0010      	movel %fp@(16),%d3                          
    int              rc = RC_OK;                                      
    fat_file_fd_t   *fat_fd = parent_loc->node_access;                
    uint32_t         dotdot_cln = 0;                                  
                                                                      
    /* find name in fat-file which corresponds to the directory */    
    rc = msdos_find_name_in_fat_file(parent_loc->mt_entry, fat_fd,    
   58610:	2f0b           	movel %a3,%sp@-                             
   58612:	2f2e 0018      	movel %fp@(24),%sp@-                        
   58616:	2f2e 0014      	movel %fp@(20),%sp@-                        
    int                                     name_len,                 
    msdos_name_type_t                       name_type,                
    fat_dir_pos_t                          *dir_pos,                  
    char                                   *name_dir_entry            
    )                                                                 
{                                                                     
   5861a:	246e 0008      	moveal %fp@(8),%a2                          
   5861e:	182e 000f      	moveb %fp@(15),%d4                          
    int              rc = RC_OK;                                      
    fat_file_fd_t   *fat_fd = parent_loc->node_access;                
    uint32_t         dotdot_cln = 0;                                  
                                                                      
    /* find name in fat-file which corresponds to the directory */    
    rc = msdos_find_name_in_fat_file(parent_loc->mt_entry, fat_fd,    
   58622:	2f03           	movel %d3,%sp@-                             
   58624:	1004           	moveb %d4,%d0                               
   58626:	2f00           	movel %d0,%sp@-                             
   58628:	2f2a 0008      	movel %a2@(8),%sp@-                         
   5862c:	2f2a 0014      	movel %a2@(20),%sp@-                        
   58630:	4eb9 0005 782a 	jsr 5782a <msdos_find_name_in_fat_file>     
                                     create_node, name, name_len, name_type,
                                     dir_pos, name_dir_entry);        
    if ((rc != RC_OK) && (rc != MSDOS_NAME_NOT_FOUND_ERR))            
   58636:	4fef 0020      	lea %sp@(32),%sp                            
    int              rc = RC_OK;                                      
    fat_file_fd_t   *fat_fd = parent_loc->node_access;                
    uint32_t         dotdot_cln = 0;                                  
                                                                      
    /* find name in fat-file which corresponds to the directory */    
    rc = msdos_find_name_in_fat_file(parent_loc->mt_entry, fat_fd,    
   5863a:	2400           	movel %d0,%d2                               
                                     create_node, name, name_len, name_type,
                                     dir_pos, name_dir_entry);        
    if ((rc != RC_OK) && (rc != MSDOS_NAME_NOT_FOUND_ERR))            
   5863c:	665a           	bnes 58698 <msdos_get_name_node+0xa0>       
        return rc;                                                    
                                                                      
    if (!create_node)                                                 
   5863e:	4a04           	tstb %d4                                    
   58640:	6656           	bnes 58698 <msdos_get_name_node+0xa0>       
         * Really, we should return cluster num and offset not of ".." slot, but
         * slot which correspondes to real directory name.            
         */                                                           
        if (rc == RC_OK)                                              
        {                                                             
            if (strncmp(name, "..", 2) == 0)                          
   58642:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   58646:	4879 0006 9f9a 	pea 69f9a <IMFS_memfile_handlers+0x78>      
   5864c:	2f03           	movel %d3,%sp@-                             
   5864e:	4eb9 0005 c508 	jsr 5c508 <strncmp>                         
   58654:	4fef 000c      	lea %sp@(12),%sp                            
   58658:	4a80           	tstl %d0                                    
   5865a:	663c           	bnes 58698 <msdos_get_name_node+0xa0>       <== ALWAYS TAKEN
   5865c:	4284           	clrl %d4                                    <== NOT EXECUTED
   5865e:	4283           	clrl %d3                                    <== NOT EXECUTED
   58660:	382c 0014      	movew %a4@(20),%d4                          <== NOT EXECUTED
   58664:	362c 001a      	movew %a4@(26),%d3                          <== NOT EXECUTED
   58668:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5866a:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   5866c:	e08c           	lsrl #8,%d4                                 <== NOT EXECUTED
   5866e:	e08b           	lsrl #8,%d3                                 <== NOT EXECUTED
   58670:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   58672:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   58674:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
   58676:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
            {                                                         
                dotdot_cln = MSDOS_EXTRACT_CLUSTER_NUM((name_dir_entry));
   58678:	4840           	swap %d0                                    <== NOT EXECUTED
   5867a:	4240           	clrw %d0                                    <== NOT EXECUTED
   5867c:	0281 0000 ffff 	andil #65535,%d1                            <== NOT EXECUTED
   58682:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
                                                                      
                /* are we right under root dir ? */                   
                if (dotdot_cln == 0)                                  
   58684:	661e           	bnes 586a4 <msdos_get_name_node+0xac>       <== NOT EXECUTED
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
  dir_pos->sname.ofs = 0;                                             
  dir_pos->lname.cln = FAT_FILE_SHORT_NAME;                           
   58686:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   58688:	2740 0008      	movel %d0,%a3@(8)                           <== NOT EXECUTED
  dir_pos->lname.ofs = FAT_FILE_SHORT_NAME;                           
   5868c:	2740 000c      	movel %d0,%a3@(12)                          <== NOT EXECUTED
                    /*                                                
                     * we can relax about first_char field - it never should be
                     * used for root dir                              
                     */                                               
                    fat_dir_pos_init(dir_pos);                        
                    dir_pos->sname.cln = FAT_ROOTDIR_CLUSTER_NUM;     
   58690:	7001           	moveq #1,%d0                                <== NOT EXECUTED
fat_dir_pos_init(                                                     
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
  dir_pos->sname.ofs = 0;                                             
   58692:	42ab 0004      	clrl %a3@(4)                                <== NOT EXECUTED
   58696:	2680           	movel %d0,%a3@                              <== NOT EXECUTED
                }                                                     
            }                                                         
        }                                                             
    }                                                                 
    return rc;                                                        
}                                                                     
   58698:	2002           	movel %d2,%d0                               
   5869a:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   586a0:	4e5e           	unlk %fp                                    
   586a2:	4e75           	rts                                         
                    fat_dir_pos_init(dir_pos);                        
                    dir_pos->sname.cln = FAT_ROOTDIR_CLUSTER_NUM;     
                }                                                     
                else                                                  
                {                                                     
                    rc =                                              
   586a4:	2d4c 0014      	movel %a4,%fp@(20)                          <== NOT EXECUTED
   586a8:	2d6a 0014 0008 	movel %a2@(20),%fp@(8)                      <== NOT EXECUTED
   586ae:	2d4b 0010      	movel %a3,%fp@(16)                          <== NOT EXECUTED
                }                                                     
            }                                                         
        }                                                             
    }                                                                 
    return rc;                                                        
}                                                                     
   586b2:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
                    fat_dir_pos_init(dir_pos);                        
                    dir_pos->sname.cln = FAT_ROOTDIR_CLUSTER_NUM;     
                }                                                     
                else                                                  
                {                                                     
                    rc =                                              
   586b8:	2d40 000c      	movel %d0,%fp@(12)                          <== NOT EXECUTED
                }                                                     
            }                                                         
        }                                                             
    }                                                                 
    return rc;                                                        
}                                                                     
   586bc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                    fat_dir_pos_init(dir_pos);                        
                    dir_pos->sname.cln = FAT_ROOTDIR_CLUSTER_NUM;     
                }                                                     
                else                                                  
                {                                                     
                    rc =                                              
   586be:	4ef9 0005 834e 	jmp 5834e <msdos_get_dotdot_dir_info_cluster_num_and_offset><== NOT EXECUTED
                                                                      

0004e130 <msdos_initialize_support>: rtems_filesystem_mount_table_entry_t *temp_mt_entry, const rtems_filesystem_operations_table *op_table, const rtems_filesystem_file_handlers_r *file_handlers, const rtems_filesystem_file_handlers_r *directory_handlers ) {
   4e130:	4e56 ffdc      	linkw %fp,#-36                              
   4e134:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
    msdos_fs_info_t   *fs_info = NULL;                                
    fat_file_fd_t     *fat_fd = NULL;                                 
    fat_dir_pos_t      root_pos;                                      
    uint32_t           cl_buf_size;                                   
                                                                      
    fs_info = (msdos_fs_info_t *)calloc(1, sizeof(msdos_fs_info_t));  
   4e138:	4878 0098      	pea 98 <DBL_MANT_DIG+0x63>                  
   4e13c:	49f9 0004 48cc 	lea 448cc <calloc>,%a4                      
   4e142:	4878 0001      	pea 1 <ADD>                                 
    rtems_filesystem_mount_table_entry_t    *temp_mt_entry,           
    const rtems_filesystem_operations_table *op_table,                
    const rtems_filesystem_file_handlers_r  *file_handlers,           
    const rtems_filesystem_file_handlers_r  *directory_handlers       
    )                                                                 
{                                                                     
   4e146:	266e 0008      	moveal %fp@(8),%a3                          
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = NULL;                                
    fat_file_fd_t     *fat_fd = NULL;                                 
   4e14a:	42ae ffec      	clrl %fp@(-20)                              
    fat_dir_pos_t      root_pos;                                      
    uint32_t           cl_buf_size;                                   
                                                                      
    fs_info = (msdos_fs_info_t *)calloc(1, sizeof(msdos_fs_info_t));  
   4e14e:	4e94           	jsr %a4@                                    
    if (!fs_info)                                                     
   4e150:	508f           	addql #8,%sp                                
    msdos_fs_info_t   *fs_info = NULL;                                
    fat_file_fd_t     *fat_fd = NULL;                                 
    fat_dir_pos_t      root_pos;                                      
    uint32_t           cl_buf_size;                                   
                                                                      
    fs_info = (msdos_fs_info_t *)calloc(1, sizeof(msdos_fs_info_t));  
   4e152:	2440           	moveal %d0,%a2                              
    if (!fs_info)                                                     
   4e154:	4a80           	tstl %d0                                    
   4e156:	6700 01a6      	beqw 4e2fe <msdos_initialize_support+0x1ce> 
        rtems_set_errno_and_return_minus_one(ENOMEM);                 
                                                                      
    temp_mt_entry->fs_info = fs_info;                                 
                                                                      
    rc = fat_init_volume_info(&fs_info->fat, temp_mt_entry->dev);     
   4e15a:	2f2b 0036      	movel %a3@(54),%sp@-                        
                                                                      
    fs_info = (msdos_fs_info_t *)calloc(1, sizeof(msdos_fs_info_t));  
    if (!fs_info)                                                     
        rtems_set_errno_and_return_minus_one(ENOMEM);                 
                                                                      
    temp_mt_entry->fs_info = fs_info;                                 
   4e15e:	2740 0008      	movel %d0,%a3@(8)                           
                                                                      
    rc = fat_init_volume_info(&fs_info->fat, temp_mt_entry->dev);     
   4e162:	2f00           	movel %d0,%sp@-                             
   4e164:	4eb9 0005 2df2 	jsr 52df2 <fat_init_volume_info>            
    if (rc != RC_OK)                                                  
   4e16a:	508f           	addql #8,%sp                                
    if (!fs_info)                                                     
        rtems_set_errno_and_return_minus_one(ENOMEM);                 
                                                                      
    temp_mt_entry->fs_info = fs_info;                                 
                                                                      
    rc = fat_init_volume_info(&fs_info->fat, temp_mt_entry->dev);     
   4e16c:	2400           	movel %d0,%d2                               
    if (rc != RC_OK)                                                  
   4e16e:	6600 00cc      	bnew 4e23c <msdos_initialize_support+0x10c> 
     * open fat-file which correspondes to  root directory            
     * (so inode number 0x00000010 is always used for root directory) 
     */                                                               
    fat_dir_pos_init(&root_pos);                                      
    root_pos.sname.cln = FAT_ROOTDIR_CLUSTER_NUM;                     
    rc = fat_file_open(&fs_info->fat, &root_pos, &fat_fd);            
   4e172:	486e ffec      	pea %fp@(-20)                               
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
  dir_pos->sname.ofs = 0;                                             
  dir_pos->lname.cln = FAT_FILE_SHORT_NAME;                           
   4e176:	72ff           	moveq #-1,%d1                               
   4e178:	486e fff0      	pea %fp@(-16)                               
        free(fs_info);                                                
        return rc;                                                    
    }                                                                 
                                                                      
    fs_info->file_handlers      = file_handlers;                      
    fs_info->directory_handlers = directory_handlers;                 
   4e17c:	202e 0014      	movel %fp@(20),%d0                          
   4e180:	2540 0088      	movel %d0,%a2@(136)                         
    /*                                                                
     * open fat-file which correspondes to  root directory            
     * (so inode number 0x00000010 is always used for root directory) 
     */                                                               
    fat_dir_pos_init(&root_pos);                                      
    root_pos.sname.cln = FAT_ROOTDIR_CLUSTER_NUM;                     
   4e184:	7001           	moveq #1,%d0                                
    {                                                                 
        free(fs_info);                                                
        return rc;                                                    
    }                                                                 
                                                                      
    fs_info->file_handlers      = file_handlers;                      
   4e186:	256e 0010 008c 	movel %fp@(16),%a2@(140)                    
     * open fat-file which correspondes to  root directory            
     * (so inode number 0x00000010 is always used for root directory) 
     */                                                               
    fat_dir_pos_init(&root_pos);                                      
    root_pos.sname.cln = FAT_ROOTDIR_CLUSTER_NUM;                     
    rc = fat_file_open(&fs_info->fat, &root_pos, &fat_fd);            
   4e18c:	2f0a           	movel %a2,%sp@-                             
fat_dir_pos_init(                                                     
    fat_dir_pos_t *dir_pos                                            
    )                                                                 
{                                                                     
  dir_pos->sname.cln = 0;                                             
  dir_pos->sname.ofs = 0;                                             
   4e18e:	42ae fff4      	clrl %fp@(-12)                              
  dir_pos->lname.cln = FAT_FILE_SHORT_NAME;                           
   4e192:	2d41 fff8      	movel %d1,%fp@(-8)                          
  dir_pos->lname.ofs = FAT_FILE_SHORT_NAME;                           
   4e196:	2d41 fffc      	movel %d1,%fp@(-4)                          
    /*                                                                
     * open fat-file which correspondes to  root directory            
     * (so inode number 0x00000010 is always used for root directory) 
     */                                                               
    fat_dir_pos_init(&root_pos);                                      
    root_pos.sname.cln = FAT_ROOTDIR_CLUSTER_NUM;                     
   4e19a:	2d40 fff0      	movel %d0,%fp@(-16)                         
    rc = fat_file_open(&fs_info->fat, &root_pos, &fat_fd);            
   4e19e:	4eb9 0005 1914 	jsr 51914 <fat_file_open>                   
    if (rc != RC_OK)                                                  
   4e1a4:	4fef 000c      	lea %sp@(12),%sp                            
     * open fat-file which correspondes to  root directory            
     * (so inode number 0x00000010 is always used for root directory) 
     */                                                               
    fat_dir_pos_init(&root_pos);                                      
    root_pos.sname.cln = FAT_ROOTDIR_CLUSTER_NUM;                     
    rc = fat_file_open(&fs_info->fat, &root_pos, &fat_fd);            
   4e1a8:	2400           	movel %d0,%d2                               
    if (rc != RC_OK)                                                  
   4e1aa:	6600 00aa      	bnew 4e256 <msdos_initialize_support+0x126> 
        free(fs_info);                                                
        return rc;                                                    
    }                                                                 
                                                                      
    /* again: unfortunately "fat-file" is just almost fat file :( */  
    fat_fd->fat_file_type = FAT_DIRECTORY;                            
   4e1ae:	206e ffec      	moveal %fp@(-20),%a0                        
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
    fat_fd->cln = fs_info->fat.vol.rdir_cl;                           
   4e1b2:	202a 0038      	movel %a2@(56),%d0                          
        return rc;                                                    
    }                                                                 
                                                                      
    /* again: unfortunately "fat-file" is just almost fat file :( */  
    fat_fd->fat_file_type = FAT_DIRECTORY;                            
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
   4e1b6:	7220           	moveq #32,%d1                               
   4e1b8:	4841           	swap %d1                                    
        free(fs_info);                                                
        return rc;                                                    
    }                                                                 
                                                                      
    /* again: unfortunately "fat-file" is just almost fat file :( */  
    fat_fd->fat_file_type = FAT_DIRECTORY;                            
   4e1ba:	42a8 0010      	clrl %a0@(16)                               
    fat_fd->size_limit = MSDOS_MAX_DIR_LENGHT;                        
   4e1be:	2141 0014      	movel %d1,%a0@(20)                          
    fat_fd->cln = fs_info->fat.vol.rdir_cl;                           
   4e1c2:	2140 001c      	movel %d0,%a0@(28)                          
                                                                      
    fat_fd->map.file_cln = 0;                                         
   4e1c6:	42a8 0032      	clrl %a0@(50)                               
    fat_fd->map.disk_cln = fat_fd->cln;                               
   4e1ca:	2140 0036      	movel %d0,%a0@(54)                          
                                                                      
    /* if we have FAT12/16 */                                         
    if ( fat_fd->cln == 0 )                                           
   4e1ce:	6600 00a4      	bnew 4e274 <msdos_initialize_support+0x144> 
    {                                                                 
        fat_fd->fat_file_size = fs_info->fat.vol.rdir_size;           
        cl_buf_size = (fs_info->fat.vol.bpc > fs_info->fat.vol.rdir_size) ?
                      fs_info->fat.vol.bpc                                :
   4e1d2:	4280           	clrl %d0                                    
    fat_fd->map.disk_cln = fat_fd->cln;                               
                                                                      
    /* if we have FAT12/16 */                                         
    if ( fat_fd->cln == 0 )                                           
    {                                                                 
        fat_fd->fat_file_size = fs_info->fat.vol.rdir_size;           
   4e1d4:	222a 0028      	movel %a2@(40),%d1                          
        cl_buf_size = (fs_info->fat.vol.bpc > fs_info->fat.vol.rdir_size) ?
                      fs_info->fat.vol.bpc                                :
   4e1d8:	302a 0006      	movew %a2@(6),%d0                           
    fat_fd->map.disk_cln = fat_fd->cln;                               
                                                                      
    /* if we have FAT12/16 */                                         
    if ( fat_fd->cln == 0 )                                           
    {                                                                 
        fat_fd->fat_file_size = fs_info->fat.vol.rdir_size;           
   4e1dc:	2141 0018      	movel %d1,%a0@(24)                          
        cl_buf_size = (fs_info->fat.vol.bpc > fs_info->fat.vol.rdir_size) ?
   4e1e0:	b280           	cmpl %d0,%d1                                
   4e1e2:	626e           	bhis 4e252 <msdos_initialize_support+0x122> <== ALWAYS TAKEN
            return rc;                                                
        }                                                             
        cl_buf_size = fs_info->fat.vol.bpc;                           
    }                                                                 
                                                                      
    fs_info->cl_buf = (uint8_t *)calloc(cl_buf_size, sizeof(char));   
   4e1e4:	4878 0001      	pea 1 <ADD>                                 
   4e1e8:	2f00           	movel %d0,%sp@-                             
   4e1ea:	4e94           	jsr %a4@                                    
    if (fs_info->cl_buf == NULL)                                      
   4e1ec:	508f           	addql #8,%sp                                
            return rc;                                                
        }                                                             
        cl_buf_size = fs_info->fat.vol.bpc;                           
    }                                                                 
                                                                      
    fs_info->cl_buf = (uint8_t *)calloc(cl_buf_size, sizeof(char));   
   4e1ee:	2540 0094      	movel %d0,%a2@(148)                         
    if (fs_info->cl_buf == NULL)                                      
   4e1f2:	6700 0124      	beqw 4e318 <msdos_initialize_support+0x1e8> 
        fat_shutdown_drive(&fs_info->fat);                            
        free(fs_info);                                                
        rtems_set_errno_and_return_minus_one(ENOMEM);                 
    }                                                                 
                                                                      
    sc = rtems_semaphore_create(3,                                    
   4e1f6:	486a 0090      	pea %a2@(144)                               
   4e1fa:	42a7           	clrl %sp@-                                  
   4e1fc:	4878 0010      	pea 10 <INVALID_OPERATION>                  
   4e200:	4878 0001      	pea 1 <ADD>                                 
   4e204:	4878 0003      	pea 3 <DIVIDE>                              
   4e208:	4eb9 0004 9258 	jsr 49258 <rtems_semaphore_create>          
                                1,                                    
                                RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO,  
                                0,                                    
                                &fs_info->vol_sema);                  
    if (sc != RTEMS_SUCCESSFUL)                                       
   4e20e:	4fef 0014      	lea %sp@(20),%sp                            
   4e212:	4a80           	tstl %d0                                    
   4e214:	6600 00a6      	bnew 4e2bc <msdos_initialize_support+0x18c> 
        free(fs_info->cl_buf);                                        
        free(fs_info);                                                
        rtems_set_errno_and_return_minus_one( EIO );                  
    }                                                                 
                                                                      
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
   4e218:	206b 0024      	moveal %a3@(36),%a0                         
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
   4e21c:	202e 0014      	movel %fp@(20),%d0                          
        free(fs_info->cl_buf);                                        
        free(fs_info);                                                
        rtems_set_errno_and_return_minus_one( EIO );                  
    }                                                                 
                                                                      
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
   4e220:	216e ffec 0008 	movel %fp@(-20),%a0@(8)                     
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
   4e226:	2140 0010      	movel %d0,%a0@(16)                          
    temp_mt_entry->ops = op_table;                                    
   4e22a:	276e 000c 000c 	movel %fp@(12),%a3@(12)                     
                                                                      
    return rc;                                                        
}                                                                     
   4e230:	2002           	movel %d2,%d0                               
   4e232:	4cee 1c04 ffdc 	moveml %fp@(-36),%d2/%a2-%a4                
   4e238:	4e5e           	unlk %fp                                    
   4e23a:	4e75           	rts                                         
    temp_mt_entry->fs_info = fs_info;                                 
                                                                      
    rc = fat_init_volume_info(&fs_info->fat, temp_mt_entry->dev);     
    if (rc != RC_OK)                                                  
    {                                                                 
        free(fs_info);                                                
   4e23c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e23e:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
   4e244:	588f           	addql #4,%sp                                <== NOT EXECUTED
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
    temp_mt_entry->ops = op_table;                                    
                                                                      
    return rc;                                                        
}                                                                     
   4e246:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4e248:	4cee 1c04 ffdc 	moveml %fp@(-36),%d2/%a2-%a4                <== NOT EXECUTED
   4e24e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e250:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    /* if we have FAT12/16 */                                         
    if ( fat_fd->cln == 0 )                                           
    {                                                                 
        fat_fd->fat_file_size = fs_info->fat.vol.rdir_size;           
        cl_buf_size = (fs_info->fat.vol.bpc > fs_info->fat.vol.rdir_size) ?
   4e252:	2001           	movel %d1,%d0                               
   4e254:	608e           	bras 4e1e4 <msdos_initialize_support+0xb4>  
    fat_dir_pos_init(&root_pos);                                      
    root_pos.sname.cln = FAT_ROOTDIR_CLUSTER_NUM;                     
    rc = fat_file_open(&fs_info->fat, &root_pos, &fat_fd);            
    if (rc != RC_OK)                                                  
    {                                                                 
        fat_shutdown_drive(&fs_info->fat);                            
   4e256:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e258:	4eb9 0005 3810 	jsr 53810 <fat_shutdown_drive>              <== NOT EXECUTED
        free(fs_info);                                                
   4e25e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e260:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
   4e266:	508f           	addql #8,%sp                                <== NOT EXECUTED
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
    temp_mt_entry->ops = op_table;                                    
                                                                      
    return rc;                                                        
}                                                                     
   4e268:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4e26a:	4cee 1c04 ffdc 	moveml %fp@(-36),%d2/%a2-%a4                <== NOT EXECUTED
   4e270:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e272:	4e75           	rts                                         <== NOT EXECUTED
                      fs_info->fat.vol.bpc                                :
                      fs_info->fat.vol.rdir_size;                     
    }                                                                 
    else                                                              
    {                                                                 
        rc = fat_file_size(&fs_info->fat, fat_fd);                    
   4e274:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   4e276:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e278:	4eb9 0005 2680 	jsr 52680 <fat_file_size>                   <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   4e27e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4e280:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4e282:	660a           	bnes 4e28e <msdos_initialize_support+0x15e> <== NOT EXECUTED
            fat_file_close(&fs_info->fat, fat_fd);                    
            fat_shutdown_drive(&fs_info->fat);                        
            free(fs_info);                                            
            return rc;                                                
        }                                                             
        cl_buf_size = fs_info->fat.vol.bpc;                           
   4e284:	4280           	clrl %d0                                    <== NOT EXECUTED
   4e286:	302a 0006      	movew %a2@(6),%d0                           <== NOT EXECUTED
   4e28a:	6000 ff58      	braw 4e1e4 <msdos_initialize_support+0xb4>  <== NOT EXECUTED
    else                                                              
    {                                                                 
        rc = fat_file_size(&fs_info->fat, fat_fd);                    
        if ( rc != RC_OK )                                            
        {                                                             
            fat_file_close(&fs_info->fat, fat_fd);                    
   4e28e:	2f2e ffec      	movel %fp@(-20),%sp@-                       <== NOT EXECUTED
            fat_shutdown_drive(&fs_info->fat);                        
            free(fs_info);                                            
   4e292:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    else                                                              
    {                                                                 
        rc = fat_file_size(&fs_info->fat, fat_fd);                    
        if ( rc != RC_OK )                                            
        {                                                             
            fat_file_close(&fs_info->fat, fat_fd);                    
   4e294:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e296:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  <== NOT EXECUTED
            fat_shutdown_drive(&fs_info->fat);                        
   4e29c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e29e:	4eb9 0005 3810 	jsr 53810 <fat_shutdown_drive>              <== NOT EXECUTED
            free(fs_info);                                            
   4e2a4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e2a6:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
   4e2ac:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
    temp_mt_entry->ops = op_table;                                    
                                                                      
    return rc;                                                        
}                                                                     
   4e2b0:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4e2b2:	4cee 1c04 ffdc 	moveml %fp@(-36),%d2/%a2-%a4                <== NOT EXECUTED
   4e2b8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e2ba:	4e75           	rts                                         <== NOT EXECUTED
                                RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO,  
                                0,                                    
                                &fs_info->vol_sema);                  
    if (sc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
   4e2bc:	2f2e ffec      	movel %fp@(-20),%sp@-                       
        fat_shutdown_drive(&fs_info->fat);                            
        free(fs_info->cl_buf);                                        
   4e2c0:	47f9 0004 4bec 	lea 44bec <free>,%a3                        
        free(fs_info);                                                
        rtems_set_errno_and_return_minus_one( EIO );                  
   4e2c6:	74ff           	moveq #-1,%d2                               
                                RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO,  
                                0,                                    
                                &fs_info->vol_sema);                  
    if (sc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
   4e2c8:	2f0a           	movel %a2,%sp@-                             
   4e2ca:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  
        fat_shutdown_drive(&fs_info->fat);                            
   4e2d0:	2f0a           	movel %a2,%sp@-                             
   4e2d2:	4eb9 0005 3810 	jsr 53810 <fat_shutdown_drive>              
        free(fs_info->cl_buf);                                        
   4e2d8:	2f2a 0094      	movel %a2@(148),%sp@-                       
   4e2dc:	4e93           	jsr %a3@                                    
        free(fs_info);                                                
   4e2de:	2f0a           	movel %a2,%sp@-                             
   4e2e0:	4e93           	jsr %a3@                                    
        rtems_set_errno_and_return_minus_one( EIO );                  
   4e2e2:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         
   4e2e8:	4fef 0014      	lea %sp@(20),%sp                            
   4e2ec:	2040           	moveal %d0,%a0                              
   4e2ee:	7005           	moveq #5,%d0                                
   4e2f0:	2080           	movel %d0,%a0@                              
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
    temp_mt_entry->ops = op_table;                                    
                                                                      
    return rc;                                                        
}                                                                     
   4e2f2:	2002           	movel %d2,%d0                               
   4e2f4:	4cee 1c04 ffdc 	moveml %fp@(-36),%d2/%a2-%a4                
   4e2fa:	4e5e           	unlk %fp                                    
   4e2fc:	4e75           	rts                                         
    fat_dir_pos_t      root_pos;                                      
    uint32_t           cl_buf_size;                                   
                                                                      
    fs_info = (msdos_fs_info_t *)calloc(1, sizeof(msdos_fs_info_t));  
    if (!fs_info)                                                     
        rtems_set_errno_and_return_minus_one(ENOMEM);                 
   4e2fe:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4e304:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   4e306:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4e308:	700c           	moveq #12,%d0                               <== NOT EXECUTED
   4e30a:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
    temp_mt_entry->ops = op_table;                                    
                                                                      
    return rc;                                                        
}                                                                     
   4e30c:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4e30e:	4cee 1c04 ffdc 	moveml %fp@(-36),%d2/%a2-%a4                <== NOT EXECUTED
   4e314:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e316:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
                                                                      
    fs_info->cl_buf = (uint8_t *)calloc(cl_buf_size, sizeof(char));   
    if (fs_info->cl_buf == NULL)                                      
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
   4e318:	2f2e ffec      	movel %fp@(-20),%sp@-                       <== NOT EXECUTED
        fat_shutdown_drive(&fs_info->fat);                            
        free(fs_info);                                                
        rtems_set_errno_and_return_minus_one(ENOMEM);                 
   4e31c:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
    }                                                                 
                                                                      
    fs_info->cl_buf = (uint8_t *)calloc(cl_buf_size, sizeof(char));   
    if (fs_info->cl_buf == NULL)                                      
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
   4e31e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e320:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  <== NOT EXECUTED
        fat_shutdown_drive(&fs_info->fat);                            
   4e326:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e328:	4eb9 0005 3810 	jsr 53810 <fat_shutdown_drive>              <== NOT EXECUTED
        free(fs_info);                                                
   4e32e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e330:	4eb9 0004 4bec 	jsr 44bec <free>                            <== NOT EXECUTED
        rtems_set_errno_and_return_minus_one(ENOMEM);                 
   4e336:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4e33c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e340:	720c           	moveq #12,%d1                               <== NOT EXECUTED
   4e342:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
    temp_mt_entry->ops = op_table;                                    
                                                                      
    return rc;                                                        
}                                                                     
   4e344:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4e346:	4cee 1c04 ffdc 	moveml %fp@(-36),%d2/%a2-%a4                <== NOT EXECUTED
    if (fs_info->cl_buf == NULL)                                      
    {                                                                 
        fat_file_close(&fs_info->fat, fat_fd);                        
        fat_shutdown_drive(&fs_info->fat);                            
        free(fs_info);                                                
        rtems_set_errno_and_return_minus_one(ENOMEM);                 
   4e34c:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    temp_mt_entry->mt_fs_root->location.node_access = fat_fd;         
    temp_mt_entry->mt_fs_root->location.handlers = directory_handlers;
    temp_mt_entry->ops = op_table;                                    
                                                                      
    return rc;                                                        
}                                                                     
   4e34e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

0004e0fe <msdos_lock>: .rename_h = msdos_rename, .statvfs_h = rtems_filesystem_default_statvfs }; void msdos_lock(const rtems_filesystem_mount_table_entry_t *mt_entry) {
   4e0fe:	4e56 0000      	linkw %fp,#0                                
  msdos_fs_info_t *fs_info = mt_entry->fs_info;                       
  rtems_status_code sc = rtems_semaphore_obtain(                      
    fs_info->vol_sema,                                                
   4e102:	206e 0008      	moveal %fp@(8),%a0                          
};                                                                    
                                                                      
void msdos_lock(const rtems_filesystem_mount_table_entry_t *mt_entry) 
{                                                                     
  msdos_fs_info_t *fs_info = mt_entry->fs_info;                       
  rtems_status_code sc = rtems_semaphore_obtain(                      
   4e106:	42a7           	clrl %sp@-                                  
    fs_info->vol_sema,                                                
   4e108:	2068 0008      	moveal %a0@(8),%a0                          
};                                                                    
                                                                      
void msdos_lock(const rtems_filesystem_mount_table_entry_t *mt_entry) 
{                                                                     
  msdos_fs_info_t *fs_info = mt_entry->fs_info;                       
  rtems_status_code sc = rtems_semaphore_obtain(                      
   4e10c:	42a7           	clrl %sp@-                                  
   4e10e:	2f28 0090      	movel %a0@(144),%sp@-                       
   4e112:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          
    fs_info->vol_sema,                                                
    RTEMS_WAIT,                                                       
    RTEMS_NO_TIMEOUT                                                  
  );                                                                  
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4e118:	4fef 000c      	lea %sp@(12),%sp                            
   4e11c:	4a80           	tstl %d0                                    
   4e11e:	6604           	bnes 4e124 <msdos_lock+0x26>                <== NEVER TAKEN
    rtems_fatal_error_occurred(0xdeadbeef);                           
  }                                                                   
}                                                                     
   4e120:	4e5e           	unlk %fp                                    
   4e122:	4e75           	rts                                         
    fs_info->vol_sema,                                                
    RTEMS_WAIT,                                                       
    RTEMS_NO_TIMEOUT                                                  
  );                                                                  
  if (sc != RTEMS_SUCCESSFUL) {                                       
    rtems_fatal_error_occurred(0xdeadbeef);                           
   4e124:	2f3c dead beef 	movel #-559038737,%sp@-                     <== NOT EXECUTED
   4e12a:	4eb9 0004 9d54 	jsr 49d54 <rtems_fatal_error_occurred>      <== NOT EXECUTED
                                                                      

00057050 <msdos_long_to_short>: * */ #define MSDOS_L2S_PRINT 0 msdos_name_type_t msdos_long_to_short(const char *lfn, int lfn_len, char* sfn, int sfn_len) {
   57050:	4e56 ffd0      	linkw %fp,#-48                              
   57054:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
    int               i;                                              
                                                                      
    /*                                                                
     * Fill with spaces. This is how a short directory entry is padded.
     */                                                               
    memset (sfn, ' ', sfn_len);                                       
   57058:	2f2e 0014      	movel %fp@(20),%sp@-                        
   5705c:	4878 0020      	pea 20 <OPER2+0xc>                          
   57060:	2f2e 0010      	movel %fp@(16),%sp@-                        
 *                                                                    
 */                                                                   
#define MSDOS_L2S_PRINT 0                                             
msdos_name_type_t                                                     
msdos_long_to_short(const char *lfn, int lfn_len, char* sfn, int sfn_len)
{                                                                     
   57064:	286e 0008      	moveal %fp@(8),%a4                          
   57068:	242e 000c      	movel %fp@(12),%d2                          
    int               i;                                              
                                                                      
    /*                                                                
     * Fill with spaces. This is how a short directory entry is padded.
     */                                                               
    memset (sfn, ' ', sfn_len);                                       
   5706c:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
                                                                      
    /*                                                                
     * Handle '.' and '..' specially.                                 
     */                                                               
    if ((lfn[0] == '.') && (lfn_len == 1))                            
   57072:	4fef 000c      	lea %sp@(12),%sp                            
   57076:	702e           	moveq #46,%d0                               
   57078:	1c14           	moveb %a4@,%d6                              
   5707a:	1606           	moveb %d6,%d3                               
   5707c:	49c3           	extbl %d3                                   
   5707e:	b083           	cmpl %d3,%d0                                
   57080:	6730           	beqs 570b2 <msdos_long_to_short+0x62>       <== NEVER TAKEN
    }                                                                 
                                                                      
    /*                                                                
     * Filenames with only blanks and dots are not allowed!           
     */                                                               
    for (i = 0; i < lfn_len; i++)                                     
   57082:	4a82           	tstl %d2                                    
   57084:	6f00 01c2      	blew 57248 <msdos_long_to_short+0x1f8>      
   57088:	204c           	moveal %a4,%a0                              
   5708a:	4280           	clrl %d0                                    
   5708c:	5280           	addql #1,%d0                                
        if ((lfn[i] != ' ') && (lfn[i] != '.'))                       
   5708e:	7820           	moveq #32,%d4                               
   57090:	1218           	moveb %a0@+,%d1                             
   57092:	49c1           	extbl %d1                                   
   57094:	b881           	cmpl %d1,%d4                                
   57096:	6708           	beqs 570a0 <msdos_long_to_short+0x50>       <== NEVER TAKEN
   57098:	183c 002e      	moveb #46,%d4                               
   5709c:	b881           	cmpl %d1,%d4                                
   5709e:	665c           	bnes 570fc <msdos_long_to_short+0xac>       
    }                                                                 
                                                                      
    /*                                                                
     * Filenames with only blanks and dots are not allowed!           
     */                                                               
    for (i = 0; i < lfn_len; i++)                                     
   570a0:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   570a2:	66e8           	bnes 5708c <msdos_long_to_short+0x3c>       <== NOT EXECUTED
    if (i == lfn_len)                                                 
    {                                                                 
#if MSDOS_L2S_PRINT                                                   
        printf ("MSDOS_L2S: INVALID[1]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_INVALID;                                    
   570a4:	4283           	clrl %d3                                    <== NOT EXECUTED
                                                                      
#if MSDOS_L2S_PRINT                                                   
    printf ("MSDOS_L2S: TYPE:%d lfn:'%s' SFN:'%s'\n", type, lfn, sfn);
#endif                                                                
    return type;                                                      
}                                                                     
   570a6:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   570a8:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   570ae:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   570b0:	4e75           	rts                                         <== NOT EXECUTED
    memset (sfn, ' ', sfn_len);                                       
                                                                      
    /*                                                                
     * Handle '.' and '..' specially.                                 
     */                                                               
    if ((lfn[0] == '.') && (lfn_len == 1))                            
   570b2:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   570b4:	b282           	cmpl %d2,%d1                                <== NOT EXECUTED
   570b6:	672e           	beqs 570e6 <msdos_long_to_short+0x96>       <== NOT EXECUTED
        printf ("MSDOS_L2S: SHORT[1]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_SHORT;                                      
    }                                                                 
                                                                      
    if ((lfn[0] == '.') && (lfn[1] == '.') && (lfn_len == 2))         
   570b8:	722e           	moveq #46,%d1                               <== NOT EXECUTED
   570ba:	102c 0001      	moveb %a4@(1),%d0                           <== NOT EXECUTED
   570be:	49c0           	extbl %d0                                   <== NOT EXECUTED
   570c0:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   570c2:	66be           	bnes 57082 <msdos_long_to_short+0x32>       <== NOT EXECUTED
   570c4:	7802           	moveq #2,%d4                                <== NOT EXECUTED
   570c6:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   570c8:	66b8           	bnes 57082 <msdos_long_to_short+0x32>       <== NOT EXECUTED
    {                                                                 
        sfn[0] = sfn[1] = '.';                                        
   570ca:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
#if MSDOS_L2S_PRINT                                                   
        printf ("MSDOS_L2S: SHORT[2]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_SHORT;                                      
   570ce:	7601           	moveq #1,%d3                                <== NOT EXECUTED
        return MSDOS_NAME_SHORT;                                      
    }                                                                 
                                                                      
    if ((lfn[0] == '.') && (lfn[1] == '.') && (lfn_len == 2))         
    {                                                                 
        sfn[0] = sfn[1] = '.';                                        
   570d0:	702e           	moveq #46,%d0                               <== NOT EXECUTED
   570d2:	10bc 002e      	moveb #46,%a0@                              <== NOT EXECUTED
   570d6:	1140 0001      	moveb %d0,%a0@(1)                           <== NOT EXECUTED
                                                                      
#if MSDOS_L2S_PRINT                                                   
    printf ("MSDOS_L2S: TYPE:%d lfn:'%s' SFN:'%s'\n", type, lfn, sfn);
#endif                                                                
    return type;                                                      
}                                                                     
   570da:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   570dc:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   570e2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   570e4:	4e75           	rts                                         <== NOT EXECUTED
    /*                                                                
     * Handle '.' and '..' specially.                                 
     */                                                               
    if ((lfn[0] == '.') && (lfn_len == 1))                            
    {                                                                 
        sfn[0] = '.';                                                 
   570e6:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
#if MSDOS_L2S_PRINT                                                   
        printf ("MSDOS_L2S: SHORT[1]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_SHORT;                                      
   570ea:	7601           	moveq #1,%d3                                <== NOT EXECUTED
                                                                      
#if MSDOS_L2S_PRINT                                                   
    printf ("MSDOS_L2S: TYPE:%d lfn:'%s' SFN:'%s'\n", type, lfn, sfn);
#endif                                                                
    return type;                                                      
}                                                                     
   570ec:	2003           	movel %d3,%d0                               <== NOT EXECUTED
    /*                                                                
     * Handle '.' and '..' specially.                                 
     */                                                               
    if ((lfn[0] == '.') && (lfn_len == 1))                            
    {                                                                 
        sfn[0] = '.';                                                 
   570ee:	10bc 002e      	moveb #46,%a0@                              <== NOT EXECUTED
                                                                      
#if MSDOS_L2S_PRINT                                                   
    printf ("MSDOS_L2S: TYPE:%d lfn:'%s' SFN:'%s'\n", type, lfn, sfn);
#endif                                                                
    return type;                                                      
}                                                                     
   570f2:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   570f8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   570fa:	4e75           	rts                                         <== NOT EXECUTED
    bool lowercase = false;                                           
    bool uppercase = false;                                           
    int  dot_at = -1;                                                 
    int  count = 0;                                                   
                                                                      
    while (*name && (count < name_len))                               
   570fc:	4a06           	tstb %d6                                    
   570fe:	6700 014e      	beqw 5724e <msdos_long_to_short+0x1fe>      
 *                                                                    
 */                                                                   
static msdos_name_type_t                                              
msdos_is_valid_name_char(const char ch)                               
{                                                                     
    if (strchr(" +,;=[]", ch) != NULL)                                
   57102:	2f03           	movel %d3,%sp@-                             
   57104:	4879 0006 a00a 	pea 6a00a <msdos_file_handlers+0x2c>        
   5710a:	47f9 0005 bdb4 	lea 5bdb4 <strchr>,%a3                      
 *     true the name is long, else the name is short.                 
 *                                                                    
 */                                                                   
#define MSDOS_L2S_PRINT 0                                             
msdos_name_type_t                                                     
msdos_long_to_short(const char *lfn, int lfn_len, char* sfn, int sfn_len)
   57110:	45ec 0001      	lea %a4@(1),%a2                             
   57114:	4287           	clrl %d7                                    
   57116:	78ff           	moveq #-1,%d4                               
   57118:	4201           	clrb %d1                                    
msdos_is_valid_name_char(const char ch)                               
{                                                                     
    if (strchr(" +,;=[]", ch) != NULL)                                
        return MSDOS_NAME_LONG;                                       
                                                                      
    if ((ch == '.') || isalnum((unsigned char)ch) ||                  
   5711a:	2a79 0006 adbc 	moveal 6adbc <__ctype_ptr__>,%a5            
 *     true the name is long, else the name is short.                 
 *                                                                    
 */                                                                   
#define MSDOS_L2S_PRINT 0                                             
msdos_name_type_t                                                     
msdos_long_to_short(const char *lfn, int lfn_len, char* sfn, int sfn_len)
   57120:	1d41 ffff      	moveb %d1,%fp@(-1)                          
 *                                                                    
 */                                                                   
static msdos_name_type_t                                              
msdos_is_valid_name_char(const char ch)                               
{                                                                     
    if (strchr(" +,;=[]", ch) != NULL)                                
   57124:	4e93           	jsr %a3@                                    
   57126:	508f           	addql #8,%sp                                
 *     true the name is long, else the name is short.                 
 *                                                                    
 */                                                                   
#define MSDOS_L2S_PRINT 0                                             
msdos_name_type_t                                                     
msdos_long_to_short(const char *lfn, int lfn_len, char* sfn, int sfn_len)
   57128:	4205           	clrb %d5                                    
 *                                                                    
 */                                                                   
static msdos_name_type_t                                              
msdos_is_valid_name_char(const char ch)                               
{                                                                     
    if (strchr(" +,;=[]", ch) != NULL)                                
   5712a:	4a80           	tstl %d0                                    
   5712c:	6720           	beqs 5714e <msdos_long_to_short+0xfe>       <== ALWAYS TAKEN
        printf ("MSDOS_L2S: INVALID[2]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_INVALID;                                    
    }                                                                 
                                                                      
    msdos_filename_unix2dos (lfn, lfn_len, sfn);                      
   5712e:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
            {                                                         
#if MSDOS_NAME_TYPE_PRINT                                             
                printf ("MSDOS_NAME_TYPE: LONG[1]: is_dot:%d, at:%d cnt\n",
                        is_dot, dot_at, count);                       
#endif                                                                
                return MSDOS_NAME_LONG;                               
   57132:	7602           	moveq #2,%d3                                <== NOT EXECUTED
        printf ("MSDOS_L2S: INVALID[2]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_INVALID;                                    
    }                                                                 
                                                                      
    msdos_filename_unix2dos (lfn, lfn_len, sfn);                      
   57134:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   57136:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   57138:	4eb9 0005 9a20 	jsr 59a20 <msdos_filename_unix2dos>         <== NOT EXECUTED
                                                                      
#if MSDOS_L2S_PRINT                                                   
    printf ("MSDOS_L2S: TYPE:%d lfn:'%s' SFN:'%s'\n", type, lfn, sfn);
#endif                                                                
    return type;                                                      
   5713e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
}                                                                     
   57142:	2003           	movel %d3,%d0                               
   57144:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   5714a:	4e5e           	unlk %fp                                    
   5714c:	4e75           	rts                                         
    int  dot_at = -1;                                                 
    int  count = 0;                                                   
                                                                      
    while (*name && (count < name_len))                               
    {                                                                 
        bool is_dot = *name == '.';                                   
   5714e:	103c 002e      	moveb #46,%d0                               
   57152:	bd80           	eorl %d6,%d0                                
   57154:	4a00           	tstb %d0                                    
   57156:	57c1           	seq %d1                                     
   57158:	2001           	movel %d1,%d0                               
   5715a:	4480           	negl %d0                                    
   5715c:	2240           	moveal %d0,%a1                              
msdos_is_valid_name_char(const char ch)                               
{                                                                     
    if (strchr(" +,;=[]", ch) != NULL)                                
        return MSDOS_NAME_LONG;                                       
                                                                      
    if ((ch == '.') || isalnum((unsigned char)ch) ||                  
   5715e:	4a00           	tstb %d0                                    
   57160:	6600 0092      	bnew 571f4 <msdos_long_to_short+0x1a4>      
   57164:	4280           	clrl %d0                                    
   57166:	1006           	moveb %d6,%d0                               
   57168:	7207           	moveq #7,%d1                                
   5716a:	1035 0801      	moveb %a5@(00000001,%d0:l),%d0              
   5716e:	3040           	moveaw %d0,%a0                              
   57170:	2008           	movel %a0,%d0                               
   57172:	c081           	andl %d1,%d0                                
   57174:	4a00           	tstb %d0                                    
   57176:	661e           	bnes 57196 <msdos_long_to_short+0x146>      <== ALWAYS TAKEN
        (strchr("$%'-_@~`!(){}^#&", ch) != NULL))                     
   57178:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5717a:	4879 0006 a012 	pea 6a012 <msdos_file_handlers+0x34>        <== NOT EXECUTED
   57180:	2d49 fffa      	movel %a1,%fp@(-6)                          <== NOT EXECUTED
   57184:	4eb9 0005 bdb4 	jsr 5bdb4 <strchr>                          <== NOT EXECUTED
msdos_is_valid_name_char(const char ch)                               
{                                                                     
    if (strchr(" +,;=[]", ch) != NULL)                                
        return MSDOS_NAME_LONG;                                       
                                                                      
    if ((ch == '.') || isalnum((unsigned char)ch) ||                  
   5718a:	226e fffa      	moveal %fp@(-6),%a1                         <== NOT EXECUTED
        (strchr("$%'-_@~`!(){}^#&", ch) != NULL))                     
   5718e:	508f           	addql #8,%sp                                <== NOT EXECUTED
msdos_is_valid_name_char(const char ch)                               
{                                                                     
    if (strchr(" +,;=[]", ch) != NULL)                                
        return MSDOS_NAME_LONG;                                       
                                                                      
    if ((ch == '.') || isalnum((unsigned char)ch) ||                  
   57190:	4a80           	tstl %d0                                    <== NOT EXECUTED
   57192:	6700 ff10      	beqw 570a4 <msdos_long_to_short+0x54>       <== NOT EXECUTED
#endif                                                                
                                                                      
        if ((type == MSDOS_NAME_INVALID) || (type == MSDOS_NAME_LONG))
            return type;                                              
                                                                      
        if (dot_at >= 0)                                              
   57196:	70ff           	moveq #-1,%d0                               
   57198:	b084           	cmpl %d4,%d0                                
   5719a:	6760           	beqs 571fc <msdos_long_to_short+0x1ac>      
        {                                                             
            if (is_dot || ((count - dot_at) > 3))                     
   5719c:	2007           	movel %d7,%d0                               
   5719e:	9084           	subl %d4,%d0                                
   571a0:	7203           	moveq #3,%d1                                
   571a2:	b280           	cmpl %d0,%d1                                
   571a4:	6d88           	blts 5712e <msdos_long_to_short+0xde>       <== NEVER TAKEN
            }                                                         
        }                                                             
                                                                      
        if (is_dot)                                                   
            dot_at = count;                                           
        else if ((*name >= 'A') && (*name <= 'Z'))                    
   571a6:	2006           	movel %d6,%d0                               
   571a8:	0680 ffff ffbf 	addil #-65,%d0                              
   571ae:	7219           	moveq #25,%d1                               
   571b0:	0280 0000 00ff 	andil #255,%d0                              
   571b6:	b280           	cmpl %d0,%d1                                
   571b8:	647e           	bccs 57238 <msdos_long_to_short+0x1e8>      <== NEVER TAKEN
            uppercase = true;                                         
        else if ((*name >= 'a') && (*name <= 'z'))                    
   571ba:	0686 ffff ff9f 	addil #-97,%d6                              
   571c0:	0286 0000 00ff 	andil #255,%d6                              
   571c6:	b286           	cmpl %d6,%d1                                
   571c8:	6506           	bcss 571d0 <msdos_long_to_short+0x180>      <== NEVER TAKEN
            lowercase = true;                                         
   571ca:	7201           	moveq #1,%d1                                
   571cc:	1d41 ffff      	moveb %d1,%fp@(-1)                          
                                                                      
        count++;                                                      
   571d0:	5287           	addql #1,%d7                                
    bool lowercase = false;                                           
    bool uppercase = false;                                           
    int  dot_at = -1;                                                 
    int  count = 0;                                                   
                                                                      
    while (*name && (count < name_len))                               
   571d2:	1c1a           	moveb %a2@+,%d6                             
   571d4:	673a           	beqs 57210 <msdos_long_to_short+0x1c0>      
   571d6:	be82           	cmpl %d2,%d7                                
   571d8:	6c36           	bges 57210 <msdos_long_to_short+0x1c0>      <== NEVER TAKEN
   571da:	1606           	moveb %d6,%d3                               
   571dc:	49c3           	extbl %d3                                   
 *                                                                    
 */                                                                   
static msdos_name_type_t                                              
msdos_is_valid_name_char(const char ch)                               
{                                                                     
    if (strchr(" +,;=[]", ch) != NULL)                                
   571de:	2f03           	movel %d3,%sp@-                             
   571e0:	4879 0006 a00a 	pea 6a00a <msdos_file_handlers+0x2c>        
   571e6:	4e93           	jsr %a3@                                    
   571e8:	508f           	addql #8,%sp                                
   571ea:	4a80           	tstl %d0                                    
   571ec:	6600 ff40      	bnew 5712e <msdos_long_to_short+0xde>       
   571f0:	6000 ff5c      	braw 5714e <msdos_long_to_short+0xfe>       
#endif                                                                
                                                                      
        if ((type == MSDOS_NAME_INVALID) || (type == MSDOS_NAME_LONG))
            return type;                                              
                                                                      
        if (dot_at >= 0)                                              
   571f4:	72ff           	moveq #-1,%d1                               
   571f6:	b284           	cmpl %d4,%d1                                
   571f8:	6600 ff34      	bnew 5712e <msdos_long_to_short+0xde>       
                return MSDOS_NAME_LONG;                               
            }                                                         
        }                                                             
        else                                                          
        {                                                             
            if (count == 8 && !is_dot)                                
   571fc:	7008           	moveq #8,%d0                                
   571fe:	b087           	cmpl %d7,%d0                                
   57200:	673a           	beqs 5723c <msdos_long_to_short+0x1ec>      <== NEVER TAKEN
#endif                                                                
                return MSDOS_NAME_LONG;                               
            }                                                         
        }                                                             
                                                                      
        if (is_dot)                                                   
   57202:	3009           	movew %a1,%d0                               
   57204:	4a00           	tstb %d0                                    
   57206:	679e           	beqs 571a6 <msdos_long_to_short+0x156>      
   57208:	2807           	movel %d7,%d4                               
        else if ((*name >= 'A') && (*name <= 'Z'))                    
            uppercase = true;                                         
        else if ((*name >= 'a') && (*name <= 'z'))                    
            lowercase = true;                                         
                                                                      
        count++;                                                      
   5720a:	5287           	addql #1,%d7                                
    bool lowercase = false;                                           
    bool uppercase = false;                                           
    int  dot_at = -1;                                                 
    int  count = 0;                                                   
                                                                      
    while (*name && (count < name_len))                               
   5720c:	1c1a           	moveb %a2@+,%d6                             
   5720e:	66c6           	bnes 571d6 <msdos_long_to_short+0x186>      <== ALWAYS TAKEN
                                                                      
        count++;                                                      
        name++;                                                       
    }                                                                 
                                                                      
    if (lowercase && uppercase)                                       
   57210:	4a2e ffff      	tstb %fp@(-1)                               
   57214:	6738           	beqs 5724e <msdos_long_to_short+0x1fe>      <== NEVER TAKEN
        printf ("MSDOS_L2S: INVALID[2]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_INVALID;                                    
    }                                                                 
                                                                      
    msdos_filename_unix2dos (lfn, lfn_len, sfn);                      
   57216:	2f2e 0010      	movel %fp@(16),%sp@-                        
    }                                                                 
                                                                      
#if MSDOS_NAME_TYPE_PRINT                                             
    printf ("MSDOS_NAME_TYPE: SHORT[1]\n");                           
#endif                                                                
    return MSDOS_NAME_SHORT;                                          
   5721a:	4a05           	tstb %d5                                    
   5721c:	56c3           	sne %d3                                     
        printf ("MSDOS_L2S: INVALID[2]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_INVALID;                                    
    }                                                                 
                                                                      
    msdos_filename_unix2dos (lfn, lfn_len, sfn);                      
   5721e:	2f02           	movel %d2,%sp@-                             
    }                                                                 
                                                                      
#if MSDOS_NAME_TYPE_PRINT                                             
    printf ("MSDOS_NAME_TYPE: SHORT[1]\n");                           
#endif                                                                
    return MSDOS_NAME_SHORT;                                          
   57220:	7801           	moveq #1,%d4                                
   57222:	49c3           	extbl %d3                                   
   57224:	9883           	subl %d3,%d4                                
   57226:	2604           	movel %d4,%d3                               
        printf ("MSDOS_L2S: INVALID[2]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_INVALID;                                    
    }                                                                 
                                                                      
    msdos_filename_unix2dos (lfn, lfn_len, sfn);                      
   57228:	2f0c           	movel %a4,%sp@-                             
   5722a:	4eb9 0005 9a20 	jsr 59a20 <msdos_filename_unix2dos>         
                                                                      
#if MSDOS_L2S_PRINT                                                   
    printf ("MSDOS_L2S: TYPE:%d lfn:'%s' SFN:'%s'\n", type, lfn, sfn);
#endif                                                                
    return type;                                                      
   57230:	4fef 000c      	lea %sp@(12),%sp                            
   57234:	6000 ff0c      	braw 57142 <msdos_long_to_short+0xf2>       
        }                                                             
                                                                      
        if (is_dot)                                                   
            dot_at = count;                                           
        else if ((*name >= 'A') && (*name <= 'Z'))                    
            uppercase = true;                                         
   57238:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
   5723a:	6094           	bras 571d0 <msdos_long_to_short+0x180>      <== NOT EXECUTED
                return MSDOS_NAME_LONG;                               
            }                                                         
        }                                                             
        else                                                          
        {                                                             
            if (count == 8 && !is_dot)                                
   5723c:	3209           	movew %a1,%d1                               <== NOT EXECUTED
   5723e:	4a01           	tstb %d1                                    <== NOT EXECUTED
   57240:	6700 feec      	beqw 5712e <msdos_long_to_short+0xde>       <== NOT EXECUTED
   57244:	7808           	moveq #8,%d4                                <== NOT EXECUTED
   57246:	6088           	bras 571d0 <msdos_long_to_short+0x180>      <== NOT EXECUTED
     */                                                               
    for (i = 0; i < lfn_len; i++)                                     
        if ((lfn[i] != ' ') && (lfn[i] != '.'))                       
            break;                                                    
                                                                      
    if (i == lfn_len)                                                 
   57248:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5724a:	6700 fe58      	beqw 570a4 <msdos_long_to_short+0x54>       <== NOT EXECUTED
        printf ("MSDOS_L2S: INVALID[2]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_INVALID;                                    
    }                                                                 
                                                                      
    msdos_filename_unix2dos (lfn, lfn_len, sfn);                      
   5724e:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
    }                                                                 
                                                                      
#if MSDOS_NAME_TYPE_PRINT                                             
    printf ("MSDOS_NAME_TYPE: SHORT[1]\n");                           
#endif                                                                
    return MSDOS_NAME_SHORT;                                          
   57252:	7601           	moveq #1,%d3                                <== NOT EXECUTED
        printf ("MSDOS_L2S: INVALID[2]: lfn:'%s' SFN:'%s'\n", lfn, sfn);
#endif                                                                
        return MSDOS_NAME_INVALID;                                    
    }                                                                 
                                                                      
    msdos_filename_unix2dos (lfn, lfn_len, sfn);                      
   57254:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   57256:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   57258:	4eb9 0005 9a20 	jsr 59a20 <msdos_filename_unix2dos>         <== NOT EXECUTED
                                                                      
#if MSDOS_L2S_PRINT                                                   
    printf ("MSDOS_L2S: TYPE:%d lfn:'%s' SFN:'%s'\n", type, lfn, sfn);
#endif                                                                
    return type;                                                      
   5725e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   57262:	6000 fede      	braw 57142 <msdos_long_to_short+0xf2>       <== NOT EXECUTED
                                                                      

0004e354 <msdos_mknod>: const char *name, size_t namelen, mode_t mode, dev_t dev ) {
   4e354:	4e56 0000      	linkw %fp,#0                                
   4e358:	202e 0014      	movel %fp@(20),%d0                          
    msdos_node_type_t    type = 0;                                    
                                                                      
    /*                                                                
     *  Figure out what type of msdos node this is.                   
     */                                                               
    if (S_ISDIR(mode))                                                
   4e35c:	2200           	movel %d0,%d1                               
    const char *name,                                                 
    size_t namelen,                                                   
    mode_t mode,                                                      
    dev_t dev                                                         
)                                                                     
{                                                                     
   4e35e:	2f03           	movel %d3,%sp@-                             
   4e360:	206e 0008      	moveal %fp@(8),%a0                          
   4e364:	2f02           	movel %d2,%sp@-                             
   4e366:	226e 000c      	moveal %fp@(12),%a1                         
    msdos_node_type_t    type = 0;                                    
                                                                      
    /*                                                                
     *  Figure out what type of msdos node this is.                   
     */                                                               
    if (S_ISDIR(mode))                                                
   4e36a:	0281 0000 f000 	andil #61440,%d1                            
    const char *name,                                                 
    size_t namelen,                                                   
    mode_t mode,                                                      
    dev_t dev                                                         
)                                                                     
{                                                                     
   4e370:	242e 0010      	movel %fp@(16),%d2                          
    msdos_node_type_t    type = 0;                                    
                                                                      
    /*                                                                
     *  Figure out what type of msdos node this is.                   
     */                                                               
    if (S_ISDIR(mode))                                                
   4e374:	0c81 0000 4000 	cmpil #16384,%d1                            
   4e37a:	6732           	beqs 4e3ae <msdos_mknod+0x5a>               <== NEVER TAKEN
    {                                                                 
       type = MSDOS_DIRECTORY;                                        
    }                                                                 
    else if (S_ISREG(mode))                                           
    {                                                                 
        type = MSDOS_REGULAR_FILE;                                    
   4e37c:	7604           	moveq #4,%d3                                
     */                                                               
    if (S_ISDIR(mode))                                                
    {                                                                 
       type = MSDOS_DIRECTORY;                                        
    }                                                                 
    else if (S_ISREG(mode))                                           
   4e37e:	0c81 0000 8000 	cmpil #32768,%d1                            
   4e384:	6652           	bnes 4e3d8 <msdos_mknod+0x84>               <== NEVER TAKEN
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
   4e386:	2d42 0014      	movel %d2,%fp@(20)                          
                                                                      
    return rc;                                                        
}                                                                     
   4e38a:	242e fff8      	movel %fp@(-8),%d2                          
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
   4e38e:	2d43 000c      	movel %d3,%fp@(12)                          
                                                                      
    return rc;                                                        
}                                                                     
   4e392:	262e fffc      	movel %fp@(-4),%d3                          
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
   4e396:	42ae 001c      	clrl %fp@(28)                               
   4e39a:	2d40 0018      	movel %d0,%fp@(24)                          
   4e39e:	2d49 0010      	movel %a1,%fp@(16)                          
   4e3a2:	2d48 0008      	movel %a0,%fp@(8)                           
                                                                      
    return rc;                                                        
}                                                                     
   4e3a6:	4e5e           	unlk %fp                                    
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
   4e3a8:	4ef9 0005 6aac 	jmp 56aac <msdos_creat_node>                
    /*                                                                
     *  Figure out what type of msdos node this is.                   
     */                                                               
    if (S_ISDIR(mode))                                                
    {                                                                 
       type = MSDOS_DIRECTORY;                                        
   4e3ae:	4283           	clrl %d3                                    <== NOT EXECUTED
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
   4e3b0:	2d42 0014      	movel %d2,%fp@(20)                          <== NOT EXECUTED
                                                                      
    return rc;                                                        
}                                                                     
   4e3b4:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
   4e3b8:	2d43 000c      	movel %d3,%fp@(12)                          <== NOT EXECUTED
                                                                      
    return rc;                                                        
}                                                                     
   4e3bc:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
   4e3c0:	42ae 001c      	clrl %fp@(28)                               <== NOT EXECUTED
   4e3c4:	2d40 0018      	movel %d0,%fp@(24)                          <== NOT EXECUTED
   4e3c8:	2d49 0010      	movel %a1,%fp@(16)                          <== NOT EXECUTED
   4e3cc:	2d48 0008      	movel %a0,%fp@(8)                           <== NOT EXECUTED
                                                                      
    return rc;                                                        
}                                                                     
   4e3d0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
   4e3d2:	4ef9 0005 6aac 	jmp 56aac <msdos_creat_node>                <== NOT EXECUTED
    else if (S_ISREG(mode))                                           
    {                                                                 
        type = MSDOS_REGULAR_FILE;                                    
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
   4e3d8:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
                                                                      
    return rc;                                                        
}                                                                     
   4e3de:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
    else if (S_ISREG(mode))                                           
    {                                                                 
        type = MSDOS_REGULAR_FILE;                                    
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
   4e3e2:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4e3e4:	7016           	moveq #22,%d0                               <== NOT EXECUTED
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
                                                                      
    return rc;                                                        
}                                                                     
   4e3e6:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
   4e3ea:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    else if (S_ISREG(mode))                                           
    {                                                                 
        type = MSDOS_REGULAR_FILE;                                    
    }                                                                 
    else                                                              
        rtems_set_errno_and_return_minus_one(EINVAL);                 
   4e3ec:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
                                                                      
    /* Create an MSDOS node */                                        
    rc = msdos_creat_node(parentloc, type, name, namelen, mode, NULL);
                                                                      
    return rc;                                                        
}                                                                     
   4e3ee:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
	...                                                                  
                                                                      

0004e408 <msdos_rename>: const rtems_filesystem_location_info_t *old_loc, const rtems_filesystem_location_info_t *new_parent_loc, const char *new_name, size_t new_namelen ) {
   4e408:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   4e40c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e40e:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
   4e412:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
    int                rc = RC_OK;                                    
    fat_file_fd_t     *old_fat_fd  = old_loc->node_access;            
   4e414:	242a 0008      	movel %a2@(8),%d2                           <== NOT EXECUTED
                                                                      
    /*                                                                
     * create new directory entry as "hard link", copying relevant info from
     * existing file                                                  
     */                                                               
    rc = msdos_creat_node(new_parent_loc,                             
   4e418:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4e41a:	2f3c 0000 8000 	movel #32768,%sp@-                          <== NOT EXECUTED
   4e420:	2f2e 0018      	movel %fp@(24),%sp@-                        <== NOT EXECUTED
   4e424:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   4e428:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4e42c:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   4e430:	4eb9 0005 6aac 	jsr 56aac <msdos_creat_node>                <== NOT EXECUTED
                          MSDOS_HARD_LINK,new_name,new_namelen,S_IFREG,
                          old_fat_fd);                                
    if (rc != RC_OK)                                                  
   4e436:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   4e43a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4e43c:	670c           	beqs 4e44a <msdos_rename+0x42>              <== NOT EXECUTED
    rc = msdos_set_first_char4file_name(old_loc->mt_entry,            
                                        &old_fat_fd->dir_pos,         
                                        MSDOS_THIS_DIR_ENTRY_EMPTY);  
                                                                      
    return rc;                                                        
}                                                                     
   4e43e:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   4e442:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   4e446:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e448:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
                                                                      
    /*                                                                
     * mark file removed                                              
     */                                                               
    rc = msdos_set_first_char4file_name(old_loc->mt_entry,            
   4e44a:	0682 0000 0020 	addil #32,%d2                               <== NOT EXECUTED
   4e450:	103c ffe5      	moveb #-27,%d0                              <== NOT EXECUTED
   4e454:	2d6a 0014 0008 	movel %a2@(20),%fp@(8)                      <== NOT EXECUTED
                                        &old_fat_fd->dir_pos,         
                                        MSDOS_THIS_DIR_ENTRY_EMPTY);  
                                                                      
    return rc;                                                        
}                                                                     
   4e45a:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
    }                                                                 
                                                                      
    /*                                                                
     * mark file removed                                              
     */                                                               
    rc = msdos_set_first_char4file_name(old_loc->mt_entry,            
   4e45e:	2d42 000c      	movel %d2,%fp@(12)                          <== NOT EXECUTED
                                        &old_fat_fd->dir_pos,         
                                        MSDOS_THIS_DIR_ENTRY_EMPTY);  
                                                                      
    return rc;                                                        
}                                                                     
   4e462:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
    }                                                                 
                                                                      
    /*                                                                
     * mark file removed                                              
     */                                                               
    rc = msdos_set_first_char4file_name(old_loc->mt_entry,            
   4e466:	2d40 0010      	movel %d0,%fp@(16)                          <== NOT EXECUTED
                                        &old_fat_fd->dir_pos,         
                                        MSDOS_THIS_DIR_ENTRY_EMPTY);  
                                                                      
    return rc;                                                        
}                                                                     
   4e46a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    }                                                                 
                                                                      
    /*                                                                
     * mark file removed                                              
     */                                                               
    rc = msdos_set_first_char4file_name(old_loc->mt_entry,            
   4e46c:	4ef9 0005 7558 	jmp 57558 <msdos_set_first_char4file_name>  <== NOT EXECUTED
	...                                                                  
                                                                      

0004e474 <msdos_rmnod>: #include "msdos.h" int msdos_rmnod(const rtems_filesystem_location_info_t *parent_pathloc, const rtems_filesystem_location_info_t *pathloc) {
   4e474:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   4e478:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     <== NOT EXECUTED
   4e47c:	266e 000c      	moveal %fp@(12),%a3                         <== NOT EXECUTED
    int                rc = RC_OK;                                    
    msdos_fs_info_t   *fs_info = pathloc->mt_entry->fs_info;          
   4e480:	206b 0014      	moveal %a3@(20),%a0                         <== NOT EXECUTED
    fat_file_fd_t     *fat_fd = pathloc->node_access;                 
   4e484:	246b 0008      	moveal %a3@(8),%a2                          <== NOT EXECUTED
int                                                                   
msdos_rmnod(const rtems_filesystem_location_info_t *parent_pathloc,   
            const rtems_filesystem_location_info_t *pathloc)          
{                                                                     
    int                rc = RC_OK;                                    
    msdos_fs_info_t   *fs_info = pathloc->mt_entry->fs_info;          
   4e488:	2428 0008      	movel %a0@(8),%d2                           <== NOT EXECUTED
    fat_file_fd_t     *fat_fd = pathloc->node_access;                 
                                                                      
    if (fat_fd->fat_file_type == MSDOS_DIRECTORY)                     
   4e48c:	4aaa 0010      	tstl %a2@(16)                               <== NOT EXECUTED
   4e490:	6642           	bnes 4e4d4 <msdos_rmnod+0x60>               <== NOT EXECUTED
    {                                                                 
        bool is_empty = false;                                        
   4e492:	224e           	moveal %fp,%a1                              <== NOT EXECUTED
   4e494:	4221           	clrb %a1@-                                  <== NOT EXECUTED
                                                                      
        /*                                                            
         * You cannot remove a node that still has children           
         */                                                           
        rc = msdos_dir_is_empty(pathloc->mt_entry, fat_fd, &is_empty);
   4e496:	2f09           	movel %a1,%sp@-                             <== NOT EXECUTED
   4e498:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e49a:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   4e49c:	4eb9 0005 771e 	jsr 5771e <msdos_dir_is_empty>              <== NOT EXECUTED
        if (rc != RC_OK)                                              
   4e4a2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   4e4a6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4e4a8:	661c           	bnes 4e4c6 <msdos_rmnod+0x52>               <== NOT EXECUTED
        {                                                             
            return rc;                                                
        }                                                             
                                                                      
        if (!is_empty)                                                
   4e4aa:	4a2e ffff      	tstb %fp@(-1)                               <== NOT EXECUTED
   4e4ae:	675a           	beqs 4e50a <msdos_rmnod+0x96>               <== NOT EXECUTED
                                                                      
        /*                                                            
         * We deny attempts to delete open directory (if directory is current
         * directory we assume it is open one)                        
         */                                                           
        if (fat_fd->links_num > 1)                                    
   4e4b0:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   4e4b2:	b0aa 0008      	cmpl %a2@(8),%d0                            <== NOT EXECUTED
   4e4b6:	6418           	bccs 4e4d0 <msdos_rmnod+0x5c>               <== NOT EXECUTED
        {                                                             
            rtems_set_errno_and_return_minus_one(EBUSY);              
   4e4b8:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4e4be:	7210           	moveq #16,%d1                               <== NOT EXECUTED
   4e4c0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4e4c2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4e4c4:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    }                                                                 
                                                                      
    fat_file_mark_removed(&fs_info->fat, fat_fd);                     
                                                                      
    return rc;                                                        
}                                                                     
   4e4c6:	4cee 0c04 ffec 	moveml %fp@(-20),%d2/%a2-%a3                <== NOT EXECUTED
   4e4cc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e4ce:	4e75           	rts                                         <== NOT EXECUTED
   4e4d0:	206b 0014      	moveal %a3@(20),%a0                         <== NOT EXECUTED
         * not used - mount() not implemenetd yet.                    
         */                                                           
    }                                                                 
                                                                      
    /* mark file removed */                                           
    rc = msdos_set_first_char4file_name(pathloc->mt_entry, &fat_fd->dir_pos,
   4e4d4:	4878 00e5      	pea e5 <DBL_MANT_DIG+0xb0>                  <== NOT EXECUTED
   4e4d8:	486a 0020      	pea %a2@(32)                                <== NOT EXECUTED
   4e4dc:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   4e4de:	4eb9 0005 7558 	jsr 57558 <msdos_set_first_char4file_name>  <== NOT EXECUTED
                                        MSDOS_THIS_DIR_ENTRY_EMPTY);  
    if (rc != RC_OK)                                                  
   4e4e4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   4e4e8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4e4ea:	66da           	bnes 4e4c6 <msdos_rmnod+0x52>               <== NOT EXECUTED
    {                                                                 
        return rc;                                                    
    }                                                                 
                                                                      
    fat_file_mark_removed(&fs_info->fat, fat_fd);                     
   4e4ec:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4e4ee:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   4e4f2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4e4f4:	4eb9 0005 2582 	jsr 52582 <fat_file_mark_removed>           <== NOT EXECUTED
                                                                      
    return rc;                                                        
   4e4fa:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   4e4fe:	508f           	addql #8,%sp                                <== NOT EXECUTED
}                                                                     
   4e500:	4cee 0c04 ffec 	moveml %fp@(-20),%d2/%a2-%a3                <== NOT EXECUTED
   4e506:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e508:	4e75           	rts                                         <== NOT EXECUTED
            return rc;                                                
        }                                                             
                                                                      
        if (!is_empty)                                                
        {                                                             
            rtems_set_errno_and_return_minus_one(ENOTEMPTY);          
   4e50a:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4e510:	745a           	moveq #90,%d2                               <== NOT EXECUTED
   4e512:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4e514:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4e516:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
    }                                                                 
                                                                      
    fat_file_mark_removed(&fs_info->fat, fat_fd);                     
                                                                      
    return rc;                                                        
}                                                                     
   4e518:	4cee 0c04 ffec 	moveml %fp@(-20),%d2/%a2-%a3                <== NOT EXECUTED
   4e51e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

00057266 <msdos_set_dir_wrt_time_and_date>: int msdos_set_dir_wrt_time_and_date( rtems_filesystem_mount_table_entry_t *mt_entry, fat_file_fd_t *fat_fd ) {
   57266:	4e56 ffe0      	linkw %fp,#-32                              
    ssize_t          ret1 = 0, ret2 = 0, ret3 = 0;                    
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   5726a:	206e 0008      	moveal %fp@(8),%a0                          
int                                                                   
msdos_set_dir_wrt_time_and_date(                                      
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   5726e:	48d7 1c3c      	moveml %d2-%d5/%a2-%a4,%sp@                 
    uint16_t         time_val;                                        
    uint16_t         date;                                            
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    msdos_date_unix2dos(fat_fd->mtime, &date, &time_val);             
   57272:	240e           	movel %fp,%d2                               
   57274:	5982           	subql #4,%d2                                
   57276:	260e           	movel %fp,%d3                               
   57278:	5583           	subql #2,%d3                                
   5727a:	2f02           	movel %d2,%sp@-                             
int                                                                   
msdos_set_dir_wrt_time_and_date(                                      
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   5727c:	266e 000c      	moveal %fp@(12),%a3                         
    uint16_t         time_val;                                        
    uint16_t         date;                                            
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    msdos_date_unix2dos(fat_fd->mtime, &date, &time_val);             
   57280:	2f03           	movel %d3,%sp@-                             
   57282:	2f2b 003e      	movel %a3@(62),%sp@-                        
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
    ssize_t          ret1 = 0, ret2 = 0, ret3 = 0;                    
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   57286:	2468 0008      	moveal %a0@(8),%a2                          
    uint16_t         time_val;                                        
    uint16_t         date;                                            
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    msdos_date_unix2dos(fat_fd->mtime, &date, &time_val);             
   5728a:	4eb9 0005 97bc 	jsr 597bc <msdos_date_unix2dos>             
                                                                      
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
   57290:	222b 0020      	movel %a3@(32),%d1                          
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   57294:	4fef 000c      	lea %sp@(12),%sp                            
   57298:	6600 00ae      	bnew 57348 <msdos_set_dir_wrt_time_and_date+0xe2>
   5729c:	7803           	moveq #3,%d4                                
   5729e:	102a 000e      	moveb %a2@(14),%d0                          
   572a2:	c084           	andl %d4,%d0                                
   572a4:	4a00           	tstb %d0                                    
   572a6:	6700 00a0      	beqw 57348 <msdos_set_dir_wrt_time_and_date+0xe2>
        return fs_info->vol.rdir_loc;                                 
   572aa:	222a 001e      	movel %a2@(30),%d1                          
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   572ae:	4284           	clrl %d4                                    
   572b0:	182a 0002      	moveb %a2@(2),%d4                           
    /* byte points to start of 32bytes structure */                   
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   572b4:	4285           	clrl %d5                                    
                                                                      
    time_val = CT_LE_W(time_val);                                     
    ret1 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WTIME_OFFSET,
   572b6:	49f9 0005 2a5a 	lea 52a5a <fat_sector_write>,%a4            
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   572bc:	202b 0024      	movel %a3@(36),%d0                          
    /* byte points to start of 32bytes structure */                   
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   572c0:	3a12           	movew %a2@,%d5                              
                                                                      
    time_val = CT_LE_W(time_val);                                     
    ret1 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WTIME_OFFSET,
   572c2:	2f02           	movel %d2,%sp@-                             
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   572c4:	2400           	movel %d0,%d2                               
    /* byte points to start of 32bytes structure */                   
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   572c6:	2645           	moveal %d5,%a3                              
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   572c8:	e8aa           	lsrl %d4,%d2                                
   572ca:	d481           	addl %d1,%d2                                
    /* byte points to start of 32bytes structure */                   
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   572cc:	538b           	subql #1,%a3                                
   572ce:	220b           	movel %a3,%d1                               
                                                                      
    time_val = CT_LE_W(time_val);                                     
    ret1 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WTIME_OFFSET,
   572d0:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    /* byte points to start of 32bytes structure */                   
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   572d4:	c280           	andl %d0,%d1                                
   572d6:	4280           	clrl %d0                                    
   572d8:	2641           	moveal %d1,%a3                              
                                                                      
    time_val = CT_LE_W(time_val);                                     
    ret1 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WTIME_OFFSET,
   572da:	486b 0016      	pea %a3@(22)                                
   572de:	302e fffc      	movew %fp@(-4),%d0                          
   572e2:	2f02           	movel %d2,%sp@-                             
   572e4:	2200           	movel %d0,%d1                               
   572e6:	e089           	lsrl #8,%d1                                 
   572e8:	e188           	lsll #8,%d0                                 
   572ea:	2f0a           	movel %a2,%sp@-                             
   572ec:	8081           	orl %d1,%d0                                 
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    /* byte points to start of 32bytes structure */                   
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
                                                                      
    time_val = CT_LE_W(time_val);                                     
   572ee:	3d40 fffc      	movew %d0,%fp@(-4)                          
    ret1 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WTIME_OFFSET,
   572f2:	4e94           	jsr %a4@                                    
   572f4:	382e fffe      	movew %fp@(-2),%d4                          
   572f8:	2a00           	movel %d0,%d5                               
   572fa:	2204           	movel %d4,%d1                               
   572fc:	e08c           	lsrl #8,%d4                                 
                            2, (char *)(&time_val));                  
    date = CT_LE_W(date);                                             
    ret2 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WDATE_OFFSET,
   572fe:	2f03           	movel %d3,%sp@-                             
   57300:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   57304:	486b 0018      	pea %a3@(24)                                
   57308:	e189           	lsll #8,%d1                                 
   5730a:	2f02           	movel %d2,%sp@-                             
   5730c:	8284           	orl %d4,%d1                                 
   5730e:	2f0a           	movel %a2,%sp@-                             
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
                                                                      
    time_val = CT_LE_W(time_val);                                     
    ret1 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WTIME_OFFSET,
                            2, (char *)(&time_val));                  
    date = CT_LE_W(date);                                             
   57310:	3d41 fffe      	movew %d1,%fp@(-2)                          
    ret2 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WDATE_OFFSET,
   57314:	4e94           	jsr %a4@                                    
                            2, (char *)(&date));                      
    ret3 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_ADATE_OFFSET,
   57316:	4fef 0024      	lea %sp@(36),%sp                            
                                                                      
    time_val = CT_LE_W(time_val);                                     
    ret1 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WTIME_OFFSET,
                            2, (char *)(&time_val));                  
    date = CT_LE_W(date);                                             
    ret2 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_WDATE_OFFSET,
   5731a:	2800           	movel %d0,%d4                               
                            2, (char *)(&date));                      
    ret3 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_ADATE_OFFSET,
   5731c:	2e83           	movel %d3,%sp@                              
   5731e:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   57322:	486b 0012      	pea %a3@(18)                                
   57326:	2f02           	movel %d2,%sp@-                             
   57328:	2f0a           	movel %a2,%sp@-                             
   5732a:	4e94           	jsr %a4@                                    
                            2, (char *)(&date));                      
                                                                      
    if ( (ret1 < 0) || (ret2 < 0) || (ret3 < 0) )                     
   5732c:	4fef 0014      	lea %sp@(20),%sp                            
   57330:	4a85           	tstl %d5                                    
   57332:	6d26           	blts 5735a <msdos_set_dir_wrt_time_and_date+0xf4><== NEVER TAKEN
   57334:	4a84           	tstl %d4                                    
   57336:	6d22           	blts 5735a <msdos_set_dir_wrt_time_and_date+0xf4><== NEVER TAKEN
   57338:	4a80           	tstl %d0                                    
   5733a:	6d1e           	blts 5735a <msdos_set_dir_wrt_time_and_date+0xf4><== NEVER TAKEN
        return -1;                                                    
                                                                      
    return RC_OK;                                                     
   5733c:	4280           	clrl %d0                                    
}                                                                     
   5733e:	4cee 1c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a4            
   57344:	4e5e           	unlk %fp                                    
   57346:	4e75           	rts                                         
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   57348:	4280           	clrl %d0                                    <== NOT EXECUTED
   5734a:	102a 0005      	moveb %a2@(5),%d0                           <== NOT EXECUTED
   5734e:	5581           	subql #2,%d1                                <== NOT EXECUTED
   57350:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
   57352:	d2aa 0030      	addl %a2@(48),%d1                           <== NOT EXECUTED
   57356:	6000 ff56      	braw 572ae <msdos_set_dir_wrt_time_and_date+0x48><== NOT EXECUTED
                            2, (char *)(&date));                      
    ret3 = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_ADATE_OFFSET,
                            2, (char *)(&date));                      
                                                                      
    if ( (ret1 < 0) || (ret2 < 0) || (ret3 < 0) )                     
        return -1;                                                    
   5735a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
    return RC_OK;                                                     
}                                                                     
   5735c:	4cee 1c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a4            <== NOT EXECUTED
   57362:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005743e <msdos_set_file_size>: int msdos_set_file_size( rtems_filesystem_mount_table_entry_t *mt_entry, fat_file_fd_t *fat_fd ) {
   5743e:	4e56 ffe4      	linkw %fp,#-28                              
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   57442:	206e 0008      	moveal %fp@(8),%a0                          
int                                                                   
msdos_set_file_size(                                                  
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   57446:	48d7 047c      	moveml %d2-%d6/%a2,%sp@                     
   5744a:	246e 000c      	moveal %fp@(12),%a2                         
    ssize_t          ret = 0;                                         
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   5744e:	2068 0008      	moveal %a0@(8),%a0                          
    uint32_t         le_new_length = 0;                               
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
   57452:	222a 0020      	movel %a2@(32),%d1                          
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   57456:	6600 0082      	bnew 574da <msdos_set_file_size+0x9c>       
   5745a:	7403           	moveq #3,%d2                                
   5745c:	1028 000e      	moveb %a0@(14),%d0                          
   57460:	c082           	andl %d2,%d0                                
   57462:	4a00           	tstb %d0                                    
   57464:	6774           	beqs 574da <msdos_set_file_size+0x9c>       <== NEVER TAKEN
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    byte = (fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));  
                                                                      
    le_new_length = CT_LE_L((fat_fd->fat_file_size));                 
   57466:	242a 0018      	movel %a2@(24),%d2                          
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   5746a:	7818           	moveq #24,%d4                               
   5746c:	2a02           	movel %d2,%d5                               
  byte3 = (value >> 16) & 0xff;                                       
   5746e:	2602           	movel %d2,%d3                               
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   57470:	2002           	movel %d2,%d0                               
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   57472:	e8ad           	lsrl %d4,%d5                                
  byte3 = (value >> 16) & 0xff;                                       
   57474:	e08b           	lsrl #8,%d3                                 
    uint32_t         le_new_length = 0;                               
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   57476:	4286           	clrl %d6                                    
   57478:	1c28 0002      	moveb %a0@(2),%d6                           
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   5747c:	224e           	moveal %fp,%a1                              
   5747e:	e9a8           	lsll %d4,%d0                                
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   57480:	e18a           	lsll #8,%d2                                 
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   57482:	0283 0000 ff00 	andil #65280,%d3                            
   57488:	8085           	orl %d5,%d0                                 
    byte = (fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));  
   5748a:	4285           	clrl %d5                                    
   5748c:	0282 00ff 0000 	andil #16711680,%d2                         
   57492:	3a10           	movew %a0@,%d5                              
    uint32_t         le_new_length = 0;                               
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   57494:	282a 0024      	movel %a2@(36),%d4                          
   57498:	8082           	orl %d2,%d0                                 
        return fs_info->vol.rdir_loc;                                 
   5749a:	2228 001e      	movel %a0@(30),%d1                          
   5749e:	2404           	movel %d4,%d2                               
   574a0:	ecaa           	lsrl %d6,%d2                                
   574a2:	8083           	orl %d3,%d0                                 
   574a4:	2300           	movel %d0,%a1@-                             
    byte = (fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));  
   574a6:	2005           	movel %d5,%d0                               
   574a8:	5380           	subql #1,%d0                                
                                                                      
    le_new_length = CT_LE_L((fat_fd->fat_file_size));                 
    ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_SIZE_OFFSET, 4,
   574aa:	2f09           	movel %a1,%sp@-                             
   574ac:	4878 0004      	pea 4 <CONTEXT_ARG>                         
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    byte = (fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));  
   574b0:	c084           	andl %d4,%d0                                
                                                                      
    le_new_length = CT_LE_L((fat_fd->fat_file_size));                 
    ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_SIZE_OFFSET, 4,
   574b2:	2240           	moveal %d0,%a1                              
   574b4:	4869 001c      	pea %a1@(28)                                
   574b8:	2241           	moveal %d1,%a1                              
   574ba:	4871 2800      	pea %a1@(00000000,%d2:l)                    
   574be:	2f08           	movel %a0,%sp@-                             
   574c0:	4eb9 0005 2a5a 	jsr 52a5a <fat_sector_write>                
                           (char *)(&le_new_length));                 
    if ( ret < 0 )                                                    
   574c6:	4fef 0014      	lea %sp@(20),%sp                            
        return -1;                                                    
   574ca:	4a80           	tstl %d0                                    
   574cc:	5dc0           	slt %d0                                     
                                                                      
    return RC_OK;                                                     
}                                                                     
   574ce:	4cee 047c ffe4 	moveml %fp@(-28),%d2-%d6/%a2                
   574d4:	4e5e           	unlk %fp                                    
                                                                      
    le_new_length = CT_LE_L((fat_fd->fat_file_size));                 
    ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_SIZE_OFFSET, 4,
                           (char *)(&le_new_length));                 
    if ( ret < 0 )                                                    
        return -1;                                                    
   574d6:	49c0           	extbl %d0                                   
                                                                      
    return RC_OK;                                                     
}                                                                     
   574d8:	4e75           	rts                                         
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   574da:	4280           	clrl %d0                                    <== NOT EXECUTED
   574dc:	1028 0005      	moveb %a0@(5),%d0                           <== NOT EXECUTED
   574e0:	5581           	subql #2,%d1                                <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   574e2:	7818           	moveq #24,%d4                               <== NOT EXECUTED
    uint32_t         le_new_length = 0;                               
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   574e4:	4286           	clrl %d6                                    <== NOT EXECUTED
   574e6:	1c28 0002      	moveb %a0@(2),%d6                           <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   574ea:	224e           	moveal %fp,%a1                              <== NOT EXECUTED
    byte = (fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));  
                                                                      
    le_new_length = CT_LE_L((fat_fd->fat_file_size));                 
   574ec:	242a 0018      	movel %a2@(24),%d2                          <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   574f0:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
   574f2:	2602           	movel %d2,%d3                               <== NOT EXECUTED
  uint32_t value                                                      
  )                                                                   
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
   574f4:	e8ad           	lsrl %d4,%d5                                <== NOT EXECUTED
  byte3 = (value >> 16) & 0xff;                                       
   574f6:	e08b           	lsrl #8,%d3                                 <== NOT EXECUTED
   574f8:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
  byte2 = (value >> 8)  & 0xff;                                       
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   574fa:	2002           	movel %d2,%d0                               <== NOT EXECUTED
{                                                                     
  uint32_t   byte1, byte2, byte3, byte4, swapped;                     
                                                                      
  byte4 = (value >> 24) & 0xff;                                       
  byte3 = (value >> 16) & 0xff;                                       
  byte2 = (value >> 8)  & 0xff;                                       
   574fc:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
  byte1 =  value        & 0xff;                                       
                                                                      
  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;     
   574fe:	e9a8           	lsll %d4,%d0                                <== NOT EXECUTED
   57500:	0283 0000 ff00 	andil #65280,%d3                            <== NOT EXECUTED
   57506:	0282 00ff 0000 	andil #16711680,%d2                         <== NOT EXECUTED
   5750c:	d2a8 0030      	addl %a0@(48),%d1                           <== NOT EXECUTED
   57510:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    byte = (fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));  
   57512:	4285           	clrl %d5                                    <== NOT EXECUTED
   57514:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   57516:	3a10           	movew %a0@,%d5                              <== NOT EXECUTED
    uint32_t         le_new_length = 0;                               
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   57518:	282a 0024      	movel %a2@(36),%d4                          <== NOT EXECUTED
   5751c:	2404           	movel %d4,%d2                               <== NOT EXECUTED
   5751e:	ecaa           	lsrl %d6,%d2                                <== NOT EXECUTED
   57520:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   57522:	2300           	movel %d0,%a1@-                             <== NOT EXECUTED
    byte = (fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));  
   57524:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   57526:	5380           	subql #1,%d0                                <== NOT EXECUTED
                                                                      
    le_new_length = CT_LE_L((fat_fd->fat_file_size));                 
    ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_SIZE_OFFSET, 4,
   57528:	2f09           	movel %a1,%sp@-                             <== NOT EXECUTED
   5752a:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
    uint32_t         sec = 0;                                         
    uint32_t         byte = 0;                                        
                                                                      
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    byte = (fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1));  
   5752e:	c084           	andl %d4,%d0                                <== NOT EXECUTED
                                                                      
    le_new_length = CT_LE_L((fat_fd->fat_file_size));                 
    ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_SIZE_OFFSET, 4,
   57530:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   57532:	4869 001c      	pea %a1@(28)                                <== NOT EXECUTED
   57536:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
   57538:	4871 2800      	pea %a1@(00000000,%d2:l)                    <== NOT EXECUTED
   5753c:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5753e:	4eb9 0005 2a5a 	jsr 52a5a <fat_sector_write>                <== NOT EXECUTED
                           (char *)(&le_new_length));                 
    if ( ret < 0 )                                                    
   57544:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
        return -1;                                                    
   57548:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5754a:	5dc0           	slt %d0                                     <== NOT EXECUTED
                                                                      
    return RC_OK;                                                     
}                                                                     
   5754c:	4cee 047c ffe4 	moveml %fp@(-28),%d2-%d6/%a2                <== NOT EXECUTED
   57552:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      
    le_new_length = CT_LE_L((fat_fd->fat_file_size));                 
    ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_SIZE_OFFSET, 4,
                           (char *)(&le_new_length));                 
    if ( ret < 0 )                                                    
        return -1;                                                    
   57554:	49c0           	extbl %d0                                   <== NOT EXECUTED
                                                                      
    return RC_OK;                                                     
}                                                                     
                                                                      

00057558 <msdos_set_first_char4file_name>: msdos_set_first_char4file_name( rtems_filesystem_mount_table_entry_t *mt_entry, fat_dir_pos_t *dir_pos, unsigned char fchar ) {
   57558:	4e56 ffc4      	linkw %fp,#-60                              <== NOT EXECUTED
   5755c:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   57560:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
    ssize_t          ret;                                             
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   57564:	226e 0008      	moveal %fp@(8),%a1                          <== NOT EXECUTED
    uint32_t         dir_block_size;                                  
    fat_pos_t        start = dir_pos->lname;                          
    fat_pos_t        end = dir_pos->sname;                            
   57568:	2228 0004      	movel %a0@(4),%d1                           <== NOT EXECUTED
    )                                                                 
{                                                                     
    ssize_t          ret;                                             
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         dir_block_size;                                  
    fat_pos_t        start = dir_pos->lname;                          
   5756c:	2828 0008      	movel %a0@(8),%d4                           <== NOT EXECUTED
   57570:	2a28 000c      	movel %a0@(12),%d5                          <== NOT EXECUTED
    fat_pos_t        end = dir_pos->sname;                            
   57574:	2410           	movel %a0@,%d2                              <== NOT EXECUTED
    fat_dir_pos_t                        *dir_pos,                    
    unsigned char                         fchar                       
    )                                                                 
{                                                                     
    ssize_t          ret;                                             
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   57576:	2469 0008      	moveal %a1@(8),%a2                          <== NOT EXECUTED
    uint32_t         dir_block_size;                                  
    fat_pos_t        start = dir_pos->lname;                          
    fat_pos_t        end = dir_pos->sname;                            
   5757a:	2d41 fff2      	movel %d1,%fp@(-14)                         <== NOT EXECUTED
msdos_set_first_char4file_name(                                       
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_dir_pos_t                        *dir_pos,                    
    unsigned char                         fchar                       
    )                                                                 
{                                                                     
   5757e:	1d6e 0013 fff6 	moveb %fp@(19),%fp@(-10)                    <== NOT EXECUTED
    ssize_t          ret;                                             
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         dir_block_size;                                  
    fat_pos_t        start = dir_pos->lname;                          
   57584:	2d44 fff8      	movel %d4,%fp@(-8)                          <== NOT EXECUTED
   57588:	2d45 fffc      	movel %d5,%fp@(-4)                          <== NOT EXECUTED
    fat_pos_t        end = dir_pos->sname;                            
                                                                      
    if ((end.cln == fs_info->fat.vol.rdir_cl) &&                      
   5758c:	b4aa 0038      	cmpl %a2@(56),%d2                           <== NOT EXECUTED
   57590:	6700 016a      	beqw 576fc <msdos_set_first_char4file_name+0x1a4><== NOT EXECUTED
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
      dir_block_size = fs_info->fat.vol.rdir_size;                    
    else                                                              
      dir_block_size = fs_info->fat.vol.bpc;                          
   57594:	4284           	clrl %d4                                    <== NOT EXECUTED
                                                                      
    if (dir_pos->lname.cln == FAT_FILE_SHORT_NAME)                    
   57596:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
                                                                      
    if ((end.cln == fs_info->fat.vol.rdir_cl) &&                      
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
      dir_block_size = fs_info->fat.vol.rdir_size;                    
    else                                                              
      dir_block_size = fs_info->fat.vol.bpc;                          
   57598:	382a 0006      	movew %a2@(6),%d4                           <== NOT EXECUTED
   5759c:	2d44 ffee      	movel %d4,%fp@(-18)                         <== NOT EXECUTED
                                                                      
    if (dir_pos->lname.cln == FAT_FILE_SHORT_NAME)                    
   575a0:	baa8 0008      	cmpl %a0@(8),%d5                            <== NOT EXECUTED
   575a4:	6700 0122      	beqw 576c8 <msdos_set_first_char4file_name+0x170><== NOT EXECUTED
   575a8:	260e           	movel %fp,%d3                               <== NOT EXECUTED
   575aa:	0683 ffff fff6 	addil #-10,%d3                              <== NOT EXECUTED
   575b0:	47f9 0005 2a5a 	lea 52a5a <fat_sector_write>,%a3            <== NOT EXECUTED
      {                                                               
        int rc;                                                       
        if ((end.cln == fs_info->fat.vol.rdir_cl) &&                  
            (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))        
          break;                                                      
        rc = fat_get_fat_cluster(&fs_info->fat, start.cln, &start.cln);
   575b6:	4bee fff8      	lea %fp@(-8),%a5                            <== NOT EXECUTED
   575ba:	49f9 0005 8ac0 	lea 58ac0 <fat_get_fat_cluster>,%a4         <== NOT EXECUTED
   575c0:	1c2a 0002      	moveb %a2@(2),%d6                           <== NOT EXECUTED
   575c4:	3e12           	movew %a2@,%d7                              <== NOT EXECUTED
   575c6:	222e fffc      	movel %fp@(-4),%d1                          <== NOT EXECUTED
   575ca:	206e fff8      	moveal %fp@(-8),%a0                         <== NOT EXECUTED
   575ce:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   575d0:	5580           	subql #2,%d0                                <== NOT EXECUTED
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   575d2:	4a88           	tstl %a0                                    <== NOT EXECUTED
   575d4:	6666           	bnes 5763c <msdos_set_first_char4file_name+0xe4><== NOT EXECUTED
   575d6:	7803           	moveq #3,%d4                                <== NOT EXECUTED
   575d8:	1a2a 000e      	moveb %a2@(14),%d5                          <== NOT EXECUTED
   575dc:	ca84           	andl %d4,%d5                                <== NOT EXECUTED
   575de:	4a05           	tstb %d5                                    <== NOT EXECUTED
   575e0:	675a           	beqs 5763c <msdos_set_first_char4file_name+0xe4><== NOT EXECUTED
        return fs_info->vol.rdir_loc;                                 
   575e2:	202a 001e      	movel %a2@(30),%d0                          <== NOT EXECUTED
    {                                                                 
      uint32_t sec = (fat_cluster_num_to_sector_num(&fs_info->fat, start.cln) +
                      (start.ofs >> fs_info->fat.vol.sec_log2));      
      uint32_t byte = (start.ofs & (fs_info->fat.vol.bps - 1));       
                                                                      
      ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_NAME_OFFSET,
   575e6:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
     */                                                               
    while (true)                                                      
    {                                                                 
      uint32_t sec = (fat_cluster_num_to_sector_num(&fs_info->fat, start.cln) +
                      (start.ofs >> fs_info->fat.vol.sec_log2));      
      uint32_t byte = (start.ofs & (fs_info->fat.vol.bps - 1));       
   575e8:	0287 0000 ffff 	andil #65535,%d7                            <== NOT EXECUTED
                                                                      
      ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_NAME_OFFSET,
   575ee:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   575f0:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
     */                                                               
    while (true)                                                      
    {                                                                 
      uint32_t sec = (fat_cluster_num_to_sector_num(&fs_info->fat, start.cln) +
                      (start.ofs >> fs_info->fat.vol.sec_log2));      
      uint32_t byte = (start.ofs & (fs_info->fat.vol.bps - 1));       
   575f4:	2a07           	movel %d7,%d5                               <== NOT EXECUTED
   575f6:	5385           	subql #1,%d5                                <== NOT EXECUTED
     * interface.                                                     
     */                                                               
    while (true)                                                      
    {                                                                 
      uint32_t sec = (fat_cluster_num_to_sector_num(&fs_info->fat, start.cln) +
                      (start.ofs >> fs_info->fat.vol.sec_log2));      
   575f8:	4287           	clrl %d7                                    <== NOT EXECUTED
   575fa:	1e06           	moveb %d6,%d7                               <== NOT EXECUTED
      uint32_t byte = (start.ofs & (fs_info->fat.vol.bps - 1));       
                                                                      
      ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_NAME_OFFSET,
   575fc:	ca81           	andl %d1,%d5                                <== NOT EXECUTED
     * interface.                                                     
     */                                                               
    while (true)                                                      
    {                                                                 
      uint32_t sec = (fat_cluster_num_to_sector_num(&fs_info->fat, start.cln) +
                      (start.ofs >> fs_info->fat.vol.sec_log2));      
   575fe:	eea9           	lsrl %d7,%d1                                <== NOT EXECUTED
      uint32_t byte = (start.ofs & (fs_info->fat.vol.bps - 1));       
                                                                      
      ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_NAME_OFFSET,
   57600:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   57602:	4870 1800      	pea %a0@(00000000,%d1:l)                    <== NOT EXECUTED
   57606:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   57608:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                             1, &fchar);                              
      if (ret < 0)                                                    
   5760a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5760e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   57610:	6d62           	blts 57674 <msdos_set_first_char4file_name+0x11c><== NOT EXECUTED
        return -1;                                                    
                                                                      
      if ((start.cln == end.cln) && (start.ofs == end.ofs))           
   57612:	206e fff8      	moveal %fp@(-8),%a0                         <== NOT EXECUTED
   57616:	222e fffc      	movel %fp@(-4),%d1                          <== NOT EXECUTED
   5761a:	b488           	cmpl %a0,%d2                                <== NOT EXECUTED
   5761c:	6762           	beqs 57680 <msdos_set_first_char4file_name+0x128><== NOT EXECUTED
        break;                                                        
                                                                      
      start.ofs += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;                 
   5761e:	0681 0000 0020 	addil #32,%d1                               <== NOT EXECUTED
   57624:	2d41 fffc      	movel %d1,%fp@(-4)                          <== NOT EXECUTED
      if (start.ofs >= dir_block_size)                                
   57628:	b2ae ffee      	cmpl %fp@(-18),%d1                          <== NOT EXECUTED
   5762c:	6464           	bccs 57692 <msdos_set_first_char4file_name+0x13a><== NOT EXECUTED
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   5762e:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   57630:	5580           	subql #2,%d0                                <== NOT EXECUTED
   57632:	1c2a 0002      	moveb %a2@(2),%d6                           <== NOT EXECUTED
   57636:	3e12           	movew %a2@,%d7                              <== NOT EXECUTED
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   57638:	4a88           	tstl %a0                                    <== NOT EXECUTED
   5763a:	679a           	beqs 575d6 <msdos_set_first_char4file_name+0x7e><== NOT EXECUTED
        return fs_info->vol.rdir_loc;                                 
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   5763c:	4285           	clrl %d5                                    <== NOT EXECUTED
   5763e:	1a2a 0005      	moveb %a2@(5),%d5                           <== NOT EXECUTED
   57642:	eba8           	lsll %d5,%d0                                <== NOT EXECUTED
     */                                                               
    while (true)                                                      
    {                                                                 
      uint32_t sec = (fat_cluster_num_to_sector_num(&fs_info->fat, start.cln) +
                      (start.ofs >> fs_info->fat.vol.sec_log2));      
      uint32_t byte = (start.ofs & (fs_info->fat.vol.bps - 1));       
   57644:	0287 0000 ffff 	andil #65535,%d7                            <== NOT EXECUTED
   5764a:	d0aa 0030      	addl %a2@(48),%d0                           <== NOT EXECUTED
   5764e:	2a07           	movel %d7,%d5                               <== NOT EXECUTED
   57650:	5385           	subql #1,%d5                                <== NOT EXECUTED
     * interface.                                                     
     */                                                               
    while (true)                                                      
    {                                                                 
      uint32_t sec = (fat_cluster_num_to_sector_num(&fs_info->fat, start.cln) +
                      (start.ofs >> fs_info->fat.vol.sec_log2));      
   57652:	4287           	clrl %d7                                    <== NOT EXECUTED
   57654:	1e06           	moveb %d6,%d7                               <== NOT EXECUTED
      uint32_t byte = (start.ofs & (fs_info->fat.vol.bps - 1));       
                                                                      
      ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_NAME_OFFSET,
   57656:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   57658:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5765a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5765e:	ca81           	andl %d1,%d5                                <== NOT EXECUTED
     * interface.                                                     
     */                                                               
    while (true)                                                      
    {                                                                 
      uint32_t sec = (fat_cluster_num_to_sector_num(&fs_info->fat, start.cln) +
                      (start.ofs >> fs_info->fat.vol.sec_log2));      
   57660:	eea9           	lsrl %d7,%d1                                <== NOT EXECUTED
      uint32_t byte = (start.ofs & (fs_info->fat.vol.bps - 1));       
                                                                      
      ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_NAME_OFFSET,
   57662:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   57664:	4870 1800      	pea %a0@(00000000,%d1:l)                    <== NOT EXECUTED
   57668:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5766a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                             1, &fchar);                              
      if (ret < 0)                                                    
   5766c:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   57670:	4a80           	tstl %d0                                    <== NOT EXECUTED
   57672:	6c9e           	bges 57612 <msdos_set_first_char4file_name+0xba><== NOT EXECUTED
        return -1;                                                    
   57674:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
        start.ofs = 0;                                                
      }                                                               
    }                                                                 
                                                                      
    return  RC_OK;                                                    
}                                                                     
   57676:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5767c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5767e:	4e75           	rts                                         <== NOT EXECUTED
      ret = fat_sector_write(&fs_info->fat, sec, byte + MSDOS_FILE_NAME_OFFSET,
                             1, &fchar);                              
      if (ret < 0)                                                    
        return -1;                                                    
                                                                      
      if ((start.cln == end.cln) && (start.ofs == end.ofs))           
   57680:	b2ae fff2      	cmpl %fp@(-14),%d1                          <== NOT EXECUTED
   57684:	6698           	bnes 5761e <msdos_set_first_char4file_name+0xc6><== NOT EXECUTED
          return rc;                                                  
        start.ofs = 0;                                                
      }                                                               
    }                                                                 
                                                                      
    return  RC_OK;                                                    
   57686:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   57688:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5768e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   57690:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
      start.ofs += MSDOS_DIRECTORY_ENTRY_STRUCT_SIZE;                 
      if (start.ofs >= dir_block_size)                                
      {                                                               
        int rc;                                                       
        if ((end.cln == fs_info->fat.vol.rdir_cl) &&                  
   57692:	b4aa 0038      	cmpl %a2@(56),%d2                           <== NOT EXECUTED
   57696:	660c           	bnes 576a4 <msdos_set_first_char4file_name+0x14c><== NOT EXECUTED
   57698:	7203           	moveq #3,%d1                                <== NOT EXECUTED
   5769a:	102a 000e      	moveb %a2@(14),%d0                          <== NOT EXECUTED
   5769e:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   576a0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   576a2:	66e2           	bnes 57686 <msdos_set_first_char4file_name+0x12e><== NOT EXECUTED
            (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))        
          break;                                                      
        rc = fat_get_fat_cluster(&fs_info->fat, start.cln, &start.cln);
   576a4:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   576a6:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   576a8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   576aa:	4e94           	jsr %a4@                                    <== NOT EXECUTED
        if ( rc != RC_OK )                                            
   576ac:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   576b0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   576b2:	66c2           	bnes 57676 <msdos_set_first_char4file_name+0x11e><== NOT EXECUTED
          return rc;                                                  
        start.ofs = 0;                                                
   576b4:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
   576b8:	206e fff8      	moveal %fp@(-8),%a0                         <== NOT EXECUTED
   576bc:	4281           	clrl %d1                                    <== NOT EXECUTED
   576be:	1c2a 0002      	moveb %a2@(2),%d6                           <== NOT EXECUTED
   576c2:	3e12           	movew %a2@,%d7                              <== NOT EXECUTED
   576c4:	6000 ff08      	braw 575ce <msdos_set_first_char4file_name+0x76><== NOT EXECUTED
   576c8:	260e           	movel %fp,%d3                               <== NOT EXECUTED
   576ca:	0683 ffff fff6 	addil #-10,%d3                              <== NOT EXECUTED
   576d0:	47f9 0005 2a5a 	lea 52a5a <fat_sector_write>,%a3            <== NOT EXECUTED
      {                                                               
        int rc;                                                       
        if ((end.cln == fs_info->fat.vol.rdir_cl) &&                  
            (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))        
          break;                                                      
        rc = fat_get_fat_cluster(&fs_info->fat, start.cln, &start.cln);
   576d6:	4bee fff8      	lea %fp@(-8),%a5                            <== NOT EXECUTED
   576da:	49f9 0005 8ac0 	lea 58ac0 <fat_get_fat_cluster>,%a4         <== NOT EXECUTED
      dir_block_size = fs_info->fat.vol.rdir_size;                    
    else                                                              
      dir_block_size = fs_info->fat.vol.bpc;                          
                                                                      
    if (dir_pos->lname.cln == FAT_FILE_SHORT_NAME)                    
      start = dir_pos->sname;                                         
   576e0:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
   576e2:	2228 0004      	movel %a0@(4),%d1                           <== NOT EXECUTED
   576e6:	3e12           	movew %a2@,%d7                              <== NOT EXECUTED
   576e8:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   576ec:	2d41 fffc      	movel %d1,%fp@(-4)                          <== NOT EXECUTED
   576f0:	222e fffc      	movel %fp@(-4),%d1                          <== NOT EXECUTED
   576f4:	1c2a 0002      	moveb %a2@(2),%d6                           <== NOT EXECUTED
   576f8:	6000 fed0      	braw 575ca <msdos_set_first_char4file_name+0x72><== NOT EXECUTED
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         dir_block_size;                                  
    fat_pos_t        start = dir_pos->lname;                          
    fat_pos_t        end = dir_pos->sname;                            
                                                                      
    if ((end.cln == fs_info->fat.vol.rdir_cl) &&                      
   576fc:	7a03           	moveq #3,%d5                                <== NOT EXECUTED
   576fe:	102a 000e      	moveb %a2@(14),%d0                          <== NOT EXECUTED
   57702:	c085           	andl %d5,%d0                                <== NOT EXECUTED
   57704:	4a00           	tstb %d0                                    <== NOT EXECUTED
   57706:	6700 fe8c      	beqw 57594 <msdos_set_first_char4file_name+0x3c><== NOT EXECUTED
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
      dir_block_size = fs_info->fat.vol.rdir_size;                    
   5770a:	222a 0028      	movel %a2@(40),%d1                          <== NOT EXECUTED
    else                                                              
      dir_block_size = fs_info->fat.vol.bpc;                          
                                                                      
    if (dir_pos->lname.cln == FAT_FILE_SHORT_NAME)                    
   5770e:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
    fat_pos_t        start = dir_pos->lname;                          
    fat_pos_t        end = dir_pos->sname;                            
                                                                      
    if ((end.cln == fs_info->fat.vol.rdir_cl) &&                      
        (fs_info->fat.vol.type & (FAT_FAT12 | FAT_FAT16)))            
      dir_block_size = fs_info->fat.vol.rdir_size;                    
   57710:	2d41 ffee      	movel %d1,%fp@(-18)                         <== NOT EXECUTED
    else                                                              
      dir_block_size = fs_info->fat.vol.bpc;                          
                                                                      
    if (dir_pos->lname.cln == FAT_FILE_SHORT_NAME)                    
   57714:	baa8 0008      	cmpl %a0@(8),%d5                            <== NOT EXECUTED
   57718:	6600 fe8e      	bnew 575a8 <msdos_set_first_char4file_name+0x50><== NOT EXECUTED
   5771c:	60aa           	bras 576c8 <msdos_set_first_char4file_name+0x170><== NOT EXECUTED
                                                                      

00057366 <msdos_set_first_cluster_num>: int msdos_set_first_cluster_num( rtems_filesystem_mount_table_entry_t *mt_entry, fat_file_fd_t *fat_fd ) {
   57366:	4e56 ffe4      	linkw %fp,#-28                              
    ssize_t          ret1 = 0, ret2 = 0;                              
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         new_cln = fat_fd->cln;                           
    uint16_t         le_cl_low = 0;                                   
    uint16_t         le_cl_hi = 0;                                    
   5736a:	4240           	clrw %d0                                    
int                                                                   
msdos_set_first_cluster_num(                                          
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   5736c:	206e 000c      	moveal %fp@(12),%a0                         
    ssize_t          ret1 = 0, ret2 = 0;                              
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   57370:	226e 0008      	moveal %fp@(8),%a1                          
int                                                                   
msdos_set_first_cluster_num(                                          
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
   57374:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
    ssize_t          ret1 = 0, ret2 = 0;                              
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
    uint32_t         new_cln = fat_fd->cln;                           
   57378:	2628 001c      	movel %a0@(28),%d3                          
    rtems_filesystem_mount_table_entry_t *mt_entry,                   
    fat_file_fd_t                        *fat_fd                      
    )                                                                 
{                                                                     
    ssize_t          ret1 = 0, ret2 = 0;                              
    msdos_fs_info_t *fs_info = mt_entry->fs_info;                     
   5737c:	2469 0008      	moveal %a1@(8),%a2                          
    uint32_t         new_cln = fat_fd->cln;                           
    uint16_t         le_cl_low = 0;                                   
    uint16_t         le_cl_hi = 0;                                    
   57380:	3d40 fffe      	movew %d0,%fp@(-2)                          
                                                                      
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
   57384:	2228 0020      	movel %a0@(32),%d1                          
fat_cluster_num_to_sector_num(                                        
    const fat_fs_info_t *fs_info,                                     
    uint32_t             cln                                          
    )                                                                 
{                                                                     
    if ( (cln == 0) && (fs_info->vol.type & (FAT_FAT12 | FAT_FAT16)) )
   57388:	6600 0096      	bnew 57420 <msdos_set_first_cluster_num+0xba>
   5738c:	7403           	moveq #3,%d2                                
   5738e:	102a 000e      	moveb %a2@(14),%d0                          
   57392:	c082           	andl %d2,%d0                                
   57394:	4a00           	tstb %d0                                    
   57396:	6700 0088      	beqw 57420 <msdos_set_first_cluster_num+0xba>
        return fs_info->vol.rdir_loc;                                 
   5739a:	222a 001e      	movel %a2@(30),%d1                          
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   5739e:	4282           	clrl %d2                                    
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   573a0:	4284           	clrl %d4                                    
   573a2:	182a 0002      	moveb %a2@(2),%d4                           
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
                                                                      
    le_cl_low = CT_LE_W((uint16_t  )(new_cln & 0x0000FFFF));          
    ret1 = fat_sector_write(&fs_info->fat, sec,                       
   573a6:	47f9 0005 2a5a 	lea 52a5a <fat_sector_write>,%a3            
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   573ac:	3412           	movew %a2@,%d2                              
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   573ae:	2028 0024      	movel %a0@(36),%d0                          
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   573b2:	5382           	subql #1,%d2                                
                                                                      
    le_cl_low = CT_LE_W((uint16_t  )(new_cln & 0x0000FFFF));          
    ret1 = fat_sector_write(&fs_info->fat, sec,                       
   573b4:	486e fffc      	pea %fp@(-4)                                
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   573b8:	2a00           	movel %d0,%d5                               
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
                                                                      
    le_cl_low = CT_LE_W((uint16_t  )(new_cln & 0x0000FFFF));          
    ret1 = fat_sector_write(&fs_info->fat, sec,                       
   573ba:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
    /*                                                                
     * calculate input for fat_sector_write: convert (cluster num, offset) to
     * (sector num, new offset)                                       
     */                                                               
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
   573be:	e8ad           	lsrl %d4,%d5                                
   573c0:	da81           	addl %d1,%d5                                
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
   573c2:	c480           	andl %d0,%d2                                
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return rc;                                                        
}                                                                     
   573c4:	2003           	movel %d3,%d0                               
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
                                                                      
    le_cl_low = CT_LE_W((uint16_t  )(new_cln & 0x0000FFFF));          
    ret1 = fat_sector_write(&fs_info->fat, sec,                       
   573c6:	2042           	moveal %d2,%a0                              
   573c8:	4868 001a      	pea %a0@(26)                                
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return rc;                                                        
}                                                                     
   573cc:	0280 0000 ffff 	andil #65535,%d0                            
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
                                                                      
    le_cl_low = CT_LE_W((uint16_t  )(new_cln & 0x0000FFFF));          
    ret1 = fat_sector_write(&fs_info->fat, sec,                       
   573d2:	2f05           	movel %d5,%sp@-                             
   573d4:	2800           	movel %d0,%d4                               
   573d6:	e08c           	lsrl #8,%d4                                 
   573d8:	e188           	lsll #8,%d0                                 
   573da:	2f0a           	movel %a2,%sp@-                             
   573dc:	8880           	orl %d0,%d4                                 
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return rc;                                                        
}                                                                     
   573de:	4243           	clrw %d3                                    
   573e0:	4843           	swap %d3                                    
    sec = fat_cluster_num_to_sector_num(&fs_info->fat, fat_fd->dir_pos.sname.cln);
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
                                                                      
    le_cl_low = CT_LE_W((uint16_t  )(new_cln & 0x0000FFFF));          
   573e2:	3d44 fffc      	movew %d4,%fp@(-4)                          
    ret1 = fat_sector_write(&fs_info->fat, sec,                       
   573e6:	4e93           	jsr %a3@                                    
                            byte + MSDOS_FIRST_CLUSTER_LOW_OFFSET, 2, 
                            (char *)(&le_cl_low));                    
    le_cl_hi = CT_LE_W((uint16_t  )((new_cln & 0xFFFF0000) >> 16));   
   573e8:	204e           	moveal %fp,%a0                              
    sec += (fat_fd->dir_pos.sname.ofs >> fs_info->fat.vol.sec_log2);  
    /* byte from points to start of 32bytes structure */              
    byte = fat_fd->dir_pos.sname.ofs & (fs_info->fat.vol.bps - 1);    
                                                                      
    le_cl_low = CT_LE_W((uint16_t  )(new_cln & 0x0000FFFF));          
    ret1 = fat_sector_write(&fs_info->fat, sec,                       
   573ea:	2800           	movel %d0,%d4                               
   573ec:	2003           	movel %d3,%d0                               
   573ee:	e08b           	lsrl #8,%d3                                 
   573f0:	e188           	lsll #8,%d0                                 
   573f2:	8680           	orl %d0,%d3                                 
                            byte + MSDOS_FIRST_CLUSTER_LOW_OFFSET, 2, 
                            (char *)(&le_cl_low));                    
    le_cl_hi = CT_LE_W((uint16_t  )((new_cln & 0xFFFF0000) >> 16));   
   573f4:	3103           	movew %d3,%a0@-                             
    ret2 = fat_sector_write(&fs_info->fat, sec,                       
   573f6:	2f08           	movel %a0,%sp@-                             
   573f8:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   573fc:	2042           	moveal %d2,%a0                              
   573fe:	4868 0014      	pea %a0@(20)                                
   57402:	2f05           	movel %d5,%sp@-                             
   57404:	2f0a           	movel %a2,%sp@-                             
   57406:	4e93           	jsr %a3@                                    
                            byte + MSDOS_FIRST_CLUSTER_HI_OFFSET, 2,  
                            (char *)(&le_cl_hi));                     
    if ( (ret1 < 0) || (ret2 < 0) )                                   
   57408:	4fef 0028      	lea %sp@(40),%sp                            
   5740c:	4a84           	tstl %d4                                    
   5740e:	6d22           	blts 57432 <msdos_set_first_cluster_num+0xcc><== NEVER TAKEN
   57410:	4a80           	tstl %d0                                    
   57412:	6d1e           	blts 57432 <msdos_set_first_cluster_num+0xcc><== NEVER TAKEN
        return -1;                                                    
                                                                      
    return RC_OK;                                                     
   57414:	4280           	clrl %d0                                    
}                                                                     
   57416:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            
   5741c:	4e5e           	unlk %fp                                    
   5741e:	4e75           	rts                                         
                                                                      
    return (((cln - FAT_RSRVD_CLN) << fs_info->vol.spc_log2) +        
   57420:	4280           	clrl %d0                                    <== NOT EXECUTED
   57422:	102a 0005      	moveb %a2@(5),%d0                           <== NOT EXECUTED
   57426:	5581           	subql #2,%d1                                <== NOT EXECUTED
   57428:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
   5742a:	d2aa 0030      	addl %a2@(48),%d1                           <== NOT EXECUTED
   5742e:	6000 ff6e      	braw 5739e <msdos_set_first_cluster_num+0x38><== NOT EXECUTED
    le_cl_hi = CT_LE_W((uint16_t  )((new_cln & 0xFFFF0000) >> 16));   
    ret2 = fat_sector_write(&fs_info->fat, sec,                       
                            byte + MSDOS_FIRST_CLUSTER_HI_OFFSET, 2,  
                            (char *)(&le_cl_hi));                     
    if ( (ret1 < 0) || (ret2 < 0) )                                   
        return -1;                                                    
   57432:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
    return RC_OK;                                                     
}                                                                     
   57434:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   5743a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d172 <msdos_set_sectors_per_cluster_from_request.isra.1>: return fattype; } static int msdos_set_sectors_per_cluster_from_request(
   4d172:	4e56 fff4      	linkw %fp,#-12                              
   4d176:	206e 0008      	moveal %fp@(8),%a0                          
   4d17a:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   4d17e:	246e 000c      	moveal %fp@(12),%a2                         
   4d182:	226e 0010      	moveal %fp@(16),%a1                         
  msdos_format_param_t               *fmt_params )                    
{                                                                     
  int      ret_val = -1;                                              
  uint32_t onebit;                                                    
                                                                      
  if ( rqdata != NULL && rqdata->sectors_per_cluster > 0 ) {          
   4d186:	4a88           	tstl %a0                                    
   4d188:	6732           	beqs 4d1bc <msdos_set_sectors_per_cluster_from_request.isra.1+0x4a><== NEVER TAKEN
   4d18a:	2068 0008      	moveal %a0@(8),%a0                          
   4d18e:	4a88           	tstl %a0                                    
   4d190:	672a           	beqs 4d1bc <msdos_set_sectors_per_cluster_from_request.isra.1+0x4a>
    fmt_params->sectors_per_cluster = rqdata->sectors_per_cluster;    
   4d192:	2288           	movel %a0,%a1@                              
                                                                      
  return fattype;                                                     
}                                                                     
                                                                      
static int                                                            
msdos_set_sectors_per_cluster_from_request(                           
   4d194:	7208           	moveq #8,%d1                                
   4d196:	203c 0000 0080 	movel #128,%d0                              
   * must be power of 2                                               
   * must be smaller than or equal to 128                             
   * sectors_per_cluster*bytes_per_sector must not be bigger than 32K 
   */                                                                 
  for ( onebit = 128; onebit >= 1; onebit = onebit >> 1 ) {           
    if ( fmt_params->sectors_per_cluster >= onebit ) {                
   4d19c:	b088           	cmpl %a0,%d0                                
   4d19e:	6228           	bhis 4d1c8 <msdos_set_sectors_per_cluster_from_request.isra.1+0x56>
      fmt_params->sectors_per_cluster = onebit;                       
   4d1a0:	2280           	movel %d0,%a1@                              
      if (   fmt_params->sectors_per_cluster                          
          <= 32768L / fmt_params->bytes_per_sector ) {                
   4d1a2:	243c 0000 8000 	movel #32768,%d2                            
   4d1a8:	4c52 2002      	remul %a2@,%d2,%d2                          
   * sectors_per_cluster*bytes_per_sector must not be bigger than 32K 
   */                                                                 
  for ( onebit = 128; onebit >= 1; onebit = onebit >> 1 ) {           
    if ( fmt_params->sectors_per_cluster >= onebit ) {                
      fmt_params->sectors_per_cluster = onebit;                       
      if (   fmt_params->sectors_per_cluster                          
   4d1ac:	b082           	cmpl %d2,%d0                                
   4d1ae:	6218           	bhis 4d1c8 <msdos_set_sectors_per_cluster_from_request.isra.1+0x56><== NEVER TAKEN
          <= 32768L / fmt_params->bytes_per_sector ) {                
        /* value is small enough so this value is ok */               
        onebit = 1;                                                   
        ret_val = 0;                                                  
   4d1b0:	4280           	clrl %d0                                    
  if (ret_val != 0) {                                                 
    errno = EINVAL;                                                   
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4d1b2:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   4d1b8:	4e5e           	unlk %fp                                    
   4d1ba:	4e75           	rts                                         
   4d1bc:	2051           	moveal %a1@,%a0                             
                                                                      
  return fattype;                                                     
}                                                                     
                                                                      
static int                                                            
msdos_set_sectors_per_cluster_from_request(                           
   4d1be:	7208           	moveq #8,%d1                                
   4d1c0:	203c 0000 0080 	movel #128,%d0                              
   4d1c6:	60d4           	bras 4d19c <msdos_set_sectors_per_cluster_from_request.isra.1+0x2a>
   * check sectors per cluster.                                       
   * must be power of 2                                               
   * must be smaller than or equal to 128                             
   * sectors_per_cluster*bytes_per_sector must not be bigger than 32K 
   */                                                                 
  for ( onebit = 128; onebit >= 1; onebit = onebit >> 1 ) {           
   4d1c8:	e288           	lsrl #1,%d0                                 
   4d1ca:	5381           	subql #1,%d1                                
   4d1cc:	6704           	beqs 4d1d2 <msdos_set_sectors_per_cluster_from_request.isra.1+0x60><== NEVER TAKEN
   4d1ce:	2051           	moveal %a1@,%a0                             
   4d1d0:	60ca           	bras 4d19c <msdos_set_sectors_per_cluster_from_request.isra.1+0x2a>
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if (ret_val != 0) {                                                 
    errno = EINVAL;                                                   
   4d1d2:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4d1d8:	7416           	moveq #22,%d2                               <== NOT EXECUTED
   4d1da:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4d1dc:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4d1de:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return ret_val;                                                     
}                                                                     
   4d1e0:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   4d1e6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00056ff8 <msdos_shut_down>: * temp_mt_entry - mount table entry * */ void msdos_shut_down(rtems_filesystem_mount_table_entry_t *temp_mt_entry) {
   56ff8:	4e56 0000      	linkw %fp,#0                                
   56ffc:	2f0b           	movel %a3,%sp@-                             
   56ffe:	266e 0008      	moveal %fp@(8),%a3                          
    msdos_fs_info_t *fs_info = temp_mt_entry->fs_info;                
    fat_file_fd_t   *fat_fd = temp_mt_entry->mt_fs_root->location.node_access;
   57002:	206b 0024      	moveal %a3@(36),%a0                         
 *     temp_mt_entry - mount table entry                              
 *                                                                    
 */                                                                   
void                                                                  
msdos_shut_down(rtems_filesystem_mount_table_entry_t *temp_mt_entry)  
{                                                                     
   57006:	2f0a           	movel %a2,%sp@-                             
    msdos_fs_info_t *fs_info = temp_mt_entry->fs_info;                
    fat_file_fd_t   *fat_fd = temp_mt_entry->mt_fs_root->location.node_access;
                                                                      
    /* close fat-file which correspondes to root directory */         
    fat_file_close(&fs_info->fat, fat_fd);                            
   57008:	2f28 0008      	movel %a0@(8),%sp@-                         
 *                                                                    
 */                                                                   
void                                                                  
msdos_shut_down(rtems_filesystem_mount_table_entry_t *temp_mt_entry)  
{                                                                     
    msdos_fs_info_t *fs_info = temp_mt_entry->fs_info;                
   5700c:	246b 0008      	moveal %a3@(8),%a2                          
    fat_file_fd_t   *fat_fd = temp_mt_entry->mt_fs_root->location.node_access;
                                                                      
    /* close fat-file which correspondes to root directory */         
    fat_file_close(&fs_info->fat, fat_fd);                            
   57010:	2f0a           	movel %a2,%sp@-                             
   57012:	4eb9 0005 1f16 	jsr 51f16 <fat_file_close>                  
                                                                      
    fat_shutdown_drive(&fs_info->fat);                                
   57018:	2f0a           	movel %a2,%sp@-                             
   5701a:	4eb9 0005 3810 	jsr 53810 <fat_shutdown_drive>              
                                                                      
    rtems_semaphore_delete(fs_info->vol_sema);                        
   57020:	2f2a 0090      	movel %a2@(144),%sp@-                       
   57024:	4eb9 0004 9444 	jsr 49444 <rtems_semaphore_delete>          
    free(fs_info->cl_buf);                                            
   5702a:	2f2a 0094      	movel %a2@(148),%sp@-                       
   5702e:	4eb9 0004 4bec 	jsr 44bec <free>                            
    free(temp_mt_entry->fs_info);                                     
   57034:	2d6b 0008 0008 	movel %a3@(8),%fp@(8)                       
   5703a:	4fef 0014      	lea %sp@(20),%sp                            
}                                                                     
   5703e:	246e fff8      	moveal %fp@(-8),%a2                         
   57042:	266e fffc      	moveal %fp@(-4),%a3                         
   57046:	4e5e           	unlk %fp                                    
                                                                      
    fat_shutdown_drive(&fs_info->fat);                                
                                                                      
    rtems_semaphore_delete(fs_info->vol_sema);                        
    free(fs_info->cl_buf);                                            
    free(temp_mt_entry->fs_info);                                     
   57048:	4ef9 0004 4bec 	jmp 44bec <free>                            
	...                                                                  
                                                                      

000588f0 <msdos_sync>: return MSDOS_NAME_NOT_FOUND_ERR; } int msdos_sync(rtems_libio_t *iop) {
   588f0:	4e56 0000      	linkw %fp,#0                                
   588f4:	206e 0008      	moveal %fp@(8),%a0                          
   588f8:	2f0a           	movel %a2,%sp@-                             
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   588fa:	2068 0024      	moveal %a0@(36),%a0                         
    return MSDOS_NAME_NOT_FOUND_ERR;                                  
}                                                                     
                                                                      
int                                                                   
msdos_sync(rtems_libio_t *iop)                                        
{                                                                     
   588fe:	2f02           	movel %d2,%sp@-                             
    int                rc = RC_OK;                                    
    rtems_status_code  sc = RTEMS_SUCCESSFUL;                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
   58900:	2468 0008      	moveal %a0@(8),%a2                          
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
   58904:	42a7           	clrl %sp@-                                  
   58906:	42a7           	clrl %sp@-                                  
   58908:	2f2a 0090      	movel %a2@(144),%sp@-                       
   5890c:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   58912:	4fef 000c      	lea %sp@(12),%sp                            
   58916:	4a80           	tstl %d0                                    
   58918:	6624           	bnes 5893e <msdos_sync+0x4e>                <== NEVER TAKEN
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
   5891a:	2f0a           	movel %a2,%sp@-                             
   5891c:	4eb9 0005 36d4 	jsr 536d4 <fat_sync>                        
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   58922:	2f2a 0090      	movel %a2@(144),%sp@-                       
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
   58926:	2400           	movel %d0,%d2                               
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
   58928:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         
    return rc;                                                        
}                                                                     
   5892e:	246e fffc      	moveal %fp@(-4),%a2                         
   58932:	2002           	movel %d2,%d0                               
        rtems_set_errno_and_return_minus_one(EIO);                    
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return rc;                                                        
   58934:	508f           	addql #8,%sp                                
}                                                                     
   58936:	242e fff8      	movel %fp@(-8),%d2                          
   5893a:	4e5e           	unlk %fp                                    
   5893c:	4e75           	rts                                         
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   5893e:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   58944:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   58946:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   58948:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return rc;                                                        
}                                                                     
   5894a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5894c:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   58950:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   58954:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    msdos_fs_info_t   *fs_info = iop->pathinfo.mt_entry->fs_info;     
                                                                      
    sc = rtems_semaphore_obtain(fs_info->vol_sema, RTEMS_WAIT,        
                                MSDOS_VOLUME_SEMAPHORE_TIMEOUT);      
    if (sc != RTEMS_SUCCESSFUL)                                       
        rtems_set_errno_and_return_minus_one(EIO);                    
   58956:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
                                                                      
    rc = fat_sync(&fs_info->fat);                                     
                                                                      
    rtems_semaphore_release(fs_info->vol_sema);                       
    return rc;                                                        
}                                                                     
	...                                                                  
                                                                      

0004e0d2 <msdos_unlock>: rtems_fatal_error_occurred(0xdeadbeef); } } void msdos_unlock(const rtems_filesystem_mount_table_entry_t *mt_entry) {
   4e0d2:	4e56 0000      	linkw %fp,#0                                
   4e0d6:	206e 0008      	moveal %fp@(8),%a0                          
  msdos_fs_info_t *fs_info = mt_entry->fs_info;                       
  rtems_status_code sc = rtems_semaphore_release(fs_info->vol_sema);  
   4e0da:	2068 0008      	moveal %a0@(8),%a0                          
   4e0de:	2f28 0090      	movel %a0@(144),%sp@-                       
   4e0e2:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4e0e8:	588f           	addql #4,%sp                                
   4e0ea:	4a80           	tstl %d0                                    
   4e0ec:	6604           	bnes 4e0f2 <msdos_unlock+0x20>              <== NEVER TAKEN
    rtems_fatal_error_occurred(0xdeadbeef);                           
  }                                                                   
}                                                                     
   4e0ee:	4e5e           	unlk %fp                                    
   4e0f0:	4e75           	rts                                         
void msdos_unlock(const rtems_filesystem_mount_table_entry_t *mt_entry)
{                                                                     
  msdos_fs_info_t *fs_info = mt_entry->fs_info;                       
  rtems_status_code sc = rtems_semaphore_release(fs_info->vol_sema);  
  if (sc != RTEMS_SUCCESSFUL) {                                       
    rtems_fatal_error_occurred(0xdeadbeef);                           
   4e0f2:	2f3c dead beef 	movel #-559038737,%sp@-                     <== NOT EXECUTED
   4e0f8:	4eb9 0004 9d54 	jsr 49d54 <rtems_fatal_error_occurred>      <== NOT EXECUTED
                                                                      

00043c24 <newlib_delete_hook>: void newlib_delete_hook( rtems_tcb *current_task, rtems_tcb *deleted_task ) {
   43c24:	4e56 fff4      	linkw %fp,#-12                              
   43c28:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   43c2c:	262e 0008      	movel %fp@(8),%d3                           
   43c30:	246e 000c      	moveal %fp@(12),%a2                         
                                                                      
  /*                                                                  
   * The reentrancy structure was allocated by newlib using malloc()  
   */                                                                 
                                                                      
  if (current_task == deleted_task) {                                 
   43c34:	b5c3           	cmpal %d3,%a2                               
   43c36:	674c           	beqs 43c84 <newlib_delete_hook+0x60>        
    ptr = _REENT;                                                     
  } else {                                                            
    ptr = deleted_task->libc_reent;                                   
   43c38:	242a 00f4      	movel %a2@(244),%d2                         
  }                                                                   
                                                                      
  if (ptr && ptr != _global_impure_ptr) {                             
   43c3c:	4a82           	tstl %d2                                    
   43c3e:	6722           	beqs 43c62 <newlib_delete_hook+0x3e>        <== NEVER TAKEN
   43c40:	b4b9 0005 d9d2 	cmpl 5d9d2 <_global_impure_ptr>,%d2         
   43c46:	671a           	beqs 43c62 <newlib_delete_hook+0x3e>        
    _reclaim_reent(ptr);                                              
*/                                                                    
    /*                                                                
     *  Just in case there are some buffers lying around.             
     */                                                               
    _fwalk(ptr, newlib_free_buffers);                                 
   43c48:	4879 0004 3a08 	pea 43a08 <newlib_free_buffers>             
   43c4e:	2f02           	movel %d2,%sp@-                             
   43c50:	4eb9 0004 e894 	jsr 4e894 <_fwalk>                          
#if REENT_MALLOCED                                                    
    free(ptr);                                                        
#else                                                                 
    _Workspace_Free(ptr);                                             
   43c56:	2f02           	movel %d2,%sp@-                             
   43c58:	4eb9 0004 ac10 	jsr 4ac10 <_Workspace_Free>                 
   43c5e:	4fef 000c      	lea %sp@(12),%sp                            
#endif                                                                
  }                                                                   
                                                                      
  deleted_task->libc_reent = NULL;                                    
   43c62:	42aa 00f4      	clrl %a2@(244)                              
                                                                      
  /*                                                                  
   * Require the switch back to another task to install its own       
   */                                                                 
                                                                      
  if ( current_task == deleted_task ) {                               
   43c66:	b5c3           	cmpal %d3,%a2                               
   43c68:	670a           	beqs 43c74 <newlib_delete_hook+0x50>        
    _REENT = 0;                                                       
  }                                                                   
}                                                                     
   43c6a:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   43c70:	4e5e           	unlk %fp                                    
   43c72:	4e75           	rts                                         
  /*                                                                  
   * Require the switch back to another task to install its own       
   */                                                                 
                                                                      
  if ( current_task == deleted_task ) {                               
    _REENT = 0;                                                       
   43c74:	42b9 0005 e3d0 	clrl 5e3d0 <_impure_ptr>                    
  }                                                                   
}                                                                     
   43c7a:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   43c80:	4e5e           	unlk %fp                                    
   43c82:	4e75           	rts                                         
  /*                                                                  
   * The reentrancy structure was allocated by newlib using malloc()  
   */                                                                 
                                                                      
  if (current_task == deleted_task) {                                 
    ptr = _REENT;                                                     
   43c84:	2439 0005 e3d0 	movel 5e3d0 <_impure_ptr>,%d2               
   43c8a:	60b0           	bras 43c3c <newlib_delete_hook+0x18>        
                                                                      

00043a08 <newlib_free_buffers>: * task. */ int newlib_free_buffers( FILE *fp ) {
   43a08:	4e56 0000      	linkw %fp,#0                                
   43a0c:	2f0a           	movel %a2,%sp@-                             
   43a0e:	246e 0008      	moveal %fp@(8),%a2                          
  switch ( fileno(fp) ) {                                             
   43a12:	2f0a           	movel %a2,%sp@-                             
   43a14:	4eb9 0004 e4f8 	jsr 4e4f8 <fileno>                          
   43a1a:	588f           	addql #4,%sp                                
   43a1c:	7202           	moveq #2,%d1                                
   43a1e:	b280           	cmpl %d0,%d1                                
   43a20:	6414           	bccs 43a36 <newlib_free_buffers+0x2e>       <== ALWAYS TAKEN
        fp->_flags &= ~__SMBF;                                        
        fp->_bf._base = fp->_p = (unsigned char *) NULL;              
      }                                                               
      break;                                                          
    default:                                                          
     fclose(fp);                                                      
   43a22:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   43a24:	4eb9 0004 e280 	jsr 4e280 <fclose>                          <== NOT EXECUTED
   43a2a:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
  return 0;                                                           
}                                                                     
   43a2c:	246e fffc      	moveal %fp@(-4),%a2                         
   43a30:	4280           	clrl %d0                                    
   43a32:	4e5e           	unlk %fp                                    
   43a34:	4e75           	rts                                         
{                                                                     
  switch ( fileno(fp) ) {                                             
    case 0:                                                           
    case 1:                                                           
    case 2:                                                           
      if (fp->_flags & __SMBF) {                                      
   43a36:	302a 000c      	movew %a2@(12),%d0                          
   43a3a:	0280 0000 0080 	andil #128,%d0                              
   43a40:	4a40           	tstw %d0                                    
   43a42:	67e8           	beqs 43a2c <newlib_free_buffers+0x24>       <== ALWAYS TAKEN
        free( fp->_bf._base );                                        
   43a44:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   43a48:	4eb9 0004 30cc 	jsr 430cc <free>                            <== NOT EXECUTED
        fp->_flags &= ~__SMBF;                                        
        fp->_bf._base = fp->_p = (unsigned char *) NULL;              
   43a4e:	588f           	addql #4,%sp                                <== NOT EXECUTED
    case 0:                                                           
    case 1:                                                           
    case 2:                                                           
      if (fp->_flags & __SMBF) {                                      
        free( fp->_bf._base );                                        
        fp->_flags &= ~__SMBF;                                        
   43a50:	302a 000c      	movew %a2@(12),%d0                          <== NOT EXECUTED
        fp->_bf._base = fp->_p = (unsigned char *) NULL;              
   43a54:	4292           	clrl %a2@                                   <== NOT EXECUTED
    case 0:                                                           
    case 1:                                                           
    case 2:                                                           
      if (fp->_flags & __SMBF) {                                      
        free( fp->_bf._base );                                        
        fp->_flags &= ~__SMBF;                                        
   43a56:	0880 0007      	bclr #7,%d0                                 <== NOT EXECUTED
        fp->_bf._base = fp->_p = (unsigned char *) NULL;              
   43a5a:	42aa 0010      	clrl %a2@(16)                               <== NOT EXECUTED
    case 0:                                                           
    case 1:                                                           
    case 2:                                                           
      if (fp->_flags & __SMBF) {                                      
        free( fp->_bf._base );                                        
        fp->_flags &= ~__SMBF;                                        
   43a5e:	3540 000c      	movew %d0,%a2@(12)                          <== NOT EXECUTED
      break;                                                          
    default:                                                          
     fclose(fp);                                                      
  }                                                                   
  return 0;                                                           
}                                                                     
   43a62:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   43a66:	4280           	clrl %d0                                    <== NOT EXECUTED
   43a68:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000415fa <notify>: } void notify (s) char *s; {
   415fa:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
    printf ("%s test appears to be inconsistent...\n", s);            
   415fe:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   41602:	4879 0006 ca72 	pea 6ca72 <Configuration_Initial_Extensions+0x33e><== NOT EXECUTED
   41608:	4eb9 0005 f970 	jsr 5f970 <printf>                          <== NOT EXECUTED
    printf ("   PLEASE NOTIFY KARPINKSI!\n");                         
   4160e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   41610:	203c 0006 ca99 	movel #445081,%d0                           <== NOT EXECUTED
   41616:	2d40 0008      	movel %d0,%fp@(8)                           <== NOT EXECUTED
}                                                                     
   4161a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
void                                                                  
notify (s)                                                            
     char   *s;                                                       
{                                                                     
    printf ("%s test appears to be inconsistent...\n", s);            
    printf ("   PLEASE NOTIFY KARPINKSI!\n");                         
   4161c:	4ef9 0005 fa70 	jmp 5fa70 <puts>                            <== NOT EXECUTED
                                                                      

00046956 <null_op_fsmount_me>: rtems_filesystem_mount_table_entry_t *mt_entry, const void *data ) { return -1; }
   46956:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
static int null_op_fsmount_me(                                        
  rtems_filesystem_mount_table_entry_t *mt_entry,                     
  const void *data                                                    
)                                                                     
{                                                                     
   46958:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return -1;                                                          
}                                                                     
   4695c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004696a <null_op_fsunmount_me>: static void null_op_fsunmount_me( rtems_filesystem_mount_table_entry_t *mt_entry ) {
   4696a:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  /* Do nothing */                                                    
}                                                                     
   4696e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00046924 <null_op_link>: const char *name, size_t namelen ) { return -1; }
   46924:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  const rtems_filesystem_location_info_t *parentloc,                  
  const rtems_filesystem_location_info_t *targetloc,                  
  const char *name,                                                   
  size_t namelen                                                      
)                                                                     
{                                                                     
   46926:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return -1;                                                          
}                                                                     
   4692a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004694c <null_op_mount>: static int null_op_mount( rtems_filesystem_mount_table_entry_t *mt_entry ) { return -1; }
   4694c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
}                                                                     
                                                                      
static int null_op_mount(                                             
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
   4694e:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return -1;                                                          
}                                                                     
   46952:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00046986 <null_op_readlink>: char *buf, size_t bufsize ) { return -1; }
   46986:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
static ssize_t null_op_readlink(                                      
  const rtems_filesystem_location_info_t *loc,                        
  char *buf,                                                          
  size_t bufsize                                                      
)                                                                     
{                                                                     
   46988:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return -1;                                                          
}                                                                     
   4698c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00046990 <null_op_rename>: const char *name, size_t namelen ) { return -1; }
   46990:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  const rtems_filesystem_location_info_t *oldloc,                     
  const rtems_filesystem_location_info_t *newparentloc,               
  const char *name,                                                   
  size_t namelen                                                      
)                                                                     
{                                                                     
   46992:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return -1;                                                          
}                                                                     
   46996:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004691a <null_op_rmnod>: const rtems_filesystem_location_info_t *parentloc, const rtems_filesystem_location_info_t *loc ) { return -1; }
   4691a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
static int null_op_rmnod(                                             
  const rtems_filesystem_location_info_t *parentloc,                  
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
   4691c:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return -1;                                                          
}                                                                     
   46920:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043c8c <open_dev_console>: /* * This is a replaceable stub which opens the console, if present. */ void open_dev_console(void) {
   43c8c:	4e56 0000      	linkw %fp,#0                                
   43c90:	2f0a           	movel %a2,%sp@-                             
  int      stderr_fd;                                                 
                                                                      
  /*                                                                  
   * Attempt to open /dev/console.                                    
   */                                                                 
  if ((stdin_fd = open("/dev/console", O_RDONLY, 0)) == -1) {         
   43c92:	45f9 0004 3d00 	lea 43d00 <open>,%a2                        
   43c98:	42a7           	clrl %sp@-                                  
   43c9a:	42a7           	clrl %sp@-                                  
   43c9c:	4879 0005 cc6e 	pea 5cc6e <CSWTCH.89+0x100>                 
   43ca2:	4e92           	jsr %a2@                                    
   43ca4:	4fef 000c      	lea %sp@(12),%sp                            
   43ca8:	72ff           	moveq #-1,%d1                               
   43caa:	b280           	cmpl %d0,%d1                                
   43cac:	6730           	beqs 43cde <open_dev_console+0x52>          <== NEVER TAKEN
                                                                      
  /*                                                                  
   *  But if we find /dev/console once, we better find it twice more  
   *  or something is REALLY wrong.                                   
   */                                                                 
  if ((stdout_fd = open("/dev/console", O_WRONLY, 0)) == -1)          
   43cae:	42a7           	clrl %sp@-                                  
   43cb0:	4878 0001      	pea 1 <ADD>                                 
   43cb4:	4879 0005 cc6e 	pea 5cc6e <CSWTCH.89+0x100>                 
   43cba:	4e92           	jsr %a2@                                    
   43cbc:	4fef 000c      	lea %sp@(12),%sp                            
   43cc0:	72ff           	moveq #-1,%d1                               
   43cc2:	b280           	cmpl %d0,%d1                                
   43cc4:	672c           	beqs 43cf2 <open_dev_console+0x66>          
    rtems_fatal_error_occurred( 0x55544431 );  /* error STD1 */       
                                                                      
  if ((stderr_fd = open("/dev/console", O_WRONLY, 0)) == -1)          
   43cc6:	42a7           	clrl %sp@-                                  
   43cc8:	4878 0001      	pea 1 <ADD>                                 
   43ccc:	4879 0005 cc6e 	pea 5cc6e <CSWTCH.89+0x100>                 
   43cd2:	4e92           	jsr %a2@                                    
   43cd4:	4fef 000c      	lea %sp@(12),%sp                            
   43cd8:	72ff           	moveq #-1,%d1                               
   43cda:	b280           	cmpl %d0,%d1                                
   43cdc:	6708           	beqs 43ce6 <open_dev_console+0x5a>          
    rtems_fatal_error_occurred( 0x55544432 );  /* error STD2 */       
}                                                                     
   43cde:	246e fffc      	moveal %fp@(-4),%a2                         
   43ce2:	4e5e           	unlk %fp                                    
   43ce4:	4e75           	rts                                         
   */                                                                 
  if ((stdout_fd = open("/dev/console", O_WRONLY, 0)) == -1)          
    rtems_fatal_error_occurred( 0x55544431 );  /* error STD1 */       
                                                                      
  if ((stderr_fd = open("/dev/console", O_WRONLY, 0)) == -1)          
    rtems_fatal_error_occurred( 0x55544432 );  /* error STD2 */       
   43ce6:	2f3c 5554 4432 	movel #1431585842,%sp@-                     
   43cec:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      
  /*                                                                  
   *  But if we find /dev/console once, we better find it twice more  
   *  or something is REALLY wrong.                                   
   */                                                                 
  if ((stdout_fd = open("/dev/console", O_WRONLY, 0)) == -1)          
    rtems_fatal_error_occurred( 0x55544431 );  /* error STD1 */       
   43cf2:	2f3c 5554 4431 	movel #1431585841,%sp@-                     
   43cf8:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      
	...                                                                  
                                                                      

00045a58 <oproc>: /* * Handle output processing */ static void oproc (unsigned char c, struct rtems_termios_tty *tty) {
   45a58:	4e56 fff0      	linkw %fp,#-16                              
   45a5c:	202e 0008      	movel %fp@(8),%d0                           
   45a60:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   45a64:	246e 000c      	moveal %fp@(12),%a2                         
  int  i;                                                             
                                                                      
  if (tty->termios.c_oflag & OPOST) {                                 
   45a68:	222a 0034      	movel %a2@(52),%d1                          
/*                                                                    
 * Handle output processing                                           
 */                                                                   
static void                                                           
oproc (unsigned char c, struct rtems_termios_tty *tty)                
{                                                                     
   45a6c:	1d40 fffe      	moveb %d0,%fp@(-2)                          
  int  i;                                                             
                                                                      
  if (tty->termios.c_oflag & OPOST) {                                 
   45a70:	0801 0000      	btst #0,%d1                                 
   45a74:	675a           	beqs 45ad0 <oproc+0x78>                     <== NEVER TAKEN
    switch (c) {                                                      
   45a76:	7409           	moveq #9,%d2                                
   45a78:	0280 0000 00ff 	andil #255,%d0                              
   45a7e:	b480           	cmpl %d0,%d2                                
   45a80:	6700 0112      	beqw 45b94 <oproc+0x13c>                    
   45a84:	646a           	bccs 45af0 <oproc+0x98>                     <== NEVER TAKEN
   45a86:	740a           	moveq #10,%d2                               
   45a88:	b480           	cmpl %d0,%d2                                
   45a8a:	6700 0090      	beqw 45b1c <oproc+0xc4>                     
   45a8e:	143c 000d      	moveb #13,%d2                               
   45a92:	b480           	cmpl %d0,%d2                                
   45a94:	6700 00c2      	beqw 45b58 <oproc+0x100>                    
        tty->column--;                                                
      break;                                                          
                                                                      
    default:                                                          
      if (tty->termios.c_oflag & OLCUC)                               
        c = toupper(c);                                               
   45a98:	2079 0005 e3cc 	moveal 5e3cc <__ctype_ptr__>,%a0            
      if (tty->column > 0)                                            
        tty->column--;                                                
      break;                                                          
                                                                      
    default:                                                          
      if (tty->termios.c_oflag & OLCUC)                               
   45a9e:	0801 0001      	btst #1,%d1                                 
   45aa2:	671c           	beqs 45ac0 <oproc+0x68>                     <== ALWAYS TAKEN
        c = toupper(c);                                               
   45aa4:	7403           	moveq #3,%d2                                <== NOT EXECUTED
   45aa6:	1230 0801      	moveb %a0@(00000001,%d0:l),%d1              <== NOT EXECUTED
   45aaa:	c282           	andl %d2,%d1                                <== NOT EXECUTED
   45aac:	143c 0002      	moveb #2,%d2                                <== NOT EXECUTED
   45ab0:	b481           	cmpl %d1,%d2                                <== NOT EXECUTED
   45ab2:	6700 011c      	beqw 45bd0 <oproc+0x178>                    <== NOT EXECUTED
   45ab6:	1d40 fffe      	moveb %d0,%fp@(-2)                          <== NOT EXECUTED
   45aba:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
      if (!iscntrl(c))                                                
   45ac0:	7220           	moveq #32,%d1                               
   45ac2:	1030 0801      	moveb %a0@(00000001,%d0:l),%d0              
   45ac6:	c081           	andl %d1,%d0                                
   45ac8:	4a00           	tstb %d0                                    
   45aca:	6604           	bnes 45ad0 <oproc+0x78>                     <== NEVER TAKEN
        tty->column++;                                                
   45acc:	52aa 0028      	addql #1,%a2@(40)                           
   45ad0:	47f9 0004 5954 	lea 45954 <rtems_termios_puts>,%a3          
      break;                                                          
    }                                                                 
  }                                                                   
  rtems_termios_puts (&c, 1, tty);                                    
   45ad6:	2f0a           	movel %a2,%sp@-                             
   45ad8:	4878 0001      	pea 1 <ADD>                                 
   45adc:	486e fffe      	pea %fp@(-2)                                
   45ae0:	4e93           	jsr %a3@                                    
   45ae2:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   45ae6:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   45aec:	4e5e           	unlk %fp                                    
   45aee:	4e75           	rts                                         
oproc (unsigned char c, struct rtems_termios_tty *tty)                
{                                                                     
  int  i;                                                             
                                                                      
  if (tty->termios.c_oflag & OPOST) {                                 
    switch (c) {                                                      
   45af0:	143c 0008      	moveb #8,%d2                                <== NOT EXECUTED
   45af4:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   45af6:	66a0           	bnes 45a98 <oproc+0x40>                     <== NOT EXECUTED
      }                                                               
      tty->column += i;                                               
      break;                                                          
                                                                      
    case '\b':                                                        
      if (tty->column > 0)                                            
   45af8:	202a 0028      	movel %a2@(40),%d0                          <== NOT EXECUTED
   45afc:	6fd2           	bles 45ad0 <oproc+0x78>                     <== NOT EXECUTED
        tty->column--;                                                
   45afe:	5380           	subql #1,%d0                                <== NOT EXECUTED
   45b00:	47f9 0004 5954 	lea 45954 <rtems_termios_puts>,%a3          <== NOT EXECUTED
   45b06:	2540 0028      	movel %d0,%a2@(40)                          <== NOT EXECUTED
      if (!iscntrl(c))                                                
        tty->column++;                                                
      break;                                                          
    }                                                                 
  }                                                                   
  rtems_termios_puts (&c, 1, tty);                                    
   45b0a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   45b0c:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   45b10:	486e fffe      	pea %fp@(-2)                                <== NOT EXECUTED
   45b14:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   45b16:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   45b1a:	60ca           	bras 45ae6 <oproc+0x8e>                     <== NOT EXECUTED
  int  i;                                                             
                                                                      
  if (tty->termios.c_oflag & OPOST) {                                 
    switch (c) {                                                      
    case '\n':                                                        
      if (tty->termios.c_oflag & ONLRET)                              
   45b1c:	0801 0005      	btst #5,%d1                                 
   45b20:	6704           	beqs 45b26 <oproc+0xce>                     <== ALWAYS TAKEN
        tty->column = 0;                                              
   45b22:	42aa 0028      	clrl %a2@(40)                               <== NOT EXECUTED
   45b26:	47f9 0004 5954 	lea 45954 <rtems_termios_puts>,%a3          
      if (tty->termios.c_oflag & ONLCR) {                             
   45b2c:	44c1           	movew %d1,%ccr                              
   45b2e:	66a6           	bnes 45ad6 <oproc+0x7e>                     <== NEVER TAKEN
        rtems_termios_puts ("\r", 1, tty);                            
   45b30:	2f0a           	movel %a2,%sp@-                             
   45b32:	4878 0001      	pea 1 <ADD>                                 
   45b36:	4879 0005 d400 	pea 5d400 <rtems_termios_baud_table+0xfc>   
   45b3c:	4e93           	jsr %a3@                                    
        tty->column = 0;                                              
   45b3e:	4fef 000c      	lea %sp@(12),%sp                            
   45b42:	42aa 0028      	clrl %a2@(40)                               
      if (!iscntrl(c))                                                
        tty->column++;                                                
      break;                                                          
    }                                                                 
  }                                                                   
  rtems_termios_puts (&c, 1, tty);                                    
   45b46:	2f0a           	movel %a2,%sp@-                             
   45b48:	4878 0001      	pea 1 <ADD>                                 
   45b4c:	486e fffe      	pea %fp@(-2)                                
   45b50:	4e93           	jsr %a3@                                    
   45b52:	4fef 000c      	lea %sp@(12),%sp                            
   45b56:	608e           	bras 45ae6 <oproc+0x8e>                     
        tty->column = 0;                                              
      }                                                               
      break;                                                          
                                                                      
    case '\r':                                                        
      if ((tty->termios.c_oflag & ONOCR) && (tty->column == 0))       
   45b58:	0801 0004      	btst #4,%d1                                 <== NOT EXECUTED
   45b5c:	6706           	beqs 45b64 <oproc+0x10c>                    <== NOT EXECUTED
   45b5e:	4aaa 0028      	tstl %a2@(40)                               <== NOT EXECUTED
   45b62:	6782           	beqs 45ae6 <oproc+0x8e>                     <== NOT EXECUTED
        return;                                                       
      if (tty->termios.c_oflag & OCRNL) {                             
   45b64:	44c1           	movew %d1,%ccr                              <== NOT EXECUTED
   45b66:	6a0e           	bpls 45b76 <oproc+0x11e>                    <== NOT EXECUTED
        c = '\n';                                                     
   45b68:	700a           	moveq #10,%d0                               <== NOT EXECUTED
   45b6a:	1d40 fffe      	moveb %d0,%fp@(-2)                          <== NOT EXECUTED
        if (tty->termios.c_oflag & ONLRET)                            
   45b6e:	0801 0005      	btst #5,%d1                                 <== NOT EXECUTED
   45b72:	6700 ff5c      	beqw 45ad0 <oproc+0x78>                     <== NOT EXECUTED
          tty->column = 0;                                            
        break;                                                        
      }                                                               
      tty->column = 0;                                                
   45b76:	42aa 0028      	clrl %a2@(40)                               <== NOT EXECUTED
   45b7a:	47f9 0004 5954 	lea 45954 <rtems_termios_puts>,%a3          <== NOT EXECUTED
      if (!iscntrl(c))                                                
        tty->column++;                                                
      break;                                                          
    }                                                                 
  }                                                                   
  rtems_termios_puts (&c, 1, tty);                                    
   45b80:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   45b82:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   45b86:	486e fffe      	pea %fp@(-2)                                <== NOT EXECUTED
   45b8a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   45b8c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   45b90:	6000 ff54      	braw 45ae6 <oproc+0x8e>                     <== NOT EXECUTED
      }                                                               
      tty->column = 0;                                                
      break;                                                          
                                                                      
    case '\t':                                                        
      i = 8 - (tty->column & 7);                                      
   45b94:	202a 0028      	movel %a2@(40),%d0                          
   45b98:	7407           	moveq #7,%d2                                
   45b9a:	307c 0008      	moveaw #8,%a0                               
   45b9e:	c480           	andl %d0,%d2                                
      if ((tty->termios.c_oflag & TABDLY) == XTABS) {                 
   45ba0:	0281 0000 1800 	andil #6144,%d1                             
      }                                                               
      tty->column = 0;                                                
      break;                                                          
                                                                      
    case '\t':                                                        
      i = 8 - (tty->column & 7);                                      
   45ba6:	91c2           	subal %d2,%a0                               
      if ((tty->termios.c_oflag & TABDLY) == XTABS) {                 
   45ba8:	0c81 0000 1800 	cmpil #6144,%d1                             
   45bae:	6734           	beqs 45be4 <oproc+0x18c>                    <== ALWAYS TAKEN
        tty->column += i;                                             
        rtems_termios_puts ( "        ",  i, tty);                    
        return;                                                       
      }                                                               
      tty->column += i;                                               
   45bb0:	d088           	addl %a0,%d0                                <== NOT EXECUTED
   45bb2:	47f9 0004 5954 	lea 45954 <rtems_termios_puts>,%a3          <== NOT EXECUTED
   45bb8:	2540 0028      	movel %d0,%a2@(40)                          <== NOT EXECUTED
      if (!iscntrl(c))                                                
        tty->column++;                                                
      break;                                                          
    }                                                                 
  }                                                                   
  rtems_termios_puts (&c, 1, tty);                                    
   45bbc:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   45bbe:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   45bc2:	486e fffe      	pea %fp@(-2)                                <== NOT EXECUTED
   45bc6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   45bc8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   45bcc:	6000 ff18      	braw 45ae6 <oproc+0x8e>                     <== NOT EXECUTED
        tty->column--;                                                
      break;                                                          
                                                                      
    default:                                                          
      if (tty->termios.c_oflag & OLCUC)                               
        c = toupper(c);                                               
   45bd0:	0680 ffff ffe0 	addil #-32,%d0                              <== NOT EXECUTED
   45bd6:	1d40 fffe      	moveb %d0,%fp@(-2)                          <== NOT EXECUTED
   45bda:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   45be0:	6000 fede      	braw 45ac0 <oproc+0x68>                     <== NOT EXECUTED
                                                                      
    case '\t':                                                        
      i = 8 - (tty->column & 7);                                      
      if ((tty->termios.c_oflag & TABDLY) == XTABS) {                 
        tty->column += i;                                             
        rtems_termios_puts ( "        ",  i, tty);                    
   45be4:	2f0a           	movel %a2,%sp@-                             
      break;                                                          
                                                                      
    case '\t':                                                        
      i = 8 - (tty->column & 7);                                      
      if ((tty->termios.c_oflag & TABDLY) == XTABS) {                 
        tty->column += i;                                             
   45be6:	d088           	addl %a0,%d0                                
   45be8:	2540 0028      	movel %d0,%a2@(40)                          
        rtems_termios_puts ( "        ",  i, tty);                    
   45bec:	2f08           	movel %a0,%sp@-                             
   45bee:	4879 0005 d402 	pea 5d402 <rtems_termios_baud_table+0xfe>   
   45bf4:	4eb9 0004 5954 	jsr 45954 <rtems_termios_puts>              
        return;                                                       
   45bfa:	4fef 000c      	lea %sp@(12),%sp                            
        tty->column++;                                                
      break;                                                          
    }                                                                 
  }                                                                   
  rtems_termios_puts (&c, 1, tty);                                    
}                                                                     
   45bfe:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   45c04:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00044220 <partition_free>: * RETURNS: * N/A */ static void partition_free(rtems_part_desc_t *part_desc) {
   44220:	4e56 fff0      	linkw %fp,#-16                              
   44224:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
   44228:	246e 0008      	moveal %fp@(8),%a2                          
    int part_num;                                                     
                                                                      
    if (part_desc == NULL)                                            
   4422c:	4a8a           	tstl %a2                                    
   4422e:	674a           	beqs 4427a <partition_free+0x5a>            
 *      true if partition type is extended, false otherwise           
 */                                                                   
static bool                                                           
is_extended(uint8_t type)                                             
{                                                                     
    return ((type == EXTENDED_PARTITION) || (type == LINUX_EXTENDED));
   44230:	4280           	clrl %d0                                    
   44232:	102a 0001      	moveb %a2@(1),%d0                           
   44236:	7205           	moveq #5,%d1                                
   44238:	b280           	cmpl %d0,%d1                                
   4423a:	671a           	beqs 44256 <partition_free+0x36>            <== NEVER TAKEN
   4423c:	0c80 0000 0085 	cmpil #133,%d0                              
   44242:	6712           	beqs 44256 <partition_free+0x36>            <== NEVER TAKEN
        {                                                             
            partition_free(part_desc->sub_part[part_num]);            
        }                                                             
    }                                                                 
                                                                      
    free(part_desc);                                                  
   44244:	2d4a 0008      	movel %a2,%fp@(8)                           
}                                                                     
   44248:	4cee 1c04 fff0 	moveml %fp@(-16),%d2/%a2-%a4                
   4424e:	4e5e           	unlk %fp                                    
        {                                                             
            partition_free(part_desc->sub_part[part_num]);            
        }                                                             
    }                                                                 
                                                                      
    free(part_desc);                                                  
   44250:	4ef9 0004 5344 	jmp 45344 <free>                            
 *                                                                    
 * RETURNS:                                                           
 *      N/A                                                           
 */                                                                   
static void                                                           
partition_free(rtems_part_desc_t *part_desc)                          
   44256:	47ea 0018      	lea %a2@(24),%a3                            <== NOT EXECUTED
   4425a:	7404           	moveq #4,%d2                                <== NOT EXECUTED
   4425c:	49fa ffc2      	lea %pc@(44220 <partition_free>),%a4        <== NOT EXECUTED
    {                                                                 
        for (part_num = 0;                                            
             part_num < RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER; 
             part_num++)                                              
        {                                                             
            partition_free(part_desc->sub_part[part_num]);            
   44260:	2f1b           	movel %a3@+,%sp@-                           <== NOT EXECUTED
   44262:	5382           	subql #1,%d2                                <== NOT EXECUTED
   44264:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (part_desc == NULL)                                            
        return;                                                       
                                                                      
    if (is_extended(part_desc->sys_type))                             
    {                                                                 
        for (part_num = 0;                                            
   44266:	588f           	addql #4,%sp                                <== NOT EXECUTED
   44268:	4a82           	tstl %d2                                    <== NOT EXECUTED
   4426a:	67d8           	beqs 44244 <partition_free+0x24>            <== NOT EXECUTED
             part_num < RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER; 
             part_num++)                                              
        {                                                             
            partition_free(part_desc->sub_part[part_num]);            
   4426c:	2f1b           	movel %a3@+,%sp@-                           <== NOT EXECUTED
   4426e:	5382           	subql #1,%d2                                <== NOT EXECUTED
   44270:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (part_desc == NULL)                                            
        return;                                                       
                                                                      
    if (is_extended(part_desc->sys_type))                             
    {                                                                 
        for (part_num = 0;                                            
   44272:	588f           	addql #4,%sp                                <== NOT EXECUTED
   44274:	4a82           	tstl %d2                                    <== NOT EXECUTED
   44276:	66e8           	bnes 44260 <partition_free+0x40>            <== NOT EXECUTED
   44278:	60ca           	bras 44244 <partition_free+0x24>            <== NOT EXECUTED
            partition_free(part_desc->sub_part[part_num]);            
        }                                                             
    }                                                                 
                                                                      
    free(part_desc);                                                  
}                                                                     
   4427a:	4cee 1c04 fff0 	moveml %fp@(-16),%d2/%a2-%a4                
   44280:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00044596 <partition_table_get>: * RTEMS_SUCCESSFUL if success, * RTEMS_INTERNAL_ERROR otherwise */ static rtems_status_code partition_table_get(const char *dev_name, rtems_disk_desc_t *disk_desc) {
   44596:	4e56 ff90      	linkw %fp,#-112                             
   4459a:	48d7 1c7c      	moveml %d2-%d6/%a2-%a4,%sp@                 
    struct stat         dev_stat;                                     
    rtems_status_code   rc;                                           
    int                 fd;                                           
                                                                      
    fd = open(dev_name, O_RDONLY);                                    
   4459e:	42a7           	clrl %sp@-                                  
   445a0:	2f2e 0008      	movel %fp@(8),%sp@-                         
   445a4:	4eb9 0004 6280 	jsr 46280 <open>                            
    if (fd < 0)                                                       
   445aa:	508f           	addql #8,%sp                                
{                                                                     
    struct stat         dev_stat;                                     
    rtems_status_code   rc;                                           
    int                 fd;                                           
                                                                      
    fd = open(dev_name, O_RDONLY);                                    
   445ac:	2600           	movel %d0,%d3                               
    if (fd < 0)                                                       
   445ae:	6c0e           	bges 445be <partition_table_get+0x28>       <== ALWAYS TAKEN
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
   445b0:	7419           	moveq #25,%d2                               <== NOT EXECUTED
    rc = read_mbr(fd, disk_desc);                                     
                                                                      
    close(fd);                                                        
                                                                      
    return rc;                                                        
}                                                                     
   445b2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   445b4:	4cee 1c7c ff90 	moveml %fp@(-112),%d2-%d6/%a2-%a4           <== NOT EXECUTED
   445ba:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   445bc:	4e75           	rts                                         <== NOT EXECUTED
    if (fd < 0)                                                       
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    rc = fstat(fd, &dev_stat);                                        
   445be:	486e ffba      	pea %fp@(-70)                               
   445c2:	2f00           	movel %d0,%sp@-                             
   445c4:	4eb9 0004 53d4 	jsr 453d4 <fstat>                           
    if (rc != RTEMS_SUCCESSFUL)                                       
   445ca:	508f           	addql #8,%sp                                
   445cc:	4a80           	tstl %d0                                    
   445ce:	6718           	beqs 445e8 <partition_table_get+0x52>       <== ALWAYS TAKEN
    {                                                                 
        close(fd);                                                    
   445d0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
        return RTEMS_INTERNAL_ERROR;                                  
   445d2:	7419           	moveq #25,%d2                               <== NOT EXECUTED
    }                                                                 
                                                                      
    rc = fstat(fd, &dev_stat);                                        
    if (rc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        close(fd);                                                    
   445d4:	4eb9 0004 5070 	jsr 45070 <close>                           <== NOT EXECUTED
   445da:	588f           	addql #4,%sp                                <== NOT EXECUTED
    rc = read_mbr(fd, disk_desc);                                     
                                                                      
    close(fd);                                                        
                                                                      
    return rc;                                                        
}                                                                     
   445dc:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   445de:	4cee 1c7c ff90 	moveml %fp@(-112),%d2-%d6/%a2-%a4           <== NOT EXECUTED
   445e4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   445e6:	4e75           	rts                                         <== NOT EXECUTED
    {                                                                 
        close(fd);                                                    
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    strncpy (disk_desc->dev_name, dev_name, 15);                      
   445e8:	4878 000f      	pea f <FPTRAP>                              
   445ec:	2f2e 0008      	movel %fp@(8),%sp@-                         
   445f0:	206e 000c      	moveal %fp@(12),%a0                         
   445f4:	4868 0008      	pea %a0@(8)                                 
   445f8:	4eb9 0005 4f2c 	jsr 54f2c <strncpy>                         
    disk_desc->dev = dev_stat.st_rdev;                                
   445fe:	206e 000c      	moveal %fp@(12),%a0                         
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
   44602:	4fef 000c      	lea %sp@(12),%sp                            
   44606:	203c 0000 0200 	movel #512,%d0                              
        close(fd);                                                    
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    strncpy (disk_desc->dev_name, dev_name, 15);                      
    disk_desc->dev = dev_stat.st_rdev;                                
   4460c:	226e ffd0      	moveal %fp@(-48),%a1                        
   44610:	246e ffd4      	moveal %fp@(-44),%a2                        
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
   44614:	222e fff8      	movel %fp@(-8),%d1                          
        close(fd);                                                    
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    strncpy (disk_desc->dev_name, dev_name, 15);                      
    disk_desc->dev = dev_stat.st_rdev;                                
   44618:	2089           	movel %a1,%a0@                              
   4461a:	214a 0004      	movel %a2,%a0@(4)                           
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
   4461e:	4a81           	tstl %d1                                    
   44620:	6702           	beqs 44624 <partition_table_get+0x8e>       <== ALWAYS TAKEN
   44622:	2001           	movel %d1,%d0                               <== NOT EXECUTED
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    off = sector_num * RTEMS_IDE_SECTOR_SIZE;                         
    new_off = lseek(fd, off, SEEK_SET);                               
   44624:	42a7           	clrl %sp@-                                  
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    strncpy (disk_desc->dev_name, dev_name, 15);                      
    disk_desc->dev = dev_stat.st_rdev;                                
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
   44626:	226e 000c      	moveal %fp@(12),%a1                         
    }                                                                 
                                                                      
    off = sector_num * RTEMS_IDE_SECTOR_SIZE;                         
    new_off = lseek(fd, off, SEEK_SET);                               
    if (new_off != off) {                                             
        return RTEMS_IO_ERROR;                                        
   4462a:	741b           	moveq #27,%d2                               
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    off = sector_num * RTEMS_IDE_SECTOR_SIZE;                         
    new_off = lseek(fd, off, SEEK_SET);                               
   4462c:	42a7           	clrl %sp@-                                  
   4462e:	42a7           	clrl %sp@-                                  
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    strncpy (disk_desc->dev_name, dev_name, 15);                      
    disk_desc->dev = dev_stat.st_rdev;                                
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
   44630:	2340 0018      	movel %d0,%a1@(24)                          
 */                                                                   
static rtems_status_code                                              
read_mbr(int fd, rtems_disk_desc_t *disk_desc)                        
{                                                                     
    int                  part_num;                                    
    rtems_sector_data_t *sector = NULL;                               
   44634:	42ae ffb2      	clrl %fp@(-78)                              
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    off = sector_num * RTEMS_IDE_SECTOR_SIZE;                         
    new_off = lseek(fd, off, SEEK_SET);                               
   44638:	2f03           	movel %d3,%sp@-                             
   4463a:	4eb9 0004 5794 	jsr 45794 <lseek>                           
    if (new_off != off) {                                             
   44640:	4fef 0010      	lea %sp@(16),%sp                            
   44644:	2800           	movel %d0,%d4                               
   44646:	8881           	orl %d1,%d4                                 
   44648:	6726           	beqs 44670 <partition_table_get+0xda>       <== ALWAYS TAKEN
                                                                      
    /* get MBR sector */                                              
    rc = get_sector(fd, 0, §or);                                  
    if (rc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        if (sector)                                                   
   4464a:	202e ffb2      	movel %fp@(-78),%d0                         <== NOT EXECUTED
   4464e:	670a           	beqs 4465a <partition_table_get+0xc4>       <== NOT EXECUTED
            free(sector);                                             
   44650:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44652:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
   44658:	588f           	addql #4,%sp                                <== NOT EXECUTED
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
                                              RTEMS_IDE_SECTOR_SIZE;  
                                                                      
    rc = read_mbr(fd, disk_desc);                                     
                                                                      
    close(fd);                                                        
   4465a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   4465c:	4eb9 0004 5070 	jsr 45070 <close>                           <== NOT EXECUTED
   44662:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
    return rc;                                                        
}                                                                     
   44664:	2002           	movel %d2,%d0                               
   44666:	4cee 1c7c ff90 	moveml %fp@(-112),%d2-%d6/%a2-%a4           
   4466c:	4e5e           	unlk %fp                                    
   4466e:	4e75           	rts                                         
   44670:	486e ffb2      	pea %fp@(-78)                               
   44674:	42a7           	clrl %sp@-                                  
   44676:	2f03           	movel %d3,%sp@-                             
   44678:	4eba fc40      	jsr %pc@(442ba <get_sector.part.0>)         
    uint8_t             *data;                                        
    rtems_status_code    rc;                                          
                                                                      
    /* get MBR sector */                                              
    rc = get_sector(fd, 0, §or);                                  
    if (rc != RTEMS_SUCCESSFUL)                                       
   4467c:	4fef 000c      	lea %sp@(12),%sp                            
   44680:	2400           	movel %d0,%d2                               
   44682:	66c6           	bnes 4464a <partition_table_get+0xb4>       <== NEVER TAKEN
            free(sector);                                             
        return rc;                                                    
    }                                                                 
                                                                      
    /* check if the partition table structure is MS-DOS style */      
    if (!msdos_signature_check(sector))                               
   44684:	206e ffb2      	moveal %fp@(-78),%a0                        
static bool                                                           
msdos_signature_check (rtems_sector_data_t *sector)                   
{                                                                     
    uint8_t *p = sector->data + RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_OFFSET;
                                                                      
    return ((p[0] == RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA1) &&    
   44688:	4280           	clrl %d0                                    
   4468a:	1028 0202      	moveb %a0@(514),%d0                         
   4468e:	7255           	moveq #85,%d1                               
   44690:	b280           	cmpl %d0,%d1                                
   44692:	6718           	beqs 446ac <partition_table_get+0x116>      <== ALWAYS TAKEN
    }                                                                 
                                                                      
    /* check if the partition table structure is MS-DOS style */      
    if (!msdos_signature_check(sector))                               
    {                                                                 
        free(sector);                                                 
   44694:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
        return RTEMS_INTERNAL_ERROR;                                  
   44696:	7419           	moveq #25,%d2                               <== NOT EXECUTED
    }                                                                 
                                                                      
    /* check if the partition table structure is MS-DOS style */      
    if (!msdos_signature_check(sector))                               
    {                                                                 
        free(sector);                                                 
   44698:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
   4469e:	588f           	addql #4,%sp                                <== NOT EXECUTED
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
                                              RTEMS_IDE_SECTOR_SIZE;  
                                                                      
    rc = read_mbr(fd, disk_desc);                                     
                                                                      
    close(fd);                                                        
   446a0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   446a2:	4eb9 0004 5070 	jsr 45070 <close>                           <== NOT EXECUTED
   446a8:	588f           	addql #4,%sp                                <== NOT EXECUTED
   446aa:	60b8           	bras 44664 <partition_table_get+0xce>       <== NOT EXECUTED
static bool                                                           
msdos_signature_check (rtems_sector_data_t *sector)                   
{                                                                     
    uint8_t *p = sector->data + RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_OFFSET;
                                                                      
    return ((p[0] == RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA1) &&    
   446ac:	4280           	clrl %d0                                    
   446ae:	1028 0203      	moveb %a0@(515),%d0                         
   446b2:	0c80 0000 00aa 	cmpil #170,%d0                              
   446b8:	66da           	bnes 44694 <partition_table_get+0xfe>       <== NEVER TAKEN
 * RETURNS:                                                           
 *      RTEMS_SUCCESSFUL if success,                                  
 *      RTEMS_INTERNAL_ERROR otherwise                                
 */                                                                   
static rtems_status_code                                              
partition_table_get(const char *dev_name, rtems_disk_desc_t *disk_desc)
   446ba:	246e 000c      	moveal %fp@(12),%a2                         
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    /* read and process 4 primary partition descriptors */            
                                                                      
    data = sector->data + RTEMS_IDE_PARTITION_TABLE_OFFSET;           
   446be:	2a08           	movel %a0,%d5                               
 * RETURNS:                                                           
 *      RTEMS_SUCCESSFUL if success,                                  
 *      RTEMS_INTERNAL_ERROR otherwise                                
 */                                                                   
static rtems_status_code                                              
partition_table_get(const char *dev_name, rtems_disk_desc_t *disk_desc)
   446c0:	45ea 0028      	lea %a2@(40),%a2                            
   446c4:	2c0e           	movel %fp,%d6                               
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    /* read and process 4 primary partition descriptors */            
                                                                      
    data = sector->data + RTEMS_IDE_PARTITION_TABLE_OFFSET;           
   446c6:	0685 0000 01c2 	addil #450,%d5                              
 * RETURNS:                                                           
 *      RTEMS_SUCCESSFUL if success,                                  
 *      RTEMS_INTERNAL_ERROR otherwise                                
 */                                                                   
static rtems_status_code                                              
partition_table_get(const char *dev_name, rtems_disk_desc_t *disk_desc)
   446cc:	264a           	moveal %a2,%a3                              
   446ce:	0686 ffff ffb6 	addil #-74,%d6                              
   446d4:	49fa fc4c      	lea %pc@(44322 <data_to_part_desc.part.1>),%a4
   446d8:	7801           	moveq #1,%d4                                
   446da:	2f06           	movel %d6,%sp@-                             
   446dc:	2f05           	movel %d5,%sp@-                             
   446de:	4e94           	jsr %a4@                                    
    for (part_num = 0;                                                
         part_num < RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER;     
         part_num++)                                                  
    {                                                                 
        rc = data_to_part_desc(data, &part_desc);                     
        if (rc != RTEMS_SUCCESSFUL)                                   
   446e0:	508f           	addql #8,%sp                                
   446e2:	2400           	movel %d0,%d2                               
   446e4:	6600 00ae      	bnew 44794 <partition_table_get+0x1fe>      
        {                                                             
            free(sector);                                             
            return rc;                                                
        }                                                             
                                                                      
        if (part_desc != NULL)                                        
   446e8:	206e ffb6      	moveal %fp@(-74),%a0                        
   446ec:	4a88           	tstl %a0                                    
   446ee:	6700 009e      	beqw 4478e <partition_table_get+0x1f8>      
        {                                                             
            part_desc->log_id = part_num + 1;                         
            part_desc->disk_desc = disk_desc;                         
            part_desc->end = part_desc->start + part_desc->size - 1;  
   446f2:	2028 0004      	movel %a0@(4),%d0                           
   446f6:	d0a8 0008      	addl %a0@(8),%d0                            
   446fa:	5380           	subql #1,%d0                                
        }                                                             
                                                                      
        if (part_desc != NULL)                                        
        {                                                             
            part_desc->log_id = part_num + 1;                         
            part_desc->disk_desc = disk_desc;                         
   446fc:	226e 000c      	moveal %fp@(12),%a1                         
            part_desc->end = part_desc->start + part_desc->size - 1;  
   44700:	2140 000c      	movel %d0,%a0@(12)                          
            return rc;                                                
        }                                                             
                                                                      
        if (part_desc != NULL)                                        
        {                                                             
            part_desc->log_id = part_num + 1;                         
   44704:	1144 0002      	moveb %d4,%a0@(2)                           
            part_desc->disk_desc = disk_desc;                         
   44708:	2149 0010      	movel %a1,%a0@(16)                          
            part_desc->end = part_desc->start + part_desc->size - 1;  
            disk_desc->partitions[part_num] = part_desc;              
   4470c:	2688           	movel %a0,%a3@                              
   4470e:	5284           	addql #1,%d4                                
                                                                      
    /* read and process 4 primary partition descriptors */            
                                                                      
    data = sector->data + RTEMS_IDE_PARTITION_TABLE_OFFSET;           
                                                                      
    for (part_num = 0;                                                
   44710:	4280           	clrl %d0                                    
        else                                                          
        {                                                             
            disk_desc->partitions[part_num] = NULL;                   
        }                                                             
                                                                      
        data += RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE;                  
   44712:	0685 0000 0010 	addil #16,%d5                               
   44718:	588b           	addql #4,%a3                                
                                                                      
    /* read and process 4 primary partition descriptors */            
                                                                      
    data = sector->data + RTEMS_IDE_PARTITION_TABLE_OFFSET;           
                                                                      
    for (part_num = 0;                                                
   4471a:	1004           	moveb %d4,%d0                               
   4471c:	7205           	moveq #5,%d1                                
   4471e:	b280           	cmpl %d0,%d1                                
   44720:	66b8           	bnes 446da <partition_table_get+0x144>      
        }                                                             
                                                                      
        data += RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE;                  
    }                                                                 
                                                                      
    free(sector);                                                     
   44722:	2f2e ffb2      	movel %fp@(-78),%sp@-                       
   44726:	47f9 0004 5344 	lea 45344 <free>,%a3                        
                                                                      
    disk_desc->last_log_id = RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER;
   4472c:	7804           	moveq #4,%d4                                
        }                                                             
                                                                      
        data += RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE;                  
    }                                                                 
                                                                      
    free(sector);                                                     
   4472e:	4e93           	jsr %a3@                                    
                                                                      
    disk_desc->last_log_id = RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER;
   44730:	206e 000c      	moveal %fp@(12),%a0                         
   44734:	588f           	addql #4,%sp                                
         part_num++)                                                  
    {                                                                 
        part_desc = disk_desc->partitions[part_num];                  
        if (part_desc != NULL && is_extended(part_desc->sys_type))    
        {                                                             
            read_extended_partition(fd, part_desc->start, part_desc); 
   44736:	49fa fcdc      	lea %pc@(44414 <read_extended_partition>),%a4
        data += RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE;                  
    }                                                                 
                                                                      
    free(sector);                                                     
                                                                      
    disk_desc->last_log_id = RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER;
   4473a:	2144 0024      	movel %d4,%a0@(36)                          
       but we are to process each primary partition */                
    for (part_num = 0;                                                
         part_num < RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER;     
         part_num++)                                                  
    {                                                                 
        part_desc = disk_desc->partitions[part_num];                  
   4473e:	2052           	moveal %a2@,%a0                             
   44740:	2d48 ffb6      	movel %a0,%fp@(-74)                         
        if (part_desc != NULL && is_extended(part_desc->sys_type))    
   44744:	6714           	beqs 4475a <partition_table_get+0x1c4>      <== NEVER TAKEN
 *      true if partition type is extended, false otherwise           
 */                                                                   
static bool                                                           
is_extended(uint8_t type)                                             
{                                                                     
    return ((type == EXTENDED_PARTITION) || (type == LINUX_EXTENDED));
   44746:	4280           	clrl %d0                                    
   44748:	1028 0001      	moveb %a0@(1),%d0                           
   4474c:	7205           	moveq #5,%d1                                
   4474e:	b280           	cmpl %d0,%d1                                
   44750:	671c           	beqs 4476e <partition_table_get+0x1d8>      
   44752:	0c80 0000 0085 	cmpil #133,%d0                              
   44758:	6714           	beqs 4476e <partition_table_get+0x1d8>      <== NEVER TAKEN
   4475a:	5384           	subql #1,%d4                                
   4475c:	588a           	addql #4,%a2                                
                                                                      
    disk_desc->last_log_id = RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER;
                                                                      
    /* There cannot be more than one extended partition,              
       but we are to process each primary partition */                
    for (part_num = 0;                                                
   4475e:	66de           	bnes 4473e <partition_table_get+0x1a8>      <== ALWAYS TAKEN
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
                                              RTEMS_IDE_SECTOR_SIZE;  
                                                                      
    rc = read_mbr(fd, disk_desc);                                     
                                                                      
    close(fd);                                                        
   44760:	2f03           	movel %d3,%sp@-                             
   44762:	4eb9 0004 5070 	jsr 45070 <close>                           
   44768:	588f           	addql #4,%sp                                
   4476a:	6000 fef8      	braw 44664 <partition_table_get+0xce>       
         part_num++)                                                  
    {                                                                 
        part_desc = disk_desc->partitions[part_num];                  
        if (part_desc != NULL && is_extended(part_desc->sys_type))    
        {                                                             
            read_extended_partition(fd, part_desc->start, part_desc); 
   4476e:	2f08           	movel %a0,%sp@-                             
   44770:	2f28 0004      	movel %a0@(4),%sp@-                         
   44774:	5384           	subql #1,%d4                                
   44776:	2f03           	movel %d3,%sp@-                             
   44778:	4e94           	jsr %a4@                                    
            free(part_desc);                                          
   4477a:	2f2e ffb6      	movel %fp@(-74),%sp@-                       
   4477e:	4e93           	jsr %a3@                                    
            disk_desc->partitions[part_num] = NULL;                   
   44780:	4fef 0010      	lea %sp@(16),%sp                            
   44784:	4292           	clrl %a2@                                   
   44786:	588a           	addql #4,%a2                                
                                                                      
    disk_desc->last_log_id = RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER;
                                                                      
    /* There cannot be more than one extended partition,              
       but we are to process each primary partition */                
    for (part_num = 0;                                                
   44788:	4a84           	tstl %d4                                    
   4478a:	66b2           	bnes 4473e <partition_table_get+0x1a8>      <== NEVER TAKEN
   4478c:	60d2           	bras 44760 <partition_table_get+0x1ca>      
            part_desc->end = part_desc->start + part_desc->size - 1;  
            disk_desc->partitions[part_num] = part_desc;              
        }                                                             
        else                                                          
        {                                                             
            disk_desc->partitions[part_num] = NULL;                   
   4478e:	4293           	clrl %a3@                                   <== NOT EXECUTED
   44790:	6000 ff7c      	braw 4470e <partition_table_get+0x178>      <== NOT EXECUTED
         part_num++)                                                  
    {                                                                 
        rc = data_to_part_desc(data, &part_desc);                     
        if (rc != RTEMS_SUCCESSFUL)                                   
        {                                                             
            free(sector);                                             
   44794:	2f2e ffb2      	movel %fp@(-78),%sp@-                       <== NOT EXECUTED
   44798:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
   4479e:	588f           	addql #4,%sp                                <== NOT EXECUTED
    disk_desc->sector_size = (dev_stat.st_blksize) ? dev_stat.st_blksize :
                                              RTEMS_IDE_SECTOR_SIZE;  
                                                                      
    rc = read_mbr(fd, disk_desc);                                     
                                                                      
    close(fd);                                                        
   447a0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   447a2:	4eb9 0004 5070 	jsr 45070 <close>                           <== NOT EXECUTED
   447a8:	588f           	addql #4,%sp                                <== NOT EXECUTED
   447aa:	6000 feb8      	braw 44664 <partition_table_get+0xce>       <== NOT EXECUTED
                                                                      

0004370c <pathconf>: */ long pathconf( const char *path, int name ) {
   4370c:	4e56 0000      	linkw %fp,#0                                
   43710:	2f03           	movel %d3,%sp@-                             
   43712:	2f02           	movel %d2,%sp@-                             
  int status;                                                         
  int fd;                                                             
                                                                      
  fd = open( path, O_RDONLY );                                        
   43714:	42a7           	clrl %sp@-                                  
   43716:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4371a:	4eb9 0004 34c0 	jsr 434c0 <open>                            
  if ( fd == -1 )                                                     
   43720:	508f           	addql #8,%sp                                
)                                                                     
{                                                                     
  int status;                                                         
  int fd;                                                             
                                                                      
  fd = open( path, O_RDONLY );                                        
   43722:	2400           	movel %d0,%d2                               
  if ( fd == -1 )                                                     
   43724:	70ff           	moveq #-1,%d0                               
   43726:	b082           	cmpl %d2,%d0                                
   43728:	6728           	beqs 43752 <pathconf+0x46>                  <== ALWAYS TAKEN
    return -1;                                                        
                                                                      
  status = fpathconf( fd, name );                                     
   4372a:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   4372e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   43730:	4eb9 0004 86f0 	jsr 486f0 <fpathconf>                       <== NOT EXECUTED
   43736:	2600           	movel %d0,%d3                               <== NOT EXECUTED
                                                                      
  (void) close( fd );                                                 
   43738:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4373a:	4eb9 0004 8674 	jsr 48674 <close>                           <== NOT EXECUTED
                                                                      
  return status;                                                      
}                                                                     
   43740:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   43744:	2003           	movel %d3,%d0                               <== NOT EXECUTED
                                                                      
  status = fpathconf( fd, name );                                     
                                                                      
  (void) close( fd );                                                 
                                                                      
  return status;                                                      
   43746:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
}                                                                     
   4374a:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
   4374e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43750:	4e75           	rts                                         <== NOT EXECUTED
  int status;                                                         
  int fd;                                                             
                                                                      
  fd = open( path, O_RDONLY );                                        
  if ( fd == -1 )                                                     
    return -1;                                                        
   43752:	76ff           	moveq #-1,%d3                               
  status = fpathconf( fd, name );                                     
                                                                      
  (void) close( fd );                                                 
                                                                      
  return status;                                                      
}                                                                     
   43754:	2003           	movel %d3,%d0                               
   43756:	242e fff8      	movel %fp@(-8),%d2                          
   4375a:	262e fffc      	movel %fp@(-4),%d3                          
   4375e:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004ca5c <pipe_create>: static uint16_t rtems_pipe_no = 0; int pipe_create( int filsdes[2] ) {
   4ca5c:	4e56 ffe4      	linkw %fp,#-28                              
   4ca60:	48d7 1c00      	moveml %a2-%a4,%sp@                         
  rtems_libio_t *iop;                                                 
  int err = 0;                                                        
                                                                      
  if (rtems_mkdir("/tmp", S_IRWXU | S_IRWXG | S_IRWXO) != 0)          
   4ca64:	4878 01ff      	pea 1ff <DBL_MANT_DIG+0x1ca>                
   4ca68:	4879 0005 edab 	pea 5edab <_CPU_m68k_BFFFO_table+0x100>     
static uint16_t rtems_pipe_no = 0;                                    
                                                                      
int pipe_create(                                                      
  int filsdes[2]                                                      
)                                                                     
{                                                                     
   4ca6e:	266e 0008      	moveal %fp@(8),%a3                          
  rtems_libio_t *iop;                                                 
  int err = 0;                                                        
                                                                      
  if (rtems_mkdir("/tmp", S_IRWXU | S_IRWXG | S_IRWXO) != 0)          
   4ca72:	4eb9 0004 e0e4 	jsr 4e0e4 <rtems_mkdir>                     
   4ca78:	508f           	addql #8,%sp                                
   4ca7a:	4a80           	tstl %d0                                    
   4ca7c:	6600 00f6      	bnew 4cb74 <pipe_create+0x118>              
    return -1;                                                        
                                                                      
  /* /tmp/.fifoXXXX */                                                
  char fifopath[15];                                                  
  memcpy(fifopath, "/tmp/.fifo", 10);                                 
   4ca80:	45ee fff1      	lea %fp@(-15),%a2                           
  sprintf(fifopath + 10, "%04x", rtems_pipe_no ++);                   
   4ca84:	3039 0006 07e8 	movew 607e8 <rtems_pipe_no>,%d0             
  if (rtems_mkdir("/tmp", S_IRWXU | S_IRWXG | S_IRWXO) != 0)          
    return -1;                                                        
                                                                      
  /* /tmp/.fifoXXXX */                                                
  char fifopath[15];                                                  
  memcpy(fifopath, "/tmp/.fifo", 10);                                 
   4ca8a:	24bc 2f74 6d70 	movel #796159344,%a2@                       
  sprintf(fifopath + 10, "%04x", rtems_pipe_no ++);                   
   4ca90:	2200           	movel %d0,%d1                               
   4ca92:	5281           	addql #1,%d1                                
   4ca94:	3f00           	movew %d0,%sp@-                             
  if (rtems_mkdir("/tmp", S_IRWXU | S_IRWXG | S_IRWXO) != 0)          
    return -1;                                                        
                                                                      
  /* /tmp/.fifoXXXX */                                                
  char fifopath[15];                                                  
  memcpy(fifopath, "/tmp/.fifo", 10);                                 
   4ca96:	203c 2f2e 6669 	movel #791570025,%d0                        
  sprintf(fifopath + 10, "%04x", rtems_pipe_no ++);                   
   4ca9c:	4267           	clrw %sp@-                                  
  if (rtems_mkdir("/tmp", S_IRWXU | S_IRWXG | S_IRWXO) != 0)          
    return -1;                                                        
                                                                      
  /* /tmp/.fifoXXXX */                                                
  char fifopath[15];                                                  
  memcpy(fifopath, "/tmp/.fifo", 10);                                 
   4ca9e:	307c 666f      	moveaw #26223,%a0                           
   4caa2:	2d40 fff5      	movel %d0,%fp@(-11)                         
  sprintf(fifopath + 10, "%04x", rtems_pipe_no ++);                   
   4caa6:	4879 0005 edb0 	pea 5edb0 <_CPU_m68k_BFFFO_table+0x105>     
   4caac:	486e fffb      	pea %fp@(-5)                                
  if (rtems_mkdir("/tmp", S_IRWXU | S_IRWXG | S_IRWXO) != 0)          
    return -1;                                                        
                                                                      
  /* /tmp/.fifoXXXX */                                                
  char fifopath[15];                                                  
  memcpy(fifopath, "/tmp/.fifo", 10);                                 
   4cab0:	3d48 fff9      	movew %a0,%fp@(-7)                          
  sprintf(fifopath + 10, "%04x", rtems_pipe_no ++);                   
   4cab4:	33c1 0006 07e8 	movew %d1,607e8 <rtems_pipe_no>             
   4caba:	4eb9 0005 0368 	jsr 50368 <sprintf>                         
                                                                      
  /* Try creating FIFO file until find an available file name */      
  while (mkfifo(fifopath, S_IRUSR|S_IWUSR) != 0) {                    
   4cac0:	4878 0180      	pea 180 <DBL_MANT_DIG+0x14b>                
   4cac4:	2f0a           	movel %a2,%sp@-                             
   4cac6:	4eb9 0004 de20 	jsr 4de20 <mkfifo>                          
   4cacc:	4fef 0014      	lea %sp@(20),%sp                            
   4cad0:	4a80           	tstl %d0                                    
   4cad2:	6600 00c2      	bnew 4cb96 <pipe_create+0x13a>              
    return -1;                                                        
    /* sprintf(fifopath + 10, "%04x", rtems_pipe_no ++); */           
  }                                                                   
                                                                      
  /* Non-blocking open to avoid waiting for writers */                
  filsdes[0] = open(fifopath, O_RDONLY | O_NONBLOCK);                 
   4cad6:	4878 4000      	pea 4000 <D_MAX_EXP+0x3801>                 
   4cada:	49f9 0004 48a0 	lea 448a0 <open>,%a4                        
   4cae0:	2f0a           	movel %a2,%sp@-                             
   4cae2:	4e94           	jsr %a4@                                    
  if (filsdes[0] < 0) {                                               
   4cae4:	508f           	addql #8,%sp                                
    return -1;                                                        
    /* sprintf(fifopath + 10, "%04x", rtems_pipe_no ++); */           
  }                                                                   
                                                                      
  /* Non-blocking open to avoid waiting for writers */                
  filsdes[0] = open(fifopath, O_RDONLY | O_NONBLOCK);                 
   4cae6:	2680           	movel %d0,%a3@                              
  if (filsdes[0] < 0) {                                               
   4cae8:	6d4e           	blts 4cb38 <pipe_create+0xdc>               
     the file node will be deleted after it is closed by all. */      
    unlink(fifopath);                                                 
  }                                                                   
  else {                                                              
  /* Reset open file to blocking mode */                              
    iop = rtems_libio_iop(filsdes[0]);                                
   4caea:	b0b9 0005 f830 	cmpl 5f830 <rtems_libio_number_iops>,%d0    
   4caf0:	6442           	bccs 4cb34 <pipe_create+0xd8>               <== NEVER TAKEN
   4caf2:	2200           	movel %d0,%d1                               
   4caf4:	ed88           	lsll #6,%d0                                 
   4caf6:	e989           	lsll #4,%d1                                 
   4caf8:	2079 0006 0edc 	moveal 60edc <rtems_libio_iops>,%a0         
   4cafe:	9081           	subl %d1,%d0                                
   4cb00:	d1c0           	addal %d0,%a0                               
    iop->flags &= ~LIBIO_FLAGS_NO_DELAY;                              
   4cb02:	70fe           	moveq #-2,%d0                               
   4cb04:	c1a8 000c      	andl %d0,%a0@(12)                           
                                                                      
    filsdes[1] = open(fifopath, O_WRONLY);                            
   4cb08:	4878 0001      	pea 1 <ADD>                                 
   4cb0c:	2f0a           	movel %a2,%sp@-                             
   4cb0e:	4e94           	jsr %a4@                                    
                                                                      
    if (filsdes[1] < 0) {                                             
   4cb10:	508f           	addql #8,%sp                                
  else {                                                              
  /* Reset open file to blocking mode */                              
    iop = rtems_libio_iop(filsdes[0]);                                
    iop->flags &= ~LIBIO_FLAGS_NO_DELAY;                              
                                                                      
    filsdes[1] = open(fifopath, O_WRONLY);                            
   4cb12:	2740 0004      	movel %d0,%a3@(4)                           
                                                                      
    if (filsdes[1] < 0) {                                             
   4cb16:	6d3c           	blts 4cb54 <pipe_create+0xf8>               
    err = errno;                                                      
    close(filsdes[0]);                                                
    }                                                                 
  unlink(fifopath);                                                   
   4cb18:	2f0a           	movel %a2,%sp@-                             
int pipe_create(                                                      
  int filsdes[2]                                                      
)                                                                     
{                                                                     
  rtems_libio_t *iop;                                                 
  int err = 0;                                                        
   4cb1a:	99cc           	subal %a4,%a4                               
                                                                      
    if (filsdes[1] < 0) {                                             
    err = errno;                                                      
    close(filsdes[0]);                                                
    }                                                                 
  unlink(fifopath);                                                   
   4cb1c:	4eb9 0004 792c 	jsr 4792c <unlink>                          
   4cb22:	588f           	addql #4,%sp                                
  }                                                                   
  if(err != 0)                                                        
    rtems_set_errno_and_return_minus_one(err);                        
  return 0;                                                           
   4cb24:	4280           	clrl %d0                                    
    err = errno;                                                      
    close(filsdes[0]);                                                
    }                                                                 
  unlink(fifopath);                                                   
  }                                                                   
  if(err != 0)                                                        
   4cb26:	4a8c           	tstl %a4                                    
   4cb28:	6656           	bnes 4cb80 <pipe_create+0x124>              
    rtems_set_errno_and_return_minus_one(err);                        
  return 0;                                                           
}                                                                     
   4cb2a:	4cee 1c00 ffe4 	moveml %fp@(-28),%a2-%a4                    
   4cb30:	4e5e           	unlk %fp                                    
   4cb32:	4e75           	rts                                         
     the file node will be deleted after it is closed by all. */      
    unlink(fifopath);                                                 
  }                                                                   
  else {                                                              
  /* Reset open file to blocking mode */                              
    iop = rtems_libio_iop(filsdes[0]);                                
   4cb34:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   4cb36:	60ca           	bras 4cb02 <pipe_create+0xa6>               <== NOT EXECUTED
  }                                                                   
                                                                      
  /* Non-blocking open to avoid waiting for writers */                
  filsdes[0] = open(fifopath, O_RDONLY | O_NONBLOCK);                 
  if (filsdes[0] < 0) {                                               
    err = errno;                                                      
   4cb38:	4eb9 0004 f6e8 	jsr 4f6e8 <__errno>                         
   4cb3e:	2040           	moveal %d0,%a0                              
   4cb40:	2850           	moveal %a0@,%a4                             
    /* Delete file at errors, or else if pipe is successfully created 
     the file node will be deleted after it is closed by all. */      
    unlink(fifopath);                                                 
   4cb42:	2f0a           	movel %a2,%sp@-                             
   4cb44:	4eb9 0004 792c 	jsr 4792c <unlink>                          
   4cb4a:	588f           	addql #4,%sp                                
    }                                                                 
  unlink(fifopath);                                                   
  }                                                                   
  if(err != 0)                                                        
    rtems_set_errno_and_return_minus_one(err);                        
  return 0;                                                           
   4cb4c:	4280           	clrl %d0                                    
    err = errno;                                                      
    close(filsdes[0]);                                                
    }                                                                 
  unlink(fifopath);                                                   
  }                                                                   
  if(err != 0)                                                        
   4cb4e:	4a8c           	tstl %a4                                    
   4cb50:	67d8           	beqs 4cb2a <pipe_create+0xce>               <== NEVER TAKEN
   4cb52:	602c           	bras 4cb80 <pipe_create+0x124>              
    iop->flags &= ~LIBIO_FLAGS_NO_DELAY;                              
                                                                      
    filsdes[1] = open(fifopath, O_WRONLY);                            
                                                                      
    if (filsdes[1] < 0) {                                             
    err = errno;                                                      
   4cb54:	4eb9 0004 f6e8 	jsr 4f6e8 <__errno>                         
   4cb5a:	2040           	moveal %d0,%a0                              
   4cb5c:	2850           	moveal %a0@,%a4                             
    close(filsdes[0]);                                                
   4cb5e:	2f13           	movel %a3@,%sp@-                            
   4cb60:	4eb9 0004 3848 	jsr 43848 <close>                           
   4cb66:	588f           	addql #4,%sp                                
    }                                                                 
  unlink(fifopath);                                                   
   4cb68:	2f0a           	movel %a2,%sp@-                             
   4cb6a:	4eb9 0004 792c 	jsr 4792c <unlink>                          
   4cb70:	588f           	addql #4,%sp                                
   4cb72:	60b0           	bras 4cb24 <pipe_create+0xc8>               
{                                                                     
  rtems_libio_t *iop;                                                 
  int err = 0;                                                        
                                                                      
  if (rtems_mkdir("/tmp", S_IRWXU | S_IRWXG | S_IRWXO) != 0)          
    return -1;                                                        
   4cb74:	70ff           	moveq #-1,%d0                               
  unlink(fifopath);                                                   
  }                                                                   
  if(err != 0)                                                        
    rtems_set_errno_and_return_minus_one(err);                        
  return 0;                                                           
}                                                                     
   4cb76:	4cee 1c00 ffe4 	moveml %fp@(-28),%a2-%a4                    
   4cb7c:	4e5e           	unlk %fp                                    
   4cb7e:	4e75           	rts                                         
    close(filsdes[0]);                                                
    }                                                                 
  unlink(fifopath);                                                   
  }                                                                   
  if(err != 0)                                                        
    rtems_set_errno_and_return_minus_one(err);                        
   4cb80:	4eb9 0004 f6e8 	jsr 4f6e8 <__errno>                         
   4cb86:	2040           	moveal %d0,%a0                              
   4cb88:	70ff           	moveq #-1,%d0                               
   4cb8a:	208c           	movel %a4,%a0@                              
  return 0;                                                           
}                                                                     
   4cb8c:	4cee 1c00 ffe4 	moveml %fp@(-28),%a2-%a4                    
   4cb92:	4e5e           	unlk %fp                                    
   4cb94:	4e75           	rts                                         
  memcpy(fifopath, "/tmp/.fifo", 10);                                 
  sprintf(fifopath + 10, "%04x", rtems_pipe_no ++);                   
                                                                      
  /* Try creating FIFO file until find an available file name */      
  while (mkfifo(fifopath, S_IRUSR|S_IWUSR) != 0) {                    
    if (errno != EEXIST){                                             
   4cb96:	4eb9 0004 f6e8 	jsr 4f6e8 <__errno>                         <== NOT EXECUTED
      return -1;                                                      
   4cb9c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  unlink(fifopath);                                                   
  }                                                                   
  if(err != 0)                                                        
    rtems_set_errno_and_return_minus_one(err);                        
  return 0;                                                           
}                                                                     
   4cb9e:	4cee 1c00 ffe4 	moveml %fp@(-28),%a2-%a4                    <== NOT EXECUTED
   4cba4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004dfb8 <pipe_ioctl>: pipe_control_t *pipe, ioctl_command_t cmd, void *buffer, rtems_libio_t *iop ) {
   4dfb8:	4e56 0000      	linkw %fp,#0                                
  if (cmd == FIONREAD) {                                              
   4dfbc:	203c 4004 667f 	movel #1074030207,%d0                       
  pipe_control_t  *pipe,                                              
  ioctl_command_t  cmd,                                               
  void            *buffer,                                            
  rtems_libio_t   *iop                                                
)                                                                     
{                                                                     
   4dfc2:	2f0b           	movel %a3,%sp@-                             
   4dfc4:	266e 0010      	moveal %fp@(16),%a3                         
   4dfc8:	2f0a           	movel %a2,%sp@-                             
   4dfca:	246e 0008      	moveal %fp@(8),%a2                          
  if (cmd == FIONREAD) {                                              
   4dfce:	b0ae 000c      	cmpl %fp@(12),%d0                           
   4dfd2:	6638           	bnes 4e00c <pipe_ioctl+0x54>                
    if (buffer == NULL)                                               
   4dfd4:	4a8b           	tstl %a3                                    
   4dfd6:	6750           	beqs 4e028 <pipe_ioctl+0x70>                
      return -EFAULT;                                                 
                                                                      
    if (! PIPE_LOCK(pipe))                                            
   4dfd8:	42a7           	clrl %sp@-                                  
   4dfda:	42a7           	clrl %sp@-                                  
   4dfdc:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4dfe0:	4eb9 0004 8df0 	jsr 48df0 <rtems_semaphore_obtain>          
   4dfe6:	4fef 000c      	lea %sp@(12),%sp                            
   4dfea:	4a80           	tstl %d0                                    
   4dfec:	662c           	bnes 4e01a <pipe_ioctl+0x62>                <== NEVER TAKEN
      return -EINTR;                                                  
                                                                      
    /* Return length of pipe */                                       
    *(unsigned int *)buffer = pipe->Length;                           
   4dfee:	26aa 000c      	movel %a2@(12),%a3@                         
    PIPE_UNLOCK(pipe);                                                
   4dff2:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4dff6:	4eb9 0004 8f48 	jsr 48f48 <rtems_semaphore_release>         
    return 0;                                                         
  }                                                                   
                                                                      
  return -EINVAL;                                                     
}                                                                     
   4dffc:	246e fff8      	moveal %fp@(-8),%a2                         
      return -EINTR;                                                  
                                                                      
    /* Return length of pipe */                                       
    *(unsigned int *)buffer = pipe->Length;                           
    PIPE_UNLOCK(pipe);                                                
    return 0;                                                         
   4e000:	588f           	addql #4,%sp                                
   4e002:	4280           	clrl %d0                                    
  }                                                                   
                                                                      
  return -EINVAL;                                                     
}                                                                     
   4e004:	266e fffc      	moveal %fp@(-4),%a3                         
   4e008:	4e5e           	unlk %fp                                    
   4e00a:	4e75           	rts                                         
   4e00c:	246e fff8      	moveal %fp@(-8),%a2                         
    *(unsigned int *)buffer = pipe->Length;                           
    PIPE_UNLOCK(pipe);                                                
    return 0;                                                         
  }                                                                   
                                                                      
  return -EINVAL;                                                     
   4e010:	70ea           	moveq #-22,%d0                              
}                                                                     
   4e012:	266e fffc      	moveal %fp@(-4),%a3                         
   4e016:	4e5e           	unlk %fp                                    
   4e018:	4e75           	rts                                         
   4e01a:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
  if (cmd == FIONREAD) {                                              
    if (buffer == NULL)                                               
      return -EFAULT;                                                 
                                                                      
    if (! PIPE_LOCK(pipe))                                            
      return -EINTR;                                                  
   4e01e:	70fc           	moveq #-4,%d0                               <== NOT EXECUTED
    PIPE_UNLOCK(pipe);                                                
    return 0;                                                         
  }                                                                   
                                                                      
  return -EINVAL;                                                     
}                                                                     
   4e020:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
   4e024:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e026:	4e75           	rts                                         <== NOT EXECUTED
   4e028:	246e fff8      	moveal %fp@(-8),%a2                         
  rtems_libio_t   *iop                                                
)                                                                     
{                                                                     
  if (cmd == FIONREAD) {                                              
    if (buffer == NULL)                                               
      return -EFAULT;                                                 
   4e02c:	70f2           	moveq #-14,%d0                              
    PIPE_UNLOCK(pipe);                                                
    return 0;                                                         
  }                                                                   
                                                                      
  return -EINVAL;                                                     
}                                                                     
   4e02e:	266e fffc      	moveal %fp@(-4),%a3                         
   4e032:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004dc04 <pipe_read>: pipe_control_t *pipe, void *buffer, size_t count, rtems_libio_t *iop ) {
   4dc04:	4e56 ffd0      	linkw %fp,#-48                              
   4dc08:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  int chunk, chunk1, read = 0, ret = 0;                               
                                                                      
  if (! PIPE_LOCK(pipe))                                              
   4dc0c:	42a7           	clrl %sp@-                                  
  pipe_control_t *pipe,                                               
  void           *buffer,                                             
  size_t          count,                                              
  rtems_libio_t  *iop                                                 
)                                                                     
{                                                                     
   4dc0e:	246e 0008      	moveal %fp@(8),%a2                          
  int chunk, chunk1, read = 0, ret = 0;                               
                                                                      
  if (! PIPE_LOCK(pipe))                                              
   4dc12:	47f9 0004 8df0 	lea 48df0 <rtems_semaphore_obtain>,%a3      
   4dc18:	42a7           	clrl %sp@-                                  
   4dc1a:	2f2a 0028      	movel %a2@(40),%sp@-                        
  pipe_control_t *pipe,                                               
  void           *buffer,                                             
  size_t          count,                                              
  rtems_libio_t  *iop                                                 
)                                                                     
{                                                                     
   4dc1e:	2a6e 0014      	moveal %fp@(20),%a5                         
  int chunk, chunk1, read = 0, ret = 0;                               
                                                                      
  if (! PIPE_LOCK(pipe))                                              
   4dc22:	4e93           	jsr %a3@                                    
   4dc24:	4fef 000c      	lea %sp@(12),%sp                            
   4dc28:	4a80           	tstl %d0                                    
   4dc2a:	6600 0178      	bnew 4dda4 <pipe_read+0x1a0>                
    return -EINTR;                                                    
                                                                      
  while (read < count) {                                              
   4dc2e:	4aae 0010      	tstl %fp@(16)                               
   4dc32:	6700 017e      	beqw 4ddb2 <pipe_read+0x1ae>                
   4dc36:	4284           	clrl %d4                                    
   4dc38:	4283           	clrl %d3                                    
   4dc3a:	49f9 0004 8f48 	lea 48f48 <rtems_semaphore_release>,%a4     
      }                                                               
                                                                      
      /* Wait until pipe is no more empty or no writer exists */      
      pipe->waitingReaders ++;                                        
      PIPE_UNLOCK(pipe);                                              
      if (! PIPE_READWAIT(pipe))                                      
   4dc40:	243c 0004 eccc 	movel #322764,%d2                           
    /* For buffering optimization */                                  
    if (PIPE_EMPTY(pipe))                                             
      pipe->Start = 0;                                                
                                                                      
    if (pipe->waitingWriters > 0)                                     
      PIPE_WAKEUPWRITERS(pipe);                                       
   4dc46:	2c3c 0004 ec70 	movel #322672,%d6                           
    if (chunk > chunk1) {                                             
      memcpy(buffer + read, pipe->Buffer + pipe->Start, chunk1);      
      memcpy(buffer + read + chunk1, pipe->Buffer, chunk - chunk1);   
    }                                                                 
    else                                                              
      memcpy(buffer + read, pipe->Buffer + pipe->Start, chunk);       
   4dc4c:	2a3c 0005 0cd4 	movel #330964,%d5                           
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    return -EINTR;                                                    
                                                                      
  while (read < count) {                                              
    while (PIPE_EMPTY(pipe)) {                                        
   4dc52:	222a 000c      	movel %a2@(12),%d1                          
   4dc56:	6676           	bnes 4dcce <pipe_read+0xca>                 
      /* Not an error */                                              
      if (pipe->Writers == 0)                                         
   4dc58:	4aaa 0014      	tstl %a2@(20)                               
   4dc5c:	6700 0104      	beqw 4dd62 <pipe_read+0x15e>                
        goto out_locked;                                              
                                                                      
      if (LIBIO_NODELAY(iop)) {                                       
   4dc60:	7001           	moveq #1,%d0                                
   4dc62:	c0ad 000c      	andl %a5@(12),%d0                           
   4dc66:	6600 0108      	bnew 4dd70 <pipe_read+0x16c>                
        goto out_locked;                                              
      }                                                               
                                                                      
      /* Wait until pipe is no more empty or no writer exists */      
      pipe->waitingReaders ++;                                        
      PIPE_UNLOCK(pipe);                                              
   4dc6a:	2f2a 0028      	movel %a2@(40),%sp@-                        
        ret = -EAGAIN;                                                
        goto out_locked;                                              
      }                                                               
                                                                      
      /* Wait until pipe is no more empty or no writer exists */      
      pipe->waitingReaders ++;                                        
   4dc6e:	52aa 0018      	addql #1,%a2@(24)                           
      PIPE_UNLOCK(pipe);                                              
   4dc72:	4e94           	jsr %a4@                                    
      if (! PIPE_READWAIT(pipe))                                      
   4dc74:	2042           	moveal %d2,%a0                              
   4dc76:	42a7           	clrl %sp@-                                  
   4dc78:	2f2a 002c      	movel %a2@(44),%sp@-                        
   4dc7c:	4e90           	jsr %a0@                                    
   4dc7e:	4fef 000c      	lea %sp@(12),%sp                            
   4dc82:	4a80           	tstl %d0                                    
   4dc84:	6636           	bnes 4dcbc <pipe_read+0xb8>                 <== NEVER TAKEN
   4dc86:	4287           	clrl %d7                                    
        ret = -EINTR;                                                 
      if (! PIPE_LOCK(pipe)) {                                        
   4dc88:	42a7           	clrl %sp@-                                  
   4dc8a:	42a7           	clrl %sp@-                                  
   4dc8c:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4dc90:	4e93           	jsr %a3@                                    
   4dc92:	4fef 000c      	lea %sp@(12),%sp                            
   4dc96:	4a80           	tstl %d0                                    
   4dc98:	6600 00e4      	bnew 4dd7e <pipe_read+0x17a>                
        /* WARN waitingReaders not restored! */                       
        ret = -EINTR;                                                 
        goto out_nolock;                                              
      }                                                               
      pipe->waitingReaders --;                                        
   4dc9c:	53aa 0018      	subql #1,%a2@(24)                           
      if (ret != 0)                                                   
   4dca0:	4a87           	tstl %d7                                    
   4dca2:	67ae           	beqs 4dc52 <pipe_read+0x4e>                 <== ALWAYS TAKEN
      PIPE_WAKEUPWRITERS(pipe);                                       
    read += chunk;                                                    
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4dca4:	2f2a 0028      	movel %a2@(40),%sp@-                        <== NOT EXECUTED
   4dca8:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   4dcaa:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
out_nolock:                                                           
  if (read > 0)                                                       
   4dcac:	4a83           	tstl %d3                                    
   4dcae:	6f10           	bles 4dcc0 <pipe_read+0xbc>                 
    return read;                                                      
  return ret;                                                         
}                                                                     
   4dcb0:	2003           	movel %d3,%d0                               
   4dcb2:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   4dcb8:	4e5e           	unlk %fp                                    
   4dcba:	4e75           	rts                                         
                                                                      
      /* Wait until pipe is no more empty or no writer exists */      
      pipe->waitingReaders ++;                                        
      PIPE_UNLOCK(pipe);                                              
      if (! PIPE_READWAIT(pipe))                                      
        ret = -EINTR;                                                 
   4dcbc:	7efc           	moveq #-4,%d7                               <== NOT EXECUTED
   4dcbe:	60c8           	bras 4dc88 <pipe_read+0x84>                 <== NOT EXECUTED
  PIPE_UNLOCK(pipe);                                                  
                                                                      
out_nolock:                                                           
  if (read > 0)                                                       
    return read;                                                      
  return ret;                                                         
   4dcc0:	2607           	movel %d7,%d3                               
}                                                                     
   4dcc2:	2003           	movel %d3,%d0                               
   4dcc4:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   4dcca:	4e5e           	unlk %fp                                    
   4dccc:	4e75           	rts                                         
      if (ret != 0)                                                   
        goto out_locked;                                              
    }                                                                 
                                                                      
    /* Read chunk bytes */                                            
    chunk = MIN(count - read,  pipe->Length);                         
   4dcce:	202e 0010      	movel %fp@(16),%d0                          
   4dcd2:	2e01           	movel %d1,%d7                               
   4dcd4:	9084           	subl %d4,%d0                                
   4dcd6:	b081           	cmpl %d1,%d0                                
   4dcd8:	6402           	bccs 4dcdc <pipe_read+0xd8>                 
   4dcda:	2e00           	movel %d0,%d7                               
    chunk1 = pipe->Size - pipe->Start;                                
   4dcdc:	202a 0008      	movel %a2@(8),%d0                           
   4dce0:	222a 0004      	movel %a2@(4),%d1                           
   4dce4:	9280           	subl %d0,%d1                                
    if (chunk > chunk1) {                                             
   4dce6:	b287           	cmpl %d7,%d1                                
   4dce8:	6c00 00a0      	bgew 4dd8a <pipe_read+0x186>                
      memcpy(buffer + read, pipe->Buffer + pipe->Start, chunk1);      
   4dcec:	2f01           	movel %d1,%sp@-                             
   4dcee:	d092           	addl %a2@,%d0                               
   4dcf0:	206e 000c      	moveal %fp@(12),%a0                         
   4dcf4:	2f00           	movel %d0,%sp@-                             
   4dcf6:	4870 4800      	pea %a0@(00000000,%d4:l)                    
   4dcfa:	2045           	moveal %d5,%a0                              
   4dcfc:	2d41 fff8      	movel %d1,%fp@(-8)                          
   4dd00:	4e90           	jsr %a0@                                    
      memcpy(buffer + read + chunk1, pipe->Buffer, chunk - chunk1);   
   4dd02:	222e fff8      	movel %fp@(-8),%d1                          
   4dd06:	2007           	movel %d7,%d0                               
   4dd08:	9081           	subl %d1,%d0                                
   4dd0a:	d881           	addl %d1,%d4                                
   4dd0c:	2f00           	movel %d0,%sp@-                             
   4dd0e:	2f12           	movel %a2@,%sp@-                            
   4dd10:	206e 000c      	moveal %fp@(12),%a0                         
   4dd14:	4870 4800      	pea %a0@(00000000,%d4:l)                    
   4dd18:	2045           	moveal %d5,%a0                              
   4dd1a:	4e90           	jsr %a0@                                    
   4dd1c:	4fef 0018      	lea %sp@(24),%sp                            
    }                                                                 
    else                                                              
      memcpy(buffer + read, pipe->Buffer + pipe->Start, chunk);       
                                                                      
    pipe->Start += chunk;                                             
   4dd20:	2207           	movel %d7,%d1                               
   4dd22:	d2aa 0008      	addl %a2@(8),%d1                            
    pipe->Start %= pipe->Size;                                        
    pipe->Length -= chunk;                                            
   4dd26:	202a 000c      	movel %a2@(12),%d0                          
   4dd2a:	9087           	subl %d7,%d0                                
    }                                                                 
    else                                                              
      memcpy(buffer + read, pipe->Buffer + pipe->Start, chunk);       
                                                                      
    pipe->Start += chunk;                                             
    pipe->Start %= pipe->Size;                                        
   4dd2c:	4c6a 1004 0004 	remul %a2@(4),%d4,%d1                       
    pipe->Length -= chunk;                                            
   4dd32:	2540 000c      	movel %d0,%a2@(12)                          
    }                                                                 
    else                                                              
      memcpy(buffer + read, pipe->Buffer + pipe->Start, chunk);       
                                                                      
    pipe->Start += chunk;                                             
    pipe->Start %= pipe->Size;                                        
   4dd36:	2544 0008      	movel %d4,%a2@(8)                           
    pipe->Length -= chunk;                                            
    /* For buffering optimization */                                  
    if (PIPE_EMPTY(pipe))                                             
   4dd3a:	4a80           	tstl %d0                                    
   4dd3c:	6604           	bnes 4dd42 <pipe_read+0x13e>                
      pipe->Start = 0;                                                
   4dd3e:	42aa 0008      	clrl %a2@(8)                                
                                                                      
    if (pipe->waitingWriters > 0)                                     
   4dd42:	4aaa 001c      	tstl %a2@(28)                               
   4dd46:	670e           	beqs 4dd56 <pipe_read+0x152>                
      PIPE_WAKEUPWRITERS(pipe);                                       
   4dd48:	486e fffc      	pea %fp@(-4)                                
   4dd4c:	2046           	moveal %d6,%a0                              
   4dd4e:	2f2a 0030      	movel %a2@(48),%sp@-                        
   4dd52:	4e90           	jsr %a0@                                    
   4dd54:	508f           	addql #8,%sp                                
    read += chunk;                                                    
   4dd56:	d687           	addl %d7,%d3                                
  int chunk, chunk1, read = 0, ret = 0;                               
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    return -EINTR;                                                    
                                                                      
  while (read < count) {                                              
   4dd58:	2803           	movel %d3,%d4                               
   4dd5a:	b6ae 0010      	cmpl %fp@(16),%d3                           
   4dd5e:	6500 fef2      	bcsw 4dc52 <pipe_read+0x4e>                 
      PIPE_WAKEUPWRITERS(pipe);                                       
    read += chunk;                                                    
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4dd62:	2f2a 0028      	movel %a2@(40),%sp@-                        
    return -EINTR;                                                    
                                                                      
  while (read < count) {                                              
    while (PIPE_EMPTY(pipe)) {                                        
      /* Not an error */                                              
      if (pipe->Writers == 0)                                         
   4dd66:	4287           	clrl %d7                                    
      PIPE_WAKEUPWRITERS(pipe);                                       
    read += chunk;                                                    
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4dd68:	4e94           	jsr %a4@                                    
   4dd6a:	588f           	addql #4,%sp                                
   4dd6c:	6000 ff3e      	braw 4dcac <pipe_read+0xa8>                 
   4dd70:	2f2a 0028      	movel %a2@(40),%sp@-                        
      /* Not an error */                                              
      if (pipe->Writers == 0)                                         
        goto out_locked;                                              
                                                                      
      if (LIBIO_NODELAY(iop)) {                                       
        ret = -EAGAIN;                                                
   4dd74:	7ef5           	moveq #-11,%d7                              
      PIPE_WAKEUPWRITERS(pipe);                                       
    read += chunk;                                                    
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4dd76:	4e94           	jsr %a4@                                    
   4dd78:	588f           	addql #4,%sp                                
   4dd7a:	6000 ff30      	braw 4dcac <pipe_read+0xa8>                 
      PIPE_UNLOCK(pipe);                                              
      if (! PIPE_READWAIT(pipe))                                      
        ret = -EINTR;                                                 
      if (! PIPE_LOCK(pipe)) {                                        
        /* WARN waitingReaders not restored! */                       
        ret = -EINTR;                                                 
   4dd7e:	7efc           	moveq #-4,%d7                               <== NOT EXECUTED
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
                                                                      
out_nolock:                                                           
  if (read > 0)                                                       
   4dd80:	4a83           	tstl %d3                                    <== NOT EXECUTED
   4dd82:	6e00 ff2c      	bgtw 4dcb0 <pipe_read+0xac>                 <== NOT EXECUTED
   4dd86:	6000 ff38      	braw 4dcc0 <pipe_read+0xbc>                 <== NOT EXECUTED
    if (chunk > chunk1) {                                             
      memcpy(buffer + read, pipe->Buffer + pipe->Start, chunk1);      
      memcpy(buffer + read + chunk1, pipe->Buffer, chunk - chunk1);   
    }                                                                 
    else                                                              
      memcpy(buffer + read, pipe->Buffer + pipe->Start, chunk);       
   4dd8a:	2f07           	movel %d7,%sp@-                             
   4dd8c:	d092           	addl %a2@,%d0                               
   4dd8e:	206e 000c      	moveal %fp@(12),%a0                         
   4dd92:	2f00           	movel %d0,%sp@-                             
   4dd94:	4870 4800      	pea %a0@(00000000,%d4:l)                    
   4dd98:	2045           	moveal %d5,%a0                              
   4dd9a:	4e90           	jsr %a0@                                    
   4dd9c:	4fef 000c      	lea %sp@(12),%sp                            
   4dda0:	6000 ff7e      	braw 4dd20 <pipe_read+0x11c>                
)                                                                     
{                                                                     
  int chunk, chunk1, read = 0, ret = 0;                               
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    return -EINTR;                                                    
   4dda4:	76fc           	moveq #-4,%d3                               <== NOT EXECUTED
                                                                      
out_nolock:                                                           
  if (read > 0)                                                       
    return read;                                                      
  return ret;                                                         
}                                                                     
   4dda6:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   4dda8:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4ddae:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4ddb0:	4e75           	rts                                         <== NOT EXECUTED
      PIPE_WAKEUPWRITERS(pipe);                                       
    read += chunk;                                                    
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4ddb2:	2f2a 0028      	movel %a2@(40),%sp@-                        <== NOT EXECUTED
   4ddb6:	49f9 0004 8f48 	lea 48f48 <rtems_semaphore_release>,%a4     <== NOT EXECUTED
  int chunk, chunk1, read = 0, ret = 0;                               
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    return -EINTR;                                                    
                                                                      
  while (read < count) {                                              
   4ddbc:	4283           	clrl %d3                                    <== NOT EXECUTED
   4ddbe:	4287           	clrl %d7                                    <== NOT EXECUTED
      PIPE_WAKEUPWRITERS(pipe);                                       
    read += chunk;                                                    
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4ddc0:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   4ddc2:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4ddc4:	6000 fee6      	braw 4dcac <pipe_read+0xa8>                 <== NOT EXECUTED
                                                                      

0004d69c <pipe_release>: void pipe_release( pipe_control_t **pipep, rtems_libio_t *iop ) {
   4d69c:	4e56 ffe8      	linkw %fp,#-24                              
    /* WARN pipe not released! */                                     
    if (!PIPE_LOCK(pipe))                                             
      rtems_fatal_error_occurred(0xdeadbeef);                         
  #endif                                                              
                                                                      
  mode = LIBIO_ACCMODE(iop);                                          
   4d6a0:	206e 000c      	moveal %fp@(12),%a0                         
                                                                      
void pipe_release(                                                    
  pipe_control_t **pipep,                                             
  rtems_libio_t *iop                                                  
)                                                                     
{                                                                     
   4d6a4:	48d7 3c04      	moveml %d2/%a2-%a5,%sp@                     
   4d6a8:	286e 0008      	moveal %fp@(8),%a4                          
    /* WARN pipe not released! */                                     
    if (!PIPE_LOCK(pipe))                                             
      rtems_fatal_error_occurred(0xdeadbeef);                         
  #endif                                                              
                                                                      
  mode = LIBIO_ACCMODE(iop);                                          
   4d6ac:	7406           	moveq #6,%d2                                
   4d6ae:	2028 000c      	movel %a0@(12),%d0                          
void pipe_release(                                                    
  pipe_control_t **pipep,                                             
  rtems_libio_t *iop                                                  
)                                                                     
{                                                                     
  pipe_control_t *pipe = *pipep;                                      
   4d6b2:	2454           	moveal %a4@,%a2                             
    /* WARN pipe not released! */                                     
    if (!PIPE_LOCK(pipe))                                             
      rtems_fatal_error_occurred(0xdeadbeef);                         
  #endif                                                              
                                                                      
  mode = LIBIO_ACCMODE(iop);                                          
   4d6b4:	c480           	andl %d0,%d2                                
  if (mode & LIBIO_FLAGS_READ)                                        
   4d6b6:	0800 0001      	btst #1,%d0                                 
   4d6ba:	6704           	beqs 4d6c0 <pipe_release+0x24>              
     pipe->Readers --;                                                
   4d6bc:	53aa 0010      	subql #1,%a2@(16)                           
  if (mode & LIBIO_FLAGS_WRITE)                                       
   4d6c0:	44c0           	movew %d0,%ccr                              
   4d6c2:	6604           	bnes 4d6c8 <pipe_release+0x2c>              
     pipe->Writers --;                                                
   4d6c4:	53aa 0014      	subql #1,%a2@(20)                           
                                                                      
  PIPE_UNLOCK(pipe);                                                  
   4d6c8:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4d6cc:	47f9 0004 8f48 	lea 48f48 <rtems_semaphore_release>,%a3     
   4d6d2:	4e93           	jsr %a3@                                    
                                                                      
  if (pipe->Readers == 0 && pipe->Writers == 0) {                     
   4d6d4:	588f           	addql #4,%sp                                
   4d6d6:	4aaa 0010      	tstl %a2@(16)                               
   4d6da:	6730           	beqs 4d70c <pipe_release+0x70>              
    *pipep = NULL;                                                    
  }                                                                   
  else if (pipe->Readers == 0 && mode != LIBIO_FLAGS_WRITE)           
    /* Notify waiting Writers that all their partners left */         
    PIPE_WAKEUPWRITERS(pipe);                                         
  else if (pipe->Writers == 0 && mode != LIBIO_FLAGS_READ)            
   4d6dc:	4aaa 0014      	tstl %a2@(20)                               
   4d6e0:	6616           	bnes 4d6f8 <pipe_release+0x5c>              <== NEVER TAKEN
   4d6e2:	7002           	moveq #2,%d0                                
   4d6e4:	b082           	cmpl %d2,%d0                                
   4d6e6:	6710           	beqs 4d6f8 <pipe_release+0x5c>              <== NEVER TAKEN
    PIPE_WAKEUPREADERS(pipe);                                         
   4d6e8:	486e fffc      	pea %fp@(-4)                                
   4d6ec:	2f2a 002c      	movel %a2@(44),%sp@-                        
   4d6f0:	4eb9 0004 ec70 	jsr 4ec70 <rtems_barrier_release>           
   4d6f6:	508f           	addql #8,%sp                                
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4d6f8:	2f39 0006 1718 	movel 61718 <pipe_semaphore>,%sp@-          
   4d6fe:	4e93           	jsr %a3@                                    
   4d700:	588f           	addql #4,%sp                                
  iop->flags &= ~LIBIO_FLAGS_OPEN;                                    
  if(iop->pathinfo.ops->unlink_h(&iop->pathinfo))                     
    return;                                                           
#endif                                                                
                                                                      
}                                                                     
   4d702:	4cee 3c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a5                
   4d708:	4e5e           	unlk %fp                                    
   4d70a:	4e75           	rts                                         
  if (mode & LIBIO_FLAGS_WRITE)                                       
     pipe->Writers --;                                                
                                                                      
  PIPE_UNLOCK(pipe);                                                  
                                                                      
  if (pipe->Readers == 0 && pipe->Writers == 0) {                     
   4d70c:	4aaa 0014      	tstl %a2@(20)                               
   4d710:	672a           	beqs 4d73c <pipe_release+0xa0>              
      delfile = TRUE;                                                 
#endif                                                                
    pipe_free(pipe);                                                  
    *pipep = NULL;                                                    
  }                                                                   
  else if (pipe->Readers == 0 && mode != LIBIO_FLAGS_WRITE)           
   4d712:	7004           	moveq #4,%d0                                
   4d714:	b082           	cmpl %d2,%d0                                
   4d716:	67e0           	beqs 4d6f8 <pipe_release+0x5c>              <== NEVER TAKEN
    /* Notify waiting Writers that all their partners left */         
    PIPE_WAKEUPWRITERS(pipe);                                         
   4d718:	486e fffc      	pea %fp@(-4)                                
   4d71c:	2f2a 0030      	movel %a2@(48),%sp@-                        
   4d720:	4eb9 0004 ec70 	jsr 4ec70 <rtems_barrier_release>           
   4d726:	508f           	addql #8,%sp                                
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4d728:	2f39 0006 1718 	movel 61718 <pipe_semaphore>,%sp@-          
   4d72e:	4e93           	jsr %a3@                                    
   4d730:	588f           	addql #4,%sp                                
  iop->flags &= ~LIBIO_FLAGS_OPEN;                                    
  if(iop->pathinfo.ops->unlink_h(&iop->pathinfo))                     
    return;                                                           
#endif                                                                
                                                                      
}                                                                     
   4d732:	4cee 3c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a5                
   4d738:	4e5e           	unlk %fp                                    
   4d73a:	4e75           	rts                                         
/* Called with pipe_semaphore held. */                                
static inline void pipe_free(                                         
  pipe_control_t *pipe                                                
)                                                                     
{                                                                     
  rtems_barrier_delete(pipe->readBarrier);                            
   4d73c:	2f2a 002c      	movel %a2@(44),%sp@-                        
  rtems_barrier_delete(pipe->writeBarrier);                           
  rtems_semaphore_delete(pipe->Semaphore);                            
  free(pipe->Buffer);                                                 
   4d740:	4bf9 0004 4394 	lea 44394 <free>,%a5                        
/* Called with pipe_semaphore held. */                                
static inline void pipe_free(                                         
  pipe_control_t *pipe                                                
)                                                                     
{                                                                     
  rtems_barrier_delete(pipe->readBarrier);                            
   4d746:	243c 0004 ebcc 	movel #322508,%d2                           
   4d74c:	2042           	moveal %d2,%a0                              
   4d74e:	4e90           	jsr %a0@                                    
  rtems_barrier_delete(pipe->writeBarrier);                           
   4d750:	2f2a 0030      	movel %a2@(48),%sp@-                        
   4d754:	2042           	moveal %d2,%a0                              
   4d756:	4e90           	jsr %a0@                                    
  rtems_semaphore_delete(pipe->Semaphore);                            
   4d758:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4d75c:	4eb9 0004 8d18 	jsr 48d18 <rtems_semaphore_delete>          
  free(pipe->Buffer);                                                 
   4d762:	2f12           	movel %a2@,%sp@-                            
   4d764:	4e95           	jsr %a5@                                    
  free(pipe);                                                         
   4d766:	2f0a           	movel %a2,%sp@-                             
   4d768:	4e95           	jsr %a5@                                    
    /* To delete an anonymous pipe file when all users closed it */   
    if (pipe->Anonymous)                                              
      delfile = TRUE;                                                 
#endif                                                                
    pipe_free(pipe);                                                  
    *pipep = NULL;                                                    
   4d76a:	4fef 0014      	lea %sp@(20),%sp                            
   4d76e:	4294           	clrl %a4@                                   
#ifdef RTEMS_DEBUG                                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc =                                                                
#endif                                                                
   rtems_semaphore_release(pipe_semaphore);                           
   4d770:	2f39 0006 1718 	movel 61718 <pipe_semaphore>,%sp@-          
   4d776:	4e93           	jsr %a3@                                    
   4d778:	588f           	addql #4,%sp                                
  iop->flags &= ~LIBIO_FLAGS_OPEN;                                    
  if(iop->pathinfo.ops->unlink_h(&iop->pathinfo))                     
    return;                                                           
#endif                                                                
                                                                      
}                                                                     
   4d77a:	4cee 3c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a5                
   4d780:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004ddc8 <pipe_write>: pipe_control_t *pipe, const void *buffer, size_t count, rtems_libio_t *iop ) {
   4ddc8:	4e56 ffd4      	linkw %fp,#-44                              
   4ddcc:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4ddd0:	246e 0008      	moveal %fp@(8),%a2                          
  int chunk, chunk1, written = 0, ret = 0;                            
                                                                      
  /* Write nothing */                                                 
  if (count == 0)                                                     
   4ddd4:	4aae 0010      	tstl %fp@(16)                               
   4ddd8:	660e           	bnes 4dde8 <pipe_write+0x20>                <== ALWAYS TAKEN
    return 0;                                                         
   4ddda:	4283           	clrl %d3                                    <== NOT EXECUTED
#endif                                                                
                                                                      
  if (written > 0)                                                    
    return written;                                                   
  return ret;                                                         
}                                                                     
   4dddc:	2003           	movel %d3,%d0                               
   4ddde:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   4dde4:	4e5e           	unlk %fp                                    
   4dde6:	4e75           	rts                                         
                                                                      
  /* Write nothing */                                                 
  if (count == 0)                                                     
    return 0;                                                         
                                                                      
  if (! PIPE_LOCK(pipe))                                              
   4dde8:	42a7           	clrl %sp@-                                  
   4ddea:	47f9 0004 8df0 	lea 48df0 <rtems_semaphore_obtain>,%a3      
   4ddf0:	42a7           	clrl %sp@-                                  
   4ddf2:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4ddf6:	4e93           	jsr %a3@                                    
   4ddf8:	4fef 000c      	lea %sp@(12),%sp                            
   4ddfc:	4a80           	tstl %d0                                    
   4ddfe:	6600 0188      	bnew 4df88 <pipe_write+0x1c0>               
    return -EINTR;                                                    
                                                                      
  if (pipe->Readers == 0) {                                           
   4de02:	4aaa 0010      	tstl %a2@(16)                               
   4de06:	6700 00dc      	beqw 4dee4 <pipe_write+0x11c>               
    ret = -EPIPE;                                                     
    goto out_locked;                                                  
  }                                                                   
                                                                      
  /* Write of PIPE_BUF bytes or less shall not be interleaved */      
  chunk = count <= pipe->Size ? count : 1;                            
   4de0a:	202a 0004      	movel %a2@(4),%d0                           
   4de0e:	b0ae 0010      	cmpl %fp@(16),%d0                           
   4de12:	6500 0082      	bcsw 4de96 <pipe_write+0xce>                
   4de16:	282e 0010      	movel %fp@(16),%d4                          
   4de1a:	4285           	clrl %d5                                    
   4de1c:	4283           	clrl %d3                                    
   4de1e:	49f9 0004 8f48 	lea 48f48 <rtems_semaphore_release>,%a4     
      }                                                               
                                                                      
      /* Wait until there is chunk bytes space or no reader exists */ 
      pipe->waitingWriters ++;                                        
      PIPE_UNLOCK(pipe);                                              
      if (! PIPE_WRITEWAIT(pipe))                                     
   4de24:	4bf9 0004 eccc 	lea 4eccc <rtems_barrier_wait>,%a5          
    else                                                              
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk);
                                                                      
    pipe->Length += chunk;                                            
    if (pipe->waitingReaders > 0)                                     
      PIPE_WAKEUPREADERS(pipe);                                       
   4de2a:	2e3c 0004 ec70 	movel #322672,%d7                           
    if (chunk > chunk1) {                                             
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk1);
      memcpy(pipe->Buffer, buffer + written + chunk1, chunk - chunk1);
    }                                                                 
    else                                                              
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk);
   4de30:	2c3c 0005 0cd4 	movel #330964,%d6                           
                                                                      
  /* Write of PIPE_BUF bytes or less shall not be interleaved */      
  chunk = count <= pipe->Size ? count : 1;                            
                                                                      
  while (written < count) {                                           
    while (PIPE_SPACE(pipe) < chunk) {                                
   4de36:	222a 000c      	movel %a2@(12),%d1                          
   4de3a:	2240           	moveal %d0,%a1                              
   4de3c:	93c1           	subal %d1,%a1                               
   4de3e:	b889           	cmpl %a1,%d4                                
   4de40:	6300 00b6      	blsw 4def8 <pipe_write+0x130>               
      if (LIBIO_NODELAY(iop)) {                                       
   4de44:	206e 0014      	moveal %fp@(20),%a0                         
   4de48:	7001           	moveq #1,%d0                                
   4de4a:	c0a8 000c      	andl %a0@(12),%d0                           
   4de4e:	6600 0124      	bnew 4df74 <pipe_write+0x1ac>               
        goto out_locked;                                              
      }                                                               
                                                                      
      /* Wait until there is chunk bytes space or no reader exists */ 
      pipe->waitingWriters ++;                                        
      PIPE_UNLOCK(pipe);                                              
   4de52:	2f2a 0028      	movel %a2@(40),%sp@-                        
        ret = -EAGAIN;                                                
        goto out_locked;                                              
      }                                                               
                                                                      
      /* Wait until there is chunk bytes space or no reader exists */ 
      pipe->waitingWriters ++;                                        
   4de56:	52aa 001c      	addql #1,%a2@(28)                           
      PIPE_UNLOCK(pipe);                                              
   4de5a:	4e94           	jsr %a4@                                    
      if (! PIPE_WRITEWAIT(pipe))                                     
   4de5c:	42a7           	clrl %sp@-                                  
   4de5e:	2f2a 0030      	movel %a2@(48),%sp@-                        
   4de62:	4e95           	jsr %a5@                                    
   4de64:	4fef 000c      	lea %sp@(12),%sp                            
   4de68:	4a80           	tstl %d0                                    
   4de6a:	664a           	bnes 4deb6 <pipe_write+0xee>                <== NEVER TAKEN
   4de6c:	4282           	clrl %d2                                    
        ret = -EINTR;                                                 
      if (! PIPE_LOCK(pipe)) {                                        
   4de6e:	42a7           	clrl %sp@-                                  
   4de70:	42a7           	clrl %sp@-                                  
   4de72:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4de76:	4e93           	jsr %a3@                                    
   4de78:	4fef 000c      	lea %sp@(12),%sp                            
   4de7c:	4a80           	tstl %d0                                    
   4de7e:	6600 0102      	bnew 4df82 <pipe_write+0x1ba>               
        /* WARN waitingWriters not restored! */                       
        ret = -EINTR;                                                 
        goto out_nolock;                                              
      }                                                               
      pipe->waitingWriters --;                                        
   4de82:	53aa 001c      	subql #1,%a2@(28)                           
      if (ret != 0)                                                   
   4de86:	4a82           	tstl %d2                                    
   4de88:	6632           	bnes 4debc <pipe_write+0xf4>                <== NEVER TAKEN
        goto out_locked;                                              
                                                                      
      if (pipe->Readers == 0) {                                       
   4de8a:	4aaa 0010      	tstl %a2@(16)                               
   4de8e:	6748           	beqs 4ded8 <pipe_write+0x110>               <== NEVER TAKEN
   4de90:	202a 0004      	movel %a2@(4),%d0                           
   4de94:	60a0           	bras 4de36 <pipe_write+0x6e>                
    ret = -EPIPE;                                                     
    goto out_locked;                                                  
  }                                                                   
                                                                      
  /* Write of PIPE_BUF bytes or less shall not be interleaved */      
  chunk = count <= pipe->Size ? count : 1;                            
   4de96:	7801           	moveq #1,%d4                                <== NOT EXECUTED
   4de98:	4285           	clrl %d5                                    <== NOT EXECUTED
   4de9a:	4283           	clrl %d3                                    <== NOT EXECUTED
   4de9c:	49f9 0004 8f48 	lea 48f48 <rtems_semaphore_release>,%a4     <== NOT EXECUTED
      }                                                               
                                                                      
      /* Wait until there is chunk bytes space or no reader exists */ 
      pipe->waitingWriters ++;                                        
      PIPE_UNLOCK(pipe);                                              
      if (! PIPE_WRITEWAIT(pipe))                                     
   4dea2:	4bf9 0004 eccc 	lea 4eccc <rtems_barrier_wait>,%a5          <== NOT EXECUTED
    else                                                              
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk);
                                                                      
    pipe->Length += chunk;                                            
    if (pipe->waitingReaders > 0)                                     
      PIPE_WAKEUPREADERS(pipe);                                       
   4dea8:	2e3c 0004 ec70 	movel #322672,%d7                           <== NOT EXECUTED
    if (chunk > chunk1) {                                             
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk1);
      memcpy(pipe->Buffer, buffer + written + chunk1, chunk - chunk1);
    }                                                                 
    else                                                              
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk);
   4deae:	2c3c 0005 0cd4 	movel #330964,%d6                           <== NOT EXECUTED
   4deb4:	6080           	bras 4de36 <pipe_write+0x6e>                <== NOT EXECUTED
                                                                      
      /* Wait until there is chunk bytes space or no reader exists */ 
      pipe->waitingWriters ++;                                        
      PIPE_UNLOCK(pipe);                                              
      if (! PIPE_WRITEWAIT(pipe))                                     
        ret = -EINTR;                                                 
   4deb6:	74fc           	moveq #-4,%d2                               <== NOT EXECUTED
   4deb8:	60b4           	bras 4de6e <pipe_write+0xa6>                <== NOT EXECUTED
  }                                                                   
                                                                      
  /* Write of PIPE_BUF bytes or less shall not be interleaved */      
  chunk = count <= pipe->Size ? count : 1;                            
                                                                      
  while (written < count) {                                           
   4deba:	4282           	clrl %d2                                    
    /* Write of more than PIPE_BUF bytes can be interleaved */        
    chunk = 1;                                                        
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4debc:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4dec0:	4e94           	jsr %a4@                                    
   4dec2:	588f           	addql #4,%sp                                
  /* Signal SIGPIPE */                                                
  if (ret == -EPIPE)                                                  
    kill(getpid(), SIGPIPE);                                          
#endif                                                                
                                                                      
  if (written > 0)                                                    
   4dec4:	4a83           	tstl %d3                                    
   4dec6:	6e00 ff14      	bgtw 4dddc <pipe_write+0x14>                
    return written;                                                   
  return ret;                                                         
   4deca:	2602           	movel %d2,%d3                               
}                                                                     
   4decc:	2003           	movel %d3,%d0                               
   4dece:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   4ded4:	4e5e           	unlk %fp                                    
   4ded6:	4e75           	rts                                         
    /* Write of more than PIPE_BUF bytes can be interleaved */        
    chunk = 1;                                                        
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4ded8:	2f2a 0028      	movel %a2@(40),%sp@-                        <== NOT EXECUTED
      pipe->waitingWriters --;                                        
      if (ret != 0)                                                   
        goto out_locked;                                              
                                                                      
      if (pipe->Readers == 0) {                                       
        ret = -EPIPE;                                                 
   4dedc:	74e0           	moveq #-32,%d2                              <== NOT EXECUTED
    /* Write of more than PIPE_BUF bytes can be interleaved */        
    chunk = 1;                                                        
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4dede:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   4dee0:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4dee2:	60e0           	bras 4dec4 <pipe_write+0xfc>                <== NOT EXECUTED
   4dee4:	2f2a 0028      	movel %a2@(40),%sp@-                        
   4dee8:	49f9 0004 8f48 	lea 48f48 <rtems_semaphore_release>,%a4     
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    return -EINTR;                                                    
                                                                      
  if (pipe->Readers == 0) {                                           
    ret = -EPIPE;                                                     
   4deee:	74e0           	moveq #-32,%d2                              
  const void     *buffer,                                             
  size_t          count,                                              
  rtems_libio_t  *iop                                                 
)                                                                     
{                                                                     
  int chunk, chunk1, written = 0, ret = 0;                            
   4def0:	4283           	clrl %d3                                    
    /* Write of more than PIPE_BUF bytes can be interleaved */        
    chunk = 1;                                                        
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4def2:	4e94           	jsr %a4@                                    
   4def4:	588f           	addql #4,%sp                                
   4def6:	60cc           	bras 4dec4 <pipe_write+0xfc>                
        ret = -EPIPE;                                                 
        goto out_locked;                                              
      }                                                               
    }                                                                 
                                                                      
    chunk = MIN(count - written, PIPE_SPACE(pipe));                   
   4def8:	282e 0010      	movel %fp@(16),%d4                          
   4defc:	2409           	movel %a1,%d2                               
   4defe:	9885           	subl %d5,%d4                                
   4df00:	b889           	cmpl %a1,%d4                                
   4df02:	6402           	bccs 4df06 <pipe_write+0x13e>               
   4df04:	2404           	movel %d4,%d2                               
    chunk1 = pipe->Size - PIPE_WSTART(pipe);                          
   4df06:	2801           	movel %d1,%d4                               
   4df08:	d8aa 0008      	addl %a2@(8),%d4                            
   4df0c:	4c40 4001      	remul %d0,%d1,%d4                           
   4df10:	2800           	movel %d0,%d4                               
   4df12:	9881           	subl %d1,%d4                                
    if (chunk > chunk1) {                                             
   4df14:	b882           	cmpl %d2,%d4                                
   4df16:	6c7e           	bges 4df96 <pipe_write+0x1ce>               
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk1);
   4df18:	206e 000c      	moveal %fp@(12),%a0                         
   4df1c:	2f04           	movel %d4,%sp@-                             
   4df1e:	4870 5800      	pea %a0@(00000000,%d5:l)                    
   4df22:	d292           	addl %a2@,%d1                               
   4df24:	2046           	moveal %d6,%a0                              
      memcpy(pipe->Buffer, buffer + written + chunk1, chunk - chunk1);
   4df26:	da84           	addl %d4,%d5                                
    }                                                                 
                                                                      
    chunk = MIN(count - written, PIPE_SPACE(pipe));                   
    chunk1 = pipe->Size - PIPE_WSTART(pipe);                          
    if (chunk > chunk1) {                                             
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk1);
   4df28:	2f01           	movel %d1,%sp@-                             
   4df2a:	4e90           	jsr %a0@                                    
      memcpy(pipe->Buffer, buffer + written + chunk1, chunk - chunk1);
   4df2c:	206e 000c      	moveal %fp@(12),%a0                         
   4df30:	2002           	movel %d2,%d0                               
   4df32:	9084           	subl %d4,%d0                                
   4df34:	2f00           	movel %d0,%sp@-                             
   4df36:	4870 5800      	pea %a0@(00000000,%d5:l)                    
   4df3a:	2046           	moveal %d6,%a0                              
   4df3c:	2f12           	movel %a2@,%sp@-                            
   4df3e:	4e90           	jsr %a0@                                    
   4df40:	4fef 0018      	lea %sp@(24),%sp                            
    }                                                                 
    else                                                              
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk);
                                                                      
    pipe->Length += chunk;                                            
   4df44:	d5aa 000c      	addl %d2,%a2@(12)                           
    if (pipe->waitingReaders > 0)                                     
   4df48:	4aaa 0018      	tstl %a2@(24)                               
   4df4c:	6616           	bnes 4df64 <pipe_write+0x19c>               <== NEVER TAKEN
      PIPE_WAKEUPREADERS(pipe);                                       
    written += chunk;                                                 
   4df4e:	d682           	addl %d2,%d3                                
  }                                                                   
                                                                      
  /* Write of PIPE_BUF bytes or less shall not be interleaved */      
  chunk = count <= pipe->Size ? count : 1;                            
                                                                      
  while (written < count) {                                           
   4df50:	2a03           	movel %d3,%d5                               
   4df52:	b6ae 0010      	cmpl %fp@(16),%d3                           
   4df56:	6400 ff62      	bccw 4deba <pipe_write+0xf2>                
   4df5a:	202a 0004      	movel %a2@(4),%d0                           <== NOT EXECUTED
    pipe->Length += chunk;                                            
    if (pipe->waitingReaders > 0)                                     
      PIPE_WAKEUPREADERS(pipe);                                       
    written += chunk;                                                 
    /* Write of more than PIPE_BUF bytes can be interleaved */        
    chunk = 1;                                                        
   4df5e:	7801           	moveq #1,%d4                                <== NOT EXECUTED
   4df60:	6000 fed4      	braw 4de36 <pipe_write+0x6e>                <== NOT EXECUTED
    else                                                              
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk);
                                                                      
    pipe->Length += chunk;                                            
    if (pipe->waitingReaders > 0)                                     
      PIPE_WAKEUPREADERS(pipe);                                       
   4df64:	486e fffc      	pea %fp@(-4)                                
   4df68:	2047           	moveal %d7,%a0                              
   4df6a:	2f2a 002c      	movel %a2@(44),%sp@-                        
   4df6e:	4e90           	jsr %a0@                                    
   4df70:	508f           	addql #8,%sp                                
   4df72:	60da           	bras 4df4e <pipe_write+0x186>               
    /* Write of more than PIPE_BUF bytes can be interleaved */        
    chunk = 1;                                                        
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4df74:	2f2a 0028      	movel %a2@(40),%sp@-                        
  chunk = count <= pipe->Size ? count : 1;                            
                                                                      
  while (written < count) {                                           
    while (PIPE_SPACE(pipe) < chunk) {                                
      if (LIBIO_NODELAY(iop)) {                                       
        ret = -EAGAIN;                                                
   4df78:	74f5           	moveq #-11,%d2                              
    /* Write of more than PIPE_BUF bytes can be interleaved */        
    chunk = 1;                                                        
  }                                                                   
                                                                      
out_locked:                                                           
  PIPE_UNLOCK(pipe);                                                  
   4df7a:	4e94           	jsr %a4@                                    
   4df7c:	588f           	addql #4,%sp                                
   4df7e:	6000 ff44      	braw 4dec4 <pipe_write+0xfc>                
      PIPE_UNLOCK(pipe);                                              
      if (! PIPE_WRITEWAIT(pipe))                                     
        ret = -EINTR;                                                 
      if (! PIPE_LOCK(pipe)) {                                        
        /* WARN waitingWriters not restored! */                       
        ret = -EINTR;                                                 
   4df82:	74fc           	moveq #-4,%d2                               <== NOT EXECUTED
   4df84:	6000 ff3e      	braw 4dec4 <pipe_write+0xfc>                <== NOT EXECUTED
  /* Write nothing */                                                 
  if (count == 0)                                                     
    return 0;                                                         
                                                                      
  if (! PIPE_LOCK(pipe))                                              
    return -EINTR;                                                    
   4df88:	76fc           	moveq #-4,%d3                               <== NOT EXECUTED
#endif                                                                
                                                                      
  if (written > 0)                                                    
    return written;                                                   
  return ret;                                                         
}                                                                     
   4df8a:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   4df8c:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4df92:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4df94:	4e75           	rts                                         <== NOT EXECUTED
    if (chunk > chunk1) {                                             
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk1);
      memcpy(pipe->Buffer, buffer + written + chunk1, chunk - chunk1);
    }                                                                 
    else                                                              
      memcpy(pipe->Buffer + PIPE_WSTART(pipe), buffer + written, chunk);
   4df96:	206e 000c      	moveal %fp@(12),%a0                         
   4df9a:	2f02           	movel %d2,%sp@-                             
   4df9c:	4870 5800      	pea %a0@(00000000,%d5:l)                    
   4dfa0:	d292           	addl %a2@,%d1                               
   4dfa2:	2046           	moveal %d6,%a0                              
   4dfa4:	2f01           	movel %d1,%sp@-                             
   4dfa6:	4e90           	jsr %a0@                                    
   4dfa8:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
    pipe->Length += chunk;                                            
   4dfac:	d5aa 000c      	addl %d2,%a2@(12)                           
    if (pipe->waitingReaders > 0)                                     
   4dfb0:	4aaa 0018      	tstl %a2@(24)                               
   4dfb4:	6798           	beqs 4df4e <pipe_write+0x186>               
   4dfb6:	60ac           	bras 4df64 <pipe_write+0x19c>               
                                                                      

00047e30 <posix_memalign>: int posix_memalign( void **pointer, size_t alignment, size_t size ) {
   47e30:	4e56 0000      	linkw %fp,#0                                
   47e34:	222e 000c      	movel %fp@(12),%d1                          
  /*                                                                  
   *  Update call statistics                                          
   */                                                                 
  MSBUMP(memalign_calls, 1);                                          
                                                                      
  if (((alignment - 1) & alignment) != 0 || (alignment < sizeof(void *)))
   47e38:	2001           	movel %d1,%d0                               
   47e3a:	5380           	subql #1,%d0                                
)                                                                     
{                                                                     
  /*                                                                  
   *  Update call statistics                                          
   */                                                                 
  MSBUMP(memalign_calls, 1);                                          
   47e3c:	52b9 0006 5ed4 	addql #1,65ed4 <rtems_malloc_statistics+0x8>
                                                                      
  if (((alignment - 1) & alignment) != 0 || (alignment < sizeof(void *)))
   47e42:	c081           	andl %d1,%d0                                
   47e44:	6706           	beqs 47e4c <posix_memalign+0x1c>            <== ALWAYS TAKEN
  /*                                                                  
   *  rtems_memalign does all of the error checking work EXCEPT       
   *  for adding restrictionso on the alignment.                      
   */                                                                 
  return rtems_memalign( pointer, alignment, size );                  
}                                                                     
   47e46:	7016           	moveq #22,%d0                               
   47e48:	4e5e           	unlk %fp                                    
   47e4a:	4e75           	rts                                         
  /*                                                                  
   *  Update call statistics                                          
   */                                                                 
  MSBUMP(memalign_calls, 1);                                          
                                                                      
  if (((alignment - 1) & alignment) != 0 || (alignment < sizeof(void *)))
   47e4c:	103c 0003      	moveb #3,%d0                                
   47e50:	b081           	cmpl %d1,%d0                                
   47e52:	64f2           	bccs 47e46 <posix_memalign+0x16>            
  /*                                                                  
   *  rtems_memalign does all of the error checking work EXCEPT       
   *  for adding restrictionso on the alignment.                      
   */                                                                 
  return rtems_memalign( pointer, alignment, size );                  
}                                                                     
   47e54:	4e5e           	unlk %fp                                    
                                                                      
  /*                                                                  
   *  rtems_memalign does all of the error checking work EXCEPT       
   *  for adding restrictionso on the alignment.                      
   */                                                                 
  return rtems_memalign( pointer, alignment, size );                  
   47e56:	4ef9 0004 802c 	jmp 4802c <rtems_memalign>                  
                                                                      

0004c8b0 <ramdisk_allocate>: void *area_begin, uint32_t media_block_size, rtems_blkdev_bnum media_block_count, bool trace ) {
   4c8b0:	4e56 fff4      	linkw %fp,#-12                              
   4c8b4:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
  struct ramdisk *rd = malloc(sizeof(struct ramdisk));                
   4c8b8:	4878 0010      	pea 10 <INVALID_OPERATION>                  
  void *area_begin,                                                   
  uint32_t media_block_size,                                          
  rtems_blkdev_bnum media_block_count,                                
  bool trace                                                          
)                                                                     
{                                                                     
   4c8bc:	242e 0008      	movel %fp@(8),%d2                           
   4c8c0:	162e 0017      	moveb %fp@(23),%d3                          
  struct ramdisk *rd = malloc(sizeof(struct ramdisk));                
   4c8c4:	4eb9 0004 49d4 	jsr 449d4 <malloc>                          
                                                                      
  if (rd == NULL) {                                                   
   4c8ca:	588f           	addql #4,%sp                                
  uint32_t media_block_size,                                          
  rtems_blkdev_bnum media_block_count,                                
  bool trace                                                          
)                                                                     
{                                                                     
  struct ramdisk *rd = malloc(sizeof(struct ramdisk));                
   4c8cc:	2440           	moveal %d0,%a2                              
                                                                      
  if (rd == NULL) {                                                   
   4c8ce:	4a80           	tstl %d0                                    
   4c8d0:	6724           	beqs 4c8f6 <ramdisk_allocate+0x46>          <== NEVER TAKEN
    return NULL;                                                      
  }                                                                   
                                                                      
  if (area_begin == NULL) {                                           
   4c8d2:	4a82           	tstl %d2                                    
   4c8d4:	672c           	beqs 4c902 <ramdisk_allocate+0x52>          
    }                                                                 
    rd->malloced = true;                                              
  } else {                                                            
    rd->malloced = false;                                             
  }                                                                   
  rd->block_size = media_block_size;                                  
   4c8d6:	24ae 000c      	movel %fp@(12),%a2@                         
                                                                      
      return NULL;                                                    
    }                                                                 
    rd->malloced = true;                                              
  } else {                                                            
    rd->malloced = false;                                             
   4c8da:	4200           	clrb %d0                                    
  }                                                                   
  rd->block_size = media_block_size;                                  
  rd->block_num = media_block_count;                                  
  rd->area = area_begin;                                              
  rd->trace = trace;                                                  
   4c8dc:	1543 000e      	moveb %d3,%a2@(14)                          
  } else {                                                            
    rd->malloced = false;                                             
  }                                                                   
  rd->block_size = media_block_size;                                  
  rd->block_num = media_block_count;                                  
  rd->area = area_begin;                                              
   4c8e0:	2542 0008      	movel %d2,%a2@(8)                           
                                                                      
      return NULL;                                                    
    }                                                                 
    rd->malloced = true;                                              
  } else {                                                            
    rd->malloced = false;                                             
   4c8e4:	1540 000d      	moveb %d0,%a2@(13)                          
  }                                                                   
  rd->block_size = media_block_size;                                  
  rd->block_num = media_block_count;                                  
   4c8e8:	202e 0010      	movel %fp@(16),%d0                          
   4c8ec:	2540 0004      	movel %d0,%a2@(4)                           
  rd->area = area_begin;                                              
  rd->trace = trace;                                                  
  rd->initialized = true;                                             
   4c8f0:	7001           	moveq #1,%d0                                
   4c8f2:	1540 000c      	moveb %d0,%a2@(12)                          
                                                                      
  return rd;                                                          
}                                                                     
   4c8f6:	200a           	movel %a2,%d0                               
   4c8f8:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   4c8fe:	4e5e           	unlk %fp                                    
   4c900:	4e75           	rts                                         
  if (rd == NULL) {                                                   
    return NULL;                                                      
  }                                                                   
                                                                      
  if (area_begin == NULL) {                                           
    area_begin = calloc(media_block_count, media_block_size);         
   4c902:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4c906:	2f2e 0010      	movel %fp@(16),%sp@-                        
   4c90a:	4eb9 0004 4208 	jsr 44208 <calloc>                          
    if (area_begin == NULL) {                                         
   4c910:	508f           	addql #8,%sp                                
  if (rd == NULL) {                                                   
    return NULL;                                                      
  }                                                                   
                                                                      
  if (area_begin == NULL) {                                           
    area_begin = calloc(media_block_count, media_block_size);         
   4c912:	2400           	movel %d0,%d2                               
    if (area_begin == NULL) {                                         
   4c914:	6722           	beqs 4c938 <ramdisk_allocate+0x88>          <== NEVER TAKEN
    }                                                                 
    rd->malloced = true;                                              
  } else {                                                            
    rd->malloced = false;                                             
  }                                                                   
  rd->block_size = media_block_size;                                  
   4c916:	24ae 000c      	movel %fp@(12),%a2@                         
    if (area_begin == NULL) {                                         
      free(rd);                                                       
                                                                      
      return NULL;                                                    
    }                                                                 
    rd->malloced = true;                                              
   4c91a:	7001           	moveq #1,%d0                                
  } else {                                                            
    rd->malloced = false;                                             
  }                                                                   
  rd->block_size = media_block_size;                                  
  rd->block_num = media_block_count;                                  
  rd->area = area_begin;                                              
   4c91c:	2542 0008      	movel %d2,%a2@(8)                           
    if (area_begin == NULL) {                                         
      free(rd);                                                       
                                                                      
      return NULL;                                                    
    }                                                                 
    rd->malloced = true;                                              
   4c920:	1540 000d      	moveb %d0,%a2@(13)                          
  } else {                                                            
    rd->malloced = false;                                             
  }                                                                   
  rd->block_size = media_block_size;                                  
  rd->block_num = media_block_count;                                  
   4c924:	202e 0010      	movel %fp@(16),%d0                          
   4c928:	2540 0004      	movel %d0,%a2@(4)                           
  rd->area = area_begin;                                              
  rd->trace = trace;                                                  
  rd->initialized = true;                                             
   4c92c:	7001           	moveq #1,%d0                                
    rd->malloced = false;                                             
  }                                                                   
  rd->block_size = media_block_size;                                  
  rd->block_num = media_block_count;                                  
  rd->area = area_begin;                                              
  rd->trace = trace;                                                  
   4c92e:	1543 000e      	moveb %d3,%a2@(14)                          
  rd->initialized = true;                                             
   4c932:	1540 000c      	moveb %d0,%a2@(12)                          
   4c936:	60be           	bras 4c8f6 <ramdisk_allocate+0x46>          
  }                                                                   
                                                                      
  if (area_begin == NULL) {                                           
    area_begin = calloc(media_block_count, media_block_size);         
    if (area_begin == NULL) {                                         
      free(rd);                                                       
   4c938:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
                                                                      
      return NULL;                                                    
   4c93a:	95ca           	subal %a2,%a2                               <== NOT EXECUTED
  }                                                                   
                                                                      
  if (area_begin == NULL) {                                           
    area_begin = calloc(media_block_count, media_block_size);         
    if (area_begin == NULL) {                                         
      free(rd);                                                       
   4c93c:	4eb9 0004 4528 	jsr 44528 <free>                            <== NOT EXECUTED
                                                                      
      return NULL;                                                    
   4c942:	588f           	addql #4,%sp                                <== NOT EXECUTED
  rd->area = area_begin;                                              
  rd->trace = trace;                                                  
  rd->initialized = true;                                             
                                                                      
  return rd;                                                          
}                                                                     
   4c944:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   4c946:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   4c94c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004c950 <ramdisk_free>: void ramdisk_free(ramdisk *rd) {
   4c950:	4e56 0000      	linkw %fp,#0                                
   4c954:	2f0a           	movel %a2,%sp@-                             
   4c956:	246e 0008      	moveal %fp@(8),%a2                          
  if (rd != NULL) {                                                   
   4c95a:	4a8a           	tstl %a2                                    
   4c95c:	6732           	beqs 4c990 <ramdisk_free+0x40>              <== NEVER TAKEN
    if (rd->malloced) {                                               
   4c95e:	4a2a 000d      	tstb %a2@(13)                               
   4c962:	6610           	bnes 4c974 <ramdisk_free+0x24>              
      free(rd->area);                                                 
    }                                                                 
    free(rd);                                                         
   4c964:	2d4a 0008      	movel %a2,%fp@(8)                           
  }                                                                   
}                                                                     
   4c968:	246e fffc      	moveal %fp@(-4),%a2                         
   4c96c:	4e5e           	unlk %fp                                    
{                                                                     
  if (rd != NULL) {                                                   
    if (rd->malloced) {                                               
      free(rd->area);                                                 
    }                                                                 
    free(rd);                                                         
   4c96e:	4ef9 0004 4528 	jmp 44528 <free>                            
                                                                      
void ramdisk_free(ramdisk *rd)                                        
{                                                                     
  if (rd != NULL) {                                                   
    if (rd->malloced) {                                               
      free(rd->area);                                                 
   4c974:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4c978:	4eb9 0004 4528 	jsr 44528 <free>                            
   4c97e:	588f           	addql #4,%sp                                
    }                                                                 
    free(rd);                                                         
   4c980:	2d4a 0008      	movel %a2,%fp@(8)                           
  }                                                                   
}                                                                     
   4c984:	246e fffc      	moveal %fp@(-4),%a2                         
   4c988:	4e5e           	unlk %fp                                    
{                                                                     
  if (rd != NULL) {                                                   
    if (rd->malloced) {                                               
      free(rd->area);                                                 
    }                                                                 
    free(rd);                                                         
   4c98a:	4ef9 0004 4528 	jmp 44528 <free>                            
  }                                                                   
}                                                                     
   4c990:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   4c994:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d5e8 <ramdisk_initialize>: rtems_device_driver ramdisk_initialize( rtems_device_major_number major, rtems_device_minor_number minor __attribute__((unused)), void *arg __attribute__((unused))) {
   4d5e8:	4e56 ffc0      	linkw %fp,#-64                              
   4d5ec:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4d5f0:	2a2e 0008      	movel %fp@(8),%d5                           
    rtems_device_minor_number i;                                      
    rtems_ramdisk_config *c = rtems_ramdisk_configuration;            
    struct ramdisk *r;                                                
    rtems_status_code rc;                                             
                                                                      
    rc = rtems_disk_io_initialize();                                  
   4d5f4:	4eb9 0004 40cc 	jsr 440cc <rtems_disk_io_initialize>        
    if (rc != RTEMS_SUCCESSFUL)                                       
   4d5fa:	4a80           	tstl %d0                                    
   4d5fc:	670a           	beqs 4d608 <ramdisk_initialize+0x20>        <== ALWAYS TAKEN
            }                                                         
            r->initialized = false;                                   
        }                                                             
    }                                                                 
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4d5fe:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4d604:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4d606:	4e75           	rts                                         <== NOT EXECUTED
     * This is allocating memory for a RAM disk which will persist for
     * the life of the system. RTEMS has no "de-initialize" driver call
     * so there is no corresponding free(r).  Coverity is correct that
     * it is never freed but this is not a problem.                   
     */                                                               
    r = calloc(rtems_ramdisk_configuration_size, sizeof(struct ramdisk));
   4d608:	4878 0010      	pea 10 <INVALID_OPERATION>                  
   4d60c:	2439 0006 3868 	movel 63868 <rtems_ramdisk_configuration_size>,%d2
   4d612:	2f02           	movel %d2,%sp@-                             
   4d614:	4eb9 0004 5024 	jsr 45024 <calloc>                          
    r->trace = false;                                                 
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
   4d61a:	508f           	addql #8,%sp                                
     * This is allocating memory for a RAM disk which will persist for
     * the life of the system. RTEMS has no "de-initialize" driver call
     * so there is no corresponding free(r).  Coverity is correct that
     * it is never freed but this is not a problem.                   
     */                                                               
    r = calloc(rtems_ramdisk_configuration_size, sizeof(struct ramdisk));
   4d61c:	2440           	moveal %d0,%a2                              
    r->trace = false;                                                 
   4d61e:	4200           	clrb %d0                                    
   4d620:	1540 000e      	moveb %d0,%a2@(14)                          
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
   4d624:	4a82           	tstl %d2                                    
   4d626:	6700 009e      	beqw 4d6c6 <ramdisk_initialize+0xde>        
#include <rtems.h>                                                    
#include <rtems/libio.h>                                              
#include <rtems/ramdisk.h>                                            
                                                                      
rtems_device_driver                                                   
ramdisk_initialize(                                                   
   4d62a:	2e0a           	movel %a2,%d7                               
   4d62c:	49ea 000c      	lea %a2@(12),%a4                            
   4d630:	5087           	addql #8,%d7                                
    rtems_device_major_number major,                                  
    rtems_device_minor_number minor __attribute__((unused)),          
    void *arg __attribute__((unused)))                                
{                                                                     
    rtems_device_minor_number i;                                      
    rtems_ramdisk_config *c = rtems_ramdisk_configuration;            
   4d632:	47f9 0006 386c 	lea 6386c <rtems_ramdisk_configuration>,%a3 
     * so there is no corresponding free(r).  Coverity is correct that
     * it is never freed but this is not a problem.                   
     */                                                               
    r = calloc(rtems_ramdisk_configuration_size, sizeof(struct ramdisk));
    r->trace = false;                                                 
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
   4d638:	4284           	clrl %d4                                    
   4d63a:	4bee fff7      	lea %fp@(-9),%a5                            
        {                                                             
            r->malloced = false;                                      
            r->initialized = true;                                    
            r->area = c->location;                                    
        }                                                             
        rc = rtems_disk_create_phys(dev, c->block_size, c->block_num, 
   4d63e:	2c3c 0004 3e96 	movel #278166,%d6                           
        r->block_size = c->block_size;                                
        r->block_num = c->block_num;                                  
        if (c->location == NULL)                                      
        {                                                             
            r->malloced = true;                                       
            r->area = malloc(r->block_size * r->block_num);           
   4d644:	2d45 ffe8      	movel %d5,%fp@(-24)                         
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
    {                                                                 
        dev_t dev = rtems_filesystem_make_dev_t(major, i);            
        char name [] = RAMDISK_DEVICE_BASE_NAME "a";                  
        name [sizeof(RAMDISK_DEVICE_BASE_NAME)] += i;                 
        r->block_size = c->block_size;                                
   4d648:	2213           	movel %a3@,%d1                              
    r = calloc(rtems_ramdisk_configuration_size, sizeof(struct ramdisk));
    r->trace = false;                                                 
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
    {                                                                 
        dev_t dev = rtems_filesystem_make_dev_t(major, i);            
        char name [] = RAMDISK_DEVICE_BASE_NAME "a";                  
   4d64a:	2a3c 2f72 6461 	movel #796025953,%d5                        
   4d650:	2604           	movel %d4,%d3                               
        name [sizeof(RAMDISK_DEVICE_BASE_NAME)] += i;                 
        r->block_size = c->block_size;                                
        r->block_num = c->block_num;                                  
   4d652:	206b 0004      	moveal %a3@(4),%a0                          
        if (c->location == NULL)                                      
   4d656:	202b 0008      	movel %a3@(8),%d0                           
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
    {                                                                 
        dev_t dev = rtems_filesystem_make_dev_t(major, i);            
        char name [] = RAMDISK_DEVICE_BASE_NAME "a";                  
        name [sizeof(RAMDISK_DEVICE_BASE_NAME)] += i;                 
        r->block_size = c->block_size;                                
   4d65a:	2481           	movel %d1,%a2@                              
   4d65c:	242e ffe8      	movel %fp@(-24),%d2                         
        r->block_num = c->block_num;                                  
   4d660:	2548 0004      	movel %a0,%a2@(4)                           
    r->trace = false;                                                 
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
    {                                                                 
        dev_t dev = rtems_filesystem_make_dev_t(major, i);            
        char name [] = RAMDISK_DEVICE_BASE_NAME "a";                  
        name [sizeof(RAMDISK_DEVICE_BASE_NAME)] += i;                 
   4d664:	1d44 ffff      	moveb %d4,%fp@(-1)                          
    r = calloc(rtems_ramdisk_configuration_size, sizeof(struct ramdisk));
    r->trace = false;                                                 
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
    {                                                                 
        dev_t dev = rtems_filesystem_make_dev_t(major, i);            
        char name [] = RAMDISK_DEVICE_BASE_NAME "a";                  
   4d668:	2abc 2f64 6576 	movel #795108726,%a5@                       
   4d66e:	2d45 fffb      	movel %d5,%fp@(-5)                          
        name [sizeof(RAMDISK_DEVICE_BASE_NAME)] += i;                 
        r->block_size = c->block_size;                                
        r->block_num = c->block_num;                                  
        if (c->location == NULL)                                      
   4d672:	4a80           	tstl %d0                                    
   4d674:	676c           	beqs 4d6e2 <ramdisk_initialize+0xfa>        <== ALWAYS TAKEN
        }                                                             
        else                                                          
        {                                                             
            r->malloced = false;                                      
            r->initialized = true;                                    
            r->area = c->location;                                    
   4d676:	2247           	moveal %d7,%a1                              <== NOT EXECUTED
                r->initialized = true;                                
            }                                                         
        }                                                             
        else                                                          
        {                                                             
            r->malloced = false;                                      
   4d678:	4205           	clrb %d5                                    <== NOT EXECUTED
            r->initialized = true;                                    
   4d67a:	18bc 0001      	moveb #1,%a4@                               <== NOT EXECUTED
                r->initialized = true;                                
            }                                                         
        }                                                             
        else                                                          
        {                                                             
            r->malloced = false;                                      
   4d67e:	1945 0001      	moveb %d5,%a4@(1)                           <== NOT EXECUTED
            r->initialized = true;                                    
            r->area = c->location;                                    
   4d682:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
        }                                                             
        rc = rtems_disk_create_phys(dev, c->block_size, c->block_num, 
   4d684:	2f0d           	movel %a5,%sp@-                             
   4d686:	2f0a           	movel %a2,%sp@-                             
   4d688:	4879 0004 d718 	pea 4d718 <ramdisk_ioctl>                   
   4d68e:	2f08           	movel %a0,%sp@-                             
   4d690:	2046           	moveal %d6,%a0                              
   4d692:	2f01           	movel %d1,%sp@-                             
   4d694:	2f03           	movel %d3,%sp@-                             
   4d696:	2f02           	movel %d2,%sp@-                             
   4d698:	4e90           	jsr %a0@                                    
                                    ramdisk_ioctl, r, name);          
        if (rc != RTEMS_SUCCESSFUL)                                   
   4d69a:	4fef 001c      	lea %sp@(28),%sp                            
   4d69e:	4a80           	tstl %d0                                    
   4d6a0:	6708           	beqs 4d6aa <ramdisk_initialize+0xc2>        <== ALWAYS TAKEN
        {                                                             
            if (r->malloced)                                          
   4d6a2:	4a2c 0001      	tstb %a4@(1)                                <== NOT EXECUTED
   4d6a6:	662a           	bnes 4d6d2 <ramdisk_initialize+0xea>        <== NOT EXECUTED
            {                                                         
                free(r->area);                                        
            }                                                         
            r->initialized = false;                                   
   4d6a8:	4214           	clrb %a4@                                   <== NOT EXECUTED
     * so there is no corresponding free(r).  Coverity is correct that
     * it is never freed but this is not a problem.                   
     */                                                               
    r = calloc(rtems_ramdisk_configuration_size, sizeof(struct ramdisk));
    r->trace = false;                                                 
    for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++)  
   4d6aa:	5284           	addql #1,%d4                                
   4d6ac:	47eb 000c      	lea %a3@(12),%a3                            
   4d6b0:	45ea 0010      	lea %a2@(16),%a2                            
   4d6b4:	49ec 0010      	lea %a4@(16),%a4                            
   4d6b8:	0687 0000 0010 	addil #16,%d7                               
   4d6be:	b8b9 0006 3868 	cmpl 63868 <rtems_ramdisk_configuration_size>,%d4
   4d6c4:	6582           	bcss 4d648 <ramdisk_initialize+0x60>        <== NEVER TAKEN
                free(r->area);                                        
            }                                                         
            r->initialized = false;                                   
        }                                                             
    }                                                                 
    return RTEMS_SUCCESSFUL;                                          
   4d6c6:	4280           	clrl %d0                                    
}                                                                     
   4d6c8:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            
   4d6ce:	4e5e           	unlk %fp                                    
   4d6d0:	4e75           	rts                                         
                                    ramdisk_ioctl, r, name);          
        if (rc != RTEMS_SUCCESSFUL)                                   
        {                                                             
            if (r->malloced)                                          
            {                                                         
                free(r->area);                                        
   4d6d2:	2247           	moveal %d7,%a1                              <== NOT EXECUTED
   4d6d4:	2f11           	movel %a1@,%sp@-                            <== NOT EXECUTED
   4d6d6:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
   4d6dc:	588f           	addql #4,%sp                                <== NOT EXECUTED
            }                                                         
            r->initialized = false;                                   
   4d6de:	4214           	clrb %a4@                                   <== NOT EXECUTED
   4d6e0:	60c8           	bras 4d6aa <ramdisk_initialize+0xc2>        <== NOT EXECUTED
        r->block_size = c->block_size;                                
        r->block_num = c->block_num;                                  
        if (c->location == NULL)                                      
        {                                                             
            r->malloced = true;                                       
            r->area = malloc(r->block_size * r->block_num);           
   4d6e2:	2008           	movel %a0,%d0                               
   4d6e4:	4c01 0800      	mulsl %d1,%d0                               
        name [sizeof(RAMDISK_DEVICE_BASE_NAME)] += i;                 
        r->block_size = c->block_size;                                
        r->block_num = c->block_num;                                  
        if (c->location == NULL)                                      
        {                                                             
            r->malloced = true;                                       
   4d6e8:	7a01           	moveq #1,%d5                                
            r->area = malloc(r->block_size * r->block_num);           
   4d6ea:	2f00           	movel %d0,%sp@-                             
        name [sizeof(RAMDISK_DEVICE_BASE_NAME)] += i;                 
        r->block_size = c->block_size;                                
        r->block_num = c->block_num;                                  
        if (c->location == NULL)                                      
        {                                                             
            r->malloced = true;                                       
   4d6ec:	1945 0001      	moveb %d5,%a4@(1)                           
            r->area = malloc(r->block_size * r->block_num);           
   4d6f0:	2d41 fff0      	movel %d1,%fp@(-16)                         
   4d6f4:	2d48 ffec      	movel %a0,%fp@(-20)                         
   4d6f8:	4eb9 0004 594c 	jsr 4594c <malloc>                          
            if (r->area == NULL) /* No enough memory for this disk */ 
   4d6fe:	222e fff0      	movel %fp@(-16),%d1                         
        r->block_size = c->block_size;                                
        r->block_num = c->block_num;                                  
        if (c->location == NULL)                                      
        {                                                             
            r->malloced = true;                                       
            r->area = malloc(r->block_size * r->block_num);           
   4d702:	2247           	moveal %d7,%a1                              
            if (r->area == NULL) /* No enough memory for this disk */ 
   4d704:	588f           	addql #4,%sp                                
   4d706:	206e ffec      	moveal %fp@(-20),%a0                        
        r->block_size = c->block_size;                                
        r->block_num = c->block_num;                                  
        if (c->location == NULL)                                      
        {                                                             
            r->malloced = true;                                       
            r->area = malloc(r->block_size * r->block_num);           
   4d70a:	2280           	movel %d0,%a1@                              
            if (r->area == NULL) /* No enough memory for this disk */ 
   4d70c:	679a           	beqs 4d6a8 <ramdisk_initialize+0xc0>        <== NEVER TAKEN
                r->initialized = false;                               
                continue;                                             
            }                                                         
            else                                                      
            {                                                         
                r->initialized = true;                                
   4d70e:	18bc 0001      	moveb #1,%a4@                               
   4d712:	6000 ff70      	braw 4d684 <ramdisk_initialize+0x9c>        
	...                                                                  
                                                                      

0004c76c <ramdisk_ioctl>: return 0; } int ramdisk_ioctl(rtems_disk_device *dd, uint32_t req, void *argp) {
   4c76c:	4e56 ffe8      	linkw %fp,#-24                              
   4c770:	206e 0008      	moveal %fp@(8),%a0                          
   4c774:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 
   4c778:	202e 000c      	movel %fp@(12),%d0                          
   4c77c:	266e 0010      	moveal %fp@(16),%a3                         
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
    return -1;                                                        
}                                                                     
   4c780:	2868 003c      	moveal %a0@(60),%a4                         
int                                                                   
ramdisk_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)        
{                                                                     
    struct ramdisk *rd = rtems_disk_get_driver_data(dd);              
                                                                      
    switch (req)                                                      
   4c784:	0c80 2000 4207 	cmpil #536887815,%d0                        
   4c78a:	6722           	beqs 4c7ae <ramdisk_ioctl+0x42>             
   4c78c:	0c80 c018 4201 	cmpil #-1072152063,%d0                      
   4c792:	673a           	beqs 4c7ce <ramdisk_ioctl+0x62>             
              ramdisk_free(rd);                                       
            }                                                         
            break;                                                    
                                                                      
        default:                                                      
            return rtems_blkdev_ioctl (dd, req, argp);                
   4c794:	2d4b 0010      	movel %a3,%fp@(16)                          
   4c798:	2d40 000c      	movel %d0,%fp@(12)                          
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
    return -1;                                                        
}                                                                     
   4c79c:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
              ramdisk_free(rd);                                       
            }                                                         
            break;                                                    
                                                                      
        default:                                                      
            return rtems_blkdev_ioctl (dd, req, argp);                
   4c7a2:	2d48 0008      	movel %a0,%fp@(8)                           
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
    return -1;                                                        
}                                                                     
   4c7a6:	4e5e           	unlk %fp                                    
              ramdisk_free(rd);                                       
            }                                                         
            break;                                                    
                                                                      
        default:                                                      
            return rtems_blkdev_ioctl (dd, req, argp);                
   4c7a8:	4ef9 0004 eecc 	jmp 4eecc <rtems_blkdev_ioctl>              
            }                                                         
            break;                                                    
        }                                                             
                                                                      
        case RTEMS_BLKIO_DELETED:                                     
            if (rd->free_at_delete_request) {                         
   4c7ae:	4a2c 000f      	tstb %a4@(15)                               
   4c7b2:	6600 00de      	bnew 4c892 <ramdisk_ioctl+0x126>            
        default:                                                      
            return rtems_blkdev_ioctl (dd, req, argp);                
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
   4c7b6:	4eb9 0005 29b4 	jsr 529b4 <__errno>                         
   4c7bc:	7216           	moveq #22,%d1                               
   4c7be:	2040           	moveal %d0,%a0                              
    return -1;                                                        
   4c7c0:	70ff           	moveq #-1,%d0                               
        default:                                                      
            return rtems_blkdev_ioctl (dd, req, argp);                
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
   4c7c2:	2081           	movel %d1,%a0@                              
    return -1;                                                        
}                                                                     
   4c7c4:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4c7ca:	4e5e           	unlk %fp                                    
   4c7cc:	4e75           	rts                                         
    {                                                                 
        case RTEMS_BLKIO_REQUEST:                                     
        {                                                             
            rtems_blkdev_request *r = argp;                           
                                                                      
            switch (r->req)                                           
   4c7ce:	2013           	movel %a3@,%d0                              
   4c7d0:	6654           	bnes 4c826 <ramdisk_ioctl+0xba>             
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
    return -1;                                                        
}                                                                     
   4c7d2:	262c 0008      	movel %a4@(8),%d3                           
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk read: start=%d, blocks=%d",    
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
                                                                      
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c7d6:	45eb 0018      	lea %a3@(24),%a2                            
   4c7da:	4aab 0010      	tstl %a3@(16)                               
   4c7de:	672e           	beqs 4c80e <ramdisk_ioctl+0xa2>             <== NEVER TAKEN
   4c7e0:	4282           	clrl %d2                                    
   4c7e2:	4bf9 0005 31d4 	lea 531d4 <memcpy>,%a5                      
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk read: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              from + (sg->block * rd->block_size));   
#endif                                                                
        memcpy(sg->buffer, from + (sg->block * rd->block_size), sg->length);
   4c7e8:	2012           	movel %a2@,%d0                              
   4c7ea:	4c14 0800      	mulsl %a4@,%d0                              
   4c7ee:	2043           	moveal %d3,%a0                              
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk read: start=%d, blocks=%d",    
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
                                                                      
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c7f0:	5282           	addql #1,%d2                                
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk read: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              from + (sg->block * rd->block_size));   
#endif                                                                
        memcpy(sg->buffer, from + (sg->block * rd->block_size), sg->length);
   4c7f2:	2f2a 0004      	movel %a2@(4),%sp@-                         
   4c7f6:	4870 0800      	pea %a0@(00000000,%d0:l)                    
   4c7fa:	2f2a 0008      	movel %a2@(8),%sp@-                         
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk read: start=%d, blocks=%d",    
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
                                                                      
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c7fe:	45ea 0010      	lea %a2@(16),%a2                            
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk read: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              from + (sg->block * rd->block_size));   
#endif                                                                
        memcpy(sg->buffer, from + (sg->block * rd->block_size), sg->length);
   4c802:	4e95           	jsr %a5@                                    
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk read: start=%d, blocks=%d",    
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
                                                                      
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c804:	4fef 000c      	lea %sp@(12),%sp                            
   4c808:	b4ab 0010      	cmpl %a3@(16),%d2                           
   4c80c:	65da           	bcss 4c7e8 <ramdisk_ioctl+0x7c>             <== NEVER TAKEN
static inline void rtems_blkdev_request_done(                         
  rtems_blkdev_request *req,                                          
  rtems_status_code status                                            
)                                                                     
{                                                                     
  (*req->done)(req, status);                                          
   4c80e:	42a7           	clrl %sp@-                                  
   4c810:	206b 0004      	moveal %a3@(4),%a0                          
   4c814:	2f0b           	movel %a3,%sp@-                             
   4c816:	4e90           	jsr %a0@                                    
            {                                                         
                case RTEMS_BLKDEV_REQ_READ:                           
                    return ramdisk_read(rd, r);                       
                                                                      
                case RTEMS_BLKDEV_REQ_WRITE:                          
                    return ramdisk_write(rd, r);                      
   4c818:	508f           	addql #8,%sp                                
   4c81a:	4280           	clrl %d0                                    
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
    return -1;                                                        
}                                                                     
   4c81c:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4c822:	4e5e           	unlk %fp                                    
   4c824:	4e75           	rts                                         
    {                                                                 
        case RTEMS_BLKIO_REQUEST:                                     
        {                                                             
            rtems_blkdev_request *r = argp;                           
                                                                      
            switch (r->req)                                           
   4c826:	7201           	moveq #1,%d1                                
   4c828:	b280           	cmpl %d0,%d1                                
   4c82a:	668a           	bnes 4c7b6 <ramdisk_ioctl+0x4a>             <== NEVER TAKEN
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
    return -1;                                                        
}                                                                     
   4c82c:	262c 0008      	movel %a4@(8),%d3                           
                                                                      
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk write: start=%d, blocks=%d",   
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c830:	45eb 0018      	lea %a3@(24),%a2                            
   4c834:	4aab 0010      	tstl %a3@(16)                               
   4c838:	67d4           	beqs 4c80e <ramdisk_ioctl+0xa2>             <== NEVER TAKEN
   4c83a:	4282           	clrl %d2                                    
   4c83c:	4bf9 0005 31d4 	lea 531d4 <memcpy>,%a5                      
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk write: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              to + (sg->block * rd->block_size));     
#endif                                                                
        memcpy(to + (sg->block * rd->block_size), sg->buffer, sg->length);
   4c842:	2012           	movel %a2@,%d0                              
   4c844:	4c14 0800      	mulsl %a4@,%d0                              
   4c848:	2043           	moveal %d3,%a0                              
                                                                      
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk write: start=%d, blocks=%d",   
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c84a:	5282           	addql #1,%d2                                
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk write: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              to + (sg->block * rd->block_size));     
#endif                                                                
        memcpy(to + (sg->block * rd->block_size), sg->buffer, sg->length);
   4c84c:	2f2a 0004      	movel %a2@(4),%sp@-                         
   4c850:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4c854:	4870 0800      	pea %a0@(00000000,%d0:l)                    
                                                                      
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk write: start=%d, blocks=%d",   
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c858:	45ea 0010      	lea %a2@(16),%a2                            
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk write: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              to + (sg->block * rd->block_size));     
#endif                                                                
        memcpy(to + (sg->block * rd->block_size), sg->buffer, sg->length);
   4c85c:	4e95           	jsr %a5@                                    
                                                                      
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk write: start=%d, blocks=%d",   
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c85e:	4fef 000c      	lea %sp@(12),%sp                            
   4c862:	b4ab 0010      	cmpl %a3@(16),%d2                           
   4c866:	64a6           	bccs 4c80e <ramdisk_ioctl+0xa2>             
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk write: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              to + (sg->block * rd->block_size));     
#endif                                                                
        memcpy(to + (sg->block * rd->block_size), sg->buffer, sg->length);
   4c868:	2012           	movel %a2@,%d0                              
   4c86a:	4c14 0800      	mulsl %a4@,%d0                              
   4c86e:	2043           	moveal %d3,%a0                              
                                                                      
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk write: start=%d, blocks=%d",   
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c870:	5282           	addql #1,%d2                                
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk write: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              to + (sg->block * rd->block_size));     
#endif                                                                
        memcpy(to + (sg->block * rd->block_size), sg->buffer, sg->length);
   4c872:	2f2a 0004      	movel %a2@(4),%sp@-                         
   4c876:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4c87a:	4870 0800      	pea %a0@(00000000,%d0:l)                    
                                                                      
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk write: start=%d, blocks=%d",   
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c87e:	45ea 0010      	lea %a2@(16),%a2                            
#if RTEMS_RAMDISK_TRACE                                               
        rtems_ramdisk_printf (rd, "ramdisk write: buf=%d block=%d length=%d off=%d addr=%p",
                              i, sg->block, sg->length, sg->block * rd->block_size,
                              to + (sg->block * rd->block_size));     
#endif                                                                
        memcpy(to + (sg->block * rd->block_size), sg->buffer, sg->length);
   4c882:	4e95           	jsr %a5@                                    
                                                                      
#if RTEMS_RAMDISK_TRACE                                               
    rtems_ramdisk_printf (rd, "ramdisk write: start=%d, blocks=%d",   
                          req->bufs[0].block, req->bufnum);           
#endif                                                                
    for (i = 0, sg = req->bufs; i < req->bufnum; i++, sg++)           
   4c884:	4fef 000c      	lea %sp@(12),%sp                            
   4c888:	b4ab 0010      	cmpl %a3@(16),%d2                           
   4c88c:	65b4           	bcss 4c842 <ramdisk_ioctl+0xd6>             
   4c88e:	6000 ff7e      	braw 4c80e <ramdisk_ioctl+0xa2>             
            break;                                                    
        }                                                             
                                                                      
        case RTEMS_BLKIO_DELETED:                                     
            if (rd->free_at_delete_request) {                         
              ramdisk_free(rd);                                       
   4c892:	2f0c           	movel %a4,%sp@-                             
   4c894:	4eb9 0004 c950 	jsr 4c950 <ramdisk_free>                    
   4c89a:	588f           	addql #4,%sp                                
        default:                                                      
            return rtems_blkdev_ioctl (dd, req, argp);                
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
   4c89c:	4eb9 0005 29b4 	jsr 529b4 <__errno>                         
   4c8a2:	7216           	moveq #22,%d1                               
   4c8a4:	2040           	moveal %d0,%a0                              
    return -1;                                                        
   4c8a6:	70ff           	moveq #-1,%d0                               
        default:                                                      
            return rtems_blkdev_ioctl (dd, req, argp);                
            break;                                                    
    }                                                                 
                                                                      
    errno = EINVAL;                                                   
   4c8a8:	2081           	movel %d1,%a0@                              
   4c8aa:	6000 ff18      	braw 4c7c4 <ramdisk_ioctl+0x58>             
	...                                                                  
                                                                      

0004c998 <ramdisk_register>: rtems_blkdev_bnum media_block_count, bool trace, const char *disk, dev_t *dev_ptr ) {
   4c998:	4e56 fff0      	linkw %fp,#-16                              
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_device_major_number major = 0;                                
   4c99c:	204e           	moveal %fp,%a0                              
  rtems_blkdev_bnum media_block_count,                                
  bool trace,                                                         
  const char *disk,                                                   
  dev_t *dev_ptr                                                      
)                                                                     
{                                                                     
   4c99e:	48d7 001c      	moveml %d2-%d4,%sp@                         
   4c9a2:	142e 0013      	moveb %fp@(19),%d2                          
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_device_major_number major = 0;                                
   4c9a6:	42a0           	clrl %a0@-                                  
  ramdisk *rd = NULL;                                                 
  dev_t dev = 0;                                                      
                                                                      
  sc = rtems_io_register_driver(0, &ramdisk_ops, &major);             
   4c9a8:	2f08           	movel %a0,%sp@-                             
   4c9aa:	4879 0006 1bfc 	pea 61bfc <ramdisk_ops>                     
   4c9b0:	42a7           	clrl %sp@-                                  
   4c9b2:	4eb9 0004 94dc 	jsr 494dc <rtems_io_register_driver>        
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4c9b8:	4fef 000c      	lea %sp@(12),%sp                            
   4c9bc:	4a80           	tstl %d0                                    
   4c9be:	670c           	beqs 4c9cc <ramdisk_register+0x34>          <== ALWAYS TAKEN
    return RTEMS_UNSATISFIED;                                         
   4c9c0:	700d           	moveq #13,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  *dev_ptr = dev;                                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4c9c2:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    <== NOT EXECUTED
   4c9c8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4c9ca:	4e75           	rts                                         <== NOT EXECUTED
  sc = rtems_io_register_driver(0, &ramdisk_ops, &major);             
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return RTEMS_UNSATISFIED;                                         
  }                                                                   
                                                                      
  rd = ramdisk_allocate(NULL, media_block_size, media_block_count, trace);
   4c9cc:	0282 0000 00ff 	andil #255,%d2                              
   4c9d2:	2f02           	movel %d2,%sp@-                             
   4c9d4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4c9d8:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4c9dc:	42a7           	clrl %sp@-                                  
   4c9de:	4eb9 0004 c8b0 	jsr 4c8b0 <ramdisk_allocate>                
  if (rd == NULL) {                                                   
   4c9e4:	4fef 0010      	lea %sp@(16),%sp                            
  sc = rtems_io_register_driver(0, &ramdisk_ops, &major);             
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return RTEMS_UNSATISFIED;                                         
  }                                                                   
                                                                      
  rd = ramdisk_allocate(NULL, media_block_size, media_block_count, trace);
   4c9e8:	2800           	movel %d0,%d4                               
  if (rd == NULL) {                                                   
   4c9ea:	6762           	beqs 4ca4e <ramdisk_register+0xb6>          <== NEVER TAKEN
    return RTEMS_UNSATISFIED;                                         
  }                                                                   
                                                                      
  dev = rtems_filesystem_make_dev_t(major, 0);                        
                                                                      
  sc = rtems_disk_create_phys(                                        
   4c9ec:	2f2e 0014      	movel %fp@(20),%sp@-                        
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.__overlay.major = _major;                                      
  temp.__overlay.minor = _minor;                                      
  return temp.device;                                                 
   4c9f0:	4283           	clrl %d3                                    
   4c9f2:	242e fffc      	movel %fp@(-4),%d2                          
   4c9f6:	2f00           	movel %d0,%sp@-                             
   4c9f8:	4879 0004 c76c 	pea 4c76c <ramdisk_ioctl>                   
   4c9fe:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4ca02:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4ca06:	2f03           	movel %d3,%sp@-                             
   4ca08:	2f02           	movel %d2,%sp@-                             
   4ca0a:	4eb9 0004 371e 	jsr 4371e <rtems_disk_create_phys>          
    media_block_count,                                                
    ramdisk_ioctl,                                                    
    rd,                                                               
    disk                                                              
  );                                                                  
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4ca10:	4fef 001c      	lea %sp@(28),%sp                            
   4ca14:	4a80           	tstl %d0                                    
   4ca16:	6616           	bnes 4ca2e <ramdisk_register+0x96>          <== NEVER TAKEN
    rtems_io_unregister_driver(major);                                
                                                                      
    return RTEMS_UNSATISFIED;                                         
  }                                                                   
                                                                      
  *dev_ptr = dev;                                                     
   4ca18:	206e 0018      	moveal %fp@(24),%a0                         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4ca1c:	4280           	clrl %d0                                    
    rtems_io_unregister_driver(major);                                
                                                                      
    return RTEMS_UNSATISFIED;                                         
  }                                                                   
                                                                      
  *dev_ptr = dev;                                                     
   4ca1e:	2082           	movel %d2,%a0@                              
   4ca20:	2143 0004      	movel %d3,%a0@(4)                           
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ca24:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    
   4ca2a:	4e5e           	unlk %fp                                    
   4ca2c:	4e75           	rts                                         
    ramdisk_ioctl,                                                    
    rd,                                                               
    disk                                                              
  );                                                                  
  if (sc != RTEMS_SUCCESSFUL) {                                       
    ramdisk_free(rd);                                                 
   4ca2e:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4ca30:	4eb9 0004 c950 	jsr 4c950 <ramdisk_free>                    <== NOT EXECUTED
    rtems_io_unregister_driver(major);                                
   4ca36:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   4ca3a:	4eb9 0004 9640 	jsr 49640 <rtems_io_unregister_driver>      <== NOT EXECUTED
   4ca40:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
    return RTEMS_UNSATISFIED;                                         
   4ca42:	700d           	moveq #13,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  *dev_ptr = dev;                                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ca44:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    <== NOT EXECUTED
   4ca4a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4ca4c:	4e75           	rts                                         <== NOT EXECUTED
    return RTEMS_UNSATISFIED;                                         
  }                                                                   
                                                                      
  rd = ramdisk_allocate(NULL, media_block_size, media_block_count, trace);
  if (rd == NULL) {                                                   
    rtems_io_unregister_driver(major);                                
   4ca4e:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   4ca52:	4eb9 0004 9640 	jsr 49640 <rtems_io_unregister_driver>      <== NOT EXECUTED
   4ca58:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
    return RTEMS_UNSATISFIED;                                         
   4ca5a:	700d           	moveq #13,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  *dev_ptr = dev;                                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ca5c:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    <== NOT EXECUTED
   4ca62:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

0005be60 <read>: ssize_t read( int fd, void *buffer, size_t count ) {
   5be60:	4e56 0000      	linkw %fp,#0                                
   5be64:	202e 0008      	movel %fp@(8),%d0                           
   5be68:	2f0a           	movel %a2,%sp@-                             
   5be6a:	222e 000c      	movel %fp@(12),%d1                          
   5be6e:	206e 0010      	moveal %fp@(16),%a0                         
   5be72:	2f02           	movel %d2,%sp@-                             
  rtems_libio_t *iop;                                                 
                                                                      
  rtems_libio_check_fd( fd );                                         
   5be74:	b0b9 0005 e260 	cmpl 5e260 <rtems_libio_number_iops>,%d0    
   5be7a:	6456           	bccs 5bed2 <read+0x72>                      
  iop = rtems_libio_iop( fd );                                        
   5be7c:	2400           	movel %d0,%d2                               
   5be7e:	ed88           	lsll #6,%d0                                 
   5be80:	e98a           	lsll #4,%d2                                 
   5be82:	2279 0005 f8f4 	moveal 5f8f4 <rtems_libio_iops>,%a1         
   5be88:	9082           	subl %d2,%d0                                
   5be8a:	d3c0           	addal %d0,%a1                               
  rtems_libio_check_is_open( iop );                                   
   5be8c:	2029 000c      	movel %a1@(12),%d0                          
   5be90:	0800 0008      	btst #8,%d0                                 
   5be94:	673c           	beqs 5bed2 <read+0x72>                      
  rtems_libio_check_buffer( buffer );                                 
   5be96:	4a81           	tstl %d1                                    
   5be98:	6752           	beqs 5beec <read+0x8c>                      <== NEVER TAKEN
  rtems_libio_check_count( count );                                   
   5be9a:	4a88           	tstl %a0                                    
   5be9c:	6726           	beqs 5bec4 <read+0x64>                      
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
   5be9e:	0800 0001      	btst #1,%d0                                 
   5bea2:	672e           	beqs 5bed2 <read+0x72>                      
                                                                      
  /*                                                                  
   *  Now process the read().                                         
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );     
   5bea4:	2469 0020      	moveal %a1@(32),%a2                         
   5bea8:	2d48 0010      	movel %a0,%fp@(16)                          
}                                                                     
   5beac:	242e fff8      	movel %fp@(-8),%d2                          
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
                                                                      
  /*                                                                  
   *  Now process the read().                                         
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );     
   5beb0:	2d41 000c      	movel %d1,%fp@(12)                          
   5beb4:	2d49 0008      	movel %a1,%fp@(8)                           
   5beb8:	226a 0008      	moveal %a2@(8),%a1                          
}                                                                     
   5bebc:	246e fffc      	moveal %fp@(-4),%a2                         
   5bec0:	4e5e           	unlk %fp                                    
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
                                                                      
  /*                                                                  
   *  Now process the read().                                         
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );     
   5bec2:	4ed1           	jmp %a1@                                    
}                                                                     
   5bec4:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
  rtems_libio_check_count( count );                                   
   5bec8:	4280           	clrl %d0                                    
                                                                      
  /*                                                                  
   *  Now process the read().                                         
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );     
}                                                                     
   5beca:	246e fffc      	moveal %fp@(-4),%a2                         
   5bece:	4e5e           	unlk %fp                                    
   5bed0:	4e75           	rts                                         
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
  rtems_libio_check_count( count );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
   5bed2:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
                                                                      
  /*                                                                  
   *  Now process the read().                                         
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );     
}                                                                     
   5bed8:	242e fff8      	movel %fp@(-8),%d2                          
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
  rtems_libio_check_count( count );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
   5bedc:	2040           	moveal %d0,%a0                              
   5bede:	7209           	moveq #9,%d1                                
   5bee0:	70ff           	moveq #-1,%d0                               
                                                                      
  /*                                                                  
   *  Now process the read().                                         
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );     
}                                                                     
   5bee2:	246e fffc      	moveal %fp@(-4),%a2                         
   5bee6:	4e5e           	unlk %fp                                    
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
  rtems_libio_check_count( count );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
   5bee8:	2081           	movel %d1,%a0@                              
                                                                      
  /*                                                                  
   *  Now process the read().                                         
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );     
}                                                                     
   5beea:	4e75           	rts                                         
  rtems_libio_t *iop;                                                 
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
   5beec:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   5bef2:	7416           	moveq #22,%d2                               <== NOT EXECUTED
   5bef4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5bef6:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5bef8:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Now process the read().                                         
   */                                                                 
  return (*iop->pathinfo.handlers->read_h)( iop, buffer, count );     
}                                                                     
   5befa:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   5befe:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   5bf02:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00044414 <read_extended_partition>: * RTEMS_NO_MEMOTY if cannot allocate memory for part_desc_t strucure, * RTEMS_INTERNAL_ERROR if other error occurs. */ static rtems_status_code read_extended_partition(int fd, uint32_t start, rtems_part_desc_t *ext_part) {
   44414:	4e56 ffd0      	linkw %fp,#-48                              
   44418:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4441c:	246e 0010      	moveal %fp@(16),%a2                         
    int                  i;                                           
    rtems_sector_data_t *sector = NULL;                               
   44420:	42ae fff8      	clrl %fp@(-8)                               
    uint32_t             here;                                        
    uint8_t             *data;                                        
    rtems_part_desc_t   *new_part_desc;                               
    rtems_status_code    rc;                                          
                                                                      
    if ((ext_part == NULL) || (ext_part->disk_desc == NULL))          
   44424:	4a8a           	tstl %a2                                    
   44426:	674c           	beqs 44474 <read_extended_partition+0x60>   <== NEVER TAKEN
   44428:	4aaa 0010      	tstl %a2@(16)                               
   4442c:	6746           	beqs 44474 <read_extended_partition+0x60>   <== NEVER TAKEN
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    /* get start sector of current extended partition */              
    here = ext_part->start;                                           
   4442e:	262a 0004      	movel %a2@(4),%d3                           
    if (sector == NULL)                                               
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    off = sector_num * RTEMS_IDE_SECTOR_SIZE;                         
   44432:	7209           	moveq #9,%d1                                
   44434:	2003           	movel %d3,%d0                               
   44436:	4284           	clrl %d4                                    
    new_off = lseek(fd, off, SEEK_SET);                               
    if (new_off != off) {                                             
        return RTEMS_IO_ERROR;                                        
   44438:	741b           	moveq #27,%d2                               
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    off = sector_num * RTEMS_IDE_SECTOR_SIZE;                         
    new_off = lseek(fd, off, SEEK_SET);                               
   4443a:	42a7           	clrl %sp@-                                  
    if (sector == NULL)                                               
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    off = sector_num * RTEMS_IDE_SECTOR_SIZE;                         
   4443c:	e3a8           	lsll %d1,%d0                                
    new_off = lseek(fd, off, SEEK_SET);                               
   4443e:	2f00           	movel %d0,%sp@-                             
    if (sector == NULL)                                               
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
    }                                                                 
                                                                      
    off = sector_num * RTEMS_IDE_SECTOR_SIZE;                         
   44440:	2a00           	movel %d0,%d5                               
    new_off = lseek(fd, off, SEEK_SET);                               
   44442:	2f04           	movel %d4,%sp@-                             
   44444:	2f2e 0008      	movel %fp@(8),%sp@-                         
   44448:	4eb9 0004 5794 	jsr 45794 <lseek>                           
    if (new_off != off) {                                             
   4444e:	4fef 0010      	lea %sp@(16),%sp                            
   44452:	9285           	subl %d5,%d1                                
   44454:	9184           	subxl %d4,%d0                               
   44456:	672a           	beqs 44482 <read_extended_partition+0x6e>   <== ALWAYS TAKEN
    /* get first extended partition sector */                         
                                                                      
    rc = get_sector(fd, here, §or);                               
    if (rc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        if (sector)                                                   
   44458:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   4445c:	670a           	beqs 44468 <read_extended_partition+0x54>   <== NOT EXECUTED
            free(sector);                                             
   4445e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44460:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
   44466:	588f           	addql #4,%sp                                <== NOT EXECUTED
    }                                                                 
                                                                      
    free(sector);                                                     
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   44468:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4446a:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44470:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44472:	4e75           	rts                                         <== NOT EXECUTED
    rtems_part_desc_t   *new_part_desc;                               
    rtems_status_code    rc;                                          
                                                                      
    if ((ext_part == NULL) || (ext_part->disk_desc == NULL))          
    {                                                                 
        return RTEMS_INTERNAL_ERROR;                                  
   44474:	7419           	moveq #25,%d2                               <== NOT EXECUTED
    }                                                                 
                                                                      
    free(sector);                                                     
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   44476:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   44478:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4447e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44480:	4e75           	rts                                         <== NOT EXECUTED
   44482:	486e fff8      	pea %fp@(-8)                                
   44486:	2f03           	movel %d3,%sp@-                             
   44488:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4448c:	4eba fe2c      	jsr %pc@(442ba <get_sector.part.0>)         
    here = ext_part->start;                                           
                                                                      
    /* get first extended partition sector */                         
                                                                      
    rc = get_sector(fd, here, §or);                               
    if (rc != RTEMS_SUCCESSFUL)                                       
   44490:	4fef 000c      	lea %sp@(12),%sp                            
   44494:	2400           	movel %d0,%d2                               
   44496:	66c0           	bnes 44458 <read_extended_partition+0x44>   <== NEVER TAKEN
        if (sector)                                                   
            free(sector);                                             
        return rc;                                                    
    }                                                                 
                                                                      
    if (!msdos_signature_check(sector))                               
   44498:	286e fff8      	moveal %fp@(-8),%a4                         
static bool                                                           
msdos_signature_check (rtems_sector_data_t *sector)                   
{                                                                     
    uint8_t *p = sector->data + RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_OFFSET;
                                                                      
    return ((p[0] == RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA1) &&    
   4449c:	4280           	clrl %d0                                    
   4449e:	102c 0202      	moveb %a4@(514),%d0                         
   444a2:	7255           	moveq #85,%d1                               
   444a4:	b280           	cmpl %d0,%d1                                
   444a6:	6718           	beqs 444c0 <read_extended_partition+0xac>   <== ALWAYS TAKEN
        return rc;                                                    
    }                                                                 
                                                                      
    if (!msdos_signature_check(sector))                               
    {                                                                 
        free(sector);                                                 
   444a8:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
        return RTEMS_INTERNAL_ERROR;                                  
   444aa:	7419           	moveq #25,%d2                               <== NOT EXECUTED
        return rc;                                                    
    }                                                                 
                                                                      
    if (!msdos_signature_check(sector))                               
    {                                                                 
        free(sector);                                                 
   444ac:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
   444b2:	588f           	addql #4,%sp                                <== NOT EXECUTED
    }                                                                 
                                                                      
    free(sector);                                                     
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   444b4:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   444b6:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   444bc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   444be:	4e75           	rts                                         <== NOT EXECUTED
static bool                                                           
msdos_signature_check (rtems_sector_data_t *sector)                   
{                                                                     
    uint8_t *p = sector->data + RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_OFFSET;
                                                                      
    return ((p[0] == RTEMS_IDE_PARTITION_MSDOS_SIGNATURE_DATA1) &&    
   444c0:	4280           	clrl %d0                                    
   444c2:	102c 0203      	moveb %a4@(515),%d0                         
   444c6:	0c80 0000 00aa 	cmpil #170,%d0                              
   444cc:	66da           	bnes 444a8 <read_extended_partition+0x94>   <== NEVER TAKEN
 *      RTEMS_SUCCESSFUL if success,                                  
 *      RTEMS_NO_MEMOTY if cannot allocate memory for part_desc_t strucure,
 *      RTEMS_INTERNAL_ERROR if other error occurs.                   
 */                                                                   
static rtems_status_code                                              
read_extended_partition(int fd, uint32_t start, rtems_part_desc_t *ext_part)
   444ce:	2a0a           	movel %a2,%d5                               
   444d0:	280e           	movel %fp,%d4                               
   444d2:	49ec 01d2      	lea %a4@(466),%a4                           
   444d6:	47ea 0018      	lea %a2@(24),%a3                            
   444da:	0685 0000 0028 	addil #40,%d5                               
   444e0:	5984           	subql #4,%d4                                
   444e2:	4bfa fe3e      	lea %pc@(44322 <data_to_part_desc.part.1>),%a5
   444e6:	2f04           	movel %d4,%sp@-                             
   444e8:	486c fff0      	pea %a4@(-16)                               
   444ec:	4e95           	jsr %a5@                                    
    {                                                                 
        /* if data_to_part_desc fails skip this partition             
         * and parse the next one                                     
         */                                                           
        rc = data_to_part_desc(data, &new_part_desc);                 
        if (rc != RTEMS_SUCCESSFUL)                                   
   444ee:	508f           	addql #8,%sp                                
   444f0:	2400           	movel %d0,%d2                               
   444f2:	665e           	bnes 44552 <read_extended_partition+0x13e>  <== NEVER TAKEN
        {                                                             
            free(sector);                                             
            return rc;                                                
        }                                                             
                                                                      
        if (new_part_desc == NULL)                                    
   444f4:	206e fffc      	moveal %fp@(-4),%a0                         
   444f8:	4a88           	tstl %a0                                    
   444fa:	674c           	beqs 44548 <read_extended_partition+0x134>  
        {                                                             
            data += RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE;              
            continue;                                                 
        }                                                             
                                                                      
        ext_part->sub_part[i] = new_part_desc;                        
   444fc:	2688           	movel %a0,%a3@                              
        new_part_desc->ext_part = ext_part;                           
        new_part_desc->disk_desc = ext_part->disk_desc;               
   444fe:	226a 0010      	moveal %a2@(16),%a1                         
 *      true if partition type is extended, false otherwise           
 */                                                                   
static bool                                                           
is_extended(uint8_t type)                                             
{                                                                     
    return ((type == EXTENDED_PARTITION) || (type == LINUX_EXTENDED));
   44502:	4281           	clrl %d1                                    
   44504:	1228 0001      	moveb %a0@(1),%d1                           
   44508:	7005           	moveq #5,%d0                                
            data += RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE;              
            continue;                                                 
        }                                                             
                                                                      
        ext_part->sub_part[i] = new_part_desc;                        
        new_part_desc->ext_part = ext_part;                           
   4450a:	214a 0014      	movel %a2,%a0@(20)                          
        new_part_desc->disk_desc = ext_part->disk_desc;               
   4450e:	2149 0010      	movel %a1,%a0@(16)                          
 *      true if partition type is extended, false otherwise           
 */                                                                   
static bool                                                           
is_extended(uint8_t type)                                             
{                                                                     
    return ((type == EXTENDED_PARTITION) || (type == LINUX_EXTENDED));
   44512:	b081           	cmpl %d1,%d0                                
   44514:	6754           	beqs 4456a <read_extended_partition+0x156>  
   44516:	0c81 0000 0085 	cmpil #133,%d1                              
   4451c:	674c           	beqs 4456a <read_extended_partition+0x156>  <== NEVER TAKEN
        else                                                          
        {                                                             
            rtems_disk_desc_t *disk_desc = new_part_desc->disk_desc;  
            disk_desc->partitions[disk_desc->last_log_id] = new_part_desc;
            new_part_desc->log_id = ++disk_desc->last_log_id;         
            new_part_desc->start += here;                             
   4451e:	2003           	movel %d3,%d0                               
   44520:	d0a8 0004      	addl %a0@(4),%d0                            
            read_extended_partition(fd, start, new_part_desc);        
        }                                                             
        else                                                          
        {                                                             
            rtems_disk_desc_t *disk_desc = new_part_desc->disk_desc;  
            disk_desc->partitions[disk_desc->last_log_id] = new_part_desc;
   44524:	2c29 0024      	movel %a1@(36),%d6                          
            new_part_desc->log_id = ++disk_desc->last_log_id;         
   44528:	2206           	movel %d6,%d1                               
   4452a:	5281           	addql #1,%d1                                
            new_part_desc->start += here;                             
            new_part_desc->end = new_part_desc->start + new_part_desc->size - 1;
   4452c:	2e28 0008      	movel %a0@(8),%d7                           
   44530:	5387           	subql #1,%d7                                
   44532:	de80           	addl %d0,%d7                                
            read_extended_partition(fd, start, new_part_desc);        
        }                                                             
        else                                                          
        {                                                             
            rtems_disk_desc_t *disk_desc = new_part_desc->disk_desc;  
            disk_desc->partitions[disk_desc->last_log_id] = new_part_desc;
   44534:	2388 6c28      	movel %a0,%a1@(00000028,%d6:l:4)            
            new_part_desc->log_id = ++disk_desc->last_log_id;         
   44538:	2341 0024      	movel %d1,%a1@(36)                          
   4453c:	1141 0002      	moveb %d1,%a0@(2)                           
            new_part_desc->start += here;                             
            new_part_desc->end = new_part_desc->start + new_part_desc->size - 1;
   44540:	2147 000c      	movel %d7,%a0@(12)                          
        else                                                          
        {                                                             
            rtems_disk_desc_t *disk_desc = new_part_desc->disk_desc;  
            disk_desc->partitions[disk_desc->last_log_id] = new_part_desc;
            new_part_desc->log_id = ++disk_desc->last_log_id;         
            new_part_desc->start += here;                             
   44544:	2140 0004      	movel %d0,%a0@(4)                           
   44548:	49ec 0010      	lea %a4@(16),%a4                            
   4454c:	588b           	addql #4,%a3                                
                                                                      
    /* read and process up to 4 logical partition descriptors */      
                                                                      
    data = sector->data + RTEMS_IDE_PARTITION_TABLE_OFFSET;           
                                                                      
    for (i = 0; i < RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER; i++)
   4454e:	ba8b           	cmpl %a3,%d5                                
   44550:	6694           	bnes 444e6 <read_extended_partition+0xd2>   
            new_part_desc->end = new_part_desc->start + new_part_desc->size - 1;
        }                                                             
        data += RTEMS_IDE_PARTITION_DESCRIPTOR_SIZE;                  
    }                                                                 
                                                                      
    free(sector);                                                     
   44552:	2f2e fff8      	movel %fp@(-8),%sp@-                        
   44556:	4eb9 0004 5344 	jsr 45344 <free>                            
   4455c:	588f           	addql #4,%sp                                
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4455e:	2002           	movel %d2,%d0                               
   44560:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   44566:	4e5e           	unlk %fp                                    
   44568:	4e75           	rts                                         
        new_part_desc->disk_desc = ext_part->disk_desc;               
                                                                      
        if (is_extended(new_part_desc->sys_type))                     
        {                                                             
            new_part_desc->log_id = EMPTY_PARTITION;                  
            new_part_desc->start += start;                            
   4456a:	222e 000c      	movel %fp@(12),%d1                          
   4456e:	d3a8 0004      	addl %d1,%a0@(4)                            
   44572:	49ec 0010      	lea %a4@(16),%a4                            
   44576:	588b           	addql #4,%a3                                
        new_part_desc->ext_part = ext_part;                           
        new_part_desc->disk_desc = ext_part->disk_desc;               
                                                                      
        if (is_extended(new_part_desc->sys_type))                     
        {                                                             
            new_part_desc->log_id = EMPTY_PARTITION;                  
   44578:	4200           	clrb %d0                                    
   4457a:	1140 0002      	moveb %d0,%a0@(2)                           
            new_part_desc->start += start;                            
            read_extended_partition(fd, start, new_part_desc);        
   4457e:	2f08           	movel %a0,%sp@-                             
   44580:	2f01           	movel %d1,%sp@-                             
   44582:	2f2e 0008      	movel %fp@(8),%sp@-                         
   44586:	4eba fe8c      	jsr %pc@(44414 <read_extended_partition>)   
   4458a:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
    /* read and process up to 4 logical partition descriptors */      
                                                                      
    data = sector->data + RTEMS_IDE_PARTITION_TABLE_OFFSET;           
                                                                      
    for (i = 0; i < RTEMS_IDE_PARTITION_MAX_SUB_PARTITION_NUMBER; i++)
   4458e:	ba8b           	cmpl %a3,%d5                                
   44590:	6600 ff54      	bnew 444e6 <read_extended_partition+0xd2>   
   44594:	60bc           	bras 44552 <read_extended_partition+0x13e>  <== NOT EXECUTED
                                                                      

00044c1c <readv>: ssize_t readv( int fd, const struct iovec *iov, int iovcnt ) {
   44c1c:	4e56 ffe8      	linkw %fp,#-24                              
   44c20:	202e 0008      	movel %fp@(8),%d0                           
   44c24:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
   44c28:	266e 000c      	moveal %fp@(12),%a3                         
   44c2c:	282e 0010      	movel %fp@(16),%d4                          
  int            v;                                                   
  int            bytes;                                               
  rtems_libio_t *iop;                                                 
  bool           all_zeros;                                           
                                                                      
  rtems_libio_check_fd( fd );                                         
   44c30:	b0b9 0005 ec60 	cmpl 5ec60 <rtems_libio_number_iops>,%d0    
   44c36:	6400 00d2      	bccw 44d0a <readv+0xee>                     
  iop = rtems_libio_iop( fd );                                        
   44c3a:	2200           	movel %d0,%d1                               
   44c3c:	ed88           	lsll #6,%d0                                 
   44c3e:	e989           	lsll #4,%d1                                 
   44c40:	2879 0006 02f4 	moveal 602f4 <rtems_libio_iops>,%a4         
   44c46:	9081           	subl %d1,%d0                                
   44c48:	d9c0           	addal %d0,%a4                               
  rtems_libio_check_is_open( iop );                                   
   44c4a:	202c 000c      	movel %a4@(12),%d0                          
   44c4e:	0800 0008      	btst #8,%d0                                 
   44c52:	6700 00b6      	beqw 44d0a <readv+0xee>                     
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
   44c56:	0800 0001      	btst #1,%d0                                 
   44c5a:	6700 00ae      	beqw 44d0a <readv+0xee>                     
                                                                      
  /*                                                                  
   *  Argument validation on IO vector                                
   */                                                                 
  if ( !iov )                                                         
   44c5e:	4a8b           	tstl %a3                                    
   44c60:	6772           	beqs 44cd4 <readv+0xb8>                     
    rtems_set_errno_and_return_minus_one( EINVAL );                   
                                                                      
  if ( iovcnt <= 0 )                                                  
   44c62:	4a84           	tstl %d4                                    
   44c64:	6f6e           	bles 44cd4 <readv+0xb8>                     
    rtems_set_errno_and_return_minus_one( EINVAL );                   
                                                                      
  if ( iovcnt > IOV_MAX )                                             
   44c66:	0c84 0000 0400 	cmpil #1024,%d4                             
   44c6c:	6e66           	bgts 44cd4 <readv+0xb8>                     <== NEVER TAKEN
   44c6e:	244b           	moveal %a3,%a2                              
 *                                                                    
 *  OpenGroup URL:                                                    
 *                                                                    
 *  http://www.opengroup.org/onlinepubs/009695399/functions/readv.html
 */                                                                   
ssize_t readv(                                                        
   44c70:	204b           	moveal %a3,%a0                              
   44c72:	4280           	clrl %d0                                    
   44c74:	e78c           	lsll #3,%d4                                 
   44c76:	7401           	moveq #1,%d2                                
   44c78:	d88b           	addl %a3,%d4                                
                                                                      
    /*                                                                
     *  iov[v].iov_len cannot be less than 0 because size_t is unsigned.
     *  So we only check for zero.                                    
     */                                                               
    if ( iov[v].iov_base == 0 )                                       
   44c7a:	4a90           	tstl %a0@                                   
   44c7c:	6756           	beqs 44cd4 <readv+0xb8>                     
      rtems_set_errno_and_return_minus_one( EINVAL );                 
                                                                      
    /* check for wrap */                                              
    old    = total;                                                   
    total += iov[v].iov_len;                                          
   44c7e:	2268 0004      	moveal %a0@(4),%a1                          
   44c82:	2209           	movel %a1,%d1                               
   44c84:	d280           	addl %d0,%d1                                
    if ( total < old )                                                
   44c86:	b081           	cmpl %d1,%d0                                
   44c88:	6e4a           	bgts 44cd4 <readv+0xb8>                     
      rtems_set_errno_and_return_minus_one( EINVAL );                 
                                                                      
    if ( iov[v].iov_len )                                             
      all_zeros = false;                                              
   44c8a:	4a89           	tstl %a1                                    
   44c8c:	57c3           	seq %d3                                     
   44c8e:	5088           	addql #8,%a0                                
    if ( iov[v].iov_base == 0 )                                       
      rtems_set_errno_and_return_minus_one( EINVAL );                 
                                                                      
    /* check for wrap */                                              
    old    = total;                                                   
    total += iov[v].iov_len;                                          
   44c90:	2001           	movel %d1,%d0                               
    if ( total < old )                                                
      rtems_set_errno_and_return_minus_one( EINVAL );                 
                                                                      
    if ( iov[v].iov_len )                                             
      all_zeros = false;                                              
   44c92:	c483           	andl %d3,%d2                                
   *  are obvious errors in the iovec.  So this extra loop ensures    
   *  that we do not do anything if there is an argument error.       
   */                                                                 
                                                                      
  all_zeros = true;                                                   
  for ( total=0, v=0 ; v < iovcnt ; v++ ) {                           
   44c94:	b888           	cmpl %a0,%d4                                
   44c96:	66e2           	bnes 44c7a <readv+0x5e>                     
  /*                                                                  
   *  A readv with all zeros logically has no effect.  Even though    
   *  OpenGroup didn't address this case as they did with writev(),   
   *  we will handle it the same way for symmetry.                    
   */                                                                 
  if ( all_zeros == true ) {                                          
   44c98:	4a02           	tstb %d2                                    
   44c9a:	6652           	bnes 44cee <readv+0xd2>                     
 *                                                                    
 *  OpenGroup URL:                                                    
 *                                                                    
 *  http://www.opengroup.org/onlinepubs/009695399/functions/readv.html
 */                                                                   
ssize_t readv(                                                        
   44c9c:	588b           	addql #4,%a3                                
   44c9e:	4282           	clrl %d2                                    
                                                                      
  /*                                                                  
   *  Now process the readv().                                        
   */                                                                 
  for ( total=0, v=0 ; v < iovcnt ; v++ ) {                           
    bytes = (*iop->pathinfo.handlers->read_h)(                        
   44ca0:	206c 0020      	moveal %a4@(32),%a0                         
   44ca4:	2f13           	movel %a3@,%sp@-                            
   44ca6:	2f12           	movel %a2@,%sp@-                            
   44ca8:	508a           	addql #8,%a2                                
   44caa:	2f0c           	movel %a4,%sp@-                             
   44cac:	2068 0008      	moveal %a0@(8),%a0                          
   44cb0:	4e90           	jsr %a0@                                    
      iop,                                                            
      iov[v].iov_base,                                                
      iov[v].iov_len                                                  
    );                                                                
                                                                      
    if ( bytes < 0 )                                                  
   44cb2:	4fef 000c      	lea %sp@(12),%sp                            
   44cb6:	4a80           	tstl %d0                                    
   44cb8:	6d42           	blts 44cfc <readv+0xe0>                     <== NEVER TAKEN
      return -1;                                                      
                                                                      
    if ( bytes > 0 ) {                                                
   44cba:	6702           	beqs 44cbe <readv+0xa2>                     <== NEVER TAKEN
      total       += bytes;                                           
   44cbc:	d480           	addl %d0,%d2                                
    }                                                                 
                                                                      
    if (bytes != iov[ v ].iov_len)                                    
   44cbe:	b093           	cmpl %a3@,%d0                               
   44cc0:	6606           	bnes 44cc8 <readv+0xac>                     <== NEVER TAKEN
   44cc2:	508b           	addql #8,%a3                                
  }                                                                   
                                                                      
  /*                                                                  
   *  Now process the readv().                                        
   */                                                                 
  for ( total=0, v=0 ; v < iovcnt ; v++ ) {                           
   44cc4:	b88a           	cmpl %a2,%d4                                
   44cc6:	66d8           	bnes 44ca0 <readv+0x84>                     
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   44cc8:	2002           	movel %d2,%d0                               
   44cca:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   44cd0:	4e5e           	unlk %fp                                    
   44cd2:	4e75           	rts                                         
                                                                      
    /* check for wrap */                                              
    old    = total;                                                   
    total += iov[v].iov_len;                                          
    if ( total < old )                                                
      rtems_set_errno_and_return_minus_one( EINVAL );                 
   44cd4:	4eb9 0004 ee00 	jsr 4ee00 <__errno>                         
   44cda:	74ff           	moveq #-1,%d2                               
   44cdc:	2040           	moveal %d0,%a0                              
   44cde:	7016           	moveq #22,%d0                               
   44ce0:	2080           	movel %d0,%a0@                              
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   44ce2:	2002           	movel %d2,%d0                               
   44ce4:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   44cea:	4e5e           	unlk %fp                                    
   44cec:	4e75           	rts                                         
   *  A readv with all zeros logically has no effect.  Even though    
   *  OpenGroup didn't address this case as they did with writev(),   
   *  we will handle it the same way for symmetry.                    
   */                                                                 
  if ( all_zeros == true ) {                                          
    return 0;                                                         
   44cee:	4282           	clrl %d2                                    
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   44cf0:	2002           	movel %d2,%d0                               
   44cf2:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   44cf8:	4e5e           	unlk %fp                                    
   44cfa:	4e75           	rts                                         
      iov[v].iov_base,                                                
      iov[v].iov_len                                                  
    );                                                                
                                                                      
    if ( bytes < 0 )                                                  
      return -1;                                                      
   44cfc:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   44cfe:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   44d00:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   44d06:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44d08:	4e75           	rts                                         <== NOT EXECUTED
  bool           all_zeros;                                           
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
   44d0a:	4eb9 0004 ee00 	jsr 4ee00 <__errno>                         
   44d10:	74ff           	moveq #-1,%d2                               
   44d12:	7209           	moveq #9,%d1                                
   44d14:	2040           	moveal %d0,%a0                              
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   44d16:	2002           	movel %d2,%d0                               
   44d18:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
  bool           all_zeros;                                           
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_READ, EBADF );
   44d1e:	2081           	movel %d1,%a0@                              
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   44d20:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005bf68 <realloc>: /* * Do not attempt to allocate memory if in a critical section or ISR. */ if (_System_state_Is_up(_System_state_Get())) {
   5bf68:	7003           	moveq #3,%d0                                
                                                                      
void *realloc(                                                        
  void *ptr,                                                          
  size_t size                                                         
)                                                                     
{                                                                     
   5bf6a:	4e56 fff0      	linkw %fp,#-16                              
  uintptr_t old_size;                                                 
  char    *new_area;                                                  
                                                                      
  MSBUMP(realloc_calls, 1);                                           
   5bf6e:	52b9 0005 f910 	addql #1,5f910 <rtems_malloc_statistics+0x10>
                                                                      
void *realloc(                                                        
  void *ptr,                                                          
  size_t size                                                         
)                                                                     
{                                                                     
   5bf74:	48d7 001c      	moveml %d2-%d4,%sp@                         
   5bf78:	242e 0008      	movel %fp@(8),%d2                           
   5bf7c:	262e 000c      	movel %fp@(12),%d3                          
                                                                      
  /*                                                                  
   *  Do not attempt to allocate memory if in a critical section or ISR.
   */                                                                 
                                                                      
  if (_System_state_Is_up(_System_state_Get())) {                     
   5bf80:	b0b9 0005 fb6c 	cmpl 5fb6c <_System_state_Current>,%d0      
   5bf86:	6700 0090      	beqw 5c018 <realloc+0xb0>                   
  }                                                                   
                                                                      
  /*                                                                  
   * Continue with realloc().                                         
   */                                                                 
  if ( !ptr )                                                         
   5bf8a:	4a82           	tstl %d2                                    
   5bf8c:	6700 00fa      	beqw 5c088 <realloc+0x120>                  
    return malloc( size );                                            
                                                                      
  if ( !size ) {                                                      
   5bf90:	4a83           	tstl %d3                                    
   5bf92:	6700 00c2      	beqw 5c056 <realloc+0xee>                   
    free( ptr );                                                      
    return (void *) 0;                                                
  }                                                                   
                                                                      
  if ( !_Protected_heap_Get_block_size(RTEMS_Malloc_Heap, ptr, &old_size) ) {
   5bf96:	486e fffc      	pea %fp@(-4)                                
   5bf9a:	2f02           	movel %d2,%sp@-                             
   5bf9c:	2f39 0005 e21c 	movel 5e21c <RTEMS_Malloc_Heap>,%sp@-       
   5bfa2:	4eb9 0005 c140 	jsr 5c140 <_Protected_heap_Get_block_size>  
   5bfa8:	4fef 000c      	lea %sp@(12),%sp                            
   5bfac:	4a00           	tstb %d0                                    
   5bfae:	6700 00be      	beqw 5c06e <realloc+0x106>                  
  }                                                                   
                                                                      
  /*                                                                  
   *  Now resize it.                                                  
   */                                                                 
  if ( _Protected_heap_Resize_block( RTEMS_Malloc_Heap, ptr, size ) ) {
   5bfb2:	2f03           	movel %d3,%sp@-                             
   5bfb4:	2f02           	movel %d2,%sp@-                             
   5bfb6:	2f39 0005 e21c 	movel 5e21c <RTEMS_Malloc_Heap>,%sp@-       
   5bfbc:	4eb9 0005 c17c 	jsr 5c17c <_Protected_heap_Resize_block>    
   5bfc2:	4fef 000c      	lea %sp@(12),%sp                            
   5bfc6:	4a00           	tstb %d0                                    
   5bfc8:	670c           	beqs 5bfd6 <realloc+0x6e>                   
  memcpy( new_area, ptr, (size < old_size) ? size : old_size );       
  free( ptr );                                                        
                                                                      
  return new_area;                                                    
                                                                      
}                                                                     
   5bfca:	2002           	movel %d2,%d0                               
   5bfcc:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    
   5bfd2:	4e5e           	unlk %fp                                    
   5bfd4:	4e75           	rts                                         
   *  There used to be a free on this error case but it is wrong to   
   *  free the memory per OpenGroup Single UNIX Specification V2      
   *  and the C Standard.                                             
   */                                                                 
                                                                      
  new_area = malloc( size );                                          
   5bfd6:	2f03           	movel %d3,%sp@-                             
   5bfd8:	4eb9 0004 33cc 	jsr 433cc <malloc>                          
                                                                      
  MSBUMP(malloc_calls, (uint32_t) -1);   /* subtract off the malloc */
                                                                      
  if ( !new_area ) {                                                  
   5bfde:	588f           	addql #4,%sp                                
   *  and the C Standard.                                             
   */                                                                 
                                                                      
  new_area = malloc( size );                                          
                                                                      
  MSBUMP(malloc_calls, (uint32_t) -1);   /* subtract off the malloc */
   5bfe0:	53b9 0005 f904 	subql #1,5f904 <rtems_malloc_statistics+0x4>
   *  There used to be a free on this error case but it is wrong to   
   *  free the memory per OpenGroup Single UNIX Specification V2      
   *  and the C Standard.                                             
   */                                                                 
                                                                      
  new_area = malloc( size );                                          
   5bfe6:	2800           	movel %d0,%d4                               
                                                                      
  MSBUMP(malloc_calls, (uint32_t) -1);   /* subtract off the malloc */
                                                                      
  if ( !new_area ) {                                                  
   5bfe8:	6740           	beqs 5c02a <realloc+0xc2>                   
    return (void *) 0;                                                
  }                                                                   
                                                                      
  memcpy( new_area, ptr, (size < old_size) ? size : old_size );       
   5bfea:	202e fffc      	movel %fp@(-4),%d0                          
   5bfee:	b083           	cmpl %d3,%d0                                
   5bff0:	6546           	bcss 5c038 <realloc+0xd0>                   <== ALWAYS TAKEN
   5bff2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5bff4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5bff6:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5bff8:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          <== NOT EXECUTED
  free( ptr );                                                        
   5bffe:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5c000:	2404           	movel %d4,%d2                               <== NOT EXECUTED
   5c002:	4eb9 0004 30cc 	jsr 430cc <free>                            <== NOT EXECUTED
   5c008:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
  return new_area;                                                    
                                                                      
}                                                                     
   5c00c:	2002           	movel %d2,%d0                               
   5c00e:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    
   5c014:	4e5e           	unlk %fp                                    
   5c016:	4e75           	rts                                         
   * This routine returns true if thread dispatch indicates           
   * that we are in a critical section.                               
   */                                                                 
  RTEMS_INLINE_ROUTINE bool _Thread_Dispatch_in_critical_section(void)
  {                                                                   
     if (  _Thread_Dispatch_disable_level == 0 )                      
   5c018:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
   5c01e:	660a           	bnes 5c02a <realloc+0xc2>                   <== NEVER TAKEN
                                                                      
  if (_System_state_Is_up(_System_state_Get())) {                     
    if (_Thread_Dispatch_in_critical_section())                       
      return (void *) 0;                                              
                                                                      
    if (_ISR_Nest_level > 0)                                          
   5c020:	4ab9 0005 fb78 	tstl 5fb78 <_Per_CPU_Information+0x8>       
   5c026:	6700 ff62      	beqw 5bf8a <realloc+0x22>                   
   *  Do not attempt to allocate memory if in a critical section or ISR.
   */                                                                 
                                                                      
  if (_System_state_Is_up(_System_state_Get())) {                     
    if (_Thread_Dispatch_in_critical_section())                       
      return (void *) 0;                                              
   5c02a:	4282           	clrl %d2                                    
  memcpy( new_area, ptr, (size < old_size) ? size : old_size );       
  free( ptr );                                                        
                                                                      
  return new_area;                                                    
                                                                      
}                                                                     
   5c02c:	2002           	movel %d2,%d0                               
   5c02e:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    
   5c034:	4e5e           	unlk %fp                                    
   5c036:	4e75           	rts                                         
                                                                      
  if ( !new_area ) {                                                  
    return (void *) 0;                                                
  }                                                                   
                                                                      
  memcpy( new_area, ptr, (size < old_size) ? size : old_size );       
   5c038:	2600           	movel %d0,%d3                               
   5c03a:	2f03           	movel %d3,%sp@-                             
   5c03c:	2f02           	movel %d2,%sp@-                             
   5c03e:	2f04           	movel %d4,%sp@-                             
   5c040:	4eb9 0004 e964 	jsr 4e964 <memcpy>                          
  free( ptr );                                                        
   5c046:	2f02           	movel %d2,%sp@-                             
   5c048:	2404           	movel %d4,%d2                               
   5c04a:	4eb9 0004 30cc 	jsr 430cc <free>                            
   5c050:	4fef 0010      	lea %sp@(16),%sp                            
   5c054:	60b6           	bras 5c00c <realloc+0xa4>                   
   */                                                                 
  if ( !ptr )                                                         
    return malloc( size );                                            
                                                                      
  if ( !size ) {                                                      
    free( ptr );                                                      
   5c056:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
    return (void *) 0;                                                
   5c058:	4282           	clrl %d2                                    <== NOT EXECUTED
   */                                                                 
  if ( !ptr )                                                         
    return malloc( size );                                            
                                                                      
  if ( !size ) {                                                      
    free( ptr );                                                      
   5c05a:	4eb9 0004 30cc 	jsr 430cc <free>                            <== NOT EXECUTED
   5c060:	588f           	addql #4,%sp                                <== NOT EXECUTED
  memcpy( new_area, ptr, (size < old_size) ? size : old_size );       
  free( ptr );                                                        
                                                                      
  return new_area;                                                    
                                                                      
}                                                                     
   5c062:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5c064:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    <== NOT EXECUTED
   5c06a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c06c:	4e75           	rts                                         <== NOT EXECUTED
    free( ptr );                                                      
    return (void *) 0;                                                
  }                                                                   
                                                                      
  if ( !_Protected_heap_Get_block_size(RTEMS_Malloc_Heap, ptr, &old_size) ) {
    errno = EINVAL;                                                   
   5c06e:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
    return (void *) 0;                                                
   5c074:	4282           	clrl %d2                                    
    free( ptr );                                                      
    return (void *) 0;                                                
  }                                                                   
                                                                      
  if ( !_Protected_heap_Get_block_size(RTEMS_Malloc_Heap, ptr, &old_size) ) {
    errno = EINVAL;                                                   
   5c076:	2040           	moveal %d0,%a0                              
   5c078:	7016           	moveq #22,%d0                               
   5c07a:	2080           	movel %d0,%a0@                              
  memcpy( new_area, ptr, (size < old_size) ? size : old_size );       
  free( ptr );                                                        
                                                                      
  return new_area;                                                    
                                                                      
}                                                                     
   5c07c:	2002           	movel %d2,%d0                               
   5c07e:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    
   5c084:	4e5e           	unlk %fp                                    
   5c086:	4e75           	rts                                         
                                                                      
  /*                                                                  
   * Continue with realloc().                                         
   */                                                                 
  if ( !ptr )                                                         
    return malloc( size );                                            
   5c088:	2d43 0008      	movel %d3,%fp@(8)                           
  memcpy( new_area, ptr, (size < old_size) ? size : old_size );       
  free( ptr );                                                        
                                                                      
  return new_area;                                                    
                                                                      
}                                                                     
   5c08c:	4cee 001c fff0 	moveml %fp@(-16),%d2-%d4                    
   5c092:	4e5e           	unlk %fp                                    
                                                                      
  /*                                                                  
   * Continue with realloc().                                         
   */                                                                 
  if ( !ptr )                                                         
    return malloc( size );                                            
   5c094:	4ef9 0004 33cc 	jmp 433cc <malloc>                          
	...                                                                  
                                                                      

000448b2 <release_with_count>: global_loc->location.mt_entry; rtems_filesystem_mt_entry_declare_lock_context(lock_context); bool do_free; bool do_unmount; rtems_filesystem_mt_entry_lock(lock_context);
   448b2:	203c 0000 0700 	movel #1792,%d0                             
                                                                      
static void release_with_count(                                       
  rtems_filesystem_global_location_t *global_loc,                     
  int count                                                           
)                                                                     
{                                                                     
   448b8:	4e56 fff4      	linkw %fp,#-12                              
   448bc:	206e 000c      	moveal %fp@(12),%a0                         
   448c0:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   448c4:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_filesystem_mount_table_entry_t *mt_entry =                    
   448c8:	266a 0014      	moveal %a2@(20),%a3                         
    global_loc->location.mt_entry;                                    
  rtems_filesystem_mt_entry_declare_lock_context(lock_context);       
  bool do_free;                                                       
  bool do_unmount;                                                    
                                                                      
  rtems_filesystem_mt_entry_lock(lock_context);                       
   448cc:	40c1           	movew %sr,%d1                               
   448ce:	8081           	orl %d1,%d0                                 
   448d0:	46c0           	movew %d0,%sr                               
  global_loc->reference_count -= count;                               
   448d2:	202a 0018      	movel %a2@(24),%d0                          
   448d6:	9088           	subl %a0,%d0                                
   448d8:	2540 0018      	movel %d0,%a2@(24)                          
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
  bool ready = !mt_entry->mounted                                     
    && rtems_chain_has_only_one_node( &mt_entry->location_chain )     
    && mt_entry->mt_fs_root->reference_count == 1;                    
   448dc:	4a2b 0028      	tstb %a3@(40)                               
   448e0:	660a           	bnes 448ec <release_with_count+0x3a>        
static inline bool rtems_filesystem_is_ready_for_unmount(             
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
  bool ready = !mt_entry->mounted                                     
    && rtems_chain_has_only_one_node( &mt_entry->location_chain )     
   448e2:	242b 001c      	movel %a3@(28),%d2                          
   448e6:	b4ab 0014      	cmpl %a3@(20),%d2                           
   448ea:	673e           	beqs 4492a <release_with_count+0x78>        
                                                                      
static inline bool rtems_filesystem_is_ready_for_unmount(             
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
  bool ready = !mt_entry->mounted                                     
   448ec:	4202           	clrb %d2                                    
  do_free = global_loc->reference_count == 0;                         
  do_unmount = rtems_filesystem_is_ready_for_unmount(mt_entry);       
  rtems_filesystem_mt_entry_unlock(lock_context);                     
   448ee:	46c1           	movew %d1,%sr                               
                                                                      
  if (do_free) {                                                      
   448f0:	4a80           	tstl %d0                                    
   448f2:	670e           	beqs 44902 <release_with_count+0x50>        
    rtems_filesystem_location_free(&global_loc->location);            
    free(global_loc);                                                 
  }                                                                   
                                                                      
  if (do_unmount) {                                                   
   448f4:	4a02           	tstb %d2                                    
   448f6:	6620           	bnes 44918 <release_with_count+0x66>        
    rtems_filesystem_do_unmount(mt_entry);                            
  }                                                                   
}                                                                     
   448f8:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   448fe:	4e5e           	unlk %fp                                    
   44900:	4e75           	rts                                         
  do_free = global_loc->reference_count == 0;                         
  do_unmount = rtems_filesystem_is_ready_for_unmount(mt_entry);       
  rtems_filesystem_mt_entry_unlock(lock_context);                     
                                                                      
  if (do_free) {                                                      
    rtems_filesystem_location_free(&global_loc->location);            
   44902:	2f0a           	movel %a2,%sp@-                             
   44904:	4eb9 0004 b898 	jsr 4b898 <rtems_filesystem_location_free>  
    free(global_loc);                                                 
   4490a:	2f0a           	movel %a2,%sp@-                             
   4490c:	4eb9 0004 30cc 	jsr 430cc <free>                            
   44912:	508f           	addql #8,%sp                                
  }                                                                   
                                                                      
  if (do_unmount) {                                                   
   44914:	4a02           	tstb %d2                                    
   44916:	67e0           	beqs 448f8 <release_with_count+0x46>        <== ALWAYS TAKEN
    rtems_filesystem_do_unmount(mt_entry);                            
   44918:	2d4b 0008      	movel %a3,%fp@(8)                           
  }                                                                   
}                                                                     
   4491c:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   44922:	4e5e           	unlk %fp                                    
    rtems_filesystem_location_free(&global_loc->location);            
    free(global_loc);                                                 
  }                                                                   
                                                                      
  if (do_unmount) {                                                   
    rtems_filesystem_do_unmount(mt_entry);                            
   44924:	4ef9 0004 4734 	jmp 44734 <rtems_filesystem_do_unmount>     
    && rtems_chain_has_only_one_node( &mt_entry->location_chain )     
    && mt_entry->mt_fs_root->reference_count == 1;                    
   4492a:	206b 0024      	moveal %a3@(36),%a0                         
   4492e:	7401           	moveq #1,%d2                                
   44930:	b4a8 0018      	cmpl %a0@(24),%d2                           
   44934:	66b6           	bnes 448ec <release_with_count+0x3a>        
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   44936:	41eb 0018      	lea %a3@(24),%a0                            
   4493a:	2748 0014      	movel %a0,%a3@(20)                          
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   4493e:	41eb 0014      	lea %a3@(20),%a0                            
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   44942:	42ab 0018      	clrl %a3@(24)                               
                                                                      
static inline bool rtems_filesystem_is_ready_for_unmount(             
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
  bool ready = !mt_entry->mounted                                     
   44946:	7401           	moveq #1,%d2                                
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   44948:	2748 001c      	movel %a0,%a3@(28)                          
                                                                      
  rtems_filesystem_mt_entry_lock(lock_context);                       
  global_loc->reference_count -= count;                               
  do_free = global_loc->reference_count == 0;                         
  do_unmount = rtems_filesystem_is_ready_for_unmount(mt_entry);       
  rtems_filesystem_mt_entry_unlock(lock_context);                     
   4494c:	46c1           	movew %d1,%sr                               
                                                                      
  if (do_free) {                                                      
   4494e:	4a80           	tstl %d0                                    
   44950:	66a2           	bnes 448f4 <release_with_count+0x42>        <== ALWAYS TAKEN
   44952:	60ae           	bras 44902 <release_with_count+0x50>        <== NOT EXECUTED
                                                                      

000437e0 <rtems_assoc_local_by_name>: uint32_t rtems_assoc_local_by_name( const rtems_assoc_t *ap, const char *name ) {
   437e0:	4e56 0000      	linkw %fp,#0                                
  const rtems_assoc_t *nap;                                           
                                                                      
  nap = rtems_assoc_ptr_by_name(ap, name);                            
   437e4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   437e8:	2f2e 0008      	movel %fp@(8),%sp@-                         
   437ec:	4eb9 0004 3a4c 	jsr 43a4c <rtems_assoc_ptr_by_name>         
  if (nap)                                                            
   437f2:	508f           	addql #8,%sp                                
   437f4:	4a80           	tstl %d0                                    
   437f6:	670a           	beqs 43802 <rtems_assoc_local_by_name+0x22> <== NEVER TAKEN
    return nap->local_value;                                          
   437f8:	2040           	moveal %d0,%a0                              
                                                                      
  return 0;                                                           
}                                                                     
   437fa:	4e5e           	unlk %fp                                    
{                                                                     
  const rtems_assoc_t *nap;                                           
                                                                      
  nap = rtems_assoc_ptr_by_name(ap, name);                            
  if (nap)                                                            
    return nap->local_value;                                          
   437fc:	2028 0004      	movel %a0@(4),%d0                           
                                                                      
  return 0;                                                           
}                                                                     
   43800:	4e75           	rts                                         
                                                                      
  nap = rtems_assoc_ptr_by_name(ap, name);                            
  if (nap)                                                            
    return nap->local_value;                                          
                                                                      
  return 0;                                                           
   43802:	4280           	clrl %d0                                    
}                                                                     
   43804:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004dbcc <rtems_assoc_local_by_remote_bitfield>: uint32_t rtems_assoc_local_by_remote_bitfield( const rtems_assoc_t *ap, uint32_t remote_value ) {
   4dbcc:	4e56 ffe8      	linkw %fp,#-24                              
   4dbd0:	48d7 047c      	moveml %d2-%d6/%a2,%sp@                     
   4dbd4:	2c2e 0008      	movel %fp@(8),%d6                           
   4dbd8:	7620           	moveq #32,%d3                               
  uint32_t   b;                                                       
  uint32_t   local_value = 0;                                         
   4dbda:	4285           	clrl %d5                                    
                                                                      
  for (b = 1; b; b <<= 1) {                                           
   4dbdc:	7401           	moveq #1,%d2                                
    if (b & remote_value)                                             
      local_value |= rtems_assoc_local_by_remote(ap, b);              
   4dbde:	45f9 0004 b704 	lea 4b704 <rtems_assoc_local_by_remote>,%a2 
                                                                      
uint32_t   rtems_assoc_local_by_remote_bitfield(                      
    const rtems_assoc_t *ap,                                          
    uint32_t       remote_value                                       
)                                                                     
{                                                                     
   4dbe4:	282e 000c      	movel %fp@(12),%d4                          
  uint32_t   b;                                                       
  uint32_t   local_value = 0;                                         
                                                                      
  for (b = 1; b; b <<= 1) {                                           
    if (b & remote_value)                                             
   4dbe8:	2202           	movel %d2,%d1                               
   4dbea:	5383           	subql #1,%d3                                
   4dbec:	c284           	andl %d4,%d1                                
   4dbee:	6612           	bnes 4dc02 <rtems_assoc_local_by_remote_bitfield+0x36>
)                                                                     
{                                                                     
  uint32_t   b;                                                       
  uint32_t   local_value = 0;                                         
                                                                      
  for (b = 1; b; b <<= 1) {                                           
   4dbf0:	d482           	addl %d2,%d2                                
   4dbf2:	4a83           	tstl %d3                                    
   4dbf4:	66f2           	bnes 4dbe8 <rtems_assoc_local_by_remote_bitfield+0x1c>
    if (b & remote_value)                                             
      local_value |= rtems_assoc_local_by_remote(ap, b);              
  }                                                                   
                                                                      
  return local_value;                                                 
}                                                                     
   4dbf6:	2005           	movel %d5,%d0                               
   4dbf8:	4cee 047c ffe8 	moveml %fp@(-24),%d2-%d6/%a2                
   4dbfe:	4e5e           	unlk %fp                                    
   4dc00:	4e75           	rts                                         
  uint32_t   b;                                                       
  uint32_t   local_value = 0;                                         
                                                                      
  for (b = 1; b; b <<= 1) {                                           
    if (b & remote_value)                                             
      local_value |= rtems_assoc_local_by_remote(ap, b);              
   4dc02:	2f02           	movel %d2,%sp@-                             
)                                                                     
{                                                                     
  uint32_t   b;                                                       
  uint32_t   local_value = 0;                                         
                                                                      
  for (b = 1; b; b <<= 1) {                                           
   4dc04:	d482           	addl %d2,%d2                                
    if (b & remote_value)                                             
      local_value |= rtems_assoc_local_by_remote(ap, b);              
   4dc06:	2f06           	movel %d6,%sp@-                             
   4dc08:	4e92           	jsr %a2@                                    
   4dc0a:	508f           	addql #8,%sp                                
   4dc0c:	8a80           	orl %d0,%d5                                 
)                                                                     
{                                                                     
  uint32_t   b;                                                       
  uint32_t   local_value = 0;                                         
                                                                      
  for (b = 1; b; b <<= 1) {                                           
   4dc0e:	4a83           	tstl %d3                                    
   4dc10:	66d6           	bnes 4dbe8 <rtems_assoc_local_by_remote_bitfield+0x1c><== ALWAYS TAKEN
   4dc12:	60e2           	bras 4dbf6 <rtems_assoc_local_by_remote_bitfield+0x2a><== NOT EXECUTED
                                                                      

00043878 <rtems_assoc_name_by_local_bitfield>: char *rtems_assoc_name_by_local_bitfield( const rtems_assoc_t *ap, uint32_t value, char *buffer ) {
   43878:	4e56 ffe0      	linkw %fp,#-32                              
   4387c:	48d7 3c3c      	moveml %d2-%d5/%a2-%a5,%sp@                 
   43880:	246e 0010      	moveal %fp@(16),%a2                         
  uint32_t   b;                                                       
                                                                      
  *buffer = 0;                                                        
   43884:	7620           	moveq #32,%d3                               
                                                                      
  for (b = 1; b; b <<= 1) {                                           
   43886:	7401           	moveq #1,%d2                                
    if (b & value) {                                                  
      if (*buffer)                                                    
        strcat(buffer, " ");                                          
      strcat(buffer, rtems_assoc_name_by_local(ap, b));               
   43888:	49f9 0004 38f4 	lea 438f4 <rtems_assoc_name_by_local>,%a4   
   4388e:	47f9 0004 fa9c 	lea 4fa9c <strcat>,%a3                      
  *buffer = 0;                                                        
                                                                      
  for (b = 1; b; b <<= 1) {                                           
    if (b & value) {                                                  
      if (*buffer)                                                    
        strcat(buffer, " ");                                          
   43894:	4bf9 0005 00cc 	lea 500cc <strlen>,%a5                      
  char                *buffer                                         
)                                                                     
{                                                                     
  uint32_t   b;                                                       
                                                                      
  *buffer = 0;                                                        
   4389a:	4212           	clrb %a2@                                   
char *rtems_assoc_name_by_local_bitfield(                             
  const rtems_assoc_t *ap,                                            
  uint32_t             value,                                         
  char                *buffer                                         
)                                                                     
{                                                                     
   4389c:	2a2e 0008      	movel %fp@(8),%d5                           
   438a0:	282e 000c      	movel %fp@(12),%d4                          
  uint32_t   b;                                                       
                                                                      
  *buffer = 0;                                                        
                                                                      
  for (b = 1; b; b <<= 1) {                                           
    if (b & value) {                                                  
   438a4:	2202           	movel %d2,%d1                               
   438a6:	5383           	subql #1,%d3                                
   438a8:	c284           	andl %d4,%d1                                
   438aa:	6714           	beqs 438c0 <rtems_assoc_name_by_local_bitfield+0x48>
      if (*buffer)                                                    
   438ac:	4a12           	tstb %a2@                                   
   438ae:	6622           	bnes 438d2 <rtems_assoc_name_by_local_bitfield+0x5a>
        strcat(buffer, " ");                                          
      strcat(buffer, rtems_assoc_name_by_local(ap, b));               
   438b0:	2f02           	movel %d2,%sp@-                             
   438b2:	2f05           	movel %d5,%sp@-                             
   438b4:	4e94           	jsr %a4@                                    
   438b6:	2f00           	movel %d0,%sp@-                             
   438b8:	2f0a           	movel %a2,%sp@-                             
   438ba:	4e93           	jsr %a3@                                    
   438bc:	4fef 0010      	lea %sp@(16),%sp                            
{                                                                     
  uint32_t   b;                                                       
                                                                      
  *buffer = 0;                                                        
                                                                      
  for (b = 1; b; b <<= 1) {                                           
   438c0:	d482           	addl %d2,%d2                                
   438c2:	4a83           	tstl %d3                                    
   438c4:	66de           	bnes 438a4 <rtems_assoc_name_by_local_bitfield+0x2c>
      strcat(buffer, rtems_assoc_name_by_local(ap, b));               
    }                                                                 
  }                                                                   
                                                                      
  return buffer;                                                      
}                                                                     
   438c6:	200a           	movel %a2,%d0                               
   438c8:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            
   438ce:	4e5e           	unlk %fp                                    
   438d0:	4e75           	rts                                         
  *buffer = 0;                                                        
                                                                      
  for (b = 1; b; b <<= 1) {                                           
    if (b & value) {                                                  
      if (*buffer)                                                    
        strcat(buffer, " ");                                          
   438d2:	2f0a           	movel %a2,%sp@-                             
   438d4:	4e95           	jsr %a5@                                    
   438d6:	588f           	addql #4,%sp                                
   438d8:	323c 2000      	movew #8192,%d1                             
   438dc:	3581 0800      	movew %d1,%a2@(00000000,%d0:l)              
      strcat(buffer, rtems_assoc_name_by_local(ap, b));               
   438e0:	2f02           	movel %d2,%sp@-                             
   438e2:	2f05           	movel %d5,%sp@-                             
   438e4:	4e94           	jsr %a4@                                    
   438e6:	2f00           	movel %d0,%sp@-                             
   438e8:	2f0a           	movel %a2,%sp@-                             
   438ea:	4e93           	jsr %a3@                                    
   438ec:	4fef 0010      	lea %sp@(16),%sp                            
   438f0:	60ce           	bras 438c0 <rtems_assoc_name_by_local_bitfield+0x48>
	...                                                                  
                                                                      

0004392c <rtems_assoc_name_by_remote_bitfield>: char *rtems_assoc_name_by_remote_bitfield( const rtems_assoc_t *ap, uint32_t value, char *buffer ) {
   4392c:	4e56 ffe0      	linkw %fp,#-32                              
   43930:	48d7 3c3c      	moveml %d2-%d5/%a2-%a5,%sp@                 
   43934:	246e 0010      	moveal %fp@(16),%a2                         
  uint32_t   b;                                                       
                                                                      
  *buffer = 0;                                                        
   43938:	7620           	moveq #32,%d3                               
                                                                      
  for (b = 1; b; b <<= 1) {                                           
   4393a:	7401           	moveq #1,%d2                                
    if (b & value) {                                                  
      if (*buffer)                                                    
	strcat(buffer, " ");                                                 
      strcat(buffer, rtems_assoc_name_by_remote(ap, b));              
   4393c:	49f9 0004 39a8 	lea 439a8 <rtems_assoc_name_by_remote>,%a4  
   43942:	47f9 0004 fa9c 	lea 4fa9c <strcat>,%a3                      
  *buffer = 0;                                                        
                                                                      
  for (b = 1; b; b <<= 1) {                                           
    if (b & value) {                                                  
      if (*buffer)                                                    
	strcat(buffer, " ");                                                 
   43948:	4bf9 0005 00cc 	lea 500cc <strlen>,%a5                      
  char                *buffer                                         
)                                                                     
{                                                                     
  uint32_t   b;                                                       
                                                                      
  *buffer = 0;                                                        
   4394e:	4212           	clrb %a2@                                   
char *rtems_assoc_name_by_remote_bitfield(                            
  const rtems_assoc_t *ap,                                            
  uint32_t             value,                                         
  char                *buffer                                         
)                                                                     
{                                                                     
   43950:	2a2e 0008      	movel %fp@(8),%d5                           
   43954:	282e 000c      	movel %fp@(12),%d4                          
  uint32_t   b;                                                       
                                                                      
  *buffer = 0;                                                        
                                                                      
  for (b = 1; b; b <<= 1) {                                           
    if (b & value) {                                                  
   43958:	2202           	movel %d2,%d1                               
   4395a:	5383           	subql #1,%d3                                
   4395c:	c284           	andl %d4,%d1                                
   4395e:	6714           	beqs 43974 <rtems_assoc_name_by_remote_bitfield+0x48>
      if (*buffer)                                                    
   43960:	4a12           	tstb %a2@                                   
   43962:	6622           	bnes 43986 <rtems_assoc_name_by_remote_bitfield+0x5a>
	strcat(buffer, " ");                                                 
      strcat(buffer, rtems_assoc_name_by_remote(ap, b));              
   43964:	2f02           	movel %d2,%sp@-                             
   43966:	2f05           	movel %d5,%sp@-                             
   43968:	4e94           	jsr %a4@                                    
   4396a:	2f00           	movel %d0,%sp@-                             
   4396c:	2f0a           	movel %a2,%sp@-                             
   4396e:	4e93           	jsr %a3@                                    
   43970:	4fef 0010      	lea %sp@(16),%sp                            
{                                                                     
  uint32_t   b;                                                       
                                                                      
  *buffer = 0;                                                        
                                                                      
  for (b = 1; b; b <<= 1) {                                           
   43974:	d482           	addl %d2,%d2                                
   43976:	4a83           	tstl %d3                                    
   43978:	66de           	bnes 43958 <rtems_assoc_name_by_remote_bitfield+0x2c>
      strcat(buffer, rtems_assoc_name_by_remote(ap, b));              
    }                                                                 
  }                                                                   
                                                                      
  return buffer;                                                      
}                                                                     
   4397a:	200a           	movel %a2,%d0                               
   4397c:	4cee 3c3c ffe0 	moveml %fp@(-32),%d2-%d5/%a2-%a5            
   43982:	4e5e           	unlk %fp                                    
   43984:	4e75           	rts                                         
  *buffer = 0;                                                        
                                                                      
  for (b = 1; b; b <<= 1) {                                           
    if (b & value) {                                                  
      if (*buffer)                                                    
	strcat(buffer, " ");                                                 
   43986:	2f0a           	movel %a2,%sp@-                             
   43988:	4e95           	jsr %a5@                                    
   4398a:	588f           	addql #4,%sp                                
   4398c:	323c 2000      	movew #8192,%d1                             
   43990:	3581 0800      	movew %d1,%a2@(00000000,%d0:l)              
      strcat(buffer, rtems_assoc_name_by_remote(ap, b));              
   43994:	2f02           	movel %d2,%sp@-                             
   43996:	2f05           	movel %d5,%sp@-                             
   43998:	4e94           	jsr %a4@                                    
   4399a:	2f00           	movel %d0,%sp@-                             
   4399c:	2f0a           	movel %a2,%sp@-                             
   4399e:	4e93           	jsr %a3@                                    
   439a0:	4fef 0010      	lea %sp@(16),%sp                            
   439a4:	60ce           	bras 43974 <rtems_assoc_name_by_remote_bitfield+0x48>
	...                                                                  
                                                                      

0004b764 <rtems_assoc_ptr_by_local>: const rtems_assoc_t *rtems_assoc_ptr_by_local( const rtems_assoc_t *ap, uint32_t local_value ) {
   4b764:	4e56 0000      	linkw %fp,#0                                
   4b768:	2f0a           	movel %a2,%sp@-                             
   4b76a:	246e 0008      	moveal %fp@(8),%a2                          
   4b76e:	2f02           	movel %d2,%sp@-                             
   4b770:	242e 000c      	movel %fp@(12),%d2                          
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
   4b774:	2012           	movel %a2@,%d0                              
   4b776:	6748           	beqs 4b7c0 <rtems_assoc_ptr_by_local+0x5c>  
   4b778:	4879 0005 d7a6 	pea 5d7a6 <IMFS_memfile_handlers+0x2c>      
   4b77e:	2f00           	movel %d0,%sp@-                             
   4b780:	4eb9 0004 eef0 	jsr 4eef0 <strcmp>                          
   4b786:	508f           	addql #8,%sp                                
   4b788:	4a80           	tstl %d0                                    
   4b78a:	6630           	bnes 4b7bc <rtems_assoc_ptr_by_local+0x58>  
    default_ap = ap++;                                                
   4b78c:	220a           	movel %a2,%d1                               
   4b78e:	0681 0000 000c 	addil #12,%d1                               
                                                                      
  for ( ; ap->name; ap++)                                             
   4b794:	4aaa 000c      	tstl %a2@(12)                               
   4b798:	6714           	beqs 4b7ae <rtems_assoc_ptr_by_local+0x4a>  <== NEVER TAKEN
   4b79a:	200a           	movel %a2,%d0                               
)                                                                     
{                                                                     
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
    default_ap = ap++;                                                
   4b79c:	2441           	moveal %d1,%a2                              
                                                                      
  for ( ; ap->name; ap++)                                             
    if (ap->local_value == local_value)                               
   4b79e:	b4aa 0004      	cmpl %a2@(4),%d2                            
   4b7a2:	670a           	beqs 4b7ae <rtems_assoc_ptr_by_local+0x4a>  
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
    default_ap = ap++;                                                
                                                                      
  for ( ; ap->name; ap++)                                             
   4b7a4:	45ea 000c      	lea %a2@(12),%a2                            
   4b7a8:	4a92           	tstl %a2@                                   
   4b7aa:	66f2           	bnes 4b79e <rtems_assoc_ptr_by_local+0x3a>  
   4b7ac:	2440           	moveal %d0,%a2                              
    if (ap->local_value == local_value)                               
      return ap;                                                      
                                                                      
  return default_ap;                                                  
}                                                                     
   4b7ae:	200a           	movel %a2,%d0                               
   4b7b0:	242e fff8      	movel %fp@(-8),%d2                          
   4b7b4:	246e fffc      	moveal %fp@(-4),%a2                         
   4b7b8:	4e5e           	unlk %fp                                    
   4b7ba:	4e75           	rts                                         
const rtems_assoc_t *rtems_assoc_ptr_by_local(                        
  const rtems_assoc_t *ap,                                            
  uint32_t             local_value                                    
)                                                                     
{                                                                     
  const rtems_assoc_t *default_ap = 0;                                
   4b7bc:	4280           	clrl %d0                                    
   4b7be:	60de           	bras 4b79e <rtems_assoc_ptr_by_local+0x3a>  
   4b7c0:	95ca           	subal %a2,%a2                               
  for ( ; ap->name; ap++)                                             
    if (ap->local_value == local_value)                               
      return ap;                                                      
                                                                      
  return default_ap;                                                  
}                                                                     
   4b7c2:	200a           	movel %a2,%d0                               
   4b7c4:	242e fff8      	movel %fp@(-8),%d2                          
   4b7c8:	246e fffc      	moveal %fp@(-4),%a2                         
   4b7cc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043a4c <rtems_assoc_ptr_by_name>: const rtems_assoc_t *rtems_assoc_ptr_by_name( const rtems_assoc_t *ap, const char *name ) {
   43a4c:	4e56 ffec      	linkw %fp,#-20                              
   43a50:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
   43a54:	246e 0008      	moveal %fp@(8),%a2                          
   43a58:	262e 000c      	movel %fp@(12),%d3                          
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
   43a5c:	2412           	movel %a2@,%d2                              
   43a5e:	674e           	beqs 43aae <rtems_assoc_ptr_by_name+0x62>   
   43a60:	4879 0005 d6f3 	pea 5d6f3 <_rodata_start+0x603>             
   43a66:	47f9 0004 fb18 	lea 4fb18 <strcmp>,%a3                      
   43a6c:	2f02           	movel %d2,%sp@-                             
   43a6e:	4e93           	jsr %a3@                                    
   43a70:	508f           	addql #8,%sp                                
   43a72:	4a80           	tstl %d0                                    
   43a74:	6634           	bnes 43aaa <rtems_assoc_ptr_by_name+0x5e>   
    default_ap = ap++;                                                
   43a76:	200a           	movel %a2,%d0                               
   43a78:	0680 0000 000c 	addil #12,%d0                               
                                                                      
  for ( ; ap->name; ap++)                                             
   43a7e:	242a 000c      	movel %a2@(12),%d2                          
   43a82:	671a           	beqs 43a9e <rtems_assoc_ptr_by_name+0x52>   <== NEVER TAKEN
   43a84:	280a           	movel %a2,%d4                               
)                                                                     
{                                                                     
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
    default_ap = ap++;                                                
   43a86:	2440           	moveal %d0,%a2                              
                                                                      
  for ( ; ap->name; ap++)                                             
    if (strcmp(ap->name, name) == 0)                                  
   43a88:	2f03           	movel %d3,%sp@-                             
   43a8a:	2f02           	movel %d2,%sp@-                             
   43a8c:	4e93           	jsr %a3@                                    
   43a8e:	508f           	addql #8,%sp                                
   43a90:	4a80           	tstl %d0                                    
   43a92:	670a           	beqs 43a9e <rtems_assoc_ptr_by_name+0x52>   
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
    default_ap = ap++;                                                
                                                                      
  for ( ; ap->name; ap++)                                             
   43a94:	45ea 000c      	lea %a2@(12),%a2                            
   43a98:	2412           	movel %a2@,%d2                              
   43a9a:	66ec           	bnes 43a88 <rtems_assoc_ptr_by_name+0x3c>   
   43a9c:	2444           	moveal %d4,%a2                              
    if (strcmp(ap->name, name) == 0)                                  
	return ap;                                                           
                                                                      
  return default_ap;                                                  
}                                                                     
   43a9e:	200a           	movel %a2,%d0                               
   43aa0:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   43aa6:	4e5e           	unlk %fp                                    
   43aa8:	4e75           	rts                                         
const rtems_assoc_t *rtems_assoc_ptr_by_name(                         
  const rtems_assoc_t *ap,                                            
  const char          *name                                           
)                                                                     
{                                                                     
  const rtems_assoc_t *default_ap = 0;                                
   43aaa:	4284           	clrl %d4                                    
   43aac:	60da           	bras 43a88 <rtems_assoc_ptr_by_name+0x3c>   
   43aae:	95ca           	subal %a2,%a2                               
  for ( ; ap->name; ap++)                                             
    if (strcmp(ap->name, name) == 0)                                  
	return ap;                                                           
                                                                      
  return default_ap;                                                  
}                                                                     
   43ab0:	200a           	movel %a2,%d0                               
   43ab2:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   43ab8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004b7d0 <rtems_assoc_ptr_by_remote>: const rtems_assoc_t *rtems_assoc_ptr_by_remote( const rtems_assoc_t *ap, uint32_t remote_value ) {
   4b7d0:	4e56 0000      	linkw %fp,#0                                
   4b7d4:	2f0a           	movel %a2,%sp@-                             
   4b7d6:	246e 0008      	moveal %fp@(8),%a2                          
   4b7da:	2f02           	movel %d2,%sp@-                             
   4b7dc:	242e 000c      	movel %fp@(12),%d2                          
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
   4b7e0:	2012           	movel %a2@,%d0                              
   4b7e2:	6748           	beqs 4b82c <rtems_assoc_ptr_by_remote+0x5c> 
   4b7e4:	4879 0005 d7a6 	pea 5d7a6 <IMFS_memfile_handlers+0x2c>      
   4b7ea:	2f00           	movel %d0,%sp@-                             
   4b7ec:	4eb9 0004 eef0 	jsr 4eef0 <strcmp>                          
   4b7f2:	508f           	addql #8,%sp                                
   4b7f4:	4a80           	tstl %d0                                    
   4b7f6:	6630           	bnes 4b828 <rtems_assoc_ptr_by_remote+0x58> 
    default_ap = ap++;                                                
   4b7f8:	220a           	movel %a2,%d1                               
   4b7fa:	0681 0000 000c 	addil #12,%d1                               
                                                                      
  for ( ; ap->name; ap++)                                             
   4b800:	4aaa 000c      	tstl %a2@(12)                               
   4b804:	6714           	beqs 4b81a <rtems_assoc_ptr_by_remote+0x4a> <== NEVER TAKEN
   4b806:	200a           	movel %a2,%d0                               
)                                                                     
{                                                                     
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
    default_ap = ap++;                                                
   4b808:	2441           	moveal %d1,%a2                              
                                                                      
  for ( ; ap->name; ap++)                                             
    if (ap->remote_value == remote_value)                             
   4b80a:	b4aa 0008      	cmpl %a2@(8),%d2                            
   4b80e:	670a           	beqs 4b81a <rtems_assoc_ptr_by_remote+0x4a> 
  const rtems_assoc_t *default_ap = 0;                                
                                                                      
  if (rtems_assoc_is_default(ap))                                     
    default_ap = ap++;                                                
                                                                      
  for ( ; ap->name; ap++)                                             
   4b810:	45ea 000c      	lea %a2@(12),%a2                            
   4b814:	4a92           	tstl %a2@                                   
   4b816:	66f2           	bnes 4b80a <rtems_assoc_ptr_by_remote+0x3a> 
   4b818:	2440           	moveal %d0,%a2                              
    if (ap->remote_value == remote_value)                             
      return ap;                                                      
                                                                      
  return default_ap;                                                  
}                                                                     
   4b81a:	200a           	movel %a2,%d0                               
   4b81c:	242e fff8      	movel %fp@(-8),%d2                          
   4b820:	246e fffc      	moveal %fp@(-4),%a2                         
   4b824:	4e5e           	unlk %fp                                    
   4b826:	4e75           	rts                                         
const rtems_assoc_t *rtems_assoc_ptr_by_remote(                       
  const rtems_assoc_t *ap,                                            
  uint32_t       remote_value                                         
)                                                                     
{                                                                     
  const rtems_assoc_t *default_ap = 0;                                
   4b828:	4280           	clrl %d0                                    
   4b82a:	60de           	bras 4b80a <rtems_assoc_ptr_by_remote+0x3a> 
   4b82c:	95ca           	subal %a2,%a2                               
  for ( ; ap->name; ap++)                                             
    if (ap->remote_value == remote_value)                             
      return ap;                                                      
                                                                      
  return default_ap;                                                  
}                                                                     
   4b82e:	200a           	movel %a2,%d0                               
   4b830:	242e fff8      	movel %fp@(-8),%d2                          
   4b834:	246e fffc      	moveal %fp@(-4),%a2                         
   4b838:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043b28 <rtems_assoc_remote_by_local_bitfield>: uint32_t rtems_assoc_remote_by_local_bitfield( const rtems_assoc_t *ap, uint32_t local_value ) {
   43b28:	4e56 ffe8      	linkw %fp,#-24                              
   43b2c:	48d7 047c      	moveml %d2-%d6/%a2,%sp@                     
   43b30:	2c2e 0008      	movel %fp@(8),%d6                           
   43b34:	7620           	moveq #32,%d3                               
  uint32_t   b;                                                       
  uint32_t   remote_value = 0;                                        
   43b36:	4285           	clrl %d5                                    
                                                                      
  for (b = 1; b; b <<= 1)                                             
   43b38:	7401           	moveq #1,%d2                                
    if (b & local_value)                                              
      remote_value |= rtems_assoc_remote_by_local(ap, b);             
   43b3a:	45f9 0004 3b70 	lea 43b70 <rtems_assoc_remote_by_local>,%a2 
                                                                      
uint32_t   rtems_assoc_remote_by_local_bitfield(                      
    const rtems_assoc_t *ap,                                          
    uint32_t             local_value                                  
)                                                                     
{                                                                     
   43b40:	282e 000c      	movel %fp@(12),%d4                          
  uint32_t   b;                                                       
  uint32_t   remote_value = 0;                                        
                                                                      
  for (b = 1; b; b <<= 1)                                             
    if (b & local_value)                                              
   43b44:	2202           	movel %d2,%d1                               
   43b46:	5383           	subql #1,%d3                                
   43b48:	c284           	andl %d4,%d1                                
   43b4a:	6612           	bnes 43b5e <rtems_assoc_remote_by_local_bitfield+0x36>
)                                                                     
{                                                                     
  uint32_t   b;                                                       
  uint32_t   remote_value = 0;                                        
                                                                      
  for (b = 1; b; b <<= 1)                                             
   43b4c:	d482           	addl %d2,%d2                                
   43b4e:	4a83           	tstl %d3                                    
   43b50:	66f2           	bnes 43b44 <rtems_assoc_remote_by_local_bitfield+0x1c>
    if (b & local_value)                                              
      remote_value |= rtems_assoc_remote_by_local(ap, b);             
                                                                      
  return remote_value;                                                
}                                                                     
   43b52:	2005           	movel %d5,%d0                               
   43b54:	4cee 047c ffe8 	moveml %fp@(-24),%d2-%d6/%a2                
   43b5a:	4e5e           	unlk %fp                                    
   43b5c:	4e75           	rts                                         
  uint32_t   b;                                                       
  uint32_t   remote_value = 0;                                        
                                                                      
  for (b = 1; b; b <<= 1)                                             
    if (b & local_value)                                              
      remote_value |= rtems_assoc_remote_by_local(ap, b);             
   43b5e:	2f02           	movel %d2,%sp@-                             
)                                                                     
{                                                                     
  uint32_t   b;                                                       
  uint32_t   remote_value = 0;                                        
                                                                      
  for (b = 1; b; b <<= 1)                                             
   43b60:	d482           	addl %d2,%d2                                
    if (b & local_value)                                              
      remote_value |= rtems_assoc_remote_by_local(ap, b);             
   43b62:	2f06           	movel %d6,%sp@-                             
   43b64:	4e92           	jsr %a2@                                    
   43b66:	508f           	addql #8,%sp                                
   43b68:	8a80           	orl %d0,%d5                                 
)                                                                     
{                                                                     
  uint32_t   b;                                                       
  uint32_t   remote_value = 0;                                        
                                                                      
  for (b = 1; b; b <<= 1)                                             
   43b6a:	4a83           	tstl %d3                                    
   43b6c:	66d6           	bnes 43b44 <rtems_assoc_remote_by_local_bitfield+0x1c><== ALWAYS TAKEN
   43b6e:	60e2           	bras 43b52 <rtems_assoc_remote_by_local_bitfield+0x2a><== NOT EXECUTED
                                                                      

0004ce1a <rtems_bdbuf_add_to_modified_list_after_access>: } } static void rtems_bdbuf_add_to_modified_list_after_access (rtems_bdbuf_buffer *bd) {
   4ce1a:	4e56 0000      	linkw %fp,#0                                
   4ce1e:	2f0a           	movel %a2,%sp@-                             
   4ce20:	246e 0008      	moveal %fp@(8),%a2                          
  if (bdbuf_cache.sync_active && bdbuf_cache.sync_device == bd->dd)   
   4ce24:	4a39 0006 3782 	tstb 63782 <bdbuf_cache+0x2e>               
   4ce2a:	670e           	beqs 4ce3a <rtems_bdbuf_add_to_modified_list_after_access+0x20><== ALWAYS TAKEN
   4ce2c:	202a 0012      	movel %a2@(18),%d0                          <== NOT EXECUTED
   4ce30:	b0b9 0006 3788 	cmpl 63788 <bdbuf_cache+0x34>,%d0           <== NOT EXECUTED
   4ce36:	6700 0094      	beqw 4cecc <rtems_bdbuf_add_to_modified_list_after_access+0xb2><== NOT EXECUTED
   * difficult question. Is a snapshot of a block that is changing better than
   * nothing being written? We have tended to think we should hold changes for
   * only a specific period of time even if still changing and get onto disk
   * and letting the file system try and recover this position if it can.
   */                                                                 
  if (bd->state == RTEMS_BDBUF_STATE_ACCESS_CACHED                    
   4ce3a:	202a 001e      	movel %a2@(30),%d0                          
   4ce3e:	7203           	moveq #3,%d1                                
   4ce40:	b280           	cmpl %d0,%d1                                
   4ce42:	6746           	beqs 4ce8a <rtems_bdbuf_add_to_modified_list_after_access+0x70>
        || bd->state == RTEMS_BDBUF_STATE_ACCESS_EMPTY)               
   4ce44:	123c 0005      	moveb #5,%d1                                
   4ce48:	b280           	cmpl %d0,%d1                                
   4ce4a:	673e           	beqs 4ce8a <rtems_bdbuf_add_to_modified_list_after_access+0x70>
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4ce4c:	2079 0006 37a4 	moveal 637a4 <bdbuf_cache+0x50>,%a0         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4ce52:	7007           	moveq #7,%d0                                
   4ce54:	2540 001e      	movel %d0,%a2@(30)                          
                                                                      
  the_node->next = tail;                                              
   4ce58:	24bc 0006 37a0 	movel #407456,%a2@                          
  tail->previous = the_node;                                          
   4ce5e:	23ca 0006 37a4 	movel %a2,637a4 <bdbuf_cache+0x50>          
  old_last->next = the_node;                                          
   4ce64:	208a           	movel %a2,%a0@                              
  the_node->previous = old_last;                                      
   4ce66:	2548 0004      	movel %a0,%a2@(4)                           
    bd->hold_timer = bdbuf_config.swap_block_hold;                    
                                                                      
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_MODIFIED);             
  rtems_chain_append_unprotected (&bdbuf_cache.modified, &bd->link);  
                                                                      
  if (bd->waiters)                                                    
   4ce6a:	4aaa 0022      	tstl %a2@(34)                               
   4ce6e:	6648           	bnes 4ceb8 <rtems_bdbuf_add_to_modified_list_after_access+0x9e>
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
  else if (rtems_bdbuf_has_buffer_waiters ())                         
   4ce70:	4ab9 0006 37c4 	tstl 637c4 <bdbuf_cache+0x70>               
   4ce76:	6608           	bnes 4ce80 <rtems_bdbuf_add_to_modified_list_after_access+0x66>
    rtems_bdbuf_wake_swapper ();                                      
}                                                                     
   4ce78:	246e fffc      	moveal %fp@(-4),%a2                         
   4ce7c:	4e5e           	unlk %fp                                    
   4ce7e:	4e75           	rts                                         
   4ce80:	246e fffc      	moveal %fp@(-4),%a2                         
   4ce84:	4e5e           	unlk %fp                                    
  rtems_chain_append_unprotected (&bdbuf_cache.modified, &bd->link);  
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
  else if (rtems_bdbuf_has_buffer_waiters ())                         
    rtems_bdbuf_wake_swapper ();                                      
   4ce86:	6000 fd8c      	braw 4cc14 <rtems_bdbuf_wake_swapper>       
   * only a specific period of time even if still changing and get onto disk
   * and letting the file system try and recover this position if it can.
   */                                                                 
  if (bd->state == RTEMS_BDBUF_STATE_ACCESS_CACHED                    
        || bd->state == RTEMS_BDBUF_STATE_ACCESS_EMPTY)               
    bd->hold_timer = bdbuf_config.swap_block_hold;                    
   4ce8a:	41f9 0006 0c22 	lea 60c22 <rtems_bdbuf_configuration+0x10>,%a0
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4ce90:	7007           	moveq #7,%d0                                
   * only a specific period of time even if still changing and get onto disk
   * and letting the file system try and recover this position if it can.
   */                                                                 
  if (bd->state == RTEMS_BDBUF_STATE_ACCESS_CACHED                    
        || bd->state == RTEMS_BDBUF_STATE_ACCESS_EMPTY)               
    bd->hold_timer = bdbuf_config.swap_block_hold;                    
   4ce92:	2550 002a      	movel %a0@,%a2@(42)                         
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4ce96:	2079 0006 37a4 	moveal 637a4 <bdbuf_cache+0x50>,%a0         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4ce9c:	2540 001e      	movel %d0,%a2@(30)                          
                                                                      
  the_node->next = tail;                                              
   4cea0:	24bc 0006 37a0 	movel #407456,%a2@                          
  tail->previous = the_node;                                          
   4cea6:	23ca 0006 37a4 	movel %a2,637a4 <bdbuf_cache+0x50>          
  old_last->next = the_node;                                          
   4ceac:	208a           	movel %a2,%a0@                              
  the_node->previous = old_last;                                      
   4ceae:	2548 0004      	movel %a0,%a2@(4)                           
    bd->hold_timer = bdbuf_config.swap_block_hold;                    
                                                                      
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_MODIFIED);             
  rtems_chain_append_unprotected (&bdbuf_cache.modified, &bd->link);  
                                                                      
  if (bd->waiters)                                                    
   4ceb2:	4aaa 0022      	tstl %a2@(34)                               
   4ceb6:	67b8           	beqs 4ce70 <rtems_bdbuf_add_to_modified_list_after_access+0x56>
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
  else if (rtems_bdbuf_has_buffer_waiters ())                         
    rtems_bdbuf_wake_swapper ();                                      
}                                                                     
   4ceb8:	246e fffc      	moveal %fp@(-4),%a2                         
                                                                      
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_MODIFIED);             
  rtems_chain_append_unprotected (&bdbuf_cache.modified, &bd->link);  
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
   4cebc:	223c 0006 37b4 	movel #407476,%d1                           
   4cec2:	2d41 0008      	movel %d1,%fp@(8)                           
  else if (rtems_bdbuf_has_buffer_waiters ())                         
    rtems_bdbuf_wake_swapper ();                                      
}                                                                     
   4cec6:	4e5e           	unlk %fp                                    
                                                                      
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_MODIFIED);             
  rtems_chain_append_unprotected (&bdbuf_cache.modified, &bd->link);  
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
   4cec8:	6000 ff28      	braw 4cdf2 <rtems_bdbuf_wake>               
static void                                                           
rtems_bdbuf_add_to_modified_list_after_access (rtems_bdbuf_buffer *bd)
{                                                                     
  if (bdbuf_cache.sync_active && bdbuf_cache.sync_device == bd->dd)   
  {                                                                   
    rtems_bdbuf_unlock_cache ();                                      
   4cecc:	4eba fd2e      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  <== NOT EXECUTED
 * Lock the cache's sync. A single task can nest calls.               
 */                                                                   
static void                                                           
rtems_bdbuf_lock_sync (void)                                          
{                                                                     
  rtems_bdbuf_lock (bdbuf_cache.sync_lock, RTEMS_BDBUF_FATAL_SYNC_LOCK);
   4ced0:	4878 0019      	pea 19 <OPER2+0x5>                          <== NOT EXECUTED
   4ced4:	2f39 0006 377e 	movel 6377e <bdbuf_cache+0x2a>,%sp@-        <== NOT EXECUTED
   4ceda:	4eba fcae      	jsr %pc@(4cb8a <rtems_bdbuf_lock>)          <== NOT EXECUTED
 * Unlock the cache's sync lock. Any blocked writers are woken.       
 */                                                                   
static void                                                           
rtems_bdbuf_unlock_sync (void)                                        
{                                                                     
  rtems_bdbuf_unlock (bdbuf_cache.sync_lock,                          
   4cede:	4878 001a      	pea 1a <OPER2+0x6>                          <== NOT EXECUTED
   4cee2:	2f39 0006 377e 	movel 6377e <bdbuf_cache+0x2a>,%sp@-        <== NOT EXECUTED
   4cee8:	4eba fcf2      	jsr %pc@(4cbdc <rtems_bdbuf_unlock>)        <== NOT EXECUTED
     * Wait for the sync lock.                                        
     */                                                               
    rtems_bdbuf_lock_sync ();                                         
                                                                      
    rtems_bdbuf_unlock_sync ();                                       
    rtems_bdbuf_lock_cache ();                                        
   4ceec:	4eba fcc2      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    <== NOT EXECUTED
   4cef0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4cef4:	6000 ff44      	braw 4ce3a <rtems_bdbuf_add_to_modified_list_after_access+0x20><== NOT EXECUTED
                                                                      

0004cc96 <rtems_bdbuf_anonymous_wait>: * The function assumes the cache is locked on entry and it will be locked on * exit. */ static void rtems_bdbuf_anonymous_wait (rtems_bdbuf_waiters *waiters) {
   4cc96:	4e56 0000      	linkw %fp,#0                                
   4cc9a:	2f0a           	movel %a2,%sp@-                             
   4cc9c:	246e 0008      	moveal %fp@(8),%a2                          
   4cca0:	2f02           	movel %d2,%sp@-                             
  rtems_mode        prev_mode;                                        
                                                                      
  /*                                                                  
   * Indicate we are waiting.                                         
   */                                                                 
  ++waiters->count;                                                   
   4cca2:	5292           	addql #1,%a2@                               
   * blocking or just hits that window, and before this task has blocked on the
   * semaphore. If the preempting task flushes the queue this task will not see
   * the flush and may block for ever or until another transaction flushes this
   * semaphore.                                                       
   */                                                                 
  prev_mode = rtems_bdbuf_disable_preemption ();                      
   4cca4:	4eba ff94      	jsr %pc@(4cc3a <rtems_bdbuf_disable_preemption>)
   4cca8:	2400           	movel %d0,%d2                               
                                                                      
  /*                                                                  
   * Unlock the cache, wait, and lock the cache when we return.       
   */                                                                 
  rtems_bdbuf_unlock_cache ();                                        
   4ccaa:	4eba ff50      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  sc = rtems_semaphore_obtain (waiters->sema, RTEMS_WAIT, RTEMS_BDBUF_WAIT_TIMEOUT);
   4ccae:	42a7           	clrl %sp@-                                  
   4ccb0:	42a7           	clrl %sp@-                                  
   4ccb2:	2f2a 0004      	movel %a2@(4),%sp@-                         
   4ccb6:	4eb9 0004 8c48 	jsr 48c48 <rtems_semaphore_obtain>          
                                                                      
  if (sc == RTEMS_TIMEOUT)                                            
   4ccbc:	4fef 000c      	lea %sp@(12),%sp                            
   4ccc0:	7206           	moveq #6,%d1                                
   4ccc2:	b280           	cmpl %d0,%d1                                
   4ccc4:	6720           	beqs 4cce6 <rtems_bdbuf_anonymous_wait+0x50><== NEVER TAKEN
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_CACHE_WAIT_TO);              
                                                                      
  if (sc != RTEMS_UNSATISFIED)                                        
   4ccc6:	720d           	moveq #13,%d1                               
   4ccc8:	b280           	cmpl %d0,%d1                                
   4ccca:	6622           	bnes 4ccee <rtems_bdbuf_anonymous_wait+0x58><== NEVER TAKEN
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_CACHE_WAIT_2);               
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4cccc:	4eba fee2      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
  rtems_bdbuf_restore_preemption (prev_mode);                         
   4ccd0:	2f02           	movel %d2,%sp@-                             
   4ccd2:	4eba ff96      	jsr %pc@(4cc6a <rtems_bdbuf_restore_preemption>)
                                                                      
  --waiters->count;                                                   
}                                                                     
   4ccd6:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  rtems_bdbuf_lock_cache ();                                          
                                                                      
  rtems_bdbuf_restore_preemption (prev_mode);                         
                                                                      
  --waiters->count;                                                   
   4ccda:	5392           	subql #1,%a2@                               
   4ccdc:	588f           	addql #4,%sp                                
}                                                                     
   4ccde:	246e fffc      	moveal %fp@(-4),%a2                         
   4cce2:	4e5e           	unlk %fp                                    
   4cce4:	4e75           	rts                                         
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  sc = rtems_semaphore_obtain (waiters->sema, RTEMS_WAIT, RTEMS_BDBUF_WAIT_TIMEOUT);
                                                                      
  if (sc == RTEMS_TIMEOUT)                                            
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_CACHE_WAIT_TO);              
   4cce6:	4878 0003      	pea 3 <DIVIDE>                              <== NOT EXECUTED
   4ccea:	4eba fe8c      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      
  if (sc != RTEMS_UNSATISFIED)                                        
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_CACHE_WAIT_2);               
   4ccee:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4ccf2:	4eba fe84      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004cef8 <rtems_bdbuf_create_task.constprop.15>: return NULL; } static rtems_status_code rtems_bdbuf_create_task(
   4cef8:	4e56 fff4      	linkw %fp,#-12                              
   4cefc:	206e 0008      	moveal %fp@(8),%a0                          
   4cf00:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   4cf04:	202e 000c      	movel %fp@(12),%d0                          
   4cf08:	242e 0010      	movel %fp@(16),%d2                          
   4cf0c:	262e 0014      	movel %fp@(20),%d3                          
   4cf10:	246e 0018      	moveal %fp@(24),%a2                         
  rtems_task_argument arg,                                            
  rtems_id *id                                                        
)                                                                     
{                                                                     
  rtems_status_code sc;                                               
  size_t stack_size = bdbuf_config.task_stack_size ?                  
   4cf14:	2239 0006 0c2e 	movel 60c2e <rtems_bdbuf_configuration+0x1c>,%d1
    bdbuf_config.task_stack_size : RTEMS_BDBUF_TASK_STACK_SIZE_DEFAULT;
   4cf1a:	6604           	bnes 4cf20 <rtems_bdbuf_create_task.constprop.15+0x28><== ALWAYS TAKEN
   4cf1c:	323c 1000      	movew #4096,%d1                             <== NOT EXECUTED
                                                                      
  priority = priority != 0 ? priority : default_priority;             
   4cf20:	4a80           	tstl %d0                                    
   4cf22:	6604           	bnes 4cf28 <rtems_bdbuf_create_task.constprop.15+0x30><== ALWAYS TAKEN
   4cf24:	103c 000f      	moveb #15,%d0                               <== NOT EXECUTED
                                                                      
  sc = rtems_task_create (name,                                       
   4cf28:	2f0a           	movel %a2,%sp@-                             
   4cf2a:	42a7           	clrl %sp@-                                  
   4cf2c:	4878 0400      	pea 400 <D_BIAS+0x2>                        
   4cf30:	2f01           	movel %d1,%sp@-                             
   4cf32:	2f00           	movel %d0,%sp@-                             
   4cf34:	2f08           	movel %a0,%sp@-                             
   4cf36:	4eb9 0004 8eb4 	jsr 48eb4 <rtems_task_create>               
                          stack_size,                                 
                          RTEMS_PREEMPT | RTEMS_NO_TIMESLICE | RTEMS_NO_ASR,
                          RTEMS_LOCAL | RTEMS_NO_FLOATING_POINT,      
                          id);                                        
                                                                      
  if (sc == RTEMS_SUCCESSFUL)                                         
   4cf3c:	4fef 0018      	lea %sp@(24),%sp                            
   4cf40:	4a80           	tstl %d0                                    
   4cf42:	670a           	beqs 4cf4e <rtems_bdbuf_create_task.constprop.15+0x56><== ALWAYS TAKEN
    sc = rtems_task_start (*id, entry, arg);                          
                                                                      
  return sc;                                                          
}                                                                     
   4cf44:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   4cf4a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4cf4c:	4e75           	rts                                         <== NOT EXECUTED
                          RTEMS_PREEMPT | RTEMS_NO_TIMESLICE | RTEMS_NO_ASR,
                          RTEMS_LOCAL | RTEMS_NO_FLOATING_POINT,      
                          id);                                        
                                                                      
  if (sc == RTEMS_SUCCESSFUL)                                         
    sc = rtems_task_start (*id, entry, arg);                          
   4cf4e:	2d52 0008      	movel %a2@,%fp@(8)                          
   4cf52:	2d43 0010      	movel %d3,%fp@(16)                          
   4cf56:	2d42 000c      	movel %d2,%fp@(12)                          
                                                                      
  return sc;                                                          
}                                                                     
   4cf5a:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   4cf60:	4e5e           	unlk %fp                                    
                          RTEMS_PREEMPT | RTEMS_NO_TIMESLICE | RTEMS_NO_ASR,
                          RTEMS_LOCAL | RTEMS_NO_FLOATING_POINT,      
                          id);                                        
                                                                      
  if (sc == RTEMS_SUCCESSFUL)                                         
    sc = rtems_task_start (*id, entry, arg);                          
   4cf62:	4ef9 0004 9130 	jmp 49130 <rtems_task_start>                
                                                                      

0004cc3a <rtems_bdbuf_disable_preemption>: --bd->group->users; } static rtems_mode rtems_bdbuf_disable_preemption (void) {
   4cc3a:	4e56 fffc      	linkw %fp,#-4                               
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_mode prev_mode = 0;                                           
   4cc3e:	204e           	moveal %fp,%a0                              
   4cc40:	42a0           	clrl %a0@-                                  
                                                                      
  sc = rtems_task_mode (RTEMS_NO_PREEMPT, RTEMS_PREEMPT_MASK, &prev_mode);
   4cc42:	2f08           	movel %a0,%sp@-                             
   4cc44:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
   4cc48:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
   4cc4c:	4eb9 0005 08f8 	jsr 508f8 <rtems_task_mode>                 
  if (sc != RTEMS_SUCCESSFUL)                                         
   4cc52:	4fef 000c      	lea %sp@(12),%sp                            
   4cc56:	4a80           	tstl %d0                                    
   4cc58:	6608           	bnes 4cc62 <rtems_bdbuf_disable_preemption+0x28><== NEVER TAKEN
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_PREEMPT_DIS);                
                                                                      
  return prev_mode;                                                   
}                                                                     
   4cc5a:	202e fffc      	movel %fp@(-4),%d0                          
   4cc5e:	4e5e           	unlk %fp                                    
   4cc60:	4e75           	rts                                         
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_mode prev_mode = 0;                                           
                                                                      
  sc = rtems_task_mode (RTEMS_NO_PREEMPT, RTEMS_PREEMPT_MASK, &prev_mode);
  if (sc != RTEMS_SUCCESSFUL)                                         
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_PREEMPT_DIS);                
   4cc62:	4878 0005      	pea 5 <COMPARE>                             <== NOT EXECUTED
   4cc66:	4eba ff10      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004d2ac <rtems_bdbuf_discard_buffer_after_access>: } static void rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state) { bd->state = state;
   4d2ac:	7001           	moveq #1,%d0                                
  return bdbuf_cache.max_bds_per_group / bds_per_size;                
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_discard_buffer_after_access (rtems_bdbuf_buffer *bd)      
{                                                                     
   4d2ae:	4e56 0000      	linkw %fp,#0                                
   4d2b2:	2f0a           	movel %a2,%sp@-                             
   4d2b4:	246e 0008      	moveal %fp@(8),%a2                          
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4d2b8:	206a 0026      	moveal %a2@(38),%a0                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_group_release (rtems_bdbuf_buffer *bd)                    
{                                                                     
  --bd->group->users;                                                 
   4d2bc:	53a8 000c      	subql #1,%a0@(12)                           
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d2c0:	2540 001e      	movel %d0,%a2@(30)                          
static void                                                           
rtems_bdbuf_discard_buffer (rtems_bdbuf_buffer *bd)                   
{                                                                     
  rtems_bdbuf_make_empty (bd);                                        
                                                                      
  if (bd->waiters == 0)                                               
   4d2c4:	4aaa 0022      	tstl %a2@(34)                               
   4d2c8:	6714           	beqs 4d2de <rtems_bdbuf_discard_buffer_after_access+0x32>
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
  else                                                                
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
}                                                                     
   4d2ca:	246e fffc      	moveal %fp@(-4),%a2                         
{                                                                     
  rtems_bdbuf_group_release (bd);                                     
  rtems_bdbuf_discard_buffer (bd);                                    
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
   4d2ce:	203c 0006 37b4 	movel #407476,%d0                           
   4d2d4:	2d40 0008      	movel %d0,%fp@(8)                           
  else                                                                
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
}                                                                     
   4d2d8:	4e5e           	unlk %fp                                    
{                                                                     
  rtems_bdbuf_group_release (bd);                                     
  rtems_bdbuf_discard_buffer (bd);                                    
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
   4d2da:	6000 fb16      	braw 4cdf2 <rtems_bdbuf_wake>               
   4d2de:	2f0a           	movel %a2,%sp@-                             
   4d2e0:	4eba ff98      	jsr %pc@(4d27a <rtems_bdbuf_discard_buffer.part.9>)
rtems_bdbuf_discard_buffer_after_access (rtems_bdbuf_buffer *bd)      
{                                                                     
  rtems_bdbuf_group_release (bd);                                     
  rtems_bdbuf_discard_buffer (bd);                                    
                                                                      
  if (bd->waiters)                                                    
   4d2e4:	588f           	addql #4,%sp                                
   4d2e6:	4aaa 0022      	tstl %a2@(34)                               
   4d2ea:	66de           	bnes 4d2ca <rtems_bdbuf_discard_buffer_after_access+0x1e><== NEVER TAKEN
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
  else                                                                
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
}                                                                     
   4d2ec:	246e fffc      	moveal %fp@(-4),%a2                         
  rtems_bdbuf_discard_buffer (bd);                                    
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
  else                                                                
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4d2f0:	203c 0006 37c4 	movel #407492,%d0                           
   4d2f6:	2d40 0008      	movel %d0,%fp@(8)                           
}                                                                     
   4d2fa:	4e5e           	unlk %fp                                    
  rtems_bdbuf_discard_buffer (bd);                                    
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
  else                                                                
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4d2fc:	6000 faf4      	braw 4cdf2 <rtems_bdbuf_wake>               
                                                                      

0004df6a <rtems_bdbuf_execute_read_request>: /* * TODO: This type of request structure is wrong and should be removed. */ #define bdbuf_alloc(size) __builtin_alloca (size) req = bdbuf_alloc (sizeof (rtems_blkdev_request) +
   4df6a:	72fe           	moveq #-2,%d1                               
                     sizeof (rtems_blkdev_sg_buffer) * transfer_count);
                                                                      
  req->req = RTEMS_BLKDEV_REQ_READ;                                   
  req->done = rtems_bdbuf_transfer_done;                              
   4df6c:	41fa 00dc      	lea %pc@(4e04a <rtems_bdbuf_transfer_done>),%a0
                                                                      
static rtems_status_code                                              
rtems_bdbuf_execute_read_request (rtems_disk_device  *dd,             
                                  rtems_bdbuf_buffer *bd,             
                                  uint32_t            transfer_count) 
{                                                                     
   4df70:	4e56 ffdc      	linkw %fp,#-36                              
   4df74:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 
   4df78:	282e 0010      	movel %fp@(16),%d4                          
  /*                                                                  
   * TODO: This type of request structure is wrong and should be removed.
   */                                                                 
#define bdbuf_alloc(size) __builtin_alloca (size)                     
                                                                      
  req = bdbuf_alloc (sizeof (rtems_blkdev_request) +                  
   4df7c:	2004           	movel %d4,%d0                               
   4df7e:	e988           	lsll #4,%d0                                 
                                                                      
static rtems_status_code                                              
rtems_bdbuf_execute_read_request (rtems_disk_device  *dd,             
                                  rtems_bdbuf_buffer *bd,             
                                  uint32_t            transfer_count) 
{                                                                     
   4df80:	246e 000c      	moveal %fp@(12),%a2                         
  /*                                                                  
   * TODO: This type of request structure is wrong and should be removed.
   */                                                                 
#define bdbuf_alloc(size) __builtin_alloca (size)                     
                                                                      
  req = bdbuf_alloc (sizeof (rtems_blkdev_request) +                  
   4df84:	0680 0000 001c 	addil #28,%d0                               
   4df8a:	9fc0           	subal %d0,%sp                               
   4df8c:	49ef 0001      	lea %sp@(1),%a4                             
   4df90:	200c           	movel %a4,%d0                               
                                                                      
static rtems_status_code                                              
rtems_bdbuf_execute_read_request (rtems_disk_device  *dd,             
                                  rtems_bdbuf_buffer *bd,             
                                  uint32_t            transfer_count) 
{                                                                     
   4df92:	266e 0008      	moveal %fp@(8),%a3                          
  /*                                                                  
   * TODO: This type of request structure is wrong and should be removed.
   */                                                                 
#define bdbuf_alloc(size) __builtin_alloca (size)                     
                                                                      
  req = bdbuf_alloc (sizeof (rtems_blkdev_request) +                  
   4df96:	c081           	andl %d1,%d0                                
rtems_bdbuf_execute_read_request (rtems_disk_device  *dd,             
                                  rtems_bdbuf_buffer *bd,             
                                  uint32_t            transfer_count) 
{                                                                     
  rtems_blkdev_request *req = NULL;                                   
  rtems_blkdev_bnum media_block = bd->block;                          
   4df98:	242a 0016      	movel %a2@(22),%d2                          
  /*                                                                  
   * TODO: This type of request structure is wrong and should be removed.
   */                                                                 
#define bdbuf_alloc(size) __builtin_alloca (size)                     
                                                                      
  req = bdbuf_alloc (sizeof (rtems_blkdev_request) +                  
   4df9c:	2840           	moveal %d0,%a4                              
                                  uint32_t            transfer_count) 
{                                                                     
  rtems_blkdev_request *req = NULL;                                   
  rtems_blkdev_bnum media_block = bd->block;                          
  uint32_t media_blocks_per_block = dd->media_blocks_per_block;       
  uint32_t block_size = dd->block_size;                               
   4df9e:	2a2b 0024      	movel %a3@(36),%d5                          
                                  rtems_bdbuf_buffer *bd,             
                                  uint32_t            transfer_count) 
{                                                                     
  rtems_blkdev_request *req = NULL;                                   
  rtems_blkdev_bnum media_block = bd->block;                          
  uint32_t media_blocks_per_block = dd->media_blocks_per_block;       
   4dfa2:	2c2b 002c      	movel %a3@(44),%d6                          
                                                                      
  req = bdbuf_alloc (sizeof (rtems_blkdev_request) +                  
                     sizeof (rtems_blkdev_sg_buffer) * transfer_count);
                                                                      
  req->req = RTEMS_BLKDEV_REQ_READ;                                   
  req->done = rtems_bdbuf_transfer_done;                              
   4dfa6:	2948 0004      	movel %a0,%a4@(4)                           
#define bdbuf_alloc(size) __builtin_alloca (size)                     
                                                                      
  req = bdbuf_alloc (sizeof (rtems_blkdev_request) +                  
                     sizeof (rtems_blkdev_sg_buffer) * transfer_count);
                                                                      
  req->req = RTEMS_BLKDEV_REQ_READ;                                   
   4dfaa:	4294           	clrl %a4@                                   
  req->done = rtems_bdbuf_transfer_done;                              
  req->io_task = rtems_task_self ();                                  
   4dfac:	4eb9 0005 0a78 	jsr 50a78 <rtems_task_self>                 
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_TRANSFER);             
                                                                      
  req->bufs [0].user   = bd;                                          
  req->bufs [0].block  = media_block;                                 
  req->bufs [0].length = block_size;                                  
  req->bufs [0].buffer = bd->buffer;                                  
   4dfb2:	296a 001a 0020 	movel %a2@(26),%a4@(32)                     
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_users ("read", bd);                              
                                                                      
  while (transfer_index < transfer_count)                             
   4dfb8:	7201           	moveq #1,%d1                                
  req = bdbuf_alloc (sizeof (rtems_blkdev_request) +                  
                     sizeof (rtems_blkdev_sg_buffer) * transfer_count);
                                                                      
  req->req = RTEMS_BLKDEV_REQ_READ;                                   
  req->done = rtems_bdbuf_transfer_done;                              
  req->io_task = rtems_task_self ();                                  
   4dfba:	2940 0014      	movel %d0,%a4@(20)                          
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4dfbe:	7009           	moveq #9,%d0                                
                     sizeof (rtems_blkdev_sg_buffer) * transfer_count);
                                                                      
  req->req = RTEMS_BLKDEV_REQ_READ;                                   
  req->done = rtems_bdbuf_transfer_done;                              
  req->io_task = rtems_task_self ();                                  
  req->bufnum = 0;                                                    
   4dfc0:	42ac 0010      	clrl %a4@(16)                               
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4dfc4:	2540 001e      	movel %d0,%a2@(30)                          
  req->io_task = rtems_task_self ();                                  
  req->bufnum = 0;                                                    
                                                                      
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_TRANSFER);             
                                                                      
  req->bufs [0].user   = bd;                                          
   4dfc8:	294a 0024      	movel %a2,%a4@(36)                          
  req->bufs [0].block  = media_block;                                 
   4dfcc:	2942 0018      	movel %d2,%a4@(24)                          
  req->bufs [0].length = block_size;                                  
   4dfd0:	2945 001c      	movel %d5,%a4@(28)                          
  req->bufs [0].buffer = bd->buffer;                                  
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_users ("read", bd);                              
                                                                      
  while (transfer_index < transfer_count)                             
   4dfd4:	b284           	cmpl %d4,%d1                                
   4dfd6:	6456           	bccs 4e02e <rtems_bdbuf_execute_read_request+0xc4>
  else                                                                
    return RTEMS_IO_ERROR;                                            
}                                                                     
                                                                      
static rtems_status_code                                              
rtems_bdbuf_execute_read_request (rtems_disk_device  *dd,             
   4dfd8:	45ec 0034      	lea %a4@(52),%a2                            
{                                                                     
  rtems_blkdev_request *req = NULL;                                   
  rtems_blkdev_bnum media_block = bd->block;                          
  uint32_t media_blocks_per_block = dd->media_blocks_per_block;       
  uint32_t block_size = dd->block_size;                               
  uint32_t transfer_index = 1;                                        
   4dfdc:	7601           	moveq #1,%d3                                
   4dfde:	4bfa f6d0      	lea %pc@(4d6b0 <rtems_bdbuf_get_buffer_for_read_ahead>),%a5
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_users ("read", bd);                              
                                                                      
  while (transfer_index < transfer_count)                             
  {                                                                   
    media_block += media_blocks_per_block;                            
   4dfe2:	d486           	addl %d6,%d2                                
                                                                      
    bd = rtems_bdbuf_get_buffer_for_read_ahead (dd, media_block);     
   4dfe4:	2f02           	movel %d2,%sp@-                             
   4dfe6:	2f0b           	movel %a3,%sp@-                             
   4dfe8:	4e95           	jsr %a5@                                    
                                                                      
    if (bd == NULL)                                                   
   4dfea:	508f           	addql #8,%sp                                
   4dfec:	4a80           	tstl %d0                                    
   4dfee:	6724           	beqs 4e014 <rtems_bdbuf_execute_read_request+0xaa><== NEVER TAKEN
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4dff0:	2040           	moveal %d0,%a0                              
   4dff2:	7209           	moveq #9,%d1                                
    req->bufs [transfer_index].buffer = bd->buffer;                   
                                                                      
    if (rtems_bdbuf_tracer)                                           
      rtems_bdbuf_show_users ("read", bd);                            
                                                                      
    ++transfer_index;                                                 
   4dff4:	5283           	addql #1,%d3                                
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4dff6:	2141 001e      	movel %d1,%a0@(30)                          
    rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_TRANSFER);           
                                                                      
    req->bufs [transfer_index].user   = bd;                           
    req->bufs [transfer_index].block  = media_block;                  
    req->bufs [transfer_index].length = block_size;                   
    req->bufs [transfer_index].buffer = bd->buffer;                   
   4dffa:	41e8 001a      	lea %a0@(26),%a0                            
    if (bd == NULL)                                                   
      break;                                                          
                                                                      
    rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_TRANSFER);           
                                                                      
    req->bufs [transfer_index].user   = bd;                           
   4dffe:	2480           	movel %d0,%a2@                              
    req->bufs [transfer_index].block  = media_block;                  
   4e000:	2542 fff4      	movel %d2,%a2@(-12)                         
    req->bufs [transfer_index].length = block_size;                   
   4e004:	2545 fff8      	movel %d5,%a2@(-8)                          
    req->bufs [transfer_index].buffer = bd->buffer;                   
   4e008:	2550 fffc      	movel %a0@,%a2@(-4)                         
   4e00c:	45ea 0010      	lea %a2@(16),%a2                            
  req->bufs [0].buffer = bd->buffer;                                  
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_users ("read", bd);                              
                                                                      
  while (transfer_index < transfer_count)                             
   4e010:	b883           	cmpl %d3,%d4                                
   4e012:	66ce           	bnes 4dfe2 <rtems_bdbuf_execute_read_request+0x78>
      rtems_bdbuf_show_users ("read", bd);                            
                                                                      
    ++transfer_index;                                                 
  }                                                                   
                                                                      
  req->bufnum = transfer_index;                                       
   4e014:	2943 0010      	movel %d3,%a4@(16)                          
                                                                      
  return rtems_bdbuf_execute_transfer_request (dd, req, true);        
   4e018:	4878 0001      	pea 1 <ADD>                                 
   4e01c:	2f0c           	movel %a4,%sp@-                             
   4e01e:	2f0b           	movel %a3,%sp@-                             
   4e020:	4eba f916      	jsr %pc@(4d938 <rtems_bdbuf_execute_transfer_request>)
}                                                                     
   4e024:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   4e02a:	4e5e           	unlk %fp                                    
   4e02c:	4e75           	rts                                         
{                                                                     
  rtems_blkdev_request *req = NULL;                                   
  rtems_blkdev_bnum media_block = bd->block;                          
  uint32_t media_blocks_per_block = dd->media_blocks_per_block;       
  uint32_t block_size = dd->block_size;                               
  uint32_t transfer_index = 1;                                        
   4e02e:	7601           	moveq #1,%d3                                
      rtems_bdbuf_show_users ("read", bd);                            
                                                                      
    ++transfer_index;                                                 
  }                                                                   
                                                                      
  req->bufnum = transfer_index;                                       
   4e030:	2943 0010      	movel %d3,%a4@(16)                          
                                                                      
  return rtems_bdbuf_execute_transfer_request (dd, req, true);        
   4e034:	4878 0001      	pea 1 <ADD>                                 
   4e038:	2f0c           	movel %a4,%sp@-                             
   4e03a:	2f0b           	movel %a3,%sp@-                             
   4e03c:	4eba f8fa      	jsr %pc@(4d938 <rtems_bdbuf_execute_transfer_request>)
}                                                                     
   4e040:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   4e046:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d938 <rtems_bdbuf_execute_transfer_request>: static rtems_status_code rtems_bdbuf_execute_transfer_request (rtems_disk_device *dd, rtems_blkdev_request *req, bool cache_locked) {
   4d938:	4e56 ffe0      	linkw %fp,#-32                              
   4d93c:	48d7 1c7c      	moveml %d2-%d6/%a2-%a4,%sp@                 
   4d940:	1a2e 0013      	moveb %fp@(19),%d5                          
   4d944:	246e 0008      	moveal %fp@(8),%a2                          
   4d948:	266e 000c      	moveal %fp@(12),%a3                         
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  uint32_t transfer_index = 0;                                        
  bool wake_transfer_waiters = false;                                 
  bool wake_buffer_waiters = false;                                   
                                                                      
  if (cache_locked)                                                   
   4d94c:	6600 013c      	bnew 4da8a <rtems_bdbuf_execute_transfer_request+0x152>
    rtems_bdbuf_unlock_cache ();                                      
                                                                      
  /* The return value will be ignored for transfer requests */        
  dd->ioctl (dd->phys_dev, RTEMS_BLKIO_REQUEST, req);                 
   4d950:	2f0b           	movel %a3,%sp@-                             
   4d952:	206a 0038      	moveal %a2@(56),%a0                         
   4d956:	2f3c c018 4201 	movel #-1072152063,%sp@-                    
   4d95c:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4d960:	4e90           	jsr %a0@                                    
                                                                      
  /* Wait for transfer request completion */                          
  rtems_bdbuf_wait_for_transient_event ();                            
   4d962:	4eba ffa8      	jsr %pc@(4d90c <rtems_bdbuf_wait_for_transient_event>)
  sc = req->status;                                                   
   4d966:	2c2b 000c      	movel %a3@(12),%d6                          
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4d96a:	4eba f244      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
  /* Statistics */                                                    
  if (req->req == RTEMS_BLKDEV_REQ_READ)                              
   4d96e:	4fef 000c      	lea %sp@(12),%sp                            
   4d972:	4a93           	tstl %a3@                                   
   4d974:	6600 00ca      	bnew 4da40 <rtems_bdbuf_execute_transfer_request+0x108>
  {                                                                   
    dd->stats.read_blocks += req->bufnum;                             
   4d978:	202b 0010      	movel %a3@(16),%d0                          
   4d97c:	d1aa 004e      	addl %d0,%a2@(78)                           
    if (sc != RTEMS_SUCCESSFUL)                                       
   4d980:	4a86           	tstl %d6                                    
   4d982:	6600 010e      	bnew 4da92 <rtems_bdbuf_execute_transfer_request+0x15a>
    ++dd->stats.write_transfers;                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
      ++dd->stats.write_errors;                                       
  }                                                                   
                                                                      
  for (transfer_index = 0; transfer_index < req->bufnum; ++transfer_index)
   4d986:	4a80           	tstl %d0                                    
   4d988:	6750           	beqs 4d9da <rtems_bdbuf_execute_transfer_request+0xa2><== NEVER TAKEN
                                                                      
  rtems_event_transient_send (req->io_task);                          
}                                                                     
                                                                      
static rtems_status_code                                              
rtems_bdbuf_execute_transfer_request (rtems_disk_device    *dd,       
   4d98a:	45eb 0024      	lea %a3@(36),%a2                            
   4d98e:	4282           	clrl %d2                                    
   4d990:	49fa f8e8      	lea %pc@(4d27a <rtems_bdbuf_discard_buffer.part.9>),%a4
   4d994:	4203           	clrb %d3                                    
   4d996:	4204           	clrb %d4                                    
      ++dd->stats.write_errors;                                       
  }                                                                   
                                                                      
  for (transfer_index = 0; transfer_index < req->bufnum; ++transfer_index)
  {                                                                   
    rtems_bdbuf_buffer *bd = req->bufs [transfer_index].user;         
   4d998:	2052           	moveal %a2@,%a0                             
    bool waiters = bd->waiters;                                       
   4d99a:	2228 0022      	movel %a0@(34),%d1                          
                                                                      
    if (waiters)                                                      
   4d99e:	6700 009a      	beqw 4da3a <rtems_bdbuf_execute_transfer_request+0x102>
      wake_transfer_waiters = true;                                   
   4d9a2:	7801           	moveq #1,%d4                                
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4d9a4:	2268 0026      	moveal %a0@(38),%a1                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_group_release (rtems_bdbuf_buffer *bd)                    
{                                                                     
  --bd->group->users;                                                 
   4d9a8:	53a9 000c      	subql #1,%a1@(12)                           
    else                                                              
      wake_buffer_waiters = true;                                     
                                                                      
    rtems_bdbuf_group_release (bd);                                   
                                                                      
    if (sc == RTEMS_SUCCESSFUL && bd->state == RTEMS_BDBUF_STATE_TRANSFER)
   4d9ac:	4a86           	tstl %d6                                    
   4d9ae:	6608           	bnes 4d9b8 <rtems_bdbuf_execute_transfer_request+0x80>
   4d9b0:	7009           	moveq #9,%d0                                
   4d9b2:	b0a8 001e      	cmpl %a0@(30),%d0                           
   4d9b6:	6752           	beqs 4da0a <rtems_bdbuf_execute_transfer_request+0xd2>
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d9b8:	7001           	moveq #1,%d0                                
   4d9ba:	2140 001e      	movel %d0,%a0@(30)                          
static void                                                           
rtems_bdbuf_discard_buffer (rtems_bdbuf_buffer *bd)                   
{                                                                     
  rtems_bdbuf_make_empty (bd);                                        
                                                                      
  if (bd->waiters == 0)                                               
   4d9be:	4a81           	tstl %d1                                    
   4d9c0:	6734           	beqs 4d9f6 <rtems_bdbuf_execute_transfer_request+0xbe>
    ++dd->stats.write_transfers;                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
      ++dd->stats.write_errors;                                       
  }                                                                   
                                                                      
  for (transfer_index = 0; transfer_index < req->bufnum; ++transfer_index)
   4d9c2:	5282           	addql #1,%d2                                
   4d9c4:	45ea 0010      	lea %a2@(16),%a2                            
   4d9c8:	b4ab 0010      	cmpl %a3@(16),%d2                           
   4d9cc:	65ca           	bcss 4d998 <rtems_bdbuf_execute_transfer_request+0x60><== NEVER TAKEN
                                                                      
    if (rtems_bdbuf_tracer)                                           
      rtems_bdbuf_show_users ("transfer", bd);                        
  }                                                                   
                                                                      
  if (wake_transfer_waiters)                                          
   4d9ce:	4a04           	tstb %d4                                    
   4d9d0:	6600 00a4      	bnew 4da76 <rtems_bdbuf_execute_transfer_request+0x13e>
    rtems_bdbuf_wake (&bdbuf_cache.transfer_waiters);                 
                                                                      
  if (wake_buffer_waiters)                                            
   4d9d4:	4a03           	tstb %d3                                    
   4d9d6:	6600 008a      	bnew 4da62 <rtems_bdbuf_execute_transfer_request+0x12a>
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
                                                                      
  if (!cache_locked)                                                  
   4d9da:	4a05           	tstb %d5                                    
   4d9dc:	677c           	beqs 4da5a <rtems_bdbuf_execute_transfer_request+0x122>
    rtems_bdbuf_unlock_cache ();                                      
                                                                      
  if (sc == RTEMS_SUCCESSFUL || sc == RTEMS_UNSATISFIED)              
   4d9de:	4a86           	tstl %d6                                    
   4d9e0:	6708           	beqs 4d9ea <rtems_bdbuf_execute_transfer_request+0xb2>
   4d9e2:	700d           	moveq #13,%d0                               
   4d9e4:	b086           	cmpl %d6,%d0                                
   4d9e6:	6702           	beqs 4d9ea <rtems_bdbuf_execute_transfer_request+0xb2>
    return sc;                                                        
  else                                                                
    return RTEMS_IO_ERROR;                                            
   4d9e8:	7c1b           	moveq #27,%d6                               
}                                                                     
   4d9ea:	2006           	movel %d6,%d0                               
   4d9ec:	4cee 1c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a4            
   4d9f2:	4e5e           	unlk %fp                                    
   4d9f4:	4e75           	rts                                         
   4d9f6:	2f08           	movel %a0,%sp@-                             
    ++dd->stats.write_transfers;                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
      ++dd->stats.write_errors;                                       
  }                                                                   
                                                                      
  for (transfer_index = 0; transfer_index < req->bufnum; ++transfer_index)
   4d9f8:	5282           	addql #1,%d2                                
   4d9fa:	45ea 0010      	lea %a2@(16),%a2                            
   4d9fe:	4e94           	jsr %a4@                                    
   4da00:	588f           	addql #4,%sp                                
   4da02:	b4ab 0010      	cmpl %a3@(16),%d2                           
   4da06:	6590           	bcss 4d998 <rtems_bdbuf_execute_transfer_request+0x60><== NEVER TAKEN
   4da08:	60c4           	bras 4d9ce <rtems_bdbuf_execute_transfer_request+0x96>
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4da0a:	2279 0006 3798 	moveal 63798 <bdbuf_cache+0x44>,%a1         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4da10:	103c 0002      	moveb #2,%d0                                
    ++dd->stats.write_transfers;                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
      ++dd->stats.write_errors;                                       
  }                                                                   
                                                                      
  for (transfer_index = 0; transfer_index < req->bufnum; ++transfer_index)
   4da14:	5282           	addql #1,%d2                                
   4da16:	45ea 0010      	lea %a2@(16),%a2                            
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4da1a:	2140 001e      	movel %d0,%a0@(30)                          
                                                                      
  the_node->next = tail;                                              
   4da1e:	20bc 0006 3794 	movel #407444,%a0@                          
  tail->previous = the_node;                                          
   4da24:	23c8 0006 3798 	movel %a0,63798 <bdbuf_cache+0x44>          
  old_last->next = the_node;                                          
   4da2a:	2288           	movel %a0,%a1@                              
  the_node->previous = old_last;                                      
   4da2c:	2149 0004      	movel %a1,%a0@(4)                           
    ++dd->stats.write_transfers;                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
      ++dd->stats.write_errors;                                       
  }                                                                   
                                                                      
  for (transfer_index = 0; transfer_index < req->bufnum; ++transfer_index)
   4da30:	b4ab 0010      	cmpl %a3@(16),%d2                           
   4da34:	6500 ff62      	bcsw 4d998 <rtems_bdbuf_execute_transfer_request+0x60>
   4da38:	6094           	bras 4d9ce <rtems_bdbuf_execute_transfer_request+0x96>
    bool waiters = bd->waiters;                                       
                                                                      
    if (waiters)                                                      
      wake_transfer_waiters = true;                                   
    else                                                              
      wake_buffer_waiters = true;                                     
   4da3a:	7601           	moveq #1,%d3                                
   4da3c:	6000 ff66      	braw 4d9a4 <rtems_bdbuf_execute_transfer_request+0x6c>
    if (sc != RTEMS_SUCCESSFUL)                                       
      ++dd->stats.read_errors;                                        
  }                                                                   
  else                                                                
  {                                                                   
    dd->stats.write_blocks += req->bufnum;                            
   4da40:	202b 0010      	movel %a3@(16),%d0                          
    ++dd->stats.write_transfers;                                      
   4da44:	52aa 0056      	addql #1,%a2@(86)                           
    if (sc != RTEMS_SUCCESSFUL)                                       
      ++dd->stats.read_errors;                                        
  }                                                                   
  else                                                                
  {                                                                   
    dd->stats.write_blocks += req->bufnum;                            
   4da48:	d1aa 005a      	addl %d0,%a2@(90)                           
    ++dd->stats.write_transfers;                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
   4da4c:	4a86           	tstl %d6                                    
   4da4e:	6700 ff36      	beqw 4d986 <rtems_bdbuf_execute_transfer_request+0x4e>
      ++dd->stats.write_errors;                                       
   4da52:	52aa 005e      	addql #1,%a2@(94)                           
   4da56:	6000 ff2e      	braw 4d986 <rtems_bdbuf_execute_transfer_request+0x4e>
                                                                      
  if (wake_buffer_waiters)                                            
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
                                                                      
  if (!cache_locked)                                                  
    rtems_bdbuf_unlock_cache ();                                      
   4da5a:	4eba f1a0      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
   4da5e:	6000 ff7e      	braw 4d9de <rtems_bdbuf_execute_transfer_request+0xa6>
                                                                      
  if (wake_transfer_waiters)                                          
    rtems_bdbuf_wake (&bdbuf_cache.transfer_waiters);                 
                                                                      
  if (wake_buffer_waiters)                                            
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4da62:	4879 0006 37c4 	pea 637c4 <bdbuf_cache+0x70>                
   4da68:	4eba f388      	jsr %pc@(4cdf2 <rtems_bdbuf_wake>)          
   4da6c:	588f           	addql #4,%sp                                
                                                                      
  if (!cache_locked)                                                  
   4da6e:	4a05           	tstb %d5                                    
   4da70:	6600 ff6c      	bnew 4d9de <rtems_bdbuf_execute_transfer_request+0xa6>
   4da74:	60e4           	bras 4da5a <rtems_bdbuf_execute_transfer_request+0x122>
    if (rtems_bdbuf_tracer)                                           
      rtems_bdbuf_show_users ("transfer", bd);                        
  }                                                                   
                                                                      
  if (wake_transfer_waiters)                                          
    rtems_bdbuf_wake (&bdbuf_cache.transfer_waiters);                 
   4da76:	4879 0006 37bc 	pea 637bc <bdbuf_cache+0x68>                
   4da7c:	4eba f374      	jsr %pc@(4cdf2 <rtems_bdbuf_wake>)          
   4da80:	588f           	addql #4,%sp                                
                                                                      
  if (wake_buffer_waiters)                                            
   4da82:	4a03           	tstb %d3                                    
   4da84:	6700 ff54      	beqw 4d9da <rtems_bdbuf_execute_transfer_request+0xa2>
   4da88:	60d8           	bras 4da62 <rtems_bdbuf_execute_transfer_request+0x12a>
  uint32_t transfer_index = 0;                                        
  bool wake_transfer_waiters = false;                                 
  bool wake_buffer_waiters = false;                                   
                                                                      
  if (cache_locked)                                                   
    rtems_bdbuf_unlock_cache ();                                      
   4da8a:	4eba f170      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
   4da8e:	6000 fec0      	braw 4d950 <rtems_bdbuf_execute_transfer_request+0x18>
  /* Statistics */                                                    
  if (req->req == RTEMS_BLKDEV_REQ_READ)                              
  {                                                                   
    dd->stats.read_blocks += req->bufnum;                             
    if (sc != RTEMS_SUCCESSFUL)                                       
      ++dd->stats.read_errors;                                        
   4da92:	52aa 0052      	addql #1,%a2@(82)                           
   4da96:	6000 feee      	braw 4d986 <rtems_bdbuf_execute_transfer_request+0x4e>
                                                                      

0004cb78 <rtems_bdbuf_fatal>: #define RTEMS_BDBUF_AVL_MAX_HEIGHT (32) #endif static void rtems_bdbuf_fatal (rtems_fatal_code error) {
   4cb78:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  rtems_fatal (RTEMS_FATAL_SOURCE_BDBUF, error);                      
   4cb7c:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4cb80:	4878 0003      	pea 3 <DIVIDE>                              <== NOT EXECUTED
   4cb84:	4eb9 0004 93d8 	jsr 493d8 <rtems_fatal>                     <== NOT EXECUTED
                                                                      

0004cbc6 <rtems_bdbuf_fatal_with_state>: } static void rtems_bdbuf_fatal_with_state (rtems_bdbuf_buf_state state, rtems_bdbuf_fatal_code error) {
   4cbc6:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   4cbca:	202e 0008      	movel %fp@(8),%d0                           <== NOT EXECUTED
  rtems_bdbuf_fatal ((((uint32_t) state) << 16) | error);             
   4cbce:	4840           	swap %d0                                    <== NOT EXECUTED
   4cbd0:	4240           	clrw %d0                                    <== NOT EXECUTED
   4cbd2:	80ae 000c      	orl %fp@(12),%d0                            <== NOT EXECUTED
   4cbd6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4cbd8:	4eba ff9e      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004e60c <rtems_bdbuf_get>: rtems_status_code rtems_bdbuf_get (rtems_disk_device *dd, rtems_blkdev_bnum block, rtems_bdbuf_buffer **bd_ptr) {
   4e60c:	4e56 ffe8      	linkw %fp,#-24                              
   4e610:	48d7 047c      	moveml %d2-%d6/%a2,%sp@                     
   4e614:	246e 0008      	moveal %fp@(8),%a2                          
   4e618:	2c2e 000c      	movel %fp@(12),%d6                          
  rtems_status_code   sc = RTEMS_SUCCESSFUL;                          
  rtems_bdbuf_buffer *bd = NULL;                                      
  rtems_blkdev_bnum   media_block;                                    
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4e61c:	4eba e592      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                             rtems_blkdev_bnum        block,          
                             rtems_blkdev_bnum       *media_block_ptr)
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (block < dd->block_count)                                        
   4e620:	bcaa 0028      	cmpl %a2@(40),%d6                           
   4e624:	651a           	bcss 4e640 <rtems_bdbuf_get+0x34>           <== ALWAYS TAKEN
      rtems_bdbuf_show_users ("get", bd);                             
      rtems_bdbuf_show_usage ();                                      
    }                                                                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e626:	4eba e5d4      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  <== NOT EXECUTED
                                                                      
  *bd_ptr = bd;                                                       
   4e62a:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
     */                                                               
    *media_block_ptr = rtems_bdbuf_media_block (dd, block) + dd->start;
  }                                                                   
  else                                                                
  {                                                                   
    sc = RTEMS_INVALID_ID;                                            
   4e62e:	7404           	moveq #4,%d2                                <== NOT EXECUTED
rtems_bdbuf_get (rtems_disk_device   *dd,                             
                 rtems_blkdev_bnum    block,                          
                 rtems_bdbuf_buffer **bd_ptr)                         
{                                                                     
  rtems_status_code   sc = RTEMS_SUCCESSFUL;                          
  rtems_bdbuf_buffer *bd = NULL;                                      
   4e630:	95ca           	subal %a2,%a2                               <== NOT EXECUTED
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  *bd_ptr = bd;                                                       
                                                                      
  return sc;                                                          
}                                                                     
   4e632:	2002           	movel %d2,%d0                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  *bd_ptr = bd;                                                       
   4e634:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
                                                                      
  return sc;                                                          
}                                                                     
   4e636:	4cee 047c ffe8 	moveml %fp@(-24),%d2-%d6/%a2                <== NOT EXECUTED
   4e63c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e63e:	4e75           	rts                                         <== NOT EXECUTED
}                                                                     
                                                                      
static rtems_blkdev_bnum                                              
rtems_bdbuf_media_block (const rtems_disk_device *dd, rtems_blkdev_bnum block)
{                                                                     
  if (dd->block_to_media_block_shift >= 0)                            
   4e640:	202a 0030      	movel %a2@(48),%d0                          
   4e644:	6d00 0094      	bltw 4e6da <rtems_bdbuf_get+0xce>           
    return block << dd->block_to_media_block_shift;                   
   4e648:	2206           	movel %d6,%d1                               
   4e64a:	e1a9           	lsll %d0,%d1                                
     */                                                               
    if (rtems_bdbuf_tracer)                                           
      printf ("bdbuf:get: %" PRIu32 " (%" PRIu32 ") (dev = %08x)\n",  
              media_block, block, (unsigned) dd->dev);                
                                                                      
    bd = rtems_bdbuf_get_buffer_for_access (dd, media_block);         
   4e64c:	d2aa 0018      	addl %a2@(24),%d1                           
   4e650:	2f01           	movel %d1,%sp@-                             
   4e652:	2f0a           	movel %a2,%sp@-                             
   4e654:	4eba f0b2      	jsr %pc@(4d708 <rtems_bdbuf_get_buffer_for_access>)
                                                                      
    switch (bd->state)                                                
   4e658:	508f           	addql #8,%sp                                
   4e65a:	7202           	moveq #2,%d1                                
     */                                                               
    if (rtems_bdbuf_tracer)                                           
      printf ("bdbuf:get: %" PRIu32 " (%" PRIu32 ") (dev = %08x)\n",  
              media_block, block, (unsigned) dd->dev);                
                                                                      
    bd = rtems_bdbuf_get_buffer_for_access (dd, media_block);         
   4e65c:	2440           	moveal %d0,%a2                              
                                                                      
    switch (bd->state)                                                
   4e65e:	202a 001e      	movel %a2@(30),%d0                          
   4e662:	b280           	cmpl %d0,%d1                                
   4e664:	6756           	beqs 4e6bc <rtems_bdbuf_get+0xb0>           
   4e666:	123c 0007      	moveb #7,%d1                                
   4e66a:	b280           	cmpl %d0,%d1                                
   4e66c:	6712           	beqs 4e680 <rtems_bdbuf_get+0x74>           
   4e66e:	123c 0001      	moveb #1,%d1                                
   4e672:	b280           	cmpl %d0,%d1                                
   4e674:	6728           	beqs 4e69e <rtems_bdbuf_get+0x92>           <== ALWAYS TAKEN
         * record of this so just gets the block to fill.             
         */                                                           
        rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_ACCESS_MODIFIED);
        break;                                                        
      default:                                                        
        rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_2);
   4e676:	4878 000f      	pea f <FPTRAP>                              <== NOT EXECUTED
   4e67a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e67c:	4eba e548      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4e680:	7004           	moveq #4,%d0                                
   4e682:	4282           	clrl %d2                                    
   4e684:	2540 001e      	movel %d0,%a2@(30)                          
      rtems_bdbuf_show_users ("get", bd);                             
      rtems_bdbuf_show_usage ();                                      
    }                                                                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e688:	4eba e572      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  *bd_ptr = bd;                                                       
   4e68c:	206e 0010      	moveal %fp@(16),%a0                         
                                                                      
  return sc;                                                          
}                                                                     
   4e690:	2002           	movel %d2,%d0                               
    }                                                                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  *bd_ptr = bd;                                                       
   4e692:	208a           	movel %a2,%a0@                              
                                                                      
  return sc;                                                          
}                                                                     
   4e694:	4cee 047c ffe8 	moveml %fp@(-24),%d2-%d6/%a2                
   4e69a:	4e5e           	unlk %fp                                    
   4e69c:	4e75           	rts                                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4e69e:	7205           	moveq #5,%d1                                
   4e6a0:	4282           	clrl %d2                                    
   4e6a2:	2541 001e      	movel %d1,%a2@(30)                          
      rtems_bdbuf_show_users ("get", bd);                             
      rtems_bdbuf_show_usage ();                                      
    }                                                                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e6a6:	4eba e554      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  *bd_ptr = bd;                                                       
   4e6aa:	206e 0010      	moveal %fp@(16),%a0                         
                                                                      
  return sc;                                                          
}                                                                     
   4e6ae:	2002           	movel %d2,%d0                               
    }                                                                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  *bd_ptr = bd;                                                       
   4e6b0:	208a           	movel %a2,%a0@                              
                                                                      
  return sc;                                                          
}                                                                     
   4e6b2:	4cee 047c ffe8 	moveml %fp@(-24),%d2-%d6/%a2                
   4e6b8:	4e5e           	unlk %fp                                    
   4e6ba:	4e75           	rts                                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4e6bc:	7003           	moveq #3,%d0                                
   4e6be:	4282           	clrl %d2                                    
   4e6c0:	2540 001e      	movel %d0,%a2@(30)                          
      rtems_bdbuf_show_users ("get", bd);                             
      rtems_bdbuf_show_usage ();                                      
    }                                                                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e6c4:	4eba e536      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  *bd_ptr = bd;                                                       
   4e6c8:	206e 0010      	moveal %fp@(16),%a0                         
                                                                      
  return sc;                                                          
}                                                                     
   4e6cc:	2002           	movel %d2,%d0                               
    }                                                                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  *bd_ptr = bd;                                                       
   4e6ce:	208a           	movel %a2,%a0@                              
                                                                      
  return sc;                                                          
}                                                                     
   4e6d0:	4cee 047c ffe8 	moveml %fp@(-24),%d2-%d6/%a2                
   4e6d6:	4e5e           	unlk %fp                                    
   4e6d8:	4e75           	rts                                         
    /*                                                                
     * Change the block number for the block size to the block number for the media
     * block size. We have to use 64bit maths. There is no short cut here.
     */                                                               
    return (rtems_blkdev_bnum)                                        
      ((((uint64_t) block) * dd->block_size) / dd->media_block_size); 
   4e6da:	2a2a 0024      	movel %a2@(36),%d5                          <== NOT EXECUTED
   4e6de:	4284           	clrl %d4                                    <== NOT EXECUTED
   4e6e0:	4282           	clrl %d2                                    <== NOT EXECUTED
   4e6e2:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   4e6e4:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4e6e6:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   4e6e8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4e6ea:	4eb9 0005 efa4 	jsr 5efa4 <__muldi3>                        <== NOT EXECUTED
   4e6f0:	262a 0020      	movel %a2@(32),%d3                          <== NOT EXECUTED
   4e6f4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e6f8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   4e6fa:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4e6fc:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4e6fe:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e700:	4eb9 0005 f858 	jsr 5f858 <__udivdi3>                       <== NOT EXECUTED
   4e706:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e70a:	6000 ff40      	braw 4e64c <rtems_bdbuf_get+0x40>           <== NOT EXECUTED
                                                                      

0004d708 <rtems_bdbuf_get_buffer_for_access>: static rtems_bdbuf_buffer * rtems_bdbuf_get_buffer_for_access (rtems_disk_device *dd, rtems_blkdev_bnum block) {
   4d708:	4e56 ffd8      	linkw %fp,#-40                              
   4d70c:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4d710:	266e 0008      	moveal %fp@(8),%a3                          
   4d714:	49fa f69a      	lea %pc@(4cdb0 <rtems_bdbuf_avl_search.isra.1>),%a4
        rtems_bdbuf_wait (bd, &bdbuf_cache.access_waiters);           
        break;                                                        
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4d718:	4bfa f5dc      	lea %pc@(4ccf6 <rtems_bdbuf_wait>),%a5      
rtems_bdbuf_request_sync_for_modified_buffer (rtems_bdbuf_buffer *bd) 
{                                                                     
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_SYNC);                 
  rtems_chain_extract_unprotected (&bd->link);                        
  rtems_chain_append_unprotected (&bdbuf_cache.sync, &bd->link);      
  rtems_bdbuf_wake_swapper ();                                        
   4d71c:	2a3c 0004 cc14 	movel #314388,%d5                           
    {                                                                 
      if (bd->group->bds_per_group != dd->bds_per_group)              
      {                                                               
        if (rtems_bdbuf_wait_for_recycle (bd))                        
        {                                                             
          rtems_bdbuf_remove_from_tree_and_lru_list (bd);             
   4d722:	283c 0004 d300 	movel #316160,%d4                           
          rtems_bdbuf_make_free_and_add_to_lru_list (bd);             
          rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);             
   4d728:	263c 0004 cdf2 	movel #314866,%d3                           
}                                                                     
                                                                      
static rtems_bdbuf_buffer *                                           
rtems_bdbuf_get_buffer_for_access (rtems_disk_device *dd,             
                                   rtems_blkdev_bnum  block)          
{                                                                     
   4d72e:	242e 000c      	movel %fp@(12),%d2                          
           * It is essential that we wait here without a special wait count and
           * without the group in use.  Otherwise we could trigger a wait ping
           * pong with another recycle waiter.  The state of the buffer is
           * arbitrary afterwards.                                    
           */                                                         
          rtems_bdbuf_anonymous_wait (&bdbuf_cache.buffer_waiters);   
   4d732:	2e3c 0004 cc96 	movel #314518,%d7                           
        bd = NULL;                                                    
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      bd = rtems_bdbuf_get_buffer_from_lru_list (dd, block);          
   4d738:	2c3c 0004 d33c 	movel #316220,%d6                           
{                                                                     
  rtems_bdbuf_buffer *bd = NULL;                                      
                                                                      
  do                                                                  
  {                                                                   
    bd = rtems_bdbuf_avl_search (&bdbuf_cache.tree, dd, block);       
   4d73e:	2f02           	movel %d2,%sp@-                             
   4d740:	2f0b           	movel %a3,%sp@-                             
   4d742:	2f39 0006 378c 	movel 6378c <bdbuf_cache+0x38>,%sp@-        
   4d748:	4e94           	jsr %a4@                                    
   4d74a:	4fef 000c      	lea %sp@(12),%sp                            
   4d74e:	2440           	moveal %d0,%a2                              
                                                                      
    if (bd != NULL)                                                   
   4d750:	4a80           	tstl %d0                                    
   4d752:	6700 0098      	beqw 4d7ec <rtems_bdbuf_get_buffer_for_access+0xe4>
    {                                                                 
      if (bd->group->bds_per_group != dd->bds_per_group)              
   4d756:	206a 0026      	moveal %a2@(38),%a0                         
   4d75a:	202b 0034      	movel %a3@(52),%d0                          
   4d75e:	b0a8 0008      	cmpl %a0@(8),%d0                            
   4d762:	6700 009a      	beqw 4d7fe <rtems_bdbuf_get_buffer_for_access+0xf6>
static bool                                                           
rtems_bdbuf_wait_for_recycle (rtems_bdbuf_buffer *bd)                 
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d766:	202a 001e      	movel %a2@(30),%d0                          
   4d76a:	720a           	moveq #10,%d1                               
   4d76c:	b280           	cmpl %d0,%d1                                
   4d76e:	640a           	bccs 4d77a <rtems_bdbuf_get_buffer_for_access+0x72><== ALWAYS TAKEN
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
        break;                                                        
      default:                                                        
        rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_8);
   4d770:	4878 0014      	pea 14 <OPER2>                              <== NOT EXECUTED
   4d774:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4d776:	4eba f44e      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
static bool                                                           
rtems_bdbuf_wait_for_recycle (rtems_bdbuf_buffer *bd)                 
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d77a:	303b 0a08      	movew %pc@(4d784 <rtems_bdbuf_get_buffer_for_access+0x7c>,%d0:l:2),%d0
   4d77e:	48c0           	extl %d0                                    
   4d780:	4efb 0802      	jmp %pc@(4d784 <rtems_bdbuf_get_buffer_for_access+0x7c>,%d0:l)
   4d784:	001e           	.short 0x001e                               <== NOT EXECUTED
   4d786:	0016           	.short 0x0016                               <== NOT EXECUTED
   4d788:	0016           	.short 0x0016                               <== NOT EXECUTED
   4d78a:	00d6           	.short 0x00d6                               <== NOT EXECUTED
   4d78c:	00d6           	.short 0x00d6                               <== NOT EXECUTED
   4d78e:	00d6           	.short 0x00d6                               <== NOT EXECUTED
   4d790:	00d6           	.short 0x00d6                               <== NOT EXECUTED
   4d792:	00a2 0092 0092 	oril #9568402,%d2                           <== NOT EXECUTED
   4d798:	0092 4aaa 0022 	oril #1252655138,%d2                        <== NOT EXECUTED
      case RTEMS_BDBUF_STATE_MODIFIED:                                
        rtems_bdbuf_request_sync_for_modified_buffer (bd);            
        break;                                                        
      case RTEMS_BDBUF_STATE_CACHED:                                  
      case RTEMS_BDBUF_STATE_EMPTY:                                   
        if (bd->waiters == 0)                                         
   4d79e:	6600 00fc      	bnew 4d89c <rtems_bdbuf_get_buffer_for_access+0x194>
    {                                                                 
      if (bd->group->bds_per_group != dd->bds_per_group)              
      {                                                               
        if (rtems_bdbuf_wait_for_recycle (bd))                        
        {                                                             
          rtems_bdbuf_remove_from_tree_and_lru_list (bd);             
   4d7a2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4d7a4:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   4d7a6:	4e90           	jsr %a0@                                    <== NOT EXECUTED
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   4d7a8:	2079 0006 3790 	moveal 63790 <bdbuf_cache+0x3c>,%a0         <== NOT EXECUTED
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4d7ae:	203c 0006 3790 	movel #407440,%d0                           <== NOT EXECUTED
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d7b4:	42aa 001e      	clrl %a2@(30)                               <== NOT EXECUTED
   4d7b8:	2540 0004      	movel %d0,%a2@(4)                           <== NOT EXECUTED
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   4d7bc:	23ca 0006 3790 	movel %a2,63790 <bdbuf_cache+0x3c>          <== NOT EXECUTED
  the_node->next        = before_node;                                
  before_node->previous = the_node;                                   
   4d7c2:	214a 0004      	movel %a2,%a0@(4)                           <== NOT EXECUTED
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   4d7c6:	2488           	movel %a0,%a2@                              <== NOT EXECUTED
      {                                                               
        if (rtems_bdbuf_wait_for_recycle (bd))                        
        {                                                             
          rtems_bdbuf_remove_from_tree_and_lru_list (bd);             
          rtems_bdbuf_make_free_and_add_to_lru_list (bd);             
          rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);             
   4d7c8:	4879 0006 37c4 	pea 637c4 <bdbuf_cache+0x70>                <== NOT EXECUTED
   4d7ce:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   4d7d0:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   4d7d2:	508f           	addql #8,%sp                                <== NOT EXECUTED
{                                                                     
  rtems_bdbuf_buffer *bd = NULL;                                      
                                                                      
  do                                                                  
  {                                                                   
    bd = rtems_bdbuf_avl_search (&bdbuf_cache.tree, dd, block);       
   4d7d4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4d7d6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   4d7d8:	2f39 0006 378c 	movel 6378c <bdbuf_cache+0x38>,%sp@-        <== NOT EXECUTED
   4d7de:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   4d7e0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   4d7e4:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
                                                                      
    if (bd != NULL)                                                   
   4d7e6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4d7e8:	6600 ff6c      	bnew 4d756 <rtems_bdbuf_get_buffer_for_access+0x4e><== NOT EXECUTED
        bd = NULL;                                                    
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      bd = rtems_bdbuf_get_buffer_from_lru_list (dd, block);          
   4d7ec:	2f02           	movel %d2,%sp@-                             
   4d7ee:	2046           	moveal %d6,%a0                              
   4d7f0:	2f0b           	movel %a3,%sp@-                             
   4d7f2:	4e90           	jsr %a0@                                    
                                                                      
      if (bd == NULL)                                                 
   4d7f4:	508f           	addql #8,%sp                                
        bd = NULL;                                                    
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      bd = rtems_bdbuf_get_buffer_from_lru_list (dd, block);          
   4d7f6:	2440           	moveal %d0,%a2                              
                                                                      
      if (bd == NULL)                                                 
   4d7f8:	4a80           	tstl %d0                                    
   4d7fa:	6700 008e      	beqw 4d88a <rtems_bdbuf_get_buffer_for_access+0x182>
static void                                                           
rtems_bdbuf_wait_for_access (rtems_bdbuf_buffer *bd)                  
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d7fe:	202a 001e      	movel %a2@(30),%d0                          
        rtems_bdbuf_wait (bd, &bdbuf_cache.access_waiters);           
        break;                                                        
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4d802:	47fa f4f2      	lea %pc@(4ccf6 <rtems_bdbuf_wait>),%a3      
static void                                                           
rtems_bdbuf_wait_for_access (rtems_bdbuf_buffer *bd)                  
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d806:	720a           	moveq #10,%d1                               
   4d808:	b280           	cmpl %d0,%d1                                
   4d80a:	645e           	bccs 4d86a <rtems_bdbuf_get_buffer_for_access+0x162><== ALWAYS TAKEN
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
        break;                                                        
      default:                                                        
        rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_7);
   4d80c:	4878 0013      	pea 13 <INVALID_OPERATION+0x3>              <== NOT EXECUTED
   4d810:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4d812:	4eba f3b2      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
        rtems_bdbuf_wait (bd, &bdbuf_cache.access_waiters);           
        break;                                                        
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4d816:	4879 0006 37bc 	pea 637bc <bdbuf_cache+0x68>                <== NOT EXECUTED
   4d81c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4d81e:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   4d820:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4d822:	6000 ff42      	braw 4d766 <rtems_bdbuf_get_buffer_for_access+0x5e><== NOT EXECUTED
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d826:	7008           	moveq #8,%d0                                <== NOT EXECUTED
   4d828:	2540 001e      	movel %d0,%a2@(30)                          <== NOT EXECUTED
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   4d82c:	2012           	movel %a2@,%d0                              <== NOT EXECUTED
  previous       = the_node->previous;                                
  next->previous = previous;                                          
   4d82e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   4d830:	226a 0004      	moveal %a2@(4),%a1                          <== NOT EXECUTED
  next->previous = previous;                                          
   4d834:	2149 0004      	movel %a1,%a0@(4)                           <== NOT EXECUTED
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4d838:	2079 0006 37b0 	moveal 637b0 <bdbuf_cache+0x5c>,%a0         <== NOT EXECUTED
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
  next->previous = previous;                                          
  previous->next = next;                                              
   4d83e:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
   4d840:	23ca 0006 37b0 	movel %a2,637b0 <bdbuf_cache+0x5c>          <== NOT EXECUTED
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
   4d846:	24bc 0006 37ac 	movel #407468,%a2@                          <== NOT EXECUTED
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
  the_node->previous = old_last;                                      
   4d84c:	2548 0004      	movel %a0,%a2@(4)                           <== NOT EXECUTED
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
   4d850:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
rtems_bdbuf_request_sync_for_modified_buffer (rtems_bdbuf_buffer *bd) 
{                                                                     
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_SYNC);                 
  rtems_chain_extract_unprotected (&bd->link);                        
  rtems_chain_append_unprotected (&bdbuf_cache.sync, &bd->link);      
  rtems_bdbuf_wake_swapper ();                                        
   4d852:	2045           	moveal %d5,%a0                              <== NOT EXECUTED
   4d854:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   4d856:	6000 ff0e      	braw 4d766 <rtems_bdbuf_get_buffer_for_access+0x5e><== NOT EXECUTED
        }                                                             
      case RTEMS_BDBUF_STATE_ACCESS_CACHED:                           
      case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                            
      case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                         
      case RTEMS_BDBUF_STATE_ACCESS_PURGED:                           
        rtems_bdbuf_wait (bd, &bdbuf_cache.access_waiters);           
   4d85a:	4879 0006 37b4 	pea 637b4 <bdbuf_cache+0x60>                
   4d860:	2f0a           	movel %a2,%sp@-                             
   4d862:	4e95           	jsr %a5@                                    
   4d864:	508f           	addql #8,%sp                                
   4d866:	6000 fefe      	braw 4d766 <rtems_bdbuf_get_buffer_for_access+0x5e>
static void                                                           
rtems_bdbuf_wait_for_access (rtems_bdbuf_buffer *bd)                  
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d86a:	323b 0a08      	movew %pc@(4d874 <rtems_bdbuf_get_buffer_for_access+0x16c>,%d0:l:2),%d1
   4d86e:	48c1           	extl %d1                                    
   4d870:	4efb 1802      	jmp %pc@(4d874 <rtems_bdbuf_get_buffer_for_access+0x16c>,%d1:l)
   4d874:	ff98 004c      	cp1stl %d0,%a0@+,#1,#76                     <== NOT EXECUTED
   4d878:	0040           	.short 0x0040                               <== NOT EXECUTED
   4d87a:	007c           	.short 0x007c                               <== NOT EXECUTED
   4d87c:	007c           	.short 0x007c                               <== NOT EXECUTED
   4d87e:	007c           	.short 0x007c                               <== NOT EXECUTED
   4d880:	007c           	.short 0x007c                               <== NOT EXECUTED
   4d882:	0038           	.short 0x0038                               <== NOT EXECUTED
   4d884:	0060           	.short 0x0060                               <== NOT EXECUTED
   4d886:	0060           	.short 0x0060                               <== NOT EXECUTED
   4d888:	0060           	.short 0x0060                               <== NOT EXECUTED
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_wait_for_buffer (void)                                    
{                                                                     
  if (!rtems_chain_is_empty (&bdbuf_cache.modified))                  
   4d88a:	203c 0006 37a0 	movel #407456,%d0                           
   4d890:	b0b9 0006 379c 	cmpl 6379c <bdbuf_cache+0x48>,%d0           
   4d896:	6704           	beqs 4d89c <rtems_bdbuf_get_buffer_for_access+0x194>
    rtems_bdbuf_wake_swapper ();                                      
   4d898:	2045           	moveal %d5,%a0                              
   4d89a:	4e90           	jsr %a0@                                    
           * It is essential that we wait here without a special wait count and
           * without the group in use.  Otherwise we could trigger a wait ping
           * pong with another recycle waiter.  The state of the buffer is
           * arbitrary afterwards.                                    
           */                                                         
          rtems_bdbuf_anonymous_wait (&bdbuf_cache.buffer_waiters);   
   4d89c:	4879 0006 37c4 	pea 637c4 <bdbuf_cache+0x70>                
   4d8a2:	2047           	moveal %d7,%a0                              
   4d8a4:	4e90           	jsr %a0@                                    
   4d8a6:	588f           	addql #4,%sp                                
   4d8a8:	6000 fe94      	braw 4d73e <rtems_bdbuf_get_buffer_for_access+0x36>
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4d8ac:	206a 0026      	moveal %a2@(38),%a0                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_group_release (rtems_bdbuf_buffer *bd)                    
{                                                                     
  --bd->group->users;                                                 
   4d8b0:	53a8 000c      	subql #1,%a0@(12)                           
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   4d8b4:	2252           	moveal %a2@,%a1                             
  previous       = the_node->previous;                                
   4d8b6:	206a 0004      	moveal %a2@(4),%a0                          
  next->previous = previous;                                          
   4d8ba:	2348 0004      	movel %a0,%a1@(4)                           
  previous->next = next;                                              
   4d8be:	2089           	movel %a1,%a0@                              
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4d8c0:	206a 0026      	moveal %a2@(38),%a0                         
                                                                      
  rtems_bdbuf_wait_for_access (bd);                                   
  rtems_bdbuf_group_obtain (bd);                                      
                                                                      
  return bd;                                                          
}                                                                     
   4d8c4:	200a           	movel %a2,%d0                               
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_group_obtain (rtems_bdbuf_buffer *bd)                     
{                                                                     
  ++bd->group->users;                                                 
   4d8c6:	52a8 000c      	addql #1,%a0@(12)                           
                                                                      
  rtems_bdbuf_wait_for_access (bd);                                   
  rtems_bdbuf_group_obtain (bd);                                      
                                                                      
  return bd;                                                          
}                                                                     
   4d8ca:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            
   4d8d0:	4e5e           	unlk %fp                                    
   4d8d2:	4e75           	rts                                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.access_waiters);           
        break;                                                        
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4d8d4:	4879 0006 37bc 	pea 637bc <bdbuf_cache+0x68>                
   4d8da:	2f0a           	movel %a2,%sp@-                             
   4d8dc:	4e93           	jsr %a3@                                    
static void                                                           
rtems_bdbuf_wait_for_access (rtems_bdbuf_buffer *bd)                  
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d8de:	202a 001e      	movel %a2@(30),%d0                          
        rtems_bdbuf_wait (bd, &bdbuf_cache.access_waiters);           
        break;                                                        
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4d8e2:	508f           	addql #8,%sp                                
static void                                                           
rtems_bdbuf_wait_for_access (rtems_bdbuf_buffer *bd)                  
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d8e4:	720a           	moveq #10,%d1                               
   4d8e6:	b280           	cmpl %d0,%d1                                
   4d8e8:	6500 ff22      	bcsw 4d80c <rtems_bdbuf_get_buffer_for_access+0x104>
   4d8ec:	6000 ff7c      	braw 4d86a <rtems_bdbuf_get_buffer_for_access+0x162>
        return;                                                       
      case RTEMS_BDBUF_STATE_ACCESS_CACHED:                           
      case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                            
      case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                         
      case RTEMS_BDBUF_STATE_ACCESS_PURGED:                           
        rtems_bdbuf_wait (bd, &bdbuf_cache.access_waiters);           
   4d8f0:	4879 0006 37b4 	pea 637b4 <bdbuf_cache+0x60>                
   4d8f6:	2f0a           	movel %a2,%sp@-                             
   4d8f8:	4e93           	jsr %a3@                                    
static void                                                           
rtems_bdbuf_wait_for_access (rtems_bdbuf_buffer *bd)                  
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d8fa:	202a 001e      	movel %a2@(30),%d0                          
        return;                                                       
      case RTEMS_BDBUF_STATE_ACCESS_CACHED:                           
      case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                            
      case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                         
      case RTEMS_BDBUF_STATE_ACCESS_PURGED:                           
        rtems_bdbuf_wait (bd, &bdbuf_cache.access_waiters);           
   4d8fe:	508f           	addql #8,%sp                                
static void                                                           
rtems_bdbuf_wait_for_access (rtems_bdbuf_buffer *bd)                  
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4d900:	720a           	moveq #10,%d1                               
   4d902:	b280           	cmpl %d0,%d1                                
   4d904:	6500 ff06      	bcsw 4d80c <rtems_bdbuf_get_buffer_for_access+0x104>
   4d908:	6000 ff60      	braw 4d86a <rtems_bdbuf_get_buffer_for_access+0x162>
                                                                      

0004d6b0 <rtems_bdbuf_get_buffer_for_read_ahead>: } static rtems_bdbuf_buffer * rtems_bdbuf_get_buffer_for_read_ahead (rtems_disk_device *dd, rtems_blkdev_bnum block) {
   4d6b0:	4e56 0000      	linkw %fp,#0                                
   4d6b4:	2f03           	movel %d3,%sp@-                             
   4d6b6:	262e 000c      	movel %fp@(12),%d3                          
   4d6ba:	2f02           	movel %d2,%sp@-                             
   4d6bc:	242e 0008      	movel %fp@(8),%d2                           
  rtems_bdbuf_buffer *bd = NULL;                                      
                                                                      
  bd = rtems_bdbuf_avl_search (&bdbuf_cache.tree, dd, block);         
   4d6c0:	2f03           	movel %d3,%sp@-                             
   4d6c2:	2f02           	movel %d2,%sp@-                             
   4d6c4:	2f39 0006 378c 	movel 6378c <bdbuf_cache+0x38>,%sp@-        
   4d6ca:	4eba f6e4      	jsr %pc@(4cdb0 <rtems_bdbuf_avl_search.isra.1>)
   4d6ce:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
  if (bd == NULL)                                                     
   4d6d2:	4a80           	tstl %d0                                    
   4d6d4:	670e           	beqs 4d6e4 <rtems_bdbuf_get_buffer_for_read_ahead+0x34><== ALWAYS TAKEN
  else                                                                
    /*                                                                
     * The buffer is in the cache.  So it is already available or in use, and
     * thus no need for a read ahead.                                 
     */                                                               
    bd = NULL;                                                        
   4d6d6:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
  return bd;                                                          
}                                                                     
   4d6d8:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   4d6dc:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
   4d6e0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4d6e2:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  bd = rtems_bdbuf_avl_search (&bdbuf_cache.tree, dd, block);         
                                                                      
  if (bd == NULL)                                                     
  {                                                                   
    bd = rtems_bdbuf_get_buffer_from_lru_list (dd, block);            
   4d6e4:	2f03           	movel %d3,%sp@-                             
   4d6e6:	2f02           	movel %d2,%sp@-                             
   4d6e8:	4eba fc52      	jsr %pc@(4d33c <rtems_bdbuf_get_buffer_from_lru_list>)
                                                                      
    if (bd != NULL)                                                   
   4d6ec:	508f           	addql #8,%sp                                
   4d6ee:	4a80           	tstl %d0                                    
   4d6f0:	67e6           	beqs 4d6d8 <rtems_bdbuf_get_buffer_for_read_ahead+0x28><== NEVER TAKEN
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4d6f2:	2240           	moveal %d0,%a1                              
     * thus no need for a read ahead.                                 
     */                                                               
    bd = NULL;                                                        
                                                                      
  return bd;                                                          
}                                                                     
   4d6f4:	242e fff8      	movel %fp@(-8),%d2                          
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4d6f8:	2069 0026      	moveal %a1@(38),%a0                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_group_obtain (rtems_bdbuf_buffer *bd)                     
{                                                                     
  ++bd->group->users;                                                 
   4d6fc:	52a8 000c      	addql #1,%a0@(12)                           
     * thus no need for a read ahead.                                 
     */                                                               
    bd = NULL;                                                        
                                                                      
  return bd;                                                          
}                                                                     
   4d700:	262e fffc      	movel %fp@(-4),%d3                          
   4d704:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004d33c <rtems_bdbuf_get_buffer_from_lru_list>: } static rtems_bdbuf_buffer * rtems_bdbuf_get_buffer_from_lru_list (rtems_disk_device *dd, rtems_blkdev_bnum block) {
   4d33c:	4e56 ff58      	linkw %fp,#-168                             
   4d340:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4d344:	286e 0008      	moveal %fp@(8),%a4                          
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4d348:	2479 0006 3790 	moveal 63790 <bdbuf_cache+0x3c>,%a2         
  rtems_chain_node *node = rtems_chain_first (&bdbuf_cache.lru);      
                                                                      
  while (!rtems_chain_is_tail (&bdbuf_cache.lru, node))               
   4d34e:	b5fc 0006 3794 	cmpal #407444,%a2                           
   4d354:	6732           	beqs 4d388 <rtems_bdbuf_get_buffer_from_lru_list+0x4c>
   4d356:	4bfa ffa8      	lea %pc@(4d300 <rtems_bdbuf_remove_from_tree_and_lru_list>),%a5
       b < group->bds_per_group;                                      
       b++, bd += bufs_per_bd)                                        
    rtems_bdbuf_make_free_and_add_to_lru_list (bd);                   
                                                                      
  if (b > 1)                                                          
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4d35a:	2a3c 0004 cdf2 	movel #314866,%d5                           
              bd->group->bds_per_group, dd->bds_per_group);           
                                                                      
    /*                                                                
     * If nobody waits for this BD, we may recycle it.                
     */                                                               
    if (bd->waiters == 0)                                             
   4d360:	4aaa 0022      	tstl %a2@(34)                               
   4d364:	6618           	bnes 4d37e <rtems_bdbuf_get_buffer_from_lru_list+0x42>
    {                                                                 
      if (bd->group->bds_per_group == dd->bds_per_group)              
   4d366:	266a 0026      	moveal %a2@(38),%a3                         
   4d36a:	262c 0034      	movel %a4@(52),%d3                          
   4d36e:	202b 0008      	movel %a3@(8),%d0                           
   4d372:	b680           	cmpl %d0,%d3                                
   4d374:	6700 010e      	beqw 4d484 <rtems_bdbuf_get_buffer_from_lru_list+0x148>
      {                                                               
        rtems_bdbuf_remove_from_tree_and_lru_list (bd);               
                                                                      
        empty_bd = bd;                                                
      }                                                               
      else if (bd->group->users == 0)                                 
   4d378:	4aab 000c      	tstl %a3@(12)                               
   4d37c:	6718           	beqs 4d396 <rtems_bdbuf_get_buffer_from_lru_list+0x5a>
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4d37e:	2452           	moveal %a2@,%a2                             
rtems_bdbuf_get_buffer_from_lru_list (rtems_disk_device *dd,          
                                      rtems_blkdev_bnum  block)       
{                                                                     
  rtems_chain_node *node = rtems_chain_first (&bdbuf_cache.lru);      
                                                                      
  while (!rtems_chain_is_tail (&bdbuf_cache.lru, node))               
   4d380:	b5fc 0006 3794 	cmpal #407444,%a2                           
   4d386:	66d8           	bnes 4d360 <rtems_bdbuf_get_buffer_from_lru_list+0x24>
    }                                                                 
                                                                      
    node = rtems_chain_next (node);                                   
  }                                                                   
                                                                      
  return NULL;                                                        
   4d388:	95ca           	subal %a2,%a2                               
}                                                                     
   4d38a:	200a           	movel %a2,%d0                               
   4d38c:	4cee 3cfc ff58 	moveml %fp@(-168),%d2-%d7/%a2-%a5           
   4d392:	4e5e           	unlk %fp                                    
   4d394:	4e75           	rts                                         
  if (rtems_bdbuf_tracer)                                             
    printf ("bdbuf:realloc: %tu: %zd -> %zd\n",                       
            group - bdbuf_cache.groups, group->bds_per_group,         
            new_bds_per_group);                                       
                                                                      
  bufs_per_bd = bdbuf_cache.max_bds_per_group / group->bds_per_group; 
   4d396:	2e39 0006 3772 	movel 63772 <bdbuf_cache+0x1e>,%d7          
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4d39c:	2c0b           	movel %a3,%d6                               
   4d39e:	5086           	addql #8,%d6                                
            group - bdbuf_cache.groups, group->bds_per_group,         
            new_bds_per_group);                                       
                                                                      
  bufs_per_bd = bdbuf_cache.max_bds_per_group / group->bds_per_group; 
                                                                      
  for (b = 0, bd = group->bdbuf;                                      
   4d3a0:	242b 0010      	movel %a3@(16),%d2                          
  if (rtems_bdbuf_tracer)                                             
    printf ("bdbuf:realloc: %tu: %zd -> %zd\n",                       
            group - bdbuf_cache.groups, group->bds_per_group,         
            new_bds_per_group);                                       
                                                                      
  bufs_per_bd = bdbuf_cache.max_bds_per_group / group->bds_per_group; 
   4d3a4:	4c40 7007      	remul %d0,%d7,%d7                           
                                                                      
  for (b = 0, bd = group->bdbuf;                                      
   4d3a8:	4a80           	tstl %d0                                    
   4d3aa:	671c           	beqs 4d3c8 <rtems_bdbuf_get_buffer_from_lru_list+0x8c><== NEVER TAKEN
   4d3ac:	7036           	moveq #54,%d0                               
   4d3ae:	4c00 7800      	mulsl %d0,%d7                               
   4d3b2:	4284           	clrl %d4                                    
       b < group->bds_per_group;                                      
       b++, bd += bufs_per_bd)                                        
    rtems_bdbuf_remove_from_tree_and_lru_list (bd);                   
   4d3b4:	2f02           	movel %d2,%sp@-                             
                                                                      
  bufs_per_bd = bdbuf_cache.max_bds_per_group / group->bds_per_group; 
                                                                      
  for (b = 0, bd = group->bdbuf;                                      
       b < group->bds_per_group;                                      
       b++, bd += bufs_per_bd)                                        
   4d3b6:	5284           	addql #1,%d4                                
   4d3b8:	d487           	addl %d7,%d2                                
    rtems_bdbuf_remove_from_tree_and_lru_list (bd);                   
   4d3ba:	4e95           	jsr %a5@                                    
            group - bdbuf_cache.groups, group->bds_per_group,         
            new_bds_per_group);                                       
                                                                      
  bufs_per_bd = bdbuf_cache.max_bds_per_group / group->bds_per_group; 
                                                                      
  for (b = 0, bd = group->bdbuf;                                      
   4d3bc:	588f           	addql #4,%sp                                
   4d3be:	2046           	moveal %d6,%a0                              
   4d3c0:	b890           	cmpl %a0@,%d4                               
   4d3c2:	65f0           	bcss 4d3b4 <rtems_bdbuf_get_buffer_from_lru_list+0x78>
   4d3c4:	242b 0010      	movel %a3@(16),%d2                          
       b < group->bds_per_group;                                      
       b++, bd += bufs_per_bd)                                        
    rtems_bdbuf_remove_from_tree_and_lru_list (bd);                   
                                                                      
  group->bds_per_group = new_bds_per_group;                           
   4d3c8:	2743 0008      	movel %d3,%a3@(8)                           
  bufs_per_bd = bdbuf_cache.max_bds_per_group / new_bds_per_group;    
   4d3cc:	2239 0006 3772 	movel 63772 <bdbuf_cache+0x1e>,%d1          
                                                                      
  for (b = 1, bd = group->bdbuf + bufs_per_bd;                        
   4d3d2:	2042           	moveal %d2,%a0                              
       b < group->bds_per_group;                                      
       b++, bd += bufs_per_bd)                                        
    rtems_bdbuf_remove_from_tree_and_lru_list (bd);                   
                                                                      
  group->bds_per_group = new_bds_per_group;                           
  bufs_per_bd = bdbuf_cache.max_bds_per_group / new_bds_per_group;    
   4d3d4:	4c43 1001      	remul %d3,%d1,%d1                           
                                                                      
  for (b = 1, bd = group->bdbuf + bufs_per_bd;                        
   4d3d8:	7036           	moveq #54,%d0                               
   4d3da:	4c00 1800      	mulsl %d0,%d1                               
   4d3de:	103c 0001      	moveb #1,%d0                                
   4d3e2:	d1c1           	addal %d1,%a0                               
   4d3e4:	b083           	cmpl %d3,%d0                                
   4d3e6:	6438           	bccs 4d420 <rtems_bdbuf_get_buffer_from_lru_list+0xe4>
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4d3e8:	43f9 0006 3790 	lea 63790 <bdbuf_cache+0x3c>,%a1            
       b < group->bds_per_group;                                      
       b++, bd += bufs_per_bd)                                        
   4d3ee:	5280           	addql #1,%d0                                
   4d3f0:	2149 0004      	movel %a1,%a0@(4)                           
  before_node           = after_node->next;                           
   4d3f4:	2279 0006 3790 	moveal 63790 <bdbuf_cache+0x3c>,%a1         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d3fa:	42a8 001e      	clrl %a0@(30)                               
  after_node->next      = the_node;                                   
   4d3fe:	23c8 0006 3790 	movel %a0,63790 <bdbuf_cache+0x3c>          
  the_node->next        = before_node;                                
   4d404:	2089           	movel %a1,%a0@                              
  before_node->previous = the_node;                                   
   4d406:	2348 0004      	movel %a0,%a1@(4)                           
  group->bds_per_group = new_bds_per_group;                           
  bufs_per_bd = bdbuf_cache.max_bds_per_group / new_bds_per_group;    
                                                                      
  for (b = 1, bd = group->bdbuf + bufs_per_bd;                        
       b < group->bds_per_group;                                      
       b++, bd += bufs_per_bd)                                        
   4d40a:	d1c1           	addal %d1,%a0                               
    rtems_bdbuf_remove_from_tree_and_lru_list (bd);                   
                                                                      
  group->bds_per_group = new_bds_per_group;                           
  bufs_per_bd = bdbuf_cache.max_bds_per_group / new_bds_per_group;    
                                                                      
  for (b = 1, bd = group->bdbuf + bufs_per_bd;                        
   4d40c:	b680           	cmpl %d0,%d3                                
   4d40e:	66d8           	bnes 4d3e8 <rtems_bdbuf_get_buffer_from_lru_list+0xac>
       b < group->bds_per_group;                                      
       b++, bd += bufs_per_bd)                                        
    rtems_bdbuf_make_free_and_add_to_lru_list (bd);                   
                                                                      
  if (b > 1)                                                          
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4d410:	4879 0006 37c4 	pea 637c4 <bdbuf_cache+0x70>                
   4d416:	2045           	moveal %d5,%a0                              
   4d418:	4e90           	jsr %a0@                                    
   4d41a:	242b 0010      	movel %a3@(16),%d2                          
   4d41e:	588f           	addql #4,%sp                                
      }                                                               
      else if (bd->group->users == 0)                                 
        empty_bd = rtems_bdbuf_group_realloc (bd->group, dd->bds_per_group);
    }                                                                 
                                                                      
    if (empty_bd != NULL)                                             
   4d420:	4a82           	tstl %d2                                    
   4d422:	6700 ff5a      	beqw 4d37e <rtems_bdbuf_get_buffer_from_lru_list+0x42>
    rtems_bdbuf_make_free_and_add_to_lru_list (bd);                   
                                                                      
  if (b > 1)                                                          
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
                                                                      
  return group->bdbuf;                                                
   4d426:	2442           	moveal %d2,%a2                              
static void                                                           
rtems_bdbuf_setup_empty_buffer (rtems_bdbuf_buffer *bd,               
                                rtems_disk_device  *dd,               
                                rtems_blkdev_bnum   block)            
{                                                                     
  bd->dd        = dd ;                                                
   4d428:	254c 0012      	movel %a4,%a2@(18)                          
  bd->block     = block;                                              
   4d42c:	226e 000c      	moveal %fp@(12),%a1                         
  bd->avl.left  = NULL;                                               
   4d430:	42aa 0008      	clrl %a2@(8)                                
  bd->avl.right = NULL;                                               
   4d434:	42aa 000c      	clrl %a2@(12)                               
                       rtems_bdbuf_buffer*  node)                     
{                                                                     
  const rtems_disk_device *dd = node->dd;                             
  rtems_blkdev_bnum block = node->block;                              
                                                                      
  rtems_bdbuf_buffer*  p = *root;                                     
   4d438:	2079 0006 378c 	moveal 6378c <bdbuf_cache+0x38>,%a0         
rtems_bdbuf_setup_empty_buffer (rtems_bdbuf_buffer *bd,               
                                rtems_disk_device  *dd,               
                                rtems_blkdev_bnum   block)            
{                                                                     
  bd->dd        = dd ;                                                
  bd->block     = block;                                              
   4d43e:	2549 0016      	movel %a1,%a2@(22)                          
  bd->avl.left  = NULL;                                               
  bd->avl.right = NULL;                                               
  bd->waiters   = 0;                                                  
   4d442:	42aa 0022      	clrl %a2@(34)                               
  rtems_bdbuf_buffer*  buf_stack[RTEMS_BDBUF_AVL_MAX_HEIGHT];         
  rtems_bdbuf_buffer** buf_prev = buf_stack;                          
                                                                      
  bool modified = false;                                              
                                                                      
  if (p == NULL)                                                      
   4d446:	4a88           	tstl %a0                                    
   4d448:	6700 0248      	beqw 4d692 <rtems_bdbuf_get_buffer_from_lru_list+0x356>
  rtems_bdbuf_buffer*  p = *root;                                     
  rtems_bdbuf_buffer*  q;                                             
  rtems_bdbuf_buffer*  p1;                                            
  rtems_bdbuf_buffer*  p2;                                            
  rtems_bdbuf_buffer*  buf_stack[RTEMS_BDBUF_AVL_MAX_HEIGHT];         
  rtems_bdbuf_buffer** buf_prev = buf_stack;                          
   4d44c:	240e           	movel %fp,%d2                               
   4d44e:	0682 ffff ff80 	addil #-128,%d2                             
   4d454:	2202           	movel %d2,%d1                               
    return 0;                                                         
  }                                                                   
                                                                      
  while (p != NULL)                                                   
  {                                                                   
    *buf_prev++ = p;                                                  
   4d456:	2241           	moveal %d1,%a1                              
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
   4d458:	2028 0012      	movel %a0@(18),%d0                          
    return 0;                                                         
  }                                                                   
                                                                      
  while (p != NULL)                                                   
  {                                                                   
    *buf_prev++ = p;                                                  
   4d45c:	22c8           	movel %a0,%a1@+                             
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
   4d45e:	b9c0           	cmpal %d0,%a4                               
   4d460:	632c           	blss 4d48e <rtems_bdbuf_get_buffer_from_lru_list+0x152><== ALWAYS TAKEN
        || ((p->dd == dd) && (p->block < block)))                     
    {                                                                 
      p->avl.cache = 1;                                               
      q = p->avl.right;                                               
   4d462:	2028 000c      	movel %a0@(12),%d0                          
    *buf_prev++ = p;                                                  
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
        || ((p->dd == dd) && (p->block < block)))                     
    {                                                                 
      p->avl.cache = 1;                                               
   4d466:	7601           	moveq #1,%d3                                
   4d468:	1143 0010      	moveb %d3,%a0@(16)                          
      q = p->avl.right;                                               
      if (q == NULL)                                                  
   4d46c:	4a80           	tstl %d0                                    
   4d46e:	6700 00a6      	beqw 4d516 <rtems_bdbuf_get_buffer_from_lru_list+0x1da>
  rtems_bdbuf_buffer*  buf_stack[RTEMS_BDBUF_AVL_MAX_HEIGHT];         
  rtems_bdbuf_buffer** buf_prev = buf_stack;                          
                                                                      
  bool modified = false;                                              
                                                                      
  if (p == NULL)                                                      
   4d472:	2040           	moveal %d0,%a0                              
   4d474:	2209           	movel %a1,%d1                               
    return 0;                                                         
  }                                                                   
                                                                      
  while (p != NULL)                                                   
  {                                                                   
    *buf_prev++ = p;                                                  
   4d476:	2241           	moveal %d1,%a1                              
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
   4d478:	2028 0012      	movel %a0@(18),%d0                          
    return 0;                                                         
  }                                                                   
                                                                      
  while (p != NULL)                                                   
  {                                                                   
    *buf_prev++ = p;                                                  
   4d47c:	22c8           	movel %a0,%a1@+                             
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
   4d47e:	b9c0           	cmpal %d0,%a4                               
   4d480:	62e0           	bhis 4d462 <rtems_bdbuf_get_buffer_from_lru_list+0x126><== NEVER TAKEN
   4d482:	600a           	bras 4d48e <rtems_bdbuf_get_buffer_from_lru_list+0x152>
     */                                                               
    if (bd->waiters == 0)                                             
    {                                                                 
      if (bd->group->bds_per_group == dd->bds_per_group)              
      {                                                               
        rtems_bdbuf_remove_from_tree_and_lru_list (bd);               
   4d484:	2f0a           	movel %a2,%sp@-                             
   4d486:	4eba fe78      	jsr %pc@(4d300 <rtems_bdbuf_remove_from_tree_and_lru_list>)
   4d48a:	588f           	addql #4,%sp                                
   4d48c:	609a           	bras 4d428 <rtems_bdbuf_get_buffer_from_lru_list+0xec>
  while (p != NULL)                                                   
  {                                                                   
    *buf_prev++ = p;                                                  
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
        || ((p->dd == dd) && (p->block < block)))                     
   4d48e:	b08c           	cmpl %a4,%d0                                
   4d490:	676e           	beqs 4d500 <rtems_bdbuf_get_buffer_from_lru_list+0x1c4><== ALWAYS TAKEN
      }                                                               
    }                                                                 
    else if ((p->dd != dd) || (p->block != block))                    
    {                                                                 
      p->avl.cache = -1;                                              
      q = p->avl.left;                                                
   4d492:	2028 0008      	movel %a0@(8),%d0                           
        break;                                                        
      }                                                               
    }                                                                 
    else if ((p->dd != dd) || (p->block != block))                    
    {                                                                 
      p->avl.cache = -1;                                              
   4d496:	50c3           	st %d3                                      
   4d498:	1143 0010      	moveb %d3,%a0@(16)                          
      q = p->avl.left;                                                
      if (q == NULL)                                                  
   4d49c:	4a80           	tstl %d0                                    
   4d49e:	66d2           	bnes 4d472 <rtems_bdbuf_get_buffer_from_lru_list+0x136>
   4d4a0:	2241           	moveal %d1,%a1                              
                                                                      
    p = q;                                                            
  }                                                                   
                                                                      
  q->avl.left = q->avl.right = NULL;                                  
  q->avl.bal = 0;                                                     
   4d4a2:	4201           	clrb %d1                                    
      p->avl.cache = -1;                                              
      q = p->avl.left;                                                
      if (q == NULL)                                                  
      {                                                               
        q = node;                                                     
        p->avl.left = q;                                              
   4d4a4:	214a 0008      	movel %a2,%a0@(8)                           
   4d4a8:	50c0           	st %d0                                      
                                                                      
    p = q;                                                            
  }                                                                   
                                                                      
  q->avl.left = q->avl.right = NULL;                                  
  q->avl.bal = 0;                                                     
   4d4aa:	1541 0011      	moveb %d1,%a2@(17)                          
    }                                                                 
                                                                      
    p = q;                                                            
  }                                                                   
                                                                      
  q->avl.left = q->avl.right = NULL;                                  
   4d4ae:	42aa 000c      	clrl %a2@(12)                               
   4d4b2:	49c0           	extbl %d0                                   
   4d4b4:	42aa 0008      	clrl %a2@(8)                                
  modified = true;                                                    
  buf_prev--;                                                         
                                                                      
  while (modified)                                                    
  {                                                                   
    if (p->avl.cache == -1)                                           
   4d4b8:	76ff           	moveq #-1,%d3                               
   4d4ba:	b680           	cmpl %d0,%d3                                
   4d4bc:	6700 0096      	beqw 4d554 <rtems_bdbuf_get_buffer_from_lru_list+0x218>
          break;                                                      
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      switch (p->avl.bal)                                             
   4d4c0:	1028 0011      	moveb %a0@(17),%d0                          
   4d4c4:	666a           	bnes 4d530 <rtems_bdbuf_get_buffer_from_lru_list+0x1f4>
          p->avl.bal = 0;                                             
          modified = false;                                           
          break;                                                      
                                                                      
        case 0:                                                       
          p->avl.bal = 1;                                             
   4d4c6:	2648           	moveal %a0,%a3                              
   4d4c8:	7201           	moveq #1,%d1                                
   4d4ca:	1141 0011      	moveb %d1,%a0@(17)                          
        default:                                                      
          break;                                                      
      }                                                               
    }                                                                 
    q = p;                                                            
    if (buf_prev > buf_stack)                                         
   4d4ce:	b489           	cmpl %a1,%d2                                
   4d4d0:	6474           	bccs 4d546 <rtems_bdbuf_get_buffer_from_lru_list+0x20a>
    {                                                                 
      p = *--buf_prev;                                                
   4d4d2:	2069 fffc      	moveal %a1@(-4),%a0                         
                                                                      
      if (p->avl.cache == -1)                                         
   4d4d6:	76ff           	moveq #-1,%d3                               
   4d4d8:	1028 0010      	moveb %a0@(16),%d0                          
   4d4dc:	49c0           	extbl %d0                                   
   4d4de:	b680           	cmpl %d0,%d3                                
   4d4e0:	6700 0088      	beqw 4d56a <rtems_bdbuf_get_buffer_from_lru_list+0x22e>
      {                                                               
        p->avl.left = q;                                              
      }                                                               
      else                                                            
      {                                                               
        p->avl.right = q;                                             
   4d4e4:	214b 000c      	movel %a3,%a0@(12)                          
   4d4e8:	5989           	subql #4,%a1                                
  q->avl.left = q->avl.right = NULL;                                  
  q->avl.bal = 0;                                                     
  modified = true;                                                    
  buf_prev--;                                                         
                                                                      
  while (modified)                                                    
   4d4ea:	4a01           	tstb %d1                                    
   4d4ec:	66ca           	bnes 4d4b8 <rtems_bdbuf_get_buffer_from_lru_list+0x17c>
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d4ee:	7001           	moveq #1,%d0                                
   4d4f0:	2540 001e      	movel %d0,%a2@(30)                          
                                                                      
    node = rtems_chain_next (node);                                   
  }                                                                   
                                                                      
  return NULL;                                                        
}                                                                     
   4d4f4:	200a           	movel %a2,%d0                               
   4d4f6:	4cee 3cfc ff58 	moveml %fp@(-168),%d2-%d7/%a2-%a5           
   4d4fc:	4e5e           	unlk %fp                                    
   4d4fe:	4e75           	rts                                         
  while (p != NULL)                                                   
  {                                                                   
    *buf_prev++ = p;                                                  
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
        || ((p->dd == dd) && (p->block < block)))                     
   4d500:	2028 0016      	movel %a0@(22),%d0                          
   4d504:	b0ae 000c      	cmpl %fp@(12),%d0                           
   4d508:	6500 ff58      	bcsw 4d462 <rtems_bdbuf_get_buffer_from_lru_list+0x126>
        q = node;                                                     
        p->avl.right = q = node;                                      
        break;                                                        
      }                                                               
    }                                                                 
    else if ((p->dd != dd) || (p->block != block))                    
   4d50c:	6684           	bnes 4d492 <rtems_bdbuf_get_buffer_from_lru_list+0x156><== ALWAYS TAKEN
  bd->avl.left  = NULL;                                               
  bd->avl.right = NULL;                                               
  bd->waiters   = 0;                                                  
                                                                      
  if (rtems_bdbuf_avl_insert (&bdbuf_cache.tree, bd) != 0)            
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_RECYCLE);                    
   4d50e:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   4d512:	4eba f664      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
      p->avl.cache = 1;                                               
      q = p->avl.right;                                               
      if (q == NULL)                                                  
      {                                                               
        q = node;                                                     
        p->avl.right = q = node;                                      
   4d516:	214a 000c      	movel %a2,%a0@(12)                          
   4d51a:	2241           	moveal %d1,%a1                              
   4d51c:	7001           	moveq #1,%d0                                
    }                                                                 
                                                                      
    p = q;                                                            
  }                                                                   
                                                                      
  q->avl.left = q->avl.right = NULL;                                  
   4d51e:	42aa 000c      	clrl %a2@(12)                               
   4d522:	49c0           	extbl %d0                                   
  q->avl.bal = 0;                                                     
   4d524:	4201           	clrb %d1                                    
    }                                                                 
                                                                      
    p = q;                                                            
  }                                                                   
                                                                      
  q->avl.left = q->avl.right = NULL;                                  
   4d526:	42aa 0008      	clrl %a2@(8)                                
  q->avl.bal = 0;                                                     
   4d52a:	1541 0011      	moveb %d1,%a2@(17)                          
   4d52e:	6088           	bras 4d4b8 <rtems_bdbuf_get_buffer_from_lru_list+0x17c>
          break;                                                      
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      switch (p->avl.bal)                                             
   4d530:	49c0           	extbl %d0                                   
   4d532:	7201           	moveq #1,%d1                                
   4d534:	b280           	cmpl %d0,%d1                                
   4d536:	674e           	beqs 4d586 <rtems_bdbuf_get_buffer_from_lru_list+0x24a>
   4d538:	76ff           	moveq #-1,%d3                               
      {                                                               
        case -1:                                                      
          p->avl.bal = 0;                                             
   4d53a:	2648           	moveal %a0,%a3                              
          break;                                                      
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      switch (p->avl.bal)                                             
   4d53c:	b680           	cmpl %d0,%d3                                
   4d53e:	673a           	beqs 4d57a <rtems_bdbuf_get_buffer_from_lru_list+0x23e><== ALWAYS TAKEN
   4d540:	7201           	moveq #1,%d1                                <== NOT EXECUTED
        default:                                                      
          break;                                                      
      }                                                               
    }                                                                 
    q = p;                                                            
    if (buf_prev > buf_stack)                                         
   4d542:	b489           	cmpl %a1,%d2                                <== NOT EXECUTED
   4d544:	658c           	bcss 4d4d2 <rtems_bdbuf_get_buffer_from_lru_list+0x196><== NOT EXECUTED
        p->avl.right = q;                                             
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      *root = p;                                                      
   4d546:	23cb 0006 378c 	movel %a3,6378c <bdbuf_cache+0x38>          
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d54c:	7001           	moveq #1,%d0                                
   4d54e:	2540 001e      	movel %d0,%a2@(30)                          
   4d552:	60a0           	bras 4d4f4 <rtems_bdbuf_get_buffer_from_lru_list+0x1b8>
                                                                      
  while (modified)                                                    
  {                                                                   
    if (p->avl.cache == -1)                                           
    {                                                                 
      switch (p->avl.bal)                                             
   4d554:	1028 0011      	moveb %a0@(17),%d0                          
   4d558:	6600 0084      	bnew 4d5de <rtems_bdbuf_get_buffer_from_lru_list+0x2a2>
          p->avl.bal = 0;                                             
          modified = false;                                           
          break;                                                      
                                                                      
        case 0:                                                       
          p->avl.bal = -1;                                            
   4d55c:	2648           	moveal %a0,%a3                              
   4d55e:	50c0           	st %d0                                      
   4d560:	7201           	moveq #1,%d1                                
   4d562:	1140 0011      	moveb %d0,%a0@(17)                          
   4d566:	6000 ff66      	braw 4d4ce <rtems_bdbuf_get_buffer_from_lru_list+0x192>
    {                                                                 
      p = *--buf_prev;                                                
                                                                      
      if (p->avl.cache == -1)                                         
      {                                                               
        p->avl.left = q;                                              
   4d56a:	214b 0008      	movel %a3,%a0@(8)                           
   4d56e:	5989           	subql #4,%a1                                
  q->avl.left = q->avl.right = NULL;                                  
  q->avl.bal = 0;                                                     
  modified = true;                                                    
  buf_prev--;                                                         
                                                                      
  while (modified)                                                    
   4d570:	4a01           	tstb %d1                                    
   4d572:	6600 ff44      	bnew 4d4b8 <rtems_bdbuf_get_buffer_from_lru_list+0x17c>
   4d576:	6000 ff76      	braw 4d4ee <rtems_bdbuf_get_buffer_from_lru_list+0x1b2>
    else                                                              
    {                                                                 
      switch (p->avl.bal)                                             
      {                                                               
        case -1:                                                      
          p->avl.bal = 0;                                             
   4d57a:	4200           	clrb %d0                                    
          modified = false;                                           
   4d57c:	4201           	clrb %d1                                    
    else                                                              
    {                                                                 
      switch (p->avl.bal)                                             
      {                                                               
        case -1:                                                      
          p->avl.bal = 0;                                             
   4d57e:	1140 0011      	moveb %d0,%a0@(17)                          
   4d582:	6000 ff4a      	braw 4d4ce <rtems_bdbuf_get_buffer_from_lru_list+0x192>
        case 0:                                                       
          p->avl.bal = 1;                                             
          break;                                                      
                                                                      
        case 1:                                                       
          p1 = p->avl.right;                                          
   4d586:	2868 000c      	moveal %a0@(12),%a4                         
          if (p1->avl.bal == 1) /* simple RR-turn */                  
   4d58a:	7601           	moveq #1,%d3                                
   4d58c:	102c 0011      	moveb %a4@(17),%d0                          
   4d590:	49c0           	extbl %d0                                   
   4d592:	b680           	cmpl %d0,%d3                                
   4d594:	6700 00c0      	beqw 4d656 <rtems_bdbuf_get_buffer_from_lru_list+0x31a>
            p->avl.bal = 0;                                           
            p = p1;                                                   
          }                                                           
          else /* double RL-turn */                                   
          {                                                           
            p2 = p1->avl.left;                                        
   4d598:	266c 0008      	moveal %a4@(8),%a3                          <== NOT EXECUTED
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
   4d59c:	7201           	moveq #1,%d1                                <== NOT EXECUTED
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
   4d59e:	76ff           	moveq #-1,%d3                               <== NOT EXECUTED
            p2 = p1->avl.left;                                        
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
   4d5a0:	102b 0011      	moveb %a3@(17),%d0                          <== NOT EXECUTED
            p = p1;                                                   
          }                                                           
          else /* double RL-turn */                                   
          {                                                           
            p2 = p1->avl.left;                                        
            p1->avl.left = p2->avl.right;                             
   4d5a4:	296b 000c 0008 	movel %a3@(12),%a4@(8)                      <== NOT EXECUTED
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
   4d5aa:	49c0           	extbl %d0                                   <== NOT EXECUTED
   4d5ac:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   4d5ae:	57c0           	seq %d0                                     <== NOT EXECUTED
          }                                                           
          else /* double RL-turn */                                   
          {                                                           
            p2 = p1->avl.left;                                        
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
   4d5b0:	274c 000c      	movel %a4,%a3@(12)                          <== NOT EXECUTED
            p->avl.right = p2->avl.left;                              
   4d5b4:	216b 0008 000c 	movel %a3@(8),%a0@(12)                      <== NOT EXECUTED
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
   4d5ba:	1140 0011      	moveb %d0,%a0@(17)                          <== NOT EXECUTED
          {                                                           
            p2 = p1->avl.left;                                        
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
   4d5be:	2748 0008      	movel %a0,%a3@(8)                           <== NOT EXECUTED
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
   4d5c2:	102b 0011      	moveb %a3@(17),%d0                          <== NOT EXECUTED
            p = p2;                                                   
          }                                                           
          p->avl.bal = 0;                                             
          modified = false;                                           
   4d5c6:	4201           	clrb %d1                                    <== NOT EXECUTED
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
   4d5c8:	49c0           	extbl %d0                                   <== NOT EXECUTED
   4d5ca:	b680           	cmpl %d0,%d3                                <== NOT EXECUTED
   4d5cc:	56c0           	sne %d0                                     <== NOT EXECUTED
   4d5ce:	5280           	addql #1,%d0                                <== NOT EXECUTED
   4d5d0:	1940 0011      	moveb %d0,%a4@(17)                          <== NOT EXECUTED
            p = p2;                                                   
          }                                                           
          p->avl.bal = 0;                                             
   4d5d4:	4200           	clrb %d0                                    <== NOT EXECUTED
   4d5d6:	1740 0011      	moveb %d0,%a3@(17)                          <== NOT EXECUTED
   4d5da:	6000 fef2      	braw 4d4ce <rtems_bdbuf_get_buffer_from_lru_list+0x192><== NOT EXECUTED
                                                                      
  while (modified)                                                    
  {                                                                   
    if (p->avl.cache == -1)                                           
    {                                                                 
      switch (p->avl.bal)                                             
   4d5de:	49c0           	extbl %d0                                   
   4d5e0:	7201           	moveq #1,%d1                                
   4d5e2:	b280           	cmpl %d0,%d1                                
   4d5e4:	670c           	beqs 4d5f2 <rtems_bdbuf_get_buffer_from_lru_list+0x2b6>
   4d5e6:	b680           	cmpl %d0,%d3                                
   4d5e8:	6716           	beqs 4d600 <rtems_bdbuf_get_buffer_from_lru_list+0x2c4><== ALWAYS TAKEN
   4d5ea:	2648           	moveal %a0,%a3                              <== NOT EXECUTED
   4d5ec:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   4d5ee:	6000 fede      	braw 4d4ce <rtems_bdbuf_get_buffer_from_lru_list+0x192><== NOT EXECUTED
      {                                                               
        case 1:                                                       
          p->avl.bal = 0;                                             
   4d5f2:	2648           	moveal %a0,%a3                              
   4d5f4:	4203           	clrb %d3                                    
          modified = false;                                           
   4d5f6:	4201           	clrb %d1                                    
    if (p->avl.cache == -1)                                           
    {                                                                 
      switch (p->avl.bal)                                             
      {                                                               
        case 1:                                                       
          p->avl.bal = 0;                                             
   4d5f8:	1143 0011      	moveb %d3,%a0@(17)                          
   4d5fc:	6000 fed0      	braw 4d4ce <rtems_bdbuf_get_buffer_from_lru_list+0x192>
        case 0:                                                       
          p->avl.bal = -1;                                            
          break;                                                      
                                                                      
        case -1:                                                      
          p1 = p->avl.left;                                           
   4d600:	2868 0008      	moveal %a0@(8),%a4                          
          if (p1->avl.bal == -1) /* simple LL-turn */                 
   4d604:	72ff           	moveq #-1,%d1                               
   4d606:	102c 0011      	moveb %a4@(17),%d0                          
   4d60a:	49c0           	extbl %d0                                   
   4d60c:	b280           	cmpl %d0,%d1                                
   4d60e:	6764           	beqs 4d674 <rtems_bdbuf_get_buffer_from_lru_list+0x338>
            p->avl.bal = 0;                                           
            p = p1;                                                   
          }                                                           
          else /* double LR-turn */                                   
          {                                                           
            p2 = p1->avl.right;                                       
   4d610:	266c 000c      	moveal %a4@(12),%a3                         
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
            if (p2->avl.bal == -1) p->avl.bal = +1; else p->avl.bal = 0;
   4d614:	72ff           	moveq #-1,%d1                               
            if (p2->avl.bal == +1) p1->avl.bal = -1; else p1->avl.bal = 0;
   4d616:	7601           	moveq #1,%d3                                
            p2 = p1->avl.right;                                       
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
            if (p2->avl.bal == -1) p->avl.bal = +1; else p->avl.bal = 0;
   4d618:	102b 0011      	moveb %a3@(17),%d0                          
            p = p1;                                                   
          }                                                           
          else /* double LR-turn */                                   
          {                                                           
            p2 = p1->avl.right;                                       
            p1->avl.right = p2->avl.left;                             
   4d61c:	296b 0008 000c 	movel %a3@(8),%a4@(12)                      
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
            if (p2->avl.bal == -1) p->avl.bal = +1; else p->avl.bal = 0;
   4d622:	49c0           	extbl %d0                                   
   4d624:	b280           	cmpl %d0,%d1                                
   4d626:	56c0           	sne %d0                                     
          }                                                           
          else /* double LR-turn */                                   
          {                                                           
            p2 = p1->avl.right;                                       
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
   4d628:	274c 0008      	movel %a4,%a3@(8)                           
            p->avl.left = p2->avl.right;                              
   4d62c:	216b 000c 0008 	movel %a3@(12),%a0@(8)                      
            p2->avl.right = p;                                        
            if (p2->avl.bal == -1) p->avl.bal = +1; else p->avl.bal = 0;
   4d632:	5280           	addql #1,%d0                                
   4d634:	1140 0011      	moveb %d0,%a0@(17)                          
          {                                                           
            p2 = p1->avl.right;                                       
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
   4d638:	2748 000c      	movel %a0,%a3@(12)                          
            if (p2->avl.bal == -1) p->avl.bal = +1; else p->avl.bal = 0;
            if (p2->avl.bal == +1) p1->avl.bal = -1; else p1->avl.bal = 0;
   4d63c:	102b 0011      	moveb %a3@(17),%d0                          
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
            p = p2;                                                   
          }                                                           
          p->avl.bal = 0;                                             
          modified = false;                                           
   4d640:	4201           	clrb %d1                                    
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
            if (p2->avl.bal == -1) p->avl.bal = +1; else p->avl.bal = 0;
            if (p2->avl.bal == +1) p1->avl.bal = -1; else p1->avl.bal = 0;
   4d642:	49c0           	extbl %d0                                   
   4d644:	b680           	cmpl %d0,%d3                                
   4d646:	57c0           	seq %d0                                     
   4d648:	1940 0011      	moveb %d0,%a4@(17)                          
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
            p = p2;                                                   
          }                                                           
          p->avl.bal = 0;                                             
   4d64c:	4200           	clrb %d0                                    
   4d64e:	1740 0011      	moveb %d0,%a3@(17)                          
   4d652:	6000 fe7a      	braw 4d4ce <rtems_bdbuf_get_buffer_from_lru_list+0x192>
          p1 = p->avl.right;                                          
          if (p1->avl.bal == 1) /* simple RR-turn */                  
          {                                                           
            p->avl.right = p1->avl.left;                              
            p1->avl.left = p;                                         
            p->avl.bal = 0;                                           
   4d656:	264c           	moveal %a4,%a3                              
                                                                      
        case 1:                                                       
          p1 = p->avl.right;                                          
          if (p1->avl.bal == 1) /* simple RR-turn */                  
          {                                                           
            p->avl.right = p1->avl.left;                              
   4d658:	216c 0008 000c 	movel %a4@(8),%a0@(12)                      
            p1->avl.left = p;                                         
            p->avl.bal = 0;                                           
   4d65e:	4200           	clrb %d0                                    
        case 1:                                                       
          p1 = p->avl.right;                                          
          if (p1->avl.bal == 1) /* simple RR-turn */                  
          {                                                           
            p->avl.right = p1->avl.left;                              
            p1->avl.left = p;                                         
   4d660:	2948 0008      	movel %a0,%a4@(8)                           
            p->avl.bal = 0;                                           
   4d664:	1140 0011      	moveb %d0,%a0@(17)                          
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
            p = p2;                                                   
          }                                                           
          p->avl.bal = 0;                                             
   4d668:	4200           	clrb %d0                                    
          modified = false;                                           
   4d66a:	4201           	clrb %d1                                    
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
            p = p2;                                                   
          }                                                           
          p->avl.bal = 0;                                             
   4d66c:	1740 0011      	moveb %d0,%a3@(17)                          
   4d670:	6000 fe5c      	braw 4d4ce <rtems_bdbuf_get_buffer_from_lru_list+0x192>
          p1 = p->avl.left;                                           
          if (p1->avl.bal == -1) /* simple LL-turn */                 
          {                                                           
            p->avl.left = p1->avl.right;                              
            p1->avl.right = p;                                        
            p->avl.bal = 0;                                           
   4d674:	264c           	moveal %a4,%a3                              
                                                                      
        case -1:                                                      
          p1 = p->avl.left;                                           
          if (p1->avl.bal == -1) /* simple LL-turn */                 
          {                                                           
            p->avl.left = p1->avl.right;                              
   4d676:	216c 000c 0008 	movel %a4@(12),%a0@(8)                      
            p1->avl.right = p;                                        
            p->avl.bal = 0;                                           
   4d67c:	4203           	clrb %d3                                    
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
            p = p2;                                                   
          }                                                           
          p->avl.bal = 0;                                             
   4d67e:	4200           	clrb %d0                                    
        case -1:                                                      
          p1 = p->avl.left;                                           
          if (p1->avl.bal == -1) /* simple LL-turn */                 
          {                                                           
            p->avl.left = p1->avl.right;                              
            p1->avl.right = p;                                        
   4d680:	2948 000c      	movel %a0,%a4@(12)                          
            p->avl.bal = 0;                                           
   4d684:	1143 0011      	moveb %d3,%a0@(17)                          
            p2->avl.left = p;                                         
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = +1; else p1->avl.bal = 0;
            p = p2;                                                   
          }                                                           
          p->avl.bal = 0;                                             
   4d688:	1740 0011      	moveb %d0,%a3@(17)                          
          modified = false;                                           
   4d68c:	4201           	clrb %d1                                    
   4d68e:	6000 fe3e      	braw 4d4ce <rtems_bdbuf_get_buffer_from_lru_list+0x192>
                                                                      
  bool modified = false;                                              
                                                                      
  if (p == NULL)                                                      
  {                                                                   
    *root = node;                                                     
   4d692:	23ca 0006 378c 	movel %a2,6378c <bdbuf_cache+0x38>          
    node->avl.left = NULL;                                            
    node->avl.right = NULL;                                           
    node->avl.bal = 0;                                                
   4d698:	4200           	clrb %d0                                    
  bool modified = false;                                              
                                                                      
  if (p == NULL)                                                      
  {                                                                   
    *root = node;                                                     
    node->avl.left = NULL;                                            
   4d69a:	42aa 0008      	clrl %a2@(8)                                
    node->avl.right = NULL;                                           
    node->avl.bal = 0;                                                
   4d69e:	1540 0011      	moveb %d0,%a2@(17)                          
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d6a2:	7001           	moveq #1,%d0                                
                                                                      
  if (p == NULL)                                                      
  {                                                                   
    *root = node;                                                     
    node->avl.left = NULL;                                            
    node->avl.right = NULL;                                           
   4d6a4:	42aa 000c      	clrl %a2@(12)                               
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4d6a8:	2540 001e      	movel %d0,%a2@(30)                          
   4d6ac:	6000 fe46      	braw 4d4f4 <rtems_bdbuf_get_buffer_from_lru_list+0x1b8>
                                                                      

0004e1b6 <rtems_bdbuf_init>: * * @return rtems_status_code The initialisation status. */ rtems_status_code rtems_bdbuf_init (void) {
   4e1b6:	4e56 ffe0      	linkw %fp,#-32                              
   4e1ba:	48d7 0cfc      	moveml %d2-%d7/%a2-%a3,%sp@                 
  rtems_mode          prev_mode;                                      
                                                                      
  if (rtems_bdbuf_tracer)                                             
    printf ("bdbuf:init\n");                                          
                                                                      
  if (rtems_interrupt_is_in_progress())                               
   4e1be:	4ab9 0006 415c 	tstl 6415c <_Per_CPU_Information+0x8>       
   4e1c4:	670c           	beqs 4e1d2 <rtems_bdbuf_init+0x1c>          <== ALWAYS TAKEN
    return RTEMS_CALLED_FROM_ISR;                                     
   4e1c6:	7012           	moveq #18,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  bdbuf_cache.initialised = false;                                    
                                                                      
  return RTEMS_UNSATISFIED;                                           
}                                                                     
   4e1c8:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            <== NOT EXECUTED
   4e1ce:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e1d0:	4e75           	rts                                         <== NOT EXECUTED
    return RTEMS_CALLED_FROM_ISR;                                     
                                                                      
  /*                                                                  
   * Check the configuration table values.                            
   */                                                                 
  if ((bdbuf_config.buffer_max % bdbuf_config.buffer_min) != 0)       
   4e1d2:	2439 0006 0c3a 	movel 60c3a <rtems_bdbuf_configuration+0x28>,%d2
   4e1d8:	2239 0006 0c36 	movel 60c36 <rtems_bdbuf_configuration+0x24>,%d1
   4e1de:	4c41 2000      	remul %d1,%d0,%d2                           
   4e1e2:	4c41 2002      	remul %d1,%d2,%d2                           
   4e1e6:	4a80           	tstl %d0                                    
   4e1e8:	670c           	beqs 4e1f6 <rtems_bdbuf_init+0x40>          <== ALWAYS TAKEN
    return RTEMS_INVALID_NUMBER;                                      
   4e1ea:	700a           	moveq #10,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  bdbuf_cache.initialised = false;                                    
                                                                      
  return RTEMS_UNSATISFIED;                                           
}                                                                     
   4e1ec:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            <== NOT EXECUTED
   4e1f2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e1f4:	4e75           	rts                                         <== NOT EXECUTED
  /*                                                                  
   * We use a special variable to manage the initialisation incase we have
   * completing threads doing this. You may get errors if the another thread
   * makes a call and we have not finished initialisation.            
   */                                                                 
  prev_mode = rtems_bdbuf_disable_preemption ();                      
   4e1f6:	4eba ea42      	jsr %pc@(4cc3a <rtems_bdbuf_disable_preemption>)
   4e1fa:	2600           	movel %d0,%d3                               
  if (bdbuf_cache.initialised)                                        
   4e1fc:	4a39 0006 37e5 	tstb 637e5 <bdbuf_cache+0x91>               
   4e202:	6714           	beqs 4e218 <rtems_bdbuf_init+0x62>          <== ALWAYS TAKEN
  {                                                                   
    rtems_bdbuf_restore_preemption (prev_mode);                       
   4e204:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e206:	4eba ea62      	jsr %pc@(4cc6a <rtems_bdbuf_restore_preemption>)<== NOT EXECUTED
    return RTEMS_RESOURCE_IN_USE;                                     
   4e20a:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4e20c:	700c           	moveq #12,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  bdbuf_cache.initialised = false;                                    
                                                                      
  return RTEMS_UNSATISFIED;                                           
}                                                                     
   4e20e:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            <== NOT EXECUTED
   4e214:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e216:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
    rtems_bdbuf_restore_preemption (prev_mode);                       
    return RTEMS_RESOURCE_IN_USE;                                     
  }                                                                   
                                                                      
  memset(&bdbuf_cache, 0, sizeof(bdbuf_cache));                       
   4e218:	4878 0092      	pea 92 <DBL_MANT_DIG+0x5d>                  
  rtems_chain_initialize_empty (&bdbuf_cache.read_ahead_chain);       
                                                                      
  /*                                                                  
   * Create the locks for the cache.                                  
   */                                                                 
  sc = rtems_semaphore_create (rtems_build_name ('B', 'D', 'C', 'l'), 
   4e21c:	45f9 0004 8984 	lea 48984 <rtems_semaphore_create>,%a2      
  {                                                                   
    rtems_bdbuf_restore_preemption (prev_mode);                       
    return RTEMS_RESOURCE_IN_USE;                                     
  }                                                                   
                                                                      
  memset(&bdbuf_cache, 0, sizeof(bdbuf_cache));                       
   4e222:	42a7           	clrl %sp@-                                  
   4e224:	4879 0006 3754 	pea 63754 <bdbuf_cache>                     
   4e22a:	4eb9 0005 3244 	jsr 53244 <memset>                          
  bdbuf_cache.initialised = true;                                     
   4e230:	7001           	moveq #1,%d0                                
  rtems_bdbuf_restore_preemption (prev_mode);                         
   4e232:	2f03           	movel %d3,%sp@-                             
    rtems_bdbuf_restore_preemption (prev_mode);                       
    return RTEMS_RESOURCE_IN_USE;                                     
  }                                                                   
                                                                      
  memset(&bdbuf_cache, 0, sizeof(bdbuf_cache));                       
  bdbuf_cache.initialised = true;                                     
   4e234:	13c0 0006 37e5 	moveb %d0,637e5 <bdbuf_cache+0x91>          
  rtems_bdbuf_restore_preemption (prev_mode);                         
   4e23a:	4eba ea2e      	jsr %pc@(4cc6a <rtems_bdbuf_restore_preemption>)
  rtems_chain_initialize_empty (&bdbuf_cache.read_ahead_chain);       
                                                                      
  /*                                                                  
   * Create the locks for the cache.                                  
   */                                                                 
  sc = rtems_semaphore_create (rtems_build_name ('B', 'D', 'C', 'l'), 
   4e23e:	4879 0006 377a 	pea 6377a <bdbuf_cache+0x26>                
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4e244:	223c 0006 375e 	movel #407390,%d1                           
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4e24a:	203c 0006 375a 	movel #407386,%d0                           
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4e250:	23c1 0006 375a 	movel %d1,6375a <bdbuf_cache+0x6>           
   4e256:	223c 0006 3794 	movel #407444,%d1                           
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4e25c:	23c0 0006 3762 	movel %d0,63762 <bdbuf_cache+0xe>           
   4e262:	203c 0006 3790 	movel #407440,%d0                           
   4e268:	42a7           	clrl %sp@-                                  
   4e26a:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
   4e26e:	4878 0001      	pea 1 <ADD>                                 
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4e272:	23c1 0006 3790 	movel %d1,63790 <bdbuf_cache+0x3c>          
   4e278:	223c 0006 37a0 	movel #407456,%d1                           
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4e27e:	23c0 0006 3798 	movel %d0,63798 <bdbuf_cache+0x44>          
   4e284:	203c 0006 379c 	movel #407452,%d0                           
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4e28a:	23c1 0006 379c 	movel %d1,6379c <bdbuf_cache+0x48>          
   4e290:	223c 0006 37ac 	movel #407468,%d1                           
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4e296:	23c0 0006 37a4 	movel %d0,637a4 <bdbuf_cache+0x50>          
   4e29c:	203c 0006 37a8 	movel #407464,%d0                           
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4e2a2:	23c1 0006 37a8 	movel %d1,637a8 <bdbuf_cache+0x54>          
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4e2a8:	23c0 0006 37b0 	movel %d0,637b0 <bdbuf_cache+0x5c>          
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4e2ae:	223c 0006 37dc 	movel #407516,%d1                           
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4e2b4:	203c 0006 37d8 	movel #407512,%d0                           
   4e2ba:	2f3c 4244 436c 	movel #1111769964,%sp@-                     
   */                                                                 
  cache_aligment = 32; /* FIXME rtems_cache_get_data_line_size() */   
  if (cache_aligment <= 0)                                            
    cache_aligment = CPU_ALIGNMENT;                                   
                                                                      
  bdbuf_cache.sync_device = BDBUF_INVALID_DEV;                        
   4e2c0:	42b9 0006 3788 	clrl 63788 <bdbuf_cache+0x34>               
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4e2c6:	42b9 0006 375e 	clrl 6375e <bdbuf_cache+0xa>                
   4e2cc:	42b9 0006 3794 	clrl 63794 <bdbuf_cache+0x40>               
   4e2d2:	42b9 0006 37a0 	clrl 637a0 <bdbuf_cache+0x4c>               
   4e2d8:	42b9 0006 37ac 	clrl 637ac <bdbuf_cache+0x58>               
   4e2de:	42b9 0006 37dc 	clrl 637dc <bdbuf_cache+0x88>               
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4e2e4:	23c1 0006 37d8 	movel %d1,637d8 <bdbuf_cache+0x84>          
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4e2ea:	23c0 0006 37e0 	movel %d0,637e0 <bdbuf_cache+0x8c>          
  rtems_chain_initialize_empty (&bdbuf_cache.read_ahead_chain);       
                                                                      
  /*                                                                  
   * Create the locks for the cache.                                  
   */                                                                 
  sc = rtems_semaphore_create (rtems_build_name ('B', 'D', 'C', 'l'), 
   4e2f0:	4e92           	jsr %a2@                                    
                               1, RTEMS_BDBUF_CACHE_LOCK_ATTRIBS, 0,  
                               &bdbuf_cache.lock);                    
  if (sc != RTEMS_SUCCESSFUL)                                         
   4e2f2:	4fef 0024      	lea %sp@(36),%sp                            
   4e2f6:	4a80           	tstl %d0                                    
   4e2f8:	6700 0106      	beqw 4e400 <rtems_bdbuf_init+0x24a>         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
                                                                      
error:                                                                
                                                                      
  if (bdbuf_cache.read_ahead_task != 0)                               
   4e2fc:	2039 0006 37d4 	movel 637d4 <bdbuf_cache+0x80>,%d0          <== NOT EXECUTED
   4e302:	6600 00e6      	bnew 4e3ea <rtems_bdbuf_init+0x234>         <== NOT EXECUTED
    rtems_task_delete (bdbuf_cache.read_ahead_task);                  
                                                                      
  if (bdbuf_cache.swapout != 0)                                       
   4e306:	2039 0006 3754 	movel 63754 <bdbuf_cache>,%d0               <== NOT EXECUTED
   4e30c:	667e           	bnes 4e38c <rtems_bdbuf_init+0x1d6>         <== NOT EXECUTED
    rtems_task_delete (bdbuf_cache.swapout);                          
                                                                      
  free (bdbuf_cache.buffers);                                         
   4e30e:	2f39 0006 376a 	movel 6376a <bdbuf_cache+0x16>,%sp@-        <== NOT EXECUTED
   4e314:	47f9 0004 4528 	lea 44528 <free>,%a3                        <== NOT EXECUTED
  free (bdbuf_cache.groups);                                          
  free (bdbuf_cache.bds);                                             
                                                                      
  rtems_semaphore_delete (bdbuf_cache.buffer_waiters.sema);           
   4e31a:	45f9 0004 8b70 	lea 48b70 <rtems_semaphore_delete>,%a2      <== NOT EXECUTED
    rtems_task_delete (bdbuf_cache.read_ahead_task);                  
                                                                      
  if (bdbuf_cache.swapout != 0)                                       
    rtems_task_delete (bdbuf_cache.swapout);                          
                                                                      
  free (bdbuf_cache.buffers);                                         
   4e320:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free (bdbuf_cache.groups);                                          
   4e322:	2f39 0006 37d0 	movel 637d0 <bdbuf_cache+0x7c>,%sp@-        <== NOT EXECUTED
   4e328:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free (bdbuf_cache.bds);                                             
   4e32a:	2f39 0006 3766 	movel 63766 <bdbuf_cache+0x12>,%sp@-        <== NOT EXECUTED
   4e330:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  rtems_semaphore_delete (bdbuf_cache.buffer_waiters.sema);           
   4e332:	2f39 0006 37c8 	movel 637c8 <bdbuf_cache+0x74>,%sp@-        <== NOT EXECUTED
   4e338:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  rtems_semaphore_delete (bdbuf_cache.access_waiters.sema);           
   4e33a:	2f39 0006 37b8 	movel 637b8 <bdbuf_cache+0x64>,%sp@-        <== NOT EXECUTED
   4e340:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  rtems_semaphore_delete (bdbuf_cache.transfer_waiters.sema);         
   4e342:	2f39 0006 37c0 	movel 637c0 <bdbuf_cache+0x6c>,%sp@-        <== NOT EXECUTED
   4e348:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  rtems_semaphore_delete (bdbuf_cache.sync_lock);                     
   4e34a:	2f39 0006 377e 	movel 6377e <bdbuf_cache+0x2a>,%sp@-        <== NOT EXECUTED
   4e350:	4e92           	jsr %a2@                                    <== NOT EXECUTED
                                                                      
  if (bdbuf_cache.lock != 0)                                          
   4e352:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   4e356:	4ab9 0006 377a 	tstl 6377a <bdbuf_cache+0x26>               <== NOT EXECUTED
   4e35c:	6614           	bnes 4e372 <rtems_bdbuf_init+0x1bc>         <== NOT EXECUTED
    rtems_semaphore_delete (bdbuf_cache.lock);                        
  }                                                                   
                                                                      
  bdbuf_cache.initialised = false;                                    
                                                                      
  return RTEMS_UNSATISFIED;                                           
   4e35e:	700d           	moveq #13,%d0                               <== NOT EXECUTED
  {                                                                   
    rtems_bdbuf_unlock_cache ();                                      
    rtems_semaphore_delete (bdbuf_cache.lock);                        
  }                                                                   
                                                                      
  bdbuf_cache.initialised = false;                                    
   4e360:	4201           	clrb %d1                                    <== NOT EXECUTED
   4e362:	13c1 0006 37e5 	moveb %d1,637e5 <bdbuf_cache+0x91>          <== NOT EXECUTED
                                                                      
  return RTEMS_UNSATISFIED;                                           
}                                                                     
   4e368:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            <== NOT EXECUTED
   4e36e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e370:	4e75           	rts                                         <== NOT EXECUTED
  rtems_semaphore_delete (bdbuf_cache.transfer_waiters.sema);         
  rtems_semaphore_delete (bdbuf_cache.sync_lock);                     
                                                                      
  if (bdbuf_cache.lock != 0)                                          
  {                                                                   
    rtems_bdbuf_unlock_cache ();                                      
   4e372:	4eba e888      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  <== NOT EXECUTED
    rtems_semaphore_delete (bdbuf_cache.lock);                        
   4e376:	2f39 0006 377a 	movel 6377a <bdbuf_cache+0x26>,%sp@-        <== NOT EXECUTED
   4e37c:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   4e37e:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  bdbuf_cache.initialised = false;                                    
                                                                      
  return RTEMS_UNSATISFIED;                                           
   4e380:	700d           	moveq #13,%d0                               <== NOT EXECUTED
  {                                                                   
    rtems_bdbuf_unlock_cache ();                                      
    rtems_semaphore_delete (bdbuf_cache.lock);                        
  }                                                                   
                                                                      
  bdbuf_cache.initialised = false;                                    
   4e382:	4201           	clrb %d1                                    <== NOT EXECUTED
   4e384:	13c1 0006 37e5 	moveb %d1,637e5 <bdbuf_cache+0x91>          <== NOT EXECUTED
   4e38a:	60dc           	bras 4e368 <rtems_bdbuf_init+0x1b2>         <== NOT EXECUTED
                                                                      
  if (bdbuf_cache.read_ahead_task != 0)                               
    rtems_task_delete (bdbuf_cache.read_ahead_task);                  
                                                                      
  if (bdbuf_cache.swapout != 0)                                       
    rtems_task_delete (bdbuf_cache.swapout);                          
   4e38c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
                                                                      
  free (bdbuf_cache.buffers);                                         
   4e38e:	47f9 0004 4528 	lea 44528 <free>,%a3                        <== NOT EXECUTED
                                                                      
  if (bdbuf_cache.read_ahead_task != 0)                               
    rtems_task_delete (bdbuf_cache.read_ahead_task);                  
                                                                      
  if (bdbuf_cache.swapout != 0)                                       
    rtems_task_delete (bdbuf_cache.swapout);                          
   4e394:	4eb9 0004 9014 	jsr 49014 <rtems_task_delete>               <== NOT EXECUTED
   4e39a:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  free (bdbuf_cache.buffers);                                         
  free (bdbuf_cache.groups);                                          
  free (bdbuf_cache.bds);                                             
                                                                      
  rtems_semaphore_delete (bdbuf_cache.buffer_waiters.sema);           
   4e39c:	45f9 0004 8b70 	lea 48b70 <rtems_semaphore_delete>,%a2      <== NOT EXECUTED
    rtems_task_delete (bdbuf_cache.read_ahead_task);                  
                                                                      
  if (bdbuf_cache.swapout != 0)                                       
    rtems_task_delete (bdbuf_cache.swapout);                          
                                                                      
  free (bdbuf_cache.buffers);                                         
   4e3a2:	2f39 0006 376a 	movel 6376a <bdbuf_cache+0x16>,%sp@-        <== NOT EXECUTED
   4e3a8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free (bdbuf_cache.groups);                                          
   4e3aa:	2f39 0006 37d0 	movel 637d0 <bdbuf_cache+0x7c>,%sp@-        <== NOT EXECUTED
   4e3b0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free (bdbuf_cache.bds);                                             
   4e3b2:	2f39 0006 3766 	movel 63766 <bdbuf_cache+0x12>,%sp@-        <== NOT EXECUTED
   4e3b8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  rtems_semaphore_delete (bdbuf_cache.buffer_waiters.sema);           
   4e3ba:	2f39 0006 37c8 	movel 637c8 <bdbuf_cache+0x74>,%sp@-        <== NOT EXECUTED
   4e3c0:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  rtems_semaphore_delete (bdbuf_cache.access_waiters.sema);           
   4e3c2:	2f39 0006 37b8 	movel 637b8 <bdbuf_cache+0x64>,%sp@-        <== NOT EXECUTED
   4e3c8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  rtems_semaphore_delete (bdbuf_cache.transfer_waiters.sema);         
   4e3ca:	2f39 0006 37c0 	movel 637c0 <bdbuf_cache+0x6c>,%sp@-        <== NOT EXECUTED
   4e3d0:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  rtems_semaphore_delete (bdbuf_cache.sync_lock);                     
   4e3d2:	2f39 0006 377e 	movel 6377e <bdbuf_cache+0x2a>,%sp@-        <== NOT EXECUTED
   4e3d8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
                                                                      
  if (bdbuf_cache.lock != 0)                                          
   4e3da:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   4e3de:	4ab9 0006 377a 	tstl 6377a <bdbuf_cache+0x26>               <== NOT EXECUTED
   4e3e4:	6700 ff78      	beqw 4e35e <rtems_bdbuf_init+0x1a8>         <== NOT EXECUTED
   4e3e8:	6088           	bras 4e372 <rtems_bdbuf_init+0x1bc>         <== NOT EXECUTED
  return RTEMS_SUCCESSFUL;                                            
                                                                      
error:                                                                
                                                                      
  if (bdbuf_cache.read_ahead_task != 0)                               
    rtems_task_delete (bdbuf_cache.read_ahead_task);                  
   4e3ea:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e3ec:	4eb9 0004 9014 	jsr 49014 <rtems_task_delete>               <== NOT EXECUTED
                                                                      
  if (bdbuf_cache.swapout != 0)                                       
   4e3f2:	2039 0006 3754 	movel 63754 <bdbuf_cache>,%d0               <== NOT EXECUTED
  return RTEMS_SUCCESSFUL;                                            
                                                                      
error:                                                                
                                                                      
  if (bdbuf_cache.read_ahead_task != 0)                               
    rtems_task_delete (bdbuf_cache.read_ahead_task);                  
   4e3f8:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  if (bdbuf_cache.swapout != 0)                                       
   4e3fa:	6700 ff12      	beqw 4e30e <rtems_bdbuf_init+0x158>         <== NOT EXECUTED
   4e3fe:	608c           	bras 4e38c <rtems_bdbuf_init+0x1d6>         <== NOT EXECUTED
                               1, RTEMS_BDBUF_CACHE_LOCK_ATTRIBS, 0,  
                               &bdbuf_cache.lock);                    
  if (sc != RTEMS_SUCCESSFUL)                                         
    goto error;                                                       
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4e400:	4eba e7ae      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
  sc = rtems_semaphore_create (rtems_build_name ('B', 'D', 'C', 's'), 
   4e404:	4879 0006 377e 	pea 6377e <bdbuf_cache+0x2a>                
   4e40a:	42a7           	clrl %sp@-                                  
   4e40c:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
   4e410:	4878 0001      	pea 1 <ADD>                                 
   4e414:	2f3c 4244 4373 	movel #1111769971,%sp@-                     
   4e41a:	4e92           	jsr %a2@                                    
                               1, RTEMS_BDBUF_CACHE_LOCK_ATTRIBS, 0,  
                               &bdbuf_cache.sync_lock);               
  if (sc != RTEMS_SUCCESSFUL)                                         
   4e41c:	4fef 0014      	lea %sp@(20),%sp                            
   4e420:	4a80           	tstl %d0                                    
   4e422:	6600 fed8      	bnew 4e2fc <rtems_bdbuf_init+0x146>         
    goto error;                                                       
                                                                      
  sc = rtems_semaphore_create (rtems_build_name ('B', 'D', 'C', 'a'), 
   4e426:	4879 0006 37b8 	pea 637b8 <bdbuf_cache+0x64>                
   4e42c:	42a7           	clrl %sp@-                                  
   4e42e:	4878 0024      	pea 24 <OPER2+0x10>                         
   4e432:	42a7           	clrl %sp@-                                  
   4e434:	2f3c 4244 4361 	movel #1111769953,%sp@-                     
   4e43a:	4e92           	jsr %a2@                                    
                               0, RTEMS_BDBUF_CACHE_WAITER_ATTRIBS, 0,
                               &bdbuf_cache.access_waiters.sema);     
  if (sc != RTEMS_SUCCESSFUL)                                         
   4e43c:	4fef 0014      	lea %sp@(20),%sp                            
   4e440:	4a80           	tstl %d0                                    
   4e442:	6600 feb8      	bnew 4e2fc <rtems_bdbuf_init+0x146>         
    goto error;                                                       
                                                                      
  sc = rtems_semaphore_create (rtems_build_name ('B', 'D', 'C', 't'), 
   4e446:	4879 0006 37c0 	pea 637c0 <bdbuf_cache+0x6c>                
   4e44c:	42a7           	clrl %sp@-                                  
   4e44e:	4878 0024      	pea 24 <OPER2+0x10>                         
   4e452:	42a7           	clrl %sp@-                                  
   4e454:	2f3c 4244 4374 	movel #1111769972,%sp@-                     
   4e45a:	4e92           	jsr %a2@                                    
                               0, RTEMS_BDBUF_CACHE_WAITER_ATTRIBS, 0,
                               &bdbuf_cache.transfer_waiters.sema);   
  if (sc != RTEMS_SUCCESSFUL)                                         
   4e45c:	4fef 0014      	lea %sp@(20),%sp                            
   4e460:	4a80           	tstl %d0                                    
   4e462:	6600 fe98      	bnew 4e2fc <rtems_bdbuf_init+0x146>         
    goto error;                                                       
                                                                      
  sc = rtems_semaphore_create (rtems_build_name ('B', 'D', 'C', 'b'), 
   4e466:	4879 0006 37c8 	pea 637c8 <bdbuf_cache+0x74>                
   4e46c:	42a7           	clrl %sp@-                                  
   4e46e:	4878 0024      	pea 24 <OPER2+0x10>                         
   4e472:	42a7           	clrl %sp@-                                  
   4e474:	2f3c 4244 4362 	movel #1111769954,%sp@-                     
   4e47a:	4e92           	jsr %a2@                                    
                               0, RTEMS_BDBUF_CACHE_WAITER_ATTRIBS, 0,
                               &bdbuf_cache.buffer_waiters.sema);     
  if (sc != RTEMS_SUCCESSFUL)                                         
   4e47c:	4fef 0014      	lea %sp@(20),%sp                            
   4e480:	4a80           	tstl %d0                                    
   4e482:	6600 fe78      	bnew 4e2fc <rtems_bdbuf_init+0x146>         
                                                                      
  /*                                                                  
   * Compute the various number of elements in the cache.             
   */                                                                 
  bdbuf_cache.buffer_min_count =                                      
    bdbuf_config.size / bdbuf_config.buffer_min;                      
   4e486:	2239 0006 0c36 	movel 60c36 <rtems_bdbuf_configuration+0x24>,%d1
    bdbuf_cache.buffer_min_count / bdbuf_cache.max_bds_per_group;     
                                                                      
  /*                                                                  
   * Allocate the memory for the buffer descriptors.                  
   */                                                                 
  bdbuf_cache.bds = calloc (sizeof (rtems_bdbuf_buffer),              
   4e48c:	45f9 0004 4208 	lea 44208 <calloc>,%a2                      
                                                                      
  /*                                                                  
   * Compute the various number of elements in the cache.             
   */                                                                 
  bdbuf_cache.buffer_min_count =                                      
    bdbuf_config.size / bdbuf_config.buffer_min;                      
   4e492:	2639 0006 0c32 	movel 60c32 <rtems_bdbuf_configuration+0x20>,%d3
   4e498:	4c41 3003      	remul %d1,%d3,%d3                           
  bdbuf_cache.max_bds_per_group =                                     
   4e49c:	23c2 0006 3772 	movel %d2,63772 <bdbuf_cache+0x1e>          
    bdbuf_config.buffer_max / bdbuf_config.buffer_min;                
  bdbuf_cache.group_count =                                           
    bdbuf_cache.buffer_min_count / bdbuf_cache.max_bds_per_group;     
   4e4a2:	2203           	movel %d3,%d1                               
                                                                      
  /*                                                                  
   * Allocate the memory for the buffer descriptors.                  
   */                                                                 
  bdbuf_cache.bds = calloc (sizeof (rtems_bdbuf_buffer),              
   4e4a4:	2f03           	movel %d3,%sp@-                             
   4e4a6:	4878 0036      	pea 36 <DBL_MANT_DIG+0x1>                   
  bdbuf_cache.buffer_min_count =                                      
    bdbuf_config.size / bdbuf_config.buffer_min;                      
  bdbuf_cache.max_bds_per_group =                                     
    bdbuf_config.buffer_max / bdbuf_config.buffer_min;                
  bdbuf_cache.group_count =                                           
    bdbuf_cache.buffer_min_count / bdbuf_cache.max_bds_per_group;     
   4e4aa:	4c42 1001      	remul %d2,%d1,%d1                           
    goto error;                                                       
                                                                      
  /*                                                                  
   * Compute the various number of elements in the cache.             
   */                                                                 
  bdbuf_cache.buffer_min_count =                                      
   4e4ae:	23c3 0006 376e 	movel %d3,6376e <bdbuf_cache+0x1a>          
    bdbuf_config.size / bdbuf_config.buffer_min;                      
  bdbuf_cache.max_bds_per_group =                                     
    bdbuf_config.buffer_max / bdbuf_config.buffer_min;                
  bdbuf_cache.group_count =                                           
    bdbuf_cache.buffer_min_count / bdbuf_cache.max_bds_per_group;     
   4e4b4:	2401           	movel %d1,%d2                               
   */                                                                 
  bdbuf_cache.buffer_min_count =                                      
    bdbuf_config.size / bdbuf_config.buffer_min;                      
  bdbuf_cache.max_bds_per_group =                                     
    bdbuf_config.buffer_max / bdbuf_config.buffer_min;                
  bdbuf_cache.group_count =                                           
   4e4b6:	23c1 0006 37cc 	movel %d1,637cc <bdbuf_cache+0x78>          
    bdbuf_cache.buffer_min_count / bdbuf_cache.max_bds_per_group;     
                                                                      
  /*                                                                  
   * Allocate the memory for the buffer descriptors.                  
   */                                                                 
  bdbuf_cache.bds = calloc (sizeof (rtems_bdbuf_buffer),              
   4e4bc:	4e92           	jsr %a2@                                    
                            bdbuf_cache.buffer_min_count);            
  if (!bdbuf_cache.bds)                                               
   4e4be:	508f           	addql #8,%sp                                
    bdbuf_cache.buffer_min_count / bdbuf_cache.max_bds_per_group;     
                                                                      
  /*                                                                  
   * Allocate the memory for the buffer descriptors.                  
   */                                                                 
  bdbuf_cache.bds = calloc (sizeof (rtems_bdbuf_buffer),              
   4e4c0:	23c0 0006 3766 	movel %d0,63766 <bdbuf_cache+0x12>          
                            bdbuf_cache.buffer_min_count);            
  if (!bdbuf_cache.bds)                                               
   4e4c6:	6700 fe34      	beqw 4e2fc <rtems_bdbuf_init+0x146>         
    goto error;                                                       
                                                                      
  /*                                                                  
   * Allocate the memory for the buffer descriptors.                  
   */                                                                 
  bdbuf_cache.groups = calloc (sizeof (rtems_bdbuf_group),            
   4e4ca:	2f02           	movel %d2,%sp@-                             
   4e4cc:	4878 0014      	pea 14 <OPER2>                              
   4e4d0:	4e92           	jsr %a2@                                    
                               bdbuf_cache.group_count);              
  if (!bdbuf_cache.groups)                                            
   4e4d2:	508f           	addql #8,%sp                                
    goto error;                                                       
                                                                      
  /*                                                                  
   * Allocate the memory for the buffer descriptors.                  
   */                                                                 
  bdbuf_cache.groups = calloc (sizeof (rtems_bdbuf_group),            
   4e4d4:	23c0 0006 37d0 	movel %d0,637d0 <bdbuf_cache+0x7c>          
                               bdbuf_cache.group_count);              
  if (!bdbuf_cache.groups)                                            
   4e4da:	6700 fe20      	beqw 4e2fc <rtems_bdbuf_init+0x146>         
   * aligned. It is possible to free the memory allocated by rtems_memalign()
   * with free(). Return 0 if allocated.                              
   *                                                                  
   * The memory allocate allows a                                     
   */                                                                 
  if (rtems_memalign ((void **) &bdbuf_cache.buffers,                 
   4e4de:	2039 0006 0c36 	movel 60c36 <rtems_bdbuf_configuration+0x24>,%d0
   4e4e4:	4c03 0800      	mulsl %d3,%d0                               
   4e4e8:	2f00           	movel %d0,%sp@-                             
   4e4ea:	4878 0020      	pea 20 <OPER2+0xc>                          
   4e4ee:	4879 0006 376a 	pea 6376a <bdbuf_cache+0x16>                
   4e4f4:	4eb9 0005 01c4 	jsr 501c4 <rtems_memalign>                  
   4e4fa:	4fef 000c      	lea %sp@(12),%sp                            
   4e4fe:	4a80           	tstl %d0                                    
   4e500:	6600 fdfa      	bnew 4e2fc <rtems_bdbuf_init+0x146>         
    bd->group  = group;                                               
    bd->buffer = buffer;                                              
                                                                      
    rtems_chain_append_unprotected (&bdbuf_cache.lru, &bd->link);     
                                                                      
    if ((b % bdbuf_cache.max_bds_per_group) ==                        
   4e504:	2639 0006 3772 	movel 63772 <bdbuf_cache+0x1e>,%d3          
        (bdbuf_cache.max_bds_per_group - 1))                          
   4e50a:	2c03           	movel %d3,%d6                               
   4e50c:	5386           	subql #1,%d6                                
                                                                      
  /*                                                                  
   * The cache is empty after opening so we need to add all the buffers to it
   * and initialise the groups.                                       
   */                                                                 
  for (b = 0, group = bdbuf_cache.groups,                             
   4e50e:	2279 0006 37d0 	moveal 637d0 <bdbuf_cache+0x7c>,%a1         
   4e514:	2449           	moveal %a1,%a2                              
         bd = bdbuf_cache.bds, buffer = bdbuf_cache.buffers;          
   4e516:	2239 0006 3766 	movel 63766 <bdbuf_cache+0x12>,%d1          
   4e51c:	2041           	moveal %d1,%a0                              
   4e51e:	2439 0006 376a 	movel 6376a <bdbuf_cache+0x16>,%d2          
       b < bdbuf_cache.buffer_min_count;                              
   4e524:	2a39 0006 376e 	movel 6376e <bdbuf_cache+0x1a>,%d5          
                                                                      
  /*                                                                  
   * The cache is empty after opening so we need to add all the buffers to it
   * and initialise the groups.                                       
   */                                                                 
  for (b = 0, group = bdbuf_cache.groups,                             
   4e52a:	ba80           	cmpl %d0,%d5                                
   4e52c:	6740           	beqs 4e56e <rtems_bdbuf_init+0x3b8>         
       b < bdbuf_cache.buffer_min_count;                              
       b++, bd++, buffer += bdbuf_config.buffer_min)                  
  {                                                                   
    bd->dd    = BDBUF_INVALID_DEV;                                    
    bd->group  = group;                                               
    bd->buffer = buffer;                                              
   4e52e:	2142 001a      	movel %d2,%a0@(26)                          
                                                                      
    rtems_chain_append_unprotected (&bdbuf_cache.lru, &bd->link);     
                                                                      
    if ((b % bdbuf_cache.max_bds_per_group) ==                        
   4e532:	2e00           	movel %d0,%d7                               
   * and initialise the groups.                                       
   */                                                                 
  for (b = 0, group = bdbuf_cache.groups,                             
         bd = bdbuf_cache.bds, buffer = bdbuf_cache.buffers;          
       b < bdbuf_cache.buffer_min_count;                              
       b++, bd++, buffer += bdbuf_config.buffer_min)                  
   4e534:	5280           	addql #1,%d0                                
   4e536:	d4b9 0006 0c36 	addl 60c36 <rtems_bdbuf_configuration+0x24>,%d2
  {                                                                   
    bd->dd    = BDBUF_INVALID_DEV;                                    
    bd->group  = group;                                               
   4e53c:	214a 0026      	movel %a2,%a0@(38)                          
    bd->buffer = buffer;                                              
                                                                      
    rtems_chain_append_unprotected (&bdbuf_cache.lru, &bd->link);     
                                                                      
    if ((b % bdbuf_cache.max_bds_per_group) ==                        
   4e540:	4c43 7004      	remul %d3,%d4,%d7                           
  for (b = 0, group = bdbuf_cache.groups,                             
         bd = bdbuf_cache.bds, buffer = bdbuf_cache.buffers;          
       b < bdbuf_cache.buffer_min_count;                              
       b++, bd++, buffer += bdbuf_config.buffer_min)                  
  {                                                                   
    bd->dd    = BDBUF_INVALID_DEV;                                    
   4e544:	42a8 0012      	clrl %a0@(18)                               
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4e548:	2679 0006 3798 	moveal 63798 <bdbuf_cache+0x44>,%a3         
                                                                      
  the_node->next = tail;                                              
   4e54e:	20bc 0006 3794 	movel #407444,%a0@                          
  tail->previous = the_node;                                          
   4e554:	23c8 0006 3798 	movel %a0,63798 <bdbuf_cache+0x44>          
  old_last->next = the_node;                                          
   4e55a:	2688           	movel %a0,%a3@                              
  the_node->previous = old_last;                                      
   4e55c:	214b 0004      	movel %a3,%a0@(4)                           
    bd->group  = group;                                               
    bd->buffer = buffer;                                              
                                                                      
    rtems_chain_append_unprotected (&bdbuf_cache.lru, &bd->link);     
                                                                      
    if ((b % bdbuf_cache.max_bds_per_group) ==                        
   4e560:	bc84           	cmpl %d4,%d6                                
   4e562:	6604           	bnes 4e568 <rtems_bdbuf_init+0x3b2>         
        (bdbuf_cache.max_bds_per_group - 1))                          
      group++;                                                        
   4e564:	45ea 0014      	lea %a2@(20),%a2                            
   * and initialise the groups.                                       
   */                                                                 
  for (b = 0, group = bdbuf_cache.groups,                             
         bd = bdbuf_cache.bds, buffer = bdbuf_cache.buffers;          
       b < bdbuf_cache.buffer_min_count;                              
       b++, bd++, buffer += bdbuf_config.buffer_min)                  
   4e568:	41e8 0036      	lea %a0@(54),%a0                            
   4e56c:	60bc           	bras 4e52a <rtems_bdbuf_init+0x374>         
       b < bdbuf_cache.group_count;                                   
       b++,                                                           
         group++,                                                     
         bd += bdbuf_cache.max_bds_per_group)                         
  {                                                                   
    group->bds_per_group = bdbuf_cache.max_bds_per_group;             
   4e56e:	2439 0006 3772 	movel 63772 <bdbuf_cache+0x1e>,%d2          
         group = bdbuf_cache.groups,                                  
         bd = bdbuf_cache.bds;                                        
       b < bdbuf_cache.group_count;                                   
       b++,                                                           
         group++,                                                     
         bd += bdbuf_cache.max_bds_per_group)                         
   4e574:	7636           	moveq #54,%d3                               
   4e576:	4c02 3800      	mulsl %d2,%d3                               
   4e57a:	4280           	clrl %d0                                    
  }                                                                   
                                                                      
  for (b = 0,                                                         
         group = bdbuf_cache.groups,                                  
         bd = bdbuf_cache.bds;                                        
       b < bdbuf_cache.group_count;                                   
   4e57c:	2079 0006 37cc 	moveal 637cc <bdbuf_cache+0x78>,%a0         
    if ((b % bdbuf_cache.max_bds_per_group) ==                        
        (bdbuf_cache.max_bds_per_group - 1))                          
      group++;                                                        
  }                                                                   
                                                                      
  for (b = 0,                                                         
   4e582:	b1c0           	cmpal %d0,%a0                               
   4e584:	6712           	beqs 4e598 <rtems_bdbuf_init+0x3e2>         
       b++,                                                           
         group++,                                                     
         bd += bdbuf_cache.max_bds_per_group)                         
  {                                                                   
    group->bds_per_group = bdbuf_cache.max_bds_per_group;             
    group->bdbuf = bd;                                                
   4e586:	2341 0010      	movel %d1,%a1@(16)                          
                                                                      
  for (b = 0,                                                         
         group = bdbuf_cache.groups,                                  
         bd = bdbuf_cache.bds;                                        
       b < bdbuf_cache.group_count;                                   
       b++,                                                           
   4e58a:	5280           	addql #1,%d0                                
         group++,                                                     
         bd += bdbuf_cache.max_bds_per_group)                         
   4e58c:	d283           	addl %d3,%d1                                
  {                                                                   
    group->bds_per_group = bdbuf_cache.max_bds_per_group;             
   4e58e:	2342 0008      	movel %d2,%a1@(8)                           
  for (b = 0,                                                         
         group = bdbuf_cache.groups,                                  
         bd = bdbuf_cache.bds;                                        
       b < bdbuf_cache.group_count;                                   
       b++,                                                           
         group++,                                                     
   4e592:	43e9 0014      	lea %a1@(20),%a1                            
   4e596:	60ea           	bras 4e582 <rtems_bdbuf_init+0x3cc>         
   * Create and start swapout task. This task will create and manage the worker
   * threads.                                                         
   */                                                                 
  bdbuf_cache.swapout_enabled = true;                                 
                                                                      
  sc = rtems_bdbuf_create_task (rtems_build_name('B', 'S', 'W', 'P'), 
   4e598:	4879 0006 3754 	pea 63754 <bdbuf_cache>                     
   4e59e:	45fa e958      	lea %pc@(4cef8 <rtems_bdbuf_create_task.constprop.15>),%a2
                                                                      
  /*                                                                  
   * Create and start swapout task. This task will create and manage the worker
   * threads.                                                         
   */                                                                 
  bdbuf_cache.swapout_enabled = true;                                 
   4e5a2:	7201           	moveq #1,%d1                                
                                                                      
  sc = rtems_bdbuf_create_task (rtems_build_name('B', 'S', 'W', 'P'), 
   4e5a4:	42a7           	clrl %sp@-                                  
   4e5a6:	487a f60e      	pea %pc@(4dbb6 <rtems_bdbuf_swapout_task>)  
   4e5aa:	2f39 0006 0c1a 	movel 60c1a <rtems_bdbuf_configuration+0x8>,%sp@-
                                                                      
  /*                                                                  
   * Create and start swapout task. This task will create and manage the worker
   * threads.                                                         
   */                                                                 
  bdbuf_cache.swapout_enabled = true;                                 
   4e5b0:	13c1 0006 3758 	moveb %d1,63758 <bdbuf_cache+0x4>           
                                                                      
  sc = rtems_bdbuf_create_task (rtems_build_name('B', 'S', 'W', 'P'), 
   4e5b6:	2f3c 4253 5750 	movel #1112758096,%sp@-                     
   4e5bc:	4e92           	jsr %a2@                                    
                                bdbuf_config.swapout_priority,        
                                RTEMS_BDBUF_SWAPOUT_TASK_PRIORITY_DEFAULT,
                                rtems_bdbuf_swapout_task,             
                                0,                                    
                                &bdbuf_cache.swapout);                
  if (sc != RTEMS_SUCCESSFUL)                                         
   4e5be:	4fef 0014      	lea %sp@(20),%sp                            
   4e5c2:	4a80           	tstl %d0                                    
   4e5c4:	6600 fd36      	bnew 4e2fc <rtems_bdbuf_init+0x146>         
    goto error;                                                       
                                                                      
  if (bdbuf_config.max_read_ahead_blocks > 0)                         
   4e5c8:	4ab9 0006 0c12 	tstl 60c12 <rtems_bdbuf_configuration>      
   4e5ce:	672c           	beqs 4e5fc <rtems_bdbuf_init+0x446>         
  {                                                                   
    bdbuf_cache.read_ahead_enabled = true;                            
    sc = rtems_bdbuf_create_task (rtems_build_name('B', 'R', 'D', 'A'),
   4e5d0:	4879 0006 37d4 	pea 637d4 <bdbuf_cache+0x80>                
  if (sc != RTEMS_SUCCESSFUL)                                         
    goto error;                                                       
                                                                      
  if (bdbuf_config.max_read_ahead_blocks > 0)                         
  {                                                                   
    bdbuf_cache.read_ahead_enabled = true;                            
   4e5d6:	7001           	moveq #1,%d0                                
    sc = rtems_bdbuf_create_task (rtems_build_name('B', 'R', 'D', 'A'),
   4e5d8:	42a7           	clrl %sp@-                                  
   4e5da:	487a fa94      	pea %pc@(4e070 <rtems_bdbuf_read_ahead_task>)
   4e5de:	2f39 0006 0c3e 	movel 60c3e <rtems_bdbuf_configuration+0x2c>,%sp@-
  if (sc != RTEMS_SUCCESSFUL)                                         
    goto error;                                                       
                                                                      
  if (bdbuf_config.max_read_ahead_blocks > 0)                         
  {                                                                   
    bdbuf_cache.read_ahead_enabled = true;                            
   4e5e4:	13c0 0006 37e4 	moveb %d0,637e4 <bdbuf_cache+0x90>          
    sc = rtems_bdbuf_create_task (rtems_build_name('B', 'R', 'D', 'A'),
   4e5ea:	2f3c 4252 4441 	movel #1112687681,%sp@-                     
   4e5f0:	4e92           	jsr %a2@                                    
                                  bdbuf_config.read_ahead_priority,   
                                  RTEMS_BDBUF_READ_AHEAD_TASK_PRIORITY_DEFAULT,
                                  rtems_bdbuf_read_ahead_task,        
                                  0,                                  
                                  &bdbuf_cache.read_ahead_task);      
    if (sc != RTEMS_SUCCESSFUL)                                       
   4e5f2:	4fef 0014      	lea %sp@(20),%sp                            
   4e5f6:	4a80           	tstl %d0                                    
   4e5f8:	6600 fd02      	bnew 4e2fc <rtems_bdbuf_init+0x146>         
      goto error;                                                     
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e5fc:	4eba e5fe      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4e600:	4280           	clrl %d0                                    
  }                                                                   
                                                                      
  bdbuf_cache.initialised = false;                                    
                                                                      
  return RTEMS_UNSATISFIED;                                           
}                                                                     
   4e602:	4cee 0cfc ffe0 	moveml %fp@(-32),%d2-%d7/%a2-%a3            
   4e608:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004cb8a <rtems_bdbuf_lock>: * @param lock The mutex to lock. * @param fatal_error_code The error code if the call fails. */ static void rtems_bdbuf_lock (rtems_id lock, uint32_t fatal_error_code) {
   4cb8a:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc = rtems_semaphore_obtain (lock,                
   4cb8e:	42a7           	clrl %sp@-                                  
   4cb90:	42a7           	clrl %sp@-                                  
   4cb92:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4cb96:	4eb9 0004 8c48 	jsr 48c48 <rtems_semaphore_obtain>          
                                                 RTEMS_WAIT,          
                                                 RTEMS_NO_TIMEOUT);   
  if (sc != RTEMS_SUCCESSFUL)                                         
   4cb9c:	4fef 000c      	lea %sp@(12),%sp                            
   4cba0:	4a80           	tstl %d0                                    
   4cba2:	6604           	bnes 4cba8 <rtems_bdbuf_lock+0x1e>          <== NEVER TAKEN
    rtems_bdbuf_fatal (fatal_error_code);                             
}                                                                     
   4cba4:	4e5e           	unlk %fp                                    
   4cba6:	4e75           	rts                                         
{                                                                     
  rtems_status_code sc = rtems_semaphore_obtain (lock,                
                                                 RTEMS_WAIT,          
                                                 RTEMS_NO_TIMEOUT);   
  if (sc != RTEMS_SUCCESSFUL)                                         
    rtems_bdbuf_fatal (fatal_error_code);                             
   4cba8:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   4cbac:	4eba ffca      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004eb94 <rtems_bdbuf_purge_dev>: } } void rtems_bdbuf_purge_dev (rtems_disk_device *dd) {
   4eb94:	4e56 ff60      	linkw %fp,#-160                             
   4eb98:	48d7 3c04      	moveml %d2/%a2-%a5,%sp@                     
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4eb9c:	240e           	movel %fp,%d2                               
   4eb9e:	0682 ffff ff74 	addil #-140,%d2                             
   4eba4:	2002           	movel %d2,%d0                               
   4eba6:	5880           	addql #4,%d0                                
   4eba8:	286e 0008      	moveal %fp@(8),%a4                          
   4ebac:	2d40 ff74      	movel %d0,%fp@(-140)                        
  head->previous = NULL;                                              
   4ebb0:	42ae ff78      	clrl %fp@(-136)                             
  tail->previous = head;                                              
   4ebb4:	2d42 ff7c      	movel %d2,%fp@(-132)                        
  rtems_chain_control purge_list;                                     
                                                                      
  rtems_chain_initialize_empty (&purge_list);                         
  rtems_bdbuf_lock_cache ();                                          
   4ebb8:	4eba dff6      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   4ebbc:	206c 0062      	moveal %a4@(98),%a0                         
   4ebc0:	226c 0066      	moveal %a4@(102),%a1                        
   4ebc4:	4a88           	tstl %a0                                    
   4ebc6:	6700 0180      	beqw 4ed48 <rtems_bdbuf_purge_dev+0x1b4>    
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
  next->previous = previous;                                          
   4ebca:	2149 0004      	movel %a1,%a0@(4)                           <== NOT EXECUTED
  previous->next = next;                                              
   4ebce:	2288           	movel %a0,%a1@                              <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   4ebd0:	42ac 0066      	clrl %a4@(102)                              <== NOT EXECUTED
   4ebd4:	42ac 0062      	clrl %a4@(98)                               <== NOT EXECUTED
                                                                      
static void                                                           
rtems_bdbuf_read_ahead_reset (rtems_disk_device *dd)                  
{                                                                     
  rtems_bdbuf_read_ahead_cancel (dd);                                 
  dd->read_ahead.trigger = RTEMS_DISK_READ_AHEAD_NO_TRIGGER;          
   4ebd8:	72ff           	moveq #-1,%d1                               
static void                                                           
rtems_bdbuf_gather_for_purge (rtems_chain_control *purge_list,        
                              const rtems_disk_device *dd)            
{                                                                     
  rtems_bdbuf_buffer *stack [RTEMS_BDBUF_AVL_MAX_HEIGHT];             
  rtems_bdbuf_buffer **prev = stack;                                  
   4ebda:	47ee ff80      	lea %fp@(-128),%a3                          
        case RTEMS_BDBUF_STATE_EMPTY:                                 
        case RTEMS_BDBUF_STATE_ACCESS_PURGED:                         
        case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                       
          break;                                                      
        case RTEMS_BDBUF_STATE_SYNC:                                  
          rtems_bdbuf_wake (&bdbuf_cache.transfer_waiters);           
   4ebde:	4bfa e212      	lea %pc@(4cdf2 <rtems_bdbuf_wake>),%a5      
rtems_bdbuf_gather_for_purge (rtems_chain_control *purge_list,        
                              const rtems_disk_device *dd)            
{                                                                     
  rtems_bdbuf_buffer *stack [RTEMS_BDBUF_AVL_MAX_HEIGHT];             
  rtems_bdbuf_buffer **prev = stack;                                  
  rtems_bdbuf_buffer *cur = bdbuf_cache.tree;                         
   4ebe2:	2479 0006 378c 	moveal 6378c <bdbuf_cache+0x38>,%a2         
                                                                      
static void                                                           
rtems_bdbuf_read_ahead_reset (rtems_disk_device *dd)                  
{                                                                     
  rtems_bdbuf_read_ahead_cancel (dd);                                 
  dd->read_ahead.trigger = RTEMS_DISK_READ_AHEAD_NO_TRIGGER;          
   4ebe8:	2941 006a      	movel %d1,%a4@(106)                         
{                                                                     
  rtems_bdbuf_buffer *stack [RTEMS_BDBUF_AVL_MAX_HEIGHT];             
  rtems_bdbuf_buffer **prev = stack;                                  
  rtems_bdbuf_buffer *cur = bdbuf_cache.tree;                         
                                                                      
  *prev = NULL;                                                       
   4ebec:	42ae ff80      	clrl %fp@(-128)                             
                                                                      
  while (cur != NULL)                                                 
   4ebf0:	4a8a           	tstl %a2                                    
   4ebf2:	6700 00e6      	beqw 4ecda <rtems_bdbuf_purge_dev+0x146>    
  {                                                                   
    if (cur->dd == dd)                                                
   4ebf6:	b9ea 0012      	cmpal %a2@(18),%a4                          
   4ebfa:	6714           	beqs 4ec10 <rtems_bdbuf_purge_dev+0x7c>     
        default:                                                      
          rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_STATE_11);             
      }                                                               
    }                                                                 
                                                                      
    if (cur->avl.left != NULL)                                        
   4ebfc:	202a 0008      	movel %a2@(8),%d0                           
   4ec00:	671e           	beqs 4ec20 <rtems_bdbuf_purge_dev+0x8c>     
    }                                                                 
    else if (cur->avl.right != NULL)                                  
    {                                                                 
      /* Right */                                                     
      ++prev;                                                         
      *prev = cur;                                                    
   4ec02:	274a 0004      	movel %a2,%a3@(4)                           
   4ec06:	2440           	moveal %d0,%a2                              
      cur = cur->avl.left;                                            
    }                                                                 
    else if (cur->avl.right != NULL)                                  
    {                                                                 
      /* Right */                                                     
      ++prev;                                                         
   4ec08:	588b           	addql #4,%a3                                
                                                                      
  *prev = NULL;                                                       
                                                                      
  while (cur != NULL)                                                 
  {                                                                   
    if (cur->dd == dd)                                                
   4ec0a:	b9ea 0012      	cmpal %a2@(18),%a4                          
   4ec0e:	66ec           	bnes 4ebfc <rtems_bdbuf_purge_dev+0x68>     
    {                                                                 
      switch (cur->state)                                             
   4ec10:	700a           	moveq #10,%d0                               
   4ec12:	b0aa 001e      	cmpl %a2@(30),%d0                           
   4ec16:	6434           	bccs 4ec4c <rtems_bdbuf_purge_dev+0xb8>     <== ALWAYS TAKEN
        case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                          
        case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                       
          rtems_bdbuf_set_state (cur, RTEMS_BDBUF_STATE_ACCESS_PURGED);
          break;                                                      
        default:                                                      
          rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_STATE_11);             
   4ec18:	4878 0017      	pea 17 <OPER2+0x3>                          <== NOT EXECUTED
   4ec1c:	4eba df5a      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
      /* Left */                                                      
      ++prev;                                                         
      *prev = cur;                                                    
      cur = cur->avl.left;                                            
    }                                                                 
    else if (cur->avl.right != NULL)                                  
   4ec20:	202a 000c      	movel %a2@(12),%d0                          
   4ec24:	66dc           	bnes 4ec02 <rtems_bdbuf_purge_dev+0x6e>     
      *prev = cur;                                                    
      cur = cur->avl.right;                                           
    }                                                                 
    else                                                              
    {                                                                 
      while (*prev != NULL                                            
   4ec26:	2053           	moveal %a3@,%a0                             
   4ec28:	4a88           	tstl %a0                                    
   4ec2a:	6700 00ae      	beqw 4ecda <rtems_bdbuf_purge_dev+0x146>    
   4ec2e:	224b           	moveal %a3,%a1                              
             && (cur == (*prev)->avl.right || (*prev)->avl.right == NULL))
   4ec30:	2028 000c      	movel %a0@(12),%d0                          
   4ec34:	2649           	moveal %a1,%a3                              
   4ec36:	b5c0           	cmpal %d0,%a2                               
   4ec38:	6706           	beqs 4ec40 <rtems_bdbuf_purge_dev+0xac>     
   4ec3a:	4a80           	tstl %d0                                    
   4ec3c:	6600 0122      	bnew 4ed60 <rtems_bdbuf_purge_dev+0x1cc>    
      *prev = cur;                                                    
      cur = cur->avl.right;                                           
    }                                                                 
    else                                                              
    {                                                                 
      while (*prev != NULL                                            
   4ec40:	2021           	movel %a1@-,%d0                             
   4ec42:	2448           	moveal %a0,%a2                              
   4ec44:	6700 0094      	beqw 4ecda <rtems_bdbuf_purge_dev+0x146>    
   4ec48:	2040           	moveal %d0,%a0                              
   4ec4a:	60e4           	bras 4ec30 <rtems_bdbuf_purge_dev+0x9c>     
                                                                      
  while (cur != NULL)                                                 
  {                                                                   
    if (cur->dd == dd)                                                
    {                                                                 
      switch (cur->state)                                             
   4ec4c:	202a 001e      	movel %a2@(30),%d0                          
   4ec50:	d080           	addl %d0,%d0                                
   4ec52:	303b 0808      	movew %pc@(4ec5c <rtems_bdbuf_purge_dev+0xc8>,%d0:l),%d0
   4ec56:	48c0           	extl %d0                                    
   4ec58:	4efb 0802      	jmp %pc@(4ec5c <rtems_bdbuf_purge_dev+0xc8>,%d0:l)
   4ec5c:	ffa0 ffa0      	cp1stl %sp,%a0@-,#8,#416                    <== NOT EXECUTED
   4ec60:	0028           	.short 0x0028                               <== NOT EXECUTED
   4ec62:	0058           	.short 0x0058                               <== NOT EXECUTED
   4ec64:	0058           	.short 0x0058                               <== NOT EXECUTED
   4ec66:	0058           	.short 0x0058                               <== NOT EXECUTED
   4ec68:	ffa0 0020      	cp1stl %d0,%a0@-,#1,#32                     <== NOT EXECUTED
   4ec6c:	0016           	.short 0x0016                               <== NOT EXECUTED
   4ec6e:	006a           	.short 0x006a                               <== NOT EXECUTED
   4ec70:	ffa0 4879      	cp1stl %d4,%a0@-,#5,#121                    <== NOT EXECUTED
        case RTEMS_BDBUF_STATE_EMPTY:                                 
        case RTEMS_BDBUF_STATE_ACCESS_PURGED:                         
        case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                       
          break;                                                      
        case RTEMS_BDBUF_STATE_SYNC:                                  
          rtems_bdbuf_wake (&bdbuf_cache.transfer_waiters);           
   4ec74:	0006           	.short 0x0006                               
   4ec76:	37bc           	.short 0x37bc                               
   4ec78:	4e95           	jsr %a5@                                    
   4ec7a:	588f           	addql #4,%sp                                
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4ec7c:	206a 0026      	moveal %a2@(38),%a0                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_group_release (rtems_bdbuf_buffer *bd)                    
{                                                                     
  --bd->group->users;                                                 
   4ec80:	53a8 000c      	subql #1,%a0@(12)                           
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   4ec84:	2012           	movel %a2@,%d0                              
  previous       = the_node->previous;                                
  next->previous = previous;                                          
   4ec86:	2040           	moveal %d0,%a0                              
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   4ec88:	226a 0004      	moveal %a2@(4),%a1                          
  next->previous = previous;                                          
   4ec8c:	2149 0004      	movel %a1,%a0@(4)                           
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4ec90:	206e ff7c      	moveal %fp@(-132),%a0                       
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
  next->previous = previous;                                          
  previous->next = next;                                              
   4ec94:	2280           	movel %d0,%a1@                              
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
   4ec96:	2002           	movel %d2,%d0                               
   4ec98:	5880           	addql #4,%d0                                
  tail->previous = the_node;                                          
   4ec9a:	2d4a ff7c      	movel %a2,%fp@(-132)                        
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
   4ec9e:	2480           	movel %d0,%a2@                              
        default:                                                      
          rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_STATE_11);             
      }                                                               
    }                                                                 
                                                                      
    if (cur->avl.left != NULL)                                        
   4eca0:	202a 0008      	movel %a2@(8),%d0                           
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
   4eca4:	208a           	movel %a2,%a0@                              
  the_node->previous = old_last;                                      
   4eca6:	2548 0004      	movel %a0,%a2@(4)                           
   4ecaa:	4a80           	tstl %d0                                    
   4ecac:	6600 ff54      	bnew 4ec02 <rtems_bdbuf_purge_dev+0x6e>     
   4ecb0:	6000 ff6e      	braw 4ec20 <rtems_bdbuf_purge_dev+0x8c>     
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4ecb4:	7006           	moveq #6,%d0                                
   4ecb6:	2540 001e      	movel %d0,%a2@(30)                          
        default:                                                      
          rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_STATE_11);             
      }                                                               
    }                                                                 
                                                                      
    if (cur->avl.left != NULL)                                        
   4ecba:	202a 0008      	movel %a2@(8),%d0                           
   4ecbe:	6600 ff42      	bnew 4ec02 <rtems_bdbuf_purge_dev+0x6e>     
   4ecc2:	6000 ff5c      	braw 4ec20 <rtems_bdbuf_purge_dev+0x8c>     
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4ecc6:	720a           	moveq #10,%d1                               
        default:                                                      
          rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_STATE_11);             
      }                                                               
    }                                                                 
                                                                      
    if (cur->avl.left != NULL)                                        
   4ecc8:	202a 0008      	movel %a2@(8),%d0                           
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4eccc:	2541 001e      	movel %d1,%a2@(30)                          
        default:                                                      
          rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_STATE_11);             
      }                                                               
    }                                                                 
                                                                      
    if (cur->avl.left != NULL)                                        
   4ecd0:	4a80           	tstl %d0                                    
   4ecd2:	6600 ff2e      	bnew 4ec02 <rtems_bdbuf_purge_dev+0x6e>     
   4ecd6:	6000 ff48      	braw 4ec20 <rtems_bdbuf_purge_dev+0x8c>     
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   4ecda:	2442           	moveal %d2,%a2                              
   4ecdc:	588a           	addql #4,%a2                                
   4ecde:	47fa e59a      	lea %pc@(4d27a <rtems_bdbuf_discard_buffer.part.9>),%a3
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_purge_list (rtems_chain_control *purge_list)              
{                                                                     
  bool wake_buffer_waiters = false;                                   
   4ece2:	4200           	clrb %d0                                    
   4ece4:	206e ff74      	moveal %fp@(-140),%a0                       
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   4ece8:	b5c8           	cmpal %a0,%a2                               
   4ecea:	6726           	beqs 4ed12 <rtems_bdbuf_purge_dev+0x17e>    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
   4ecec:	2250           	moveal %a0@,%a1                             
                                                                      
  head->next = new_first;                                             
   4ecee:	2d49 ff74      	movel %a1,%fp@(-140)                        
  new_first->previous = head;                                         
   4ecf2:	2342 0004      	movel %d2,%a1@(4)                           
                                                                      
  while ((node = rtems_chain_get_unprotected (purge_list)) != NULL)   
  {                                                                   
    rtems_bdbuf_buffer *bd = (rtems_bdbuf_buffer *) node;             
                                                                      
    if (bd->waiters == 0)                                             
   4ecf6:	4aa8 0022      	tstl %a0@(34)                               
   4ecfa:	6628           	bnes 4ed24 <rtems_bdbuf_purge_dev+0x190>    
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4ecfc:	7001           	moveq #1,%d0                                
   4ecfe:	2140 001e      	movel %d0,%a0@(30)                          
   4ed02:	2f08           	movel %a0,%sp@-                             
   4ed04:	4e93           	jsr %a3@                                    
   4ed06:	206e ff74      	moveal %fp@(-140),%a0                       
   4ed0a:	588f           	addql #4,%sp                                
  while ((node = rtems_chain_get_unprotected (purge_list)) != NULL)   
  {                                                                   
    rtems_bdbuf_buffer *bd = (rtems_bdbuf_buffer *) node;             
                                                                      
    if (bd->waiters == 0)                                             
      wake_buffer_waiters = true;                                     
   4ed0c:	7001           	moveq #1,%d0                                
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   4ed0e:	b5c8           	cmpal %a0,%a2                               
   4ed10:	66da           	bnes 4ecec <rtems_bdbuf_purge_dev+0x158>    
                                                                      
    rtems_bdbuf_discard_buffer (bd);                                  
  }                                                                   
                                                                      
  if (wake_buffer_waiters)                                            
   4ed12:	4a00           	tstb %d0                                    
   4ed14:	6618           	bnes 4ed2e <rtems_bdbuf_purge_dev+0x19a>    
  rtems_chain_initialize_empty (&purge_list);                         
  rtems_bdbuf_lock_cache ();                                          
  rtems_bdbuf_read_ahead_reset (dd);                                  
  rtems_bdbuf_gather_for_purge (&purge_list, dd);                     
  rtems_bdbuf_purge_list (&purge_list);                               
  rtems_bdbuf_unlock_cache ();                                        
   4ed16:	4eba dee4      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
}                                                                     
   4ed1a:	4cee 3c04 ff60 	moveml %fp@(-160),%d2/%a2-%a5               
   4ed20:	4e5e           	unlk %fp                                    
   4ed22:	4e75           	rts                                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4ed24:	7201           	moveq #1,%d1                                
   4ed26:	2141 001e      	movel %d1,%a0@(30)                          
   4ed2a:	2049           	moveal %a1,%a0                              
   4ed2c:	60ba           	bras 4ece8 <rtems_bdbuf_purge_dev+0x154>    
                                                                      
    rtems_bdbuf_discard_buffer (bd);                                  
  }                                                                   
                                                                      
  if (wake_buffer_waiters)                                            
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4ed2e:	4879 0006 37c4 	pea 637c4 <bdbuf_cache+0x70>                
   4ed34:	4eba e0bc      	jsr %pc@(4cdf2 <rtems_bdbuf_wake>)          
   4ed38:	588f           	addql #4,%sp                                
  rtems_chain_initialize_empty (&purge_list);                         
  rtems_bdbuf_lock_cache ();                                          
  rtems_bdbuf_read_ahead_reset (dd);                                  
  rtems_bdbuf_gather_for_purge (&purge_list, dd);                     
  rtems_bdbuf_purge_list (&purge_list);                               
  rtems_bdbuf_unlock_cache ();                                        
   4ed3a:	4eba dec0      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
}                                                                     
   4ed3e:	4cee 3c04 ff60 	moveml %fp@(-160),%d2/%a2-%a5               
   4ed44:	4e5e           	unlk %fp                                    
   4ed46:	4e75           	rts                                         
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   4ed48:	4a89           	tstl %a1                                    
   4ed4a:	6700 fe8c      	beqw 4ebd8 <rtems_bdbuf_purge_dev+0x44>     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
  next->previous = previous;                                          
   4ed4e:	2149 0004      	movel %a1,%a0@(4)                           <== NOT EXECUTED
  previous->next = next;                                              
   4ed52:	2288           	movel %a0,%a1@                              <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   4ed54:	42ac 0066      	clrl %a4@(102)                              <== NOT EXECUTED
   4ed58:	42ac 0062      	clrl %a4@(98)                               <== NOT EXECUTED
   4ed5c:	6000 fe7a      	braw 4ebd8 <rtems_bdbuf_purge_dev+0x44>     <== NOT EXECUTED
      cur = cur->avl.right;                                           
    }                                                                 
    else                                                              
    {                                                                 
      while (*prev != NULL                                            
             && (cur == (*prev)->avl.right || (*prev)->avl.right == NULL))
   4ed60:	2440           	moveal %d0,%a2                              
                                                                      
  *prev = NULL;                                                       
                                                                      
  while (cur != NULL)                                                 
  {                                                                   
    if (cur->dd == dd)                                                
   4ed62:	b9ea 0012      	cmpal %a2@(18),%a4                          
   4ed66:	6600 fe94      	bnew 4ebfc <rtems_bdbuf_purge_dev+0x68>     
   4ed6a:	6000 fea4      	braw 4ec10 <rtems_bdbuf_purge_dev+0x7c>     
                                                                      

0004e70e <rtems_bdbuf_read>: rtems_status_code rtems_bdbuf_read (rtems_disk_device *dd, rtems_blkdev_bnum block, rtems_bdbuf_buffer **bd_ptr) {
   4e70e:	4e56 ffe4      	linkw %fp,#-28                              
   4e712:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 
   4e716:	246e 0008      	moveal %fp@(8),%a2                          
   4e71a:	2c2e 000c      	movel %fp@(12),%d6                          
  rtems_status_code     sc = RTEMS_SUCCESSFUL;                        
  rtems_bdbuf_buffer   *bd = NULL;                                    
  rtems_blkdev_bnum     media_block;                                  
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4e71e:	4eba e490      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                             rtems_blkdev_bnum        block,          
                             rtems_blkdev_bnum       *media_block_ptr)
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (block < dd->block_count)                                        
   4e722:	bcaa 0028      	cmpl %a2@(40),%d6                           
   4e726:	651a           	bcss 4e742 <rtems_bdbuf_read+0x34>          <== ALWAYS TAKEN
rtems_bdbuf_read (rtems_disk_device   *dd,                            
                  rtems_blkdev_bnum    block,                         
                  rtems_bdbuf_buffer **bd_ptr)                        
{                                                                     
  rtems_status_code     sc = RTEMS_SUCCESSFUL;                        
  rtems_bdbuf_buffer   *bd = NULL;                                    
   4e728:	97cb           	subal %a3,%a3                               <== NOT EXECUTED
     */                                                               
    *media_block_ptr = rtems_bdbuf_media_block (dd, block) + dd->start;
  }                                                                   
  else                                                                
  {                                                                   
    sc = RTEMS_INVALID_ID;                                            
   4e72a:	7404           	moveq #4,%d2                                <== NOT EXECUTED
    }                                                                 
                                                                      
    rtems_bdbuf_check_read_ahead_trigger (dd, block);                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e72c:	4eba e4ce      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  *bd_ptr = bd;                                                       
   4e730:	206e 0010      	moveal %fp@(16),%a0                         
                                                                      
  return sc;                                                          
}                                                                     
   4e734:	2002           	movel %d2,%d0                               
    rtems_bdbuf_check_read_ahead_trigger (dd, block);                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  *bd_ptr = bd;                                                       
   4e736:	208b           	movel %a3,%a0@                              
                                                                      
  return sc;                                                          
}                                                                     
   4e738:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            
   4e73e:	4e5e           	unlk %fp                                    
   4e740:	4e75           	rts                                         
}                                                                     
                                                                      
static rtems_blkdev_bnum                                              
rtems_bdbuf_media_block (const rtems_disk_device *dd, rtems_blkdev_bnum block)
{                                                                     
  if (dd->block_to_media_block_shift >= 0)                            
   4e742:	202a 0030      	movel %a2@(48),%d0                          
   4e746:	6d00 0124      	bltw 4e86c <rtems_bdbuf_read+0x15e>         
    return block << dd->block_to_media_block_shift;                   
   4e74a:	2206           	movel %d6,%d1                               
   4e74c:	e1a9           	lsll %d0,%d1                                
  {                                                                   
    if (rtems_bdbuf_tracer)                                           
      printf ("bdbuf:read: %" PRIu32 " (%" PRIu32 ") (dev = %08x)\n", 
              media_block + dd->start, block, (unsigned) dd->dev);    
                                                                      
    bd = rtems_bdbuf_get_buffer_for_access (dd, media_block);         
   4e74e:	d2aa 0018      	addl %a2@(24),%d1                           
   4e752:	2f01           	movel %d1,%sp@-                             
   4e754:	2f0a           	movel %a2,%sp@-                             
   4e756:	4eba efb0      	jsr %pc@(4d708 <rtems_bdbuf_get_buffer_for_access>)
    switch (bd->state)                                                
   4e75a:	508f           	addql #8,%sp                                
   4e75c:	7202           	moveq #2,%d1                                
  {                                                                   
    if (rtems_bdbuf_tracer)                                           
      printf ("bdbuf:read: %" PRIu32 " (%" PRIu32 ") (dev = %08x)\n", 
              media_block + dd->start, block, (unsigned) dd->dev);    
                                                                      
    bd = rtems_bdbuf_get_buffer_for_access (dd, media_block);         
   4e75e:	2640           	moveal %d0,%a3                              
    switch (bd->state)                                                
   4e760:	202b 001e      	movel %a3@(30),%d0                          
   4e764:	b280           	cmpl %d0,%d1                                
   4e766:	6700 00f4      	beqw 4e85c <rtems_bdbuf_read+0x14e>         
   4e76a:	123c 0007      	moveb #7,%d1                                
   4e76e:	b280           	cmpl %d0,%d1                                
   4e770:	6712           	beqs 4e784 <rtems_bdbuf_read+0x76>          
   4e772:	123c 0001      	moveb #1,%d1                                
   4e776:	b280           	cmpl %d0,%d1                                
   4e778:	677a           	beqs 4e7f4 <rtems_bdbuf_read+0xe6>          <== ALWAYS TAKEN
        {                                                             
          bd = NULL;                                                  
        }                                                             
        break;                                                        
      default:                                                        
        rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_4);
   4e77a:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   4e77e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e780:	4eba e444      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
      case RTEMS_BDBUF_STATE_CACHED:                                  
        ++dd->stats.read_hits;                                        
        rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_ACCESS_CACHED);  
        break;                                                        
      case RTEMS_BDBUF_STATE_MODIFIED:                                
        ++dd->stats.read_hits;                                        
   4e784:	52aa 0042      	addql #1,%a2@(66)                           
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4e788:	7204           	moveq #4,%d1                                
   4e78a:	4282           	clrl %d2                                    
   4e78c:	2741 001e      	movel %d1,%a3@(30)                          
                                                                      
static void                                                           
rtems_bdbuf_check_read_ahead_trigger (rtems_disk_device *dd,          
                                      rtems_blkdev_bnum  block)       
{                                                                     
  if (bdbuf_cache.read_ahead_task != 0                                
   4e790:	2039 0006 37d4 	movel 637d4 <bdbuf_cache+0x80>,%d0          
   4e796:	6794           	beqs 4e72c <rtems_bdbuf_read+0x1e>          
      && dd->read_ahead.trigger == block                              
   4e798:	bcaa 006a      	cmpl %a2@(106),%d6                          
   4e79c:	668e           	bnes 4e72c <rtems_bdbuf_read+0x1e>          
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   4e79e:	4aaa 0062      	tstl %a2@(98)                               
   4e7a2:	6688           	bnes 4e72c <rtems_bdbuf_read+0x1e>          <== NEVER TAKEN
   4e7a4:	4aaa 0066      	tstl %a2@(102)                              
   4e7a8:	6682           	bnes 4e72c <rtems_bdbuf_read+0x1e>          <== NEVER TAKEN
      && !rtems_bdbuf_is_read_ahead_active (dd))                      
  {                                                                   
    rtems_status_code sc;                                             
    rtems_chain_control *chain = &bdbuf_cache.read_ahead_chain;       
                                                                      
    if (rtems_chain_is_empty (chain))                                 
   4e7aa:	223c 0006 37dc 	movel #407516,%d1                           
   4e7b0:	b2b9 0006 37d8 	cmpl 637d8 <bdbuf_cache+0x84>,%d1           
   4e7b6:	6700 010c      	beqw 4e8c4 <rtems_bdbuf_read+0x1b6>         
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4e7ba:	2079 0006 37e0 	moveal 637e0 <bdbuf_cache+0x8c>,%a0         
                             RTEMS_BDBUF_READ_AHEAD_WAKE_UP);         
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_RA_WAKE_UP);             
    }                                                                 
                                                                      
    rtems_chain_append_unprotected (chain, &dd->read_ahead.node);     
   4e7c0:	200a           	movel %a2,%d0                               
   4e7c2:	0680 0000 0062 	addil #98,%d0                               
                                                                      
  the_node->next = tail;                                              
   4e7c8:	223c 0006 37dc 	movel #407516,%d1                           
  tail->previous = the_node;                                          
   4e7ce:	23c0 0006 37e0 	movel %d0,637e0 <bdbuf_cache+0x8c>          
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
   4e7d4:	2541 0062      	movel %d1,%a2@(98)                          
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
  the_node->previous = old_last;                                      
   4e7d8:	2548 0066      	movel %a0,%a2@(102)                         
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
   4e7dc:	2080           	movel %d0,%a0@                              
    }                                                                 
                                                                      
    rtems_bdbuf_check_read_ahead_trigger (dd, block);                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e7de:	4eba e41c      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  *bd_ptr = bd;                                                       
   4e7e2:	206e 0010      	moveal %fp@(16),%a0                         
                                                                      
  return sc;                                                          
}                                                                     
   4e7e6:	2002           	movel %d2,%d0                               
    rtems_bdbuf_check_read_ahead_trigger (dd, block);                 
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  *bd_ptr = bd;                                                       
   4e7e8:	208b           	movel %a3,%a0@                              
                                                                      
  return sc;                                                          
}                                                                     
   4e7ea:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            
   4e7f0:	4e5e           	unlk %fp                                    
   4e7f2:	4e75           	rts                                         
      case RTEMS_BDBUF_STATE_MODIFIED:                                
        ++dd->stats.read_hits;                                        
        rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_ACCESS_MODIFIED);
        break;                                                        
      case RTEMS_BDBUF_STATE_EMPTY:                                   
        ++dd->stats.read_misses;                                      
   4e7f4:	52aa 0046      	addql #1,%a2@(70)                           
                                                                      
static void                                                           
rtems_bdbuf_set_read_ahead_trigger (rtems_disk_device *dd,            
                                    rtems_blkdev_bnum  block)         
{                                                                     
  if (dd->read_ahead.trigger != block)                                
   4e7f8:	bcaa 006a      	cmpl %a2@(106),%d6                          
   4e7fc:	672c           	beqs 4e82a <rtems_bdbuf_read+0x11c>         
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   4e7fe:	206a 0062      	moveal %a2@(98),%a0                         
   4e802:	4a88           	tstl %a0                                    
   4e804:	6700 00a0      	beqw 4e8a6 <rtems_bdbuf_read+0x198>         
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   4e808:	226a 0066      	moveal %a2@(102),%a1                        <== NOT EXECUTED
  next->previous = previous;                                          
   4e80c:	2149 0004      	movel %a1,%a0@(4)                           <== NOT EXECUTED
  previous->next = next;                                              
   4e810:	2288           	movel %a0,%a1@                              <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   4e812:	42aa 0066      	clrl %a2@(102)                              <== NOT EXECUTED
   4e816:	42aa 0062      	clrl %a2@(98)                               <== NOT EXECUTED
  {                                                                   
    rtems_bdbuf_read_ahead_cancel (dd);                               
    dd->read_ahead.trigger = block + 1;                               
   4e81a:	2006           	movel %d6,%d0                               
    dd->read_ahead.next = block + 2;                                  
   4e81c:	2206           	movel %d6,%d1                               
                                    rtems_blkdev_bnum  block)         
{                                                                     
  if (dd->read_ahead.trigger != block)                                
  {                                                                   
    rtems_bdbuf_read_ahead_cancel (dd);                               
    dd->read_ahead.trigger = block + 1;                               
   4e81e:	5280           	addql #1,%d0                                
    dd->read_ahead.next = block + 2;                                  
   4e820:	5481           	addql #2,%d1                                
                                    rtems_blkdev_bnum  block)         
{                                                                     
  if (dd->read_ahead.trigger != block)                                
  {                                                                   
    rtems_bdbuf_read_ahead_cancel (dd);                               
    dd->read_ahead.trigger = block + 1;                               
   4e822:	2540 006a      	movel %d0,%a2@(106)                         
    dd->read_ahead.next = block + 2;                                  
   4e826:	2541 006e      	movel %d1,%a2@(110)                         
        rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_ACCESS_MODIFIED);
        break;                                                        
      case RTEMS_BDBUF_STATE_EMPTY:                                   
        ++dd->stats.read_misses;                                      
        rtems_bdbuf_set_read_ahead_trigger (dd, block);               
        sc = rtems_bdbuf_execute_read_request (dd, bd, 1);            
   4e82a:	4878 0001      	pea 1 <ADD>                                 
   4e82e:	2f0b           	movel %a3,%sp@-                             
   4e830:	2f0a           	movel %a2,%sp@-                             
   4e832:	4eba f736      	jsr %pc@(4df6a <rtems_bdbuf_execute_read_request>)
        if (sc == RTEMS_SUCCESSFUL)                                   
   4e836:	4fef 000c      	lea %sp@(12),%sp                            
        rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_ACCESS_MODIFIED);
        break;                                                        
      case RTEMS_BDBUF_STATE_EMPTY:                                   
        ++dd->stats.read_misses;                                      
        rtems_bdbuf_set_read_ahead_trigger (dd, block);               
        sc = rtems_bdbuf_execute_read_request (dd, bd, 1);            
   4e83a:	2400           	movel %d0,%d2                               
        if (sc == RTEMS_SUCCESSFUL)                                   
   4e83c:	6662           	bnes 4e8a0 <rtems_bdbuf_read+0x192>         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4e83e:	7003           	moveq #3,%d0                                
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   4e840:	206b 0004      	moveal %a3@(4),%a0                          
   4e844:	2740 001e      	movel %d0,%a3@(30)                          
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   4e848:	2253           	moveal %a3@,%a1                             
  previous       = the_node->previous;                                
  next->previous = previous;                                          
   4e84a:	2348 0004      	movel %a0,%a1@(4)                           
  previous->next = next;                                              
   4e84e:	2089           	movel %a1,%a0@                              
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4e850:	206b 0026      	moveal %a3@(38),%a0                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_group_obtain (rtems_bdbuf_buffer *bd)                     
{                                                                     
  ++bd->group->users;                                                 
   4e854:	52a8 000c      	addql #1,%a0@(12)                           
   4e858:	6000 ff36      	braw 4e790 <rtems_bdbuf_read+0x82>          
                                                                      
    bd = rtems_bdbuf_get_buffer_for_access (dd, media_block);         
    switch (bd->state)                                                
    {                                                                 
      case RTEMS_BDBUF_STATE_CACHED:                                  
        ++dd->stats.read_hits;                                        
   4e85c:	52aa 0042      	addql #1,%a2@(66)                           
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4e860:	7003           	moveq #3,%d0                                
   4e862:	4282           	clrl %d2                                    
   4e864:	2740 001e      	movel %d0,%a3@(30)                          
   4e868:	6000 ff26      	braw 4e790 <rtems_bdbuf_read+0x82>          
    /*                                                                
     * Change the block number for the block size to the block number for the media
     * block size. We have to use 64bit maths. There is no short cut here.
     */                                                               
    return (rtems_blkdev_bnum)                                        
      ((((uint64_t) block) * dd->block_size) / dd->media_block_size); 
   4e86c:	2a2a 0024      	movel %a2@(36),%d5                          <== NOT EXECUTED
   4e870:	4284           	clrl %d4                                    <== NOT EXECUTED
   4e872:	4282           	clrl %d2                                    <== NOT EXECUTED
   4e874:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   4e876:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4e878:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   4e87a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4e87c:	4eb9 0005 efa4 	jsr 5efa4 <__muldi3>                        <== NOT EXECUTED
   4e882:	262a 0020      	movel %a2@(32),%d3                          <== NOT EXECUTED
   4e886:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e88a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   4e88c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4e88e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4e890:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e892:	4eb9 0005 f858 	jsr 5f858 <__udivdi3>                       <== NOT EXECUTED
   4e898:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e89c:	6000 feb0      	braw 4e74e <rtems_bdbuf_read+0x40>          <== NOT EXECUTED
          rtems_chain_extract_unprotected (&bd->link);                
          rtems_bdbuf_group_obtain (bd);                              
        }                                                             
        else                                                          
        {                                                             
          bd = NULL;                                                  
   4e8a0:	97cb           	subal %a3,%a3                               
   4e8a2:	6000 feec      	braw 4e790 <rtems_bdbuf_read+0x82>          
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   4e8a6:	4aaa 0066      	tstl %a2@(102)                              
   4e8aa:	6700 ff6e      	beqw 4e81a <rtems_bdbuf_read+0x10c>         
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   4e8ae:	226a 0066      	moveal %a2@(102),%a1                        <== NOT EXECUTED
  next->previous = previous;                                          
   4e8b2:	2149 0004      	movel %a1,%a0@(4)                           <== NOT EXECUTED
  previous->next = next;                                              
   4e8b6:	2288           	movel %a0,%a1@                              <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   4e8b8:	42aa 0066      	clrl %a2@(102)                              <== NOT EXECUTED
   4e8bc:	42aa 0062      	clrl %a2@(98)                               <== NOT EXECUTED
   4e8c0:	6000 ff58      	braw 4e81a <rtems_bdbuf_read+0x10c>         <== NOT EXECUTED
    rtems_status_code sc;                                             
    rtems_chain_control *chain = &bdbuf_cache.read_ahead_chain;       
                                                                      
    if (rtems_chain_is_empty (chain))                                 
    {                                                                 
      sc = rtems_event_send (bdbuf_cache.read_ahead_task,             
   4e8c4:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4e8c8:	2f00           	movel %d0,%sp@-                             
   4e8ca:	4eb9 0004 874c 	jsr 4874c <rtems_event_send>                
                             RTEMS_BDBUF_READ_AHEAD_WAKE_UP);         
      if (sc != RTEMS_SUCCESSFUL)                                     
   4e8d0:	508f           	addql #8,%sp                                
   4e8d2:	4a80           	tstl %d0                                    
   4e8d4:	6700 fee4      	beqw 4e7ba <rtems_bdbuf_read+0xac>          
        rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_RA_WAKE_UP);             
   4e8d8:	4878 0007      	pea 7 <TRUNCDFSF>                           <== NOT EXECUTED
   4e8dc:	4eba e29a      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004e070 <rtems_bdbuf_read_ahead_task>: return sc; } static rtems_task rtems_bdbuf_read_ahead_task (rtems_task_argument arg) {
   4e070:	4e56 ffd0      	linkw %fp,#-48                              
   4e074:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  rtems_chain_control *chain = &bdbuf_cache.read_ahead_chain;         
                                                                      
  while (bdbuf_cache.read_ahead_enabled)                              
   4e078:	4a39 0006 37e4 	tstb 637e4 <bdbuf_cache+0x90>               
   4e07e:	6772           	beqs 4e0f2 <rtems_bdbuf_read_ahead_task+0x82><== NEVER TAKEN
          rtems_bdbuf_get_buffer_for_read_ahead (dd, media_block);    
                                                                      
        if (bd != NULL)                                               
        {                                                             
          uint32_t transfer_count = dd->block_count - block;          
          uint32_t max_transfer_count = bdbuf_config.max_read_ahead_blocks;
   4e080:	2439 0006 0c12 	movel 60c12 <rtems_bdbuf_configuration>,%d2 
                                                                      
          if (transfer_count >= max_transfer_count)                   
          {                                                           
            transfer_count = max_transfer_count;                      
            dd->read_ahead.trigger = block + transfer_count / 2;      
   4e086:	2a02           	movel %d2,%d5                               
   4e088:	4bfa eb72      	lea %pc@(4cbfc <rtems_bdbuf_unlock_cache>),%a5
                                                                      
      rtems_chain_set_off_chain (&dd->read_ahead.node);               
                                                                      
      if (sc == RTEMS_SUCCESSFUL)                                     
      {                                                               
        rtems_bdbuf_buffer *bd =                                      
   4e08c:	47fa f622      	lea %pc@(4d6b0 <rtems_bdbuf_get_buffer_for_read_ahead>),%a3
          {                                                           
            dd->read_ahead.trigger = RTEMS_DISK_READ_AHEAD_NO_TRIGGER;
          }                                                           
                                                                      
          ++dd->stats.read_ahead_transfers;                           
          rtems_bdbuf_execute_read_request (dd, bd, transfer_count);  
   4e090:	49fa fed8      	lea %pc@(4df6a <rtems_bdbuf_execute_read_request>),%a4
          uint32_t max_transfer_count = bdbuf_config.max_read_ahead_blocks;
                                                                      
          if (transfer_count >= max_transfer_count)                   
          {                                                           
            transfer_count = max_transfer_count;                      
            dd->read_ahead.trigger = block + transfer_count / 2;      
   4e094:	e28d           	lsrl #1,%d5                                 
                                                                      
  while (bdbuf_cache.read_ahead_enabled)                              
  {                                                                   
    rtems_chain_node *node;                                           
                                                                      
    rtems_bdbuf_wait_for_event (RTEMS_BDBUF_READ_AHEAD_WAKE_UP);      
   4e096:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4e09a:	4eba ec8e      	jsr %pc@(4cd2a <rtems_bdbuf_wait_for_event>)
    rtems_bdbuf_lock_cache ();                                        
   4e09e:	4eba eb10      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
    while ((node = rtems_chain_get_unprotected (chain)) != NULL)      
   4e0a2:	588f           	addql #4,%sp                                
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4e0a4:	2479 0006 37d8 	moveal 637d8 <bdbuf_cache+0x84>,%a2         
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   4e0aa:	b5fc 0006 37dc 	cmpal #407516,%a2                           
   4e0b0:	6736           	beqs 4e0e8 <rtems_bdbuf_read_ahead_task+0x78>
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
   4e0b2:	2052           	moveal %a2@,%a0                             
                                                                      
  head->next = new_first;                                             
  new_first->previous = head;                                         
   4e0b4:	203c 0006 37d8 	movel #407512,%d0                           
    {                                                                 
      rtems_disk_device *dd = (rtems_disk_device *)                   
        ((char *) node - offsetof (rtems_disk_device, read_ahead.node));
      rtems_blkdev_bnum block = dd->read_ahead.next;                  
   4e0ba:	262a 000c      	movel %a2@(12),%d3                          
   4e0be:	2140 0004      	movel %d0,%a0@(4)                           
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
                                                                      
  head->next = new_first;                                             
   4e0c2:	23c8 0006 37d8 	movel %a0,637d8 <bdbuf_cache+0x84>          
                             rtems_blkdev_bnum        block,          
                             rtems_blkdev_bnum       *media_block_ptr)
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (block < dd->block_count)                                        
   4e0c8:	b6aa ffc6      	cmpl %a2@(-58),%d3                          
   4e0cc:	6536           	bcss 4e104 <rtems_bdbuf_read_ahead_task+0x94>
          rtems_bdbuf_execute_read_request (dd, bd, transfer_count);  
        }                                                             
      }                                                               
      else                                                            
      {                                                               
        dd->read_ahead.trigger = RTEMS_DISK_READ_AHEAD_NO_TRIGGER;    
   4e0ce:	72ff           	moveq #-1,%d1                               
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   4e0d0:	42aa 0004      	clrl %a2@(4)                                
   4e0d4:	4292           	clrl %a2@                                   
   4e0d6:	2541 0008      	movel %d1,%a2@(8)                           
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4e0da:	2479 0006 37d8 	moveal 637d8 <bdbuf_cache+0x84>,%a2         
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   4e0e0:	b5fc 0006 37dc 	cmpal #407516,%a2                           
   4e0e6:	66ca           	bnes 4e0b2 <rtems_bdbuf_read_ahead_task+0x42><== NEVER TAKEN
      }                                                               
    }                                                                 
                                                                      
    rtems_bdbuf_unlock_cache ();                                      
   4e0e8:	4e95           	jsr %a5@                                    
static rtems_task                                                     
rtems_bdbuf_read_ahead_task (rtems_task_argument arg)                 
{                                                                     
  rtems_chain_control *chain = &bdbuf_cache.read_ahead_chain;         
                                                                      
  while (bdbuf_cache.read_ahead_enabled)                              
   4e0ea:	4a39 0006 37e4 	tstb 637e4 <bdbuf_cache+0x90>               
   4e0f0:	66a4           	bnes 4e096 <rtems_bdbuf_read_ahead_task+0x26><== ALWAYS TAKEN
    }                                                                 
                                                                      
    rtems_bdbuf_unlock_cache ();                                      
  }                                                                   
                                                                      
  rtems_task_delete (RTEMS_SELF);                                     
   4e0f2:	42ae 0008      	clrl %fp@(8)                                <== NOT EXECUTED
}                                                                     
   4e0f6:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4e0fc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    }                                                                 
                                                                      
    rtems_bdbuf_unlock_cache ();                                      
  }                                                                   
                                                                      
  rtems_task_delete (RTEMS_SELF);                                     
   4e0fe:	4ef9 0004 9014 	jmp 49014 <rtems_task_delete>               <== NOT EXECUTED
}                                                                     
                                                                      
static rtems_blkdev_bnum                                              
rtems_bdbuf_media_block (const rtems_disk_device *dd, rtems_blkdev_bnum block)
{                                                                     
  if (dd->block_to_media_block_shift >= 0)                            
   4e104:	202a ffce      	movel %a2@(-50),%d0                         
   4e108:	6d6c           	blts 4e176 <rtems_bdbuf_read_ahead_task+0x106><== NEVER TAKEN
    return block << dd->block_to_media_block_shift;                   
   4e10a:	2203           	movel %d3,%d1                               
   4e10c:	e1a9           	lsll %d0,%d1                                
    /*                                                                
     * Compute the media block number. Drivers work with media block number not
     * the block number a BD may have as this depends on the block size set by
     * the user.                                                      
     */                                                               
    *media_block_ptr = rtems_bdbuf_media_block (dd, block) + dd->start;
   4e10e:	d2aa ffb6      	addl %a2@(-74),%d1                          
    rtems_bdbuf_wait_for_event (RTEMS_BDBUF_READ_AHEAD_WAKE_UP);      
    rtems_bdbuf_lock_cache ();                                        
                                                                      
    while ((node = rtems_chain_get_unprotected (chain)) != NULL)      
    {                                                                 
      rtems_disk_device *dd = (rtems_disk_device *)                   
   4e112:	280a           	movel %a2,%d4                               
   4e114:	0684 ffff ff9e 	addil #-98,%d4                              
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   4e11a:	42aa 0004      	clrl %a2@(4)                                
   4e11e:	4292           	clrl %a2@                                   
                                                                      
      rtems_chain_set_off_chain (&dd->read_ahead.node);               
                                                                      
      if (sc == RTEMS_SUCCESSFUL)                                     
      {                                                               
        rtems_bdbuf_buffer *bd =                                      
   4e120:	2f01           	movel %d1,%sp@-                             
   4e122:	2f04           	movel %d4,%sp@-                             
   4e124:	4e93           	jsr %a3@                                    
          rtems_bdbuf_get_buffer_for_read_ahead (dd, media_block);    
                                                                      
        if (bd != NULL)                                               
   4e126:	508f           	addql #8,%sp                                
   4e128:	4a80           	tstl %d0                                    
   4e12a:	6700 ff78      	beqw 4e0a4 <rtems_bdbuf_read_ahead_task+0x34>
        {                                                             
          uint32_t transfer_count = dd->block_count - block;          
   4e12e:	222a ffc6      	movel %a2@(-58),%d1                         
   4e132:	9283           	subl %d3,%d1                                
          uint32_t max_transfer_count = bdbuf_config.max_read_ahead_blocks;
                                                                      
          if (transfer_count >= max_transfer_count)                   
   4e134:	b481           	cmpl %d1,%d2                                
   4e136:	6224           	bhis 4e15c <rtems_bdbuf_read_ahead_task+0xec>
          {                                                           
            transfer_count = max_transfer_count;                      
            dd->read_ahead.trigger = block + transfer_count / 2;      
   4e138:	2205           	movel %d5,%d1                               
   4e13a:	d283           	addl %d3,%d1                                
            dd->read_ahead.next = block + transfer_count;             
   4e13c:	d682           	addl %d2,%d3                                
          else                                                        
          {                                                           
            dd->read_ahead.trigger = RTEMS_DISK_READ_AHEAD_NO_TRIGGER;
          }                                                           
                                                                      
          ++dd->stats.read_ahead_transfers;                           
   4e13e:	52aa ffe8      	addql #1,%a2@(-24)                          
          uint32_t max_transfer_count = bdbuf_config.max_read_ahead_blocks;
                                                                      
          if (transfer_count >= max_transfer_count)                   
          {                                                           
            transfer_count = max_transfer_count;                      
            dd->read_ahead.trigger = block + transfer_count / 2;      
   4e142:	2541 0008      	movel %d1,%a2@(8)                           
            dd->read_ahead.next = block + transfer_count;             
   4e146:	2202           	movel %d2,%d1                               
   4e148:	2543 000c      	movel %d3,%a2@(12)                          
          {                                                           
            dd->read_ahead.trigger = RTEMS_DISK_READ_AHEAD_NO_TRIGGER;
          }                                                           
                                                                      
          ++dd->stats.read_ahead_transfers;                           
          rtems_bdbuf_execute_read_request (dd, bd, transfer_count);  
   4e14c:	2f01           	movel %d1,%sp@-                             
   4e14e:	2f00           	movel %d0,%sp@-                             
   4e150:	2f04           	movel %d4,%sp@-                             
   4e152:	4e94           	jsr %a4@                                    
   4e154:	4fef 000c      	lea %sp@(12),%sp                            
   4e158:	6000 ff4a      	braw 4e0a4 <rtems_bdbuf_read_ahead_task+0x34>
            dd->read_ahead.trigger = block + transfer_count / 2;      
            dd->read_ahead.next = block + transfer_count;             
          }                                                           
          else                                                        
          {                                                           
            dd->read_ahead.trigger = RTEMS_DISK_READ_AHEAD_NO_TRIGGER;
   4e15c:	76ff           	moveq #-1,%d3                               
          }                                                           
                                                                      
          ++dd->stats.read_ahead_transfers;                           
   4e15e:	52aa ffe8      	addql #1,%a2@(-24)                          
            dd->read_ahead.trigger = block + transfer_count / 2;      
            dd->read_ahead.next = block + transfer_count;             
          }                                                           
          else                                                        
          {                                                           
            dd->read_ahead.trigger = RTEMS_DISK_READ_AHEAD_NO_TRIGGER;
   4e162:	2543 0008      	movel %d3,%a2@(8)                           
          }                                                           
                                                                      
          ++dd->stats.read_ahead_transfers;                           
          rtems_bdbuf_execute_read_request (dd, bd, transfer_count);  
   4e166:	2f01           	movel %d1,%sp@-                             
   4e168:	2f00           	movel %d0,%sp@-                             
   4e16a:	2f04           	movel %d4,%sp@-                             
   4e16c:	4e94           	jsr %a4@                                    
   4e16e:	4fef 000c      	lea %sp@(12),%sp                            
   4e172:	6000 ff30      	braw 4e0a4 <rtems_bdbuf_read_ahead_task+0x34>
    /*                                                                
     * Change the block number for the block size to the block number for the media
     * block size. We have to use 64bit maths. There is no short cut here.
     */                                                               
    return (rtems_blkdev_bnum)                                        
      ((((uint64_t) block) * dd->block_size) / dd->media_block_size); 
   4e176:	2e2a ffc2      	movel %a2@(-62),%d7                         <== NOT EXECUTED
   4e17a:	4286           	clrl %d6                                    <== NOT EXECUTED
   4e17c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   4e17e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4e180:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   4e182:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   4e184:	4eb9 0005 efa4 	jsr 5efa4 <__muldi3>                        <== NOT EXECUTED
   4e18a:	206a ffbe      	moveal %a2@(-66),%a0                        <== NOT EXECUTED
   4e18e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e192:	2d48 fffc      	movel %a0,%fp@(-4)                          <== NOT EXECUTED
   4e196:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   4e19a:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   4e19c:	2d48 fff8      	movel %a0,%fp@(-8)                          <== NOT EXECUTED
   4e1a0:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
   4e1a4:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4e1a6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e1a8:	4eb9 0005 f858 	jsr 5f858 <__udivdi3>                       <== NOT EXECUTED
   4e1ae:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e1b2:	6000 ff5a      	braw 4e10e <rtems_bdbuf_read_ahead_task+0x9e><== NOT EXECUTED
                                                                      

0004e8e0 <rtems_bdbuf_release>: return RTEMS_SUCCESSFUL; } rtems_status_code rtems_bdbuf_release (rtems_bdbuf_buffer *bd) {
   4e8e0:	4e56 0000      	linkw %fp,#0                                
   4e8e4:	2f0a           	movel %a2,%sp@-                             
   4e8e6:	246e 0008      	moveal %fp@(8),%a2                          
}                                                                     
                                                                      
static rtems_status_code                                              
rtems_bdbuf_check_bd_and_lock_cache (rtems_bdbuf_buffer *bd, const char *kind)
{                                                                     
  if (bd == NULL)                                                     
   4e8ea:	4a8a           	tstl %a2                                    
   4e8ec:	6722           	beqs 4e910 <rtems_bdbuf_release+0x30>       <== NEVER TAKEN
  if (rtems_bdbuf_tracer)                                             
  {                                                                   
    printf ("bdbuf:%s: %" PRIu32 "\n", kind, bd->block);              
    rtems_bdbuf_show_users (kind, bd);                                
  }                                                                   
  rtems_bdbuf_lock_cache();                                           
   4e8ee:	4eba e2c0      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
  sc = rtems_bdbuf_check_bd_and_lock_cache (bd, "release");           
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  switch (bd->state)                                                  
   4e8f2:	202a 001e      	movel %a2@(30),%d0                          
   4e8f6:	7204           	moveq #4,%d1                                
   4e8f8:	b280           	cmpl %d0,%d1                                
   4e8fa:	673a           	beqs 4e936 <rtems_bdbuf_release+0x56>       
   4e8fc:	651c           	bcss 4e91a <rtems_bdbuf_release+0x3a>       
   4e8fe:	123c 0003      	moveb #3,%d1                                
   4e902:	b280           	cmpl %d0,%d1                                
   4e904:	6740           	beqs 4e946 <rtems_bdbuf_release+0x66>       <== ALWAYS TAKEN
      break;                                                          
    case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                           
      rtems_bdbuf_add_to_modified_list_after_access (bd);             
      break;                                                          
    default:                                                          
      rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_0);
   4e906:	4878 000e      	pea e <OPER1+0x2>                           <== NOT EXECUTED
   4e90a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e90c:	4eba e2b8      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4e910:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
                                                                      
static rtems_status_code                                              
rtems_bdbuf_check_bd_and_lock_cache (rtems_bdbuf_buffer *bd, const char *kind)
{                                                                     
  if (bd == NULL)                                                     
    return RTEMS_INVALID_ADDRESS;                                     
   4e914:	7009           	moveq #9,%d0                                <== NOT EXECUTED
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4e916:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e918:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  sc = rtems_bdbuf_check_bd_and_lock_cache (bd, "release");           
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  switch (bd->state)                                                  
   4e91a:	7206           	moveq #6,%d1                                
   4e91c:	b280           	cmpl %d0,%d1                                
   4e91e:	65e6           	bcss 4e906 <rtems_bdbuf_release+0x26>       <== NEVER TAKEN
    case RTEMS_BDBUF_STATE_ACCESS_CACHED:                             
      rtems_bdbuf_add_to_lru_list_after_access (bd);                  
      break;                                                          
    case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                              
    case RTEMS_BDBUF_STATE_ACCESS_PURGED:                             
      rtems_bdbuf_discard_buffer_after_access (bd);                   
   4e920:	2f0a           	movel %a2,%sp@-                             
   4e922:	4eba e988      	jsr %pc@(4d2ac <rtems_bdbuf_discard_buffer_after_access>)
      break;                                                          
   4e926:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e928:	4eba e2d2      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4e92c:	4280           	clrl %d0                                    
}                                                                     
   4e92e:	246e fffc      	moveal %fp@(-4),%a2                         
   4e932:	4e5e           	unlk %fp                                    
   4e934:	4e75           	rts                                         
    case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                              
    case RTEMS_BDBUF_STATE_ACCESS_PURGED:                             
      rtems_bdbuf_discard_buffer_after_access (bd);                   
      break;                                                          
    case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                           
      rtems_bdbuf_add_to_modified_list_after_access (bd);             
   4e936:	2f0a           	movel %a2,%sp@-                             
   4e938:	4eba e4e0      	jsr %pc@(4ce1a <rtems_bdbuf_add_to_modified_list_after_access>)
      break;                                                          
   4e93c:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e93e:	4eba e2bc      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4e942:	4280           	clrl %d0                                    
   4e944:	60e8           	bras 4e92e <rtems_bdbuf_release+0x4e>       
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4e946:	206a 0026      	moveal %a2@(38),%a0                         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_group_release (rtems_bdbuf_buffer *bd)                    
{                                                                     
  --bd->group->users;                                                 
   4e94a:	53a8 000c      	subql #1,%a0@(12)                           
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4e94e:	7002           	moveq #2,%d0                                
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4e950:	2079 0006 3798 	moveal 63798 <bdbuf_cache+0x44>,%a0         
   4e956:	2540 001e      	movel %d0,%a2@(30)                          
                                                                      
  the_node->next = tail;                                              
   4e95a:	24bc 0006 3794 	movel #407444,%a2@                          
  tail->previous = the_node;                                          
   4e960:	23ca 0006 3798 	movel %a2,63798 <bdbuf_cache+0x44>          
  old_last->next = the_node;                                          
   4e966:	208a           	movel %a2,%a0@                              
  the_node->previous = old_last;                                      
   4e968:	2548 0004      	movel %a0,%a2@(4)                           
rtems_bdbuf_add_to_lru_list_after_access (rtems_bdbuf_buffer *bd)     
{                                                                     
  rtems_bdbuf_group_release (bd);                                     
  rtems_bdbuf_make_cached_and_add_to_lru_list (bd);                   
                                                                      
  if (bd->waiters)                                                    
   4e96c:	4aaa 0022      	tstl %a2@(34)                               
   4e970:	6614           	bnes 4e986 <rtems_bdbuf_release+0xa6>       
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
  else                                                                
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4e972:	4879 0006 37c4 	pea 637c4 <bdbuf_cache+0x70>                
   4e978:	4eba e478      	jsr %pc@(4cdf2 <rtems_bdbuf_wake>)          
   4e97c:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e97e:	4eba e27c      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4e982:	4280           	clrl %d0                                    
   4e984:	60a8           	bras 4e92e <rtems_bdbuf_release+0x4e>       
{                                                                     
  rtems_bdbuf_group_release (bd);                                     
  rtems_bdbuf_make_cached_and_add_to_lru_list (bd);                   
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
   4e986:	4879 0006 37b4 	pea 637b4 <bdbuf_cache+0x60>                
   4e98c:	4eba e464      	jsr %pc@(4cdf2 <rtems_bdbuf_wake>)          
   4e990:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e992:	4eba e268      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4e996:	4280           	clrl %d0                                    
   4e998:	6094           	bras 4e92e <rtems_bdbuf_release+0x4e>       
                                                                      

0004e99a <rtems_bdbuf_release_modified>: } rtems_status_code rtems_bdbuf_release_modified (rtems_bdbuf_buffer *bd) {
   4e99a:	4e56 0000      	linkw %fp,#0                                
   4e99e:	2f0a           	movel %a2,%sp@-                             
   4e9a0:	246e 0008      	moveal %fp@(8),%a2                          
}                                                                     
                                                                      
static rtems_status_code                                              
rtems_bdbuf_check_bd_and_lock_cache (rtems_bdbuf_buffer *bd, const char *kind)
{                                                                     
  if (bd == NULL)                                                     
   4e9a4:	4a8a           	tstl %a2                                    
   4e9a6:	674e           	beqs 4e9f6 <rtems_bdbuf_release_modified+0x5c><== NEVER TAKEN
  if (rtems_bdbuf_tracer)                                             
  {                                                                   
    printf ("bdbuf:%s: %" PRIu32 "\n", kind, bd->block);              
    rtems_bdbuf_show_users (kind, bd);                                
  }                                                                   
  rtems_bdbuf_lock_cache();                                           
   4e9a8:	4eba e206      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
  sc = rtems_bdbuf_check_bd_and_lock_cache (bd, "release modified");  
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  switch (bd->state)                                                  
   4e9ac:	202a 001e      	movel %a2@(30),%d0                          
   4e9b0:	7203           	moveq #3,%d1                                
   4e9b2:	b280           	cmpl %d0,%d1                                
   4e9b4:	630a           	blss 4e9c0 <rtems_bdbuf_release_modified+0x26><== ALWAYS TAKEN
      break;                                                          
    case RTEMS_BDBUF_STATE_ACCESS_PURGED:                             
      rtems_bdbuf_discard_buffer_after_access (bd);                   
      break;                                                          
    default:                                                          
      rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_6);
   4e9b6:	4878 0012      	pea 12 <INVALID_OPERATION+0x2>              <== NOT EXECUTED
   4e9ba:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4e9bc:	4eba e208      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
                                                                      
  sc = rtems_bdbuf_check_bd_and_lock_cache (bd, "release modified");  
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  switch (bd->state)                                                  
   4e9c0:	123c 0005      	moveb #5,%d1                                
   4e9c4:	b280           	cmpl %d0,%d1                                
   4e9c6:	641e           	bccs 4e9e6 <rtems_bdbuf_release_modified+0x4c>
   4e9c8:	123c 0006      	moveb #6,%d1                                
   4e9cc:	b280           	cmpl %d0,%d1                                
   4e9ce:	66e6           	bnes 4e9b6 <rtems_bdbuf_release_modified+0x1c><== NEVER TAKEN
    case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                              
    case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                           
      rtems_bdbuf_add_to_modified_list_after_access (bd);             
      break;                                                          
    case RTEMS_BDBUF_STATE_ACCESS_PURGED:                             
      rtems_bdbuf_discard_buffer_after_access (bd);                   
   4e9d0:	2f0a           	movel %a2,%sp@-                             
   4e9d2:	4eba e8d8      	jsr %pc@(4d2ac <rtems_bdbuf_discard_buffer_after_access>)
      break;                                                          
   4e9d6:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e9d8:	4eba e222      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4e9dc:	4280           	clrl %d0                                    
}                                                                     
   4e9de:	246e fffc      	moveal %fp@(-4),%a2                         
   4e9e2:	4e5e           	unlk %fp                                    
   4e9e4:	4e75           	rts                                         
  switch (bd->state)                                                  
  {                                                                   
    case RTEMS_BDBUF_STATE_ACCESS_CACHED:                             
    case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                              
    case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                           
      rtems_bdbuf_add_to_modified_list_after_access (bd);             
   4e9e6:	2f0a           	movel %a2,%sp@-                             
   4e9e8:	4eba e430      	jsr %pc@(4ce1a <rtems_bdbuf_add_to_modified_list_after_access>)
      break;                                                          
   4e9ec:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4e9ee:	4eba e20c      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4e9f2:	4280           	clrl %d0                                    
   4e9f4:	60e8           	bras 4e9de <rtems_bdbuf_release_modified+0x44>
}                                                                     
   4e9f6:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
                                                                      
static rtems_status_code                                              
rtems_bdbuf_check_bd_and_lock_cache (rtems_bdbuf_buffer *bd, const char *kind)
{                                                                     
  if (bd == NULL)                                                     
    return RTEMS_INVALID_ADDRESS;                                     
   4e9fa:	7009           	moveq #9,%d0                                <== NOT EXECUTED
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4e9fc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004cf68 <rtems_bdbuf_remove_from_tree>: return bdbuf_cache.buffer_waiters.count; } static void rtems_bdbuf_remove_from_tree (rtems_bdbuf_buffer *bd) {
   4cf68:	4e56 ff68      	linkw %fp,#-152                             
   4cf6c:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 
  rtems_bdbuf_buffer*  buf_stack[RTEMS_BDBUF_AVL_MAX_HEIGHT];         
  rtems_bdbuf_buffer** buf_prev = buf_stack;                          
                                                                      
  bool modified = false;                                              
                                                                      
  memset (buf_stack, 0, sizeof(buf_stack));                           
   4cf70:	4878 0080      	pea 80 <DBL_MANT_DIG+0x4b>                  
   4cf74:	260e           	movel %fp,%d3                               
   4cf76:	0683 ffff ff80 	addil #-128,%d3                             
  return bdbuf_cache.buffer_waiters.count;                            
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_remove_from_tree (rtems_bdbuf_buffer *bd)                 
{                                                                     
   4cf7c:	266e 0008      	moveal %fp@(8),%a3                          
  rtems_bdbuf_buffer*  buf_stack[RTEMS_BDBUF_AVL_MAX_HEIGHT];         
  rtems_bdbuf_buffer** buf_prev = buf_stack;                          
                                                                      
  bool modified = false;                                              
                                                                      
  memset (buf_stack, 0, sizeof(buf_stack));                           
   4cf80:	42a7           	clrl %sp@-                                  
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4cf82:	242b 0012      	movel %a3@(18),%d2                          
   4cf86:	286b 0016      	moveal %a3@(22),%a4                         
                       const rtems_bdbuf_buffer* node)                
{                                                                     
  const rtems_disk_device *dd = node->dd;                             
  rtems_blkdev_bnum block = node->block;                              
                                                                      
  rtems_bdbuf_buffer*  p = *root;                                     
   4cf8a:	2479 0006 378c 	moveal 6378c <bdbuf_cache+0x38>,%a2         
  rtems_bdbuf_buffer*  buf_stack[RTEMS_BDBUF_AVL_MAX_HEIGHT];         
  rtems_bdbuf_buffer** buf_prev = buf_stack;                          
                                                                      
  bool modified = false;                                              
                                                                      
  memset (buf_stack, 0, sizeof(buf_stack));                           
   4cf90:	2f03           	movel %d3,%sp@-                             
   4cf92:	4eb9 0005 3244 	jsr 53244 <memset>                          
                                                                      
  while (p != NULL)                                                   
   4cf98:	4fef 000c      	lea %sp@(12),%sp                            
   4cf9c:	4a8a           	tstl %a2                                    
   4cf9e:	6722           	beqs 4cfc2 <rtems_bdbuf_remove_from_tree+0x5a><== NEVER TAKEN
   4cfa0:	2043           	moveal %d3,%a0                              
   4cfa2:	2248           	moveal %a0,%a1                              
  {                                                                   
    *buf_prev++ = p;                                                  
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
   4cfa4:	202a 0012      	movel %a2@(18),%d0                          
                                                                      
  memset (buf_stack, 0, sizeof(buf_stack));                           
                                                                      
  while (p != NULL)                                                   
  {                                                                   
    *buf_prev++ = p;                                                  
   4cfa8:	20ca           	movel %a2,%a0@+                             
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
   4cfaa:	b480           	cmpl %d0,%d2                                
   4cfac:	6200 0108      	bhiw 4d0b6 <rtems_bdbuf_remove_from_tree+0x14e>
        || ((p->dd == dd) && (p->block < block)))                     
   4cfb0:	b082           	cmpl %d2,%d0                                
   4cfb2:	671a           	beqs 4cfce <rtems_bdbuf_remove_from_tree+0x66><== ALWAYS TAKEN
      p->avl.cache = 1;                                               
      p = p->avl.right;                                               
    }                                                                 
    else if ((p->dd != dd) || (p->block != block))                    
    {                                                                 
      p->avl.cache = -1;                                              
   4cfb4:	50c1           	st %d1                                      
   4cfb6:	1541 0010      	moveb %d1,%a2@(16)                          
      p = p->avl.left;                                                
   4cfba:	246a 0008      	moveal %a2@(8),%a2                          
                                                                      
  bool modified = false;                                              
                                                                      
  memset (buf_stack, 0, sizeof(buf_stack));                           
                                                                      
  while (p != NULL)                                                   
   4cfbe:	4a8a           	tstl %a2                                    
   4cfc0:	66e0           	bnes 4cfa2 <rtems_bdbuf_remove_from_tree+0x3a><== ALWAYS TAKEN
                                                                      
static void                                                           
rtems_bdbuf_remove_from_tree (rtems_bdbuf_buffer *bd)                 
{                                                                     
  if (rtems_bdbuf_avl_remove (&bdbuf_cache.tree, bd) != 0)            
    rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_TREE_RM);
   4cfc2:	4878 001b      	pea 1b <OPER2+0x7>                          <== NOT EXECUTED
   4cfc6:	2f2b 001e      	movel %a3@(30),%sp@-                        <== NOT EXECUTED
   4cfca:	4eba fbfa      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
  while (p != NULL)                                                   
  {                                                                   
    *buf_prev++ = p;                                                  
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
        || ((p->dd == dd) && (p->block < block)))                     
   4cfce:	202a 0016      	movel %a2@(22),%d0                          
   4cfd2:	b08c           	cmpl %a4,%d0                                
   4cfd4:	6500 00e0      	bcsw 4d0b6 <rtems_bdbuf_remove_from_tree+0x14e>
    {                                                                 
      p->avl.cache = 1;                                               
      p = p->avl.right;                                               
    }                                                                 
    else if ((p->dd != dd) || (p->block != block))                    
   4cfd8:	66da           	bnes 4cfb4 <rtems_bdbuf_remove_from_tree+0x4c>
  }                                                                   
                                                                      
  q = p;                                                              
                                                                      
  buf_prev--;                                                         
  if (buf_prev > buf_stack)                                           
   4cfda:	b689           	cmpl %a1,%d3                                
   4cfdc:	6400 0296      	bccw 4d274 <rtems_bdbuf_remove_from_tree+0x30c>
  {                                                                   
    p = *(buf_prev - 1);                                              
   4cfe0:	2428 fff8      	movel %a0@(-8),%d2                          
  {                                                                   
    p = NULL;                                                         
  }                                                                   
                                                                      
  /* at this moment q - is a node to delete, p is q's parent */       
  if (q->avl.right == NULL)                                           
   4cfe4:	2a6a 000c      	moveal %a2@(12),%a5                         
   4cfe8:	4a8d           	tstl %a5                                    
   4cfea:	6700 0256      	beqw 4d242 <rtems_bdbuf_remove_from_tree+0x2da>
  {                                                                   
    rtems_bdbuf_buffer **t;                                           
                                                                      
    r = q->avl.right;                                                 
                                                                      
    if (r->avl.left == NULL)                                          
   4cfee:	266d 0008      	moveal %a5@(8),%a3                          
   4cff2:	4a8b           	tstl %a3                                    
   4cff4:	6700 0260      	beqw 4d256 <rtems_bdbuf_remove_from_tree+0x2ee>
   4cff8:	2208           	movel %a0,%d1                               
   4cffa:	284d           	moveal %a5,%a4                              
      t = buf_prev++;                                                 
      s = r;                                                          
                                                                      
      while (s->avl.left != NULL)                                     
      {                                                               
        *buf_prev++ = r = s;                                          
   4cffc:	2241           	moveal %d1,%a1                              
        s = r->avl.left;                                              
        r->avl.cache = -1;                                            
   4cffe:	50c0           	st %d0                                      
      t = buf_prev++;                                                 
      s = r;                                                          
                                                                      
      while (s->avl.left != NULL)                                     
      {                                                               
        *buf_prev++ = r = s;                                          
   4d000:	22cc           	movel %a4,%a1@+                             
   4d002:	2209           	movel %a1,%d1                               
        s = r->avl.left;                                              
        r->avl.cache = -1;                                            
   4d004:	1940 0010      	moveb %d0,%a4@(16)                          
    else                                                              
    {                                                                 
      t = buf_prev++;                                                 
      s = r;                                                          
                                                                      
      while (s->avl.left != NULL)                                     
   4d008:	202b 0008      	movel %a3@(8),%d0                           
   4d00c:	6716           	beqs 4d024 <rtems_bdbuf_remove_from_tree+0xbc>
   4d00e:	284b           	moveal %a3,%a4                              
   4d010:	2640           	moveal %d0,%a3                              
      {                                                               
        *buf_prev++ = r = s;                                          
   4d012:	2241           	moveal %d1,%a1                              
        s = r->avl.left;                                              
        r->avl.cache = -1;                                            
   4d014:	50c0           	st %d0                                      
      t = buf_prev++;                                                 
      s = r;                                                          
                                                                      
      while (s->avl.left != NULL)                                     
      {                                                               
        *buf_prev++ = r = s;                                          
   4d016:	22cc           	movel %a4,%a1@+                             
   4d018:	2209           	movel %a1,%d1                               
        s = r->avl.left;                                              
        r->avl.cache = -1;                                            
   4d01a:	1940 0010      	moveb %d0,%a4@(16)                          
    else                                                              
    {                                                                 
      t = buf_prev++;                                                 
      s = r;                                                          
                                                                      
      while (s->avl.left != NULL)                                     
   4d01e:	202b 0008      	movel %a3@(8),%d0                           
   4d022:	66ea           	bnes 4d00e <rtems_bdbuf_remove_from_tree+0xa6>
      r->avl.left = s->avl.right;                                     
      s->avl.right = q->avl.right;                                    
      s->avl.bal = q->avl.bal;                                        
      s->avl.cache = 1;                                               
                                                                      
      *t = q = s;                                                     
   4d024:	214b fffc      	movel %a3,%a0@(-4)                          
        *buf_prev++ = r = s;                                          
        s = r->avl.left;                                              
        r->avl.cache = -1;                                            
      }                                                               
                                                                      
      s->avl.left = q->avl.left;                                      
   4d028:	276a 0008 0008 	movel %a2@(8),%a3@(8)                       
      r->avl.left = s->avl.right;                                     
   4d02e:	296b 000c 0008 	movel %a3@(12),%a4@(8)                      
      s->avl.right = q->avl.right;                                    
      s->avl.bal = q->avl.bal;                                        
      s->avl.cache = 1;                                               
   4d034:	7201           	moveq #1,%d1                                
      }                                                               
                                                                      
      s->avl.left = q->avl.left;                                      
      r->avl.left = s->avl.right;                                     
      s->avl.right = q->avl.right;                                    
      s->avl.bal = q->avl.bal;                                        
   4d036:	176a 0011 0011 	moveb %a2@(17),%a3@(17)                     
        r->avl.cache = -1;                                            
      }                                                               
                                                                      
      s->avl.left = q->avl.left;                                      
      r->avl.left = s->avl.right;                                     
      s->avl.right = q->avl.right;                                    
   4d03c:	274d 000c      	movel %a5,%a3@(12)                          
      s->avl.bal = q->avl.bal;                                        
      s->avl.cache = 1;                                               
   4d040:	1741 0010      	moveb %d1,%a3@(16)                          
                                                                      
      *t = q = s;                                                     
    }                                                                 
  }                                                                   
                                                                      
  if (p != NULL)                                                      
   4d044:	4a82           	tstl %d2                                    
   4d046:	6700 01f0      	beqw 4d238 <rtems_bdbuf_remove_from_tree+0x2d0>
  {                                                                   
    if (p->avl.cache == -1)                                           
   4d04a:	2042           	moveal %d2,%a0                              
   4d04c:	72ff           	moveq #-1,%d1                               
   4d04e:	1028 0010      	moveb %a0@(16),%d0                          
   4d052:	49c0           	extbl %d0                                   
   4d054:	b280           	cmpl %d0,%d1                                
   4d056:	6700 0192      	beqw 4d1ea <rtems_bdbuf_remove_from_tree+0x282>
    {                                                                 
      p->avl.left = q;                                                
    }                                                                 
    else                                                              
    {                                                                 
      p->avl.right = q;                                               
   4d05a:	2042           	moveal %d2,%a0                              
   4d05c:	214b 000c      	movel %a3,%a0@(12)                          
                                                                      
  modified = true;                                                    
                                                                      
  while (modified)                                                    
  {                                                                   
    if (buf_prev > buf_stack)                                         
   4d060:	b689           	cmpl %a1,%d3                                
   4d062:	6448           	bccs 4d0ac <rtems_bdbuf_remove_from_tree+0x144>
{                                                                     
  return bdbuf_cache.buffer_waiters.count;                            
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_remove_from_tree (rtems_bdbuf_buffer *bd)                 
   4d064:	7003           	moveq #3,%d0                                
   4d066:	9083           	subl %d3,%d0                                
   4d068:	2600           	movel %d0,%d3                               
   4d06a:	72fc           	moveq #-4,%d1                               
   4d06c:	2061           	moveal %a1@-,%a0                            
   4d06e:	d689           	addl %a1,%d3                                
   4d070:	2409           	movel %a1,%d2                               
   4d072:	1028 0010      	moveb %a0@(16),%d0                          
   4d076:	c681           	andl %d1,%d3                                
   4d078:	49c0           	extbl %d0                                   
   4d07a:	9483           	subl %d3,%d2                                
    else                                                              
    {                                                                 
      break;                                                          
    }                                                                 
                                                                      
    if (p->avl.cache == -1)                                           
   4d07c:	76ff           	moveq #-1,%d3                               
   4d07e:	b680           	cmpl %d0,%d3                                
   4d080:	6770           	beqs 4d0f2 <rtems_bdbuf_remove_from_tree+0x18a>
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      /* rebalance right branch */                                    
      switch (p->avl.bal)                                             
   4d082:	1028 0011      	moveb %a0@(17),%d0                          
   4d086:	6642           	bnes 4d0ca <rtems_bdbuf_remove_from_tree+0x162>
        case +1:                                                      
          p->avl.bal = 0;                                             
          break;                                                      
                                                                      
        case  0:                                                      
          p->avl.bal = -1;                                            
   4d088:	2448           	moveal %a0,%a2                              
   4d08a:	50c1           	st %d1                                      
   4d08c:	1141 0011      	moveb %d1,%a0@(17)                          
          modified = false;                                           
   4d090:	4201           	clrb %d1                                    
        default:                                                      
          break;                                                      
      }                                                               
    }                                                                 
                                                                      
    if (buf_prev > buf_stack)                                         
   4d092:	b489           	cmpl %a1,%d2                                
   4d094:	674c           	beqs 4d0e2 <rtems_bdbuf_remove_from_tree+0x17a>
    {                                                                 
      q = *(buf_prev - 1);                                            
   4d096:	2061           	moveal %a1@-,%a0                            
                                                                      
      if (q->avl.cache == -1)                                         
   4d098:	76ff           	moveq #-1,%d3                               
   4d09a:	1028 0010      	moveb %a0@(16),%d0                          
   4d09e:	49c0           	extbl %d0                                   
   4d0a0:	b680           	cmpl %d0,%d3                                
   4d0a2:	6760           	beqs 4d104 <rtems_bdbuf_remove_from_tree+0x19c>
      {                                                               
        q->avl.left = p;                                              
      }                                                               
      else                                                            
      {                                                               
        q->avl.right = p;                                             
   4d0a4:	214a 000c      	movel %a2,%a0@(12)                          
    *root = q;                                                        
  }                                                                   
                                                                      
  modified = true;                                                    
                                                                      
  while (modified)                                                    
   4d0a8:	4a01           	tstb %d1                                    
   4d0aa:	66d0           	bnes 4d07c <rtems_bdbuf_remove_from_tree+0x114>
static void                                                           
rtems_bdbuf_remove_from_tree (rtems_bdbuf_buffer *bd)                 
{                                                                     
  if (rtems_bdbuf_avl_remove (&bdbuf_cache.tree, bd) != 0)            
    rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_TREE_RM);
}                                                                     
   4d0ac:	4cee 3c0c ff68 	moveml %fp@(-152),%d2-%d3/%a2-%a5           
   4d0b2:	4e5e           	unlk %fp                                    
   4d0b4:	4e75           	rts                                         
    *buf_prev++ = p;                                                  
                                                                      
    if (((uintptr_t) p->dd < (uintptr_t) dd)                          
        || ((p->dd == dd) && (p->block < block)))                     
    {                                                                 
      p->avl.cache = 1;                                               
   4d0b6:	7001           	moveq #1,%d0                                
   4d0b8:	1540 0010      	moveb %d0,%a2@(16)                          
      p = p->avl.right;                                               
   4d0bc:	246a 000c      	moveal %a2@(12),%a2                         
                                                                      
  bool modified = false;                                              
                                                                      
  memset (buf_stack, 0, sizeof(buf_stack));                           
                                                                      
  while (p != NULL)                                                   
   4d0c0:	4a8a           	tstl %a2                                    
   4d0c2:	6600 fede      	bnew 4cfa2 <rtems_bdbuf_remove_from_tree+0x3a>
   4d0c6:	6000 fefa      	braw 4cfc2 <rtems_bdbuf_remove_from_tree+0x5a><== NOT EXECUTED
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      /* rebalance right branch */                                    
      switch (p->avl.bal)                                             
   4d0ca:	49c0           	extbl %d0                                   
   4d0cc:	7201           	moveq #1,%d1                                
   4d0ce:	b280           	cmpl %d0,%d1                                
   4d0d0:	6700 0090      	beqw 4d162 <rtems_bdbuf_remove_from_tree+0x1fa>
   4d0d4:	76ff           	moveq #-1,%d3                               
   4d0d6:	b680           	cmpl %d0,%d3                                
   4d0d8:	6736           	beqs 4d110 <rtems_bdbuf_remove_from_tree+0x1a8><== ALWAYS TAKEN
   4d0da:	2448           	moveal %a0,%a2                              <== NOT EXECUTED
   4d0dc:	7201           	moveq #1,%d1                                <== NOT EXECUTED
        default:                                                      
          break;                                                      
      }                                                               
    }                                                                 
                                                                      
    if (buf_prev > buf_stack)                                         
   4d0de:	b489           	cmpl %a1,%d2                                <== NOT EXECUTED
   4d0e0:	66b4           	bnes 4d096 <rtems_bdbuf_remove_from_tree+0x12e><== NOT EXECUTED
        q->avl.right = p;                                             
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      *root = p;                                                      
   4d0e2:	23ca 0006 378c 	movel %a2,6378c <bdbuf_cache+0x38>          
static void                                                           
rtems_bdbuf_remove_from_tree (rtems_bdbuf_buffer *bd)                 
{                                                                     
  if (rtems_bdbuf_avl_remove (&bdbuf_cache.tree, bd) != 0)            
    rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_TREE_RM);
}                                                                     
   4d0e8:	4cee 3c0c ff68 	moveml %fp@(-152),%d2-%d3/%a2-%a5           
   4d0ee:	4e5e           	unlk %fp                                    
   4d0f0:	4e75           	rts                                         
    }                                                                 
                                                                      
    if (p->avl.cache == -1)                                           
    {                                                                 
      /* rebalance left branch */                                     
      switch (p->avl.bal)                                             
   4d0f2:	1028 0011      	moveb %a0@(17),%d0                          
   4d0f6:	6678           	bnes 4d170 <rtems_bdbuf_remove_from_tree+0x208>
      {                                                               
        case -1:                                                      
          p->avl.bal = 0;                                             
          break;                                                      
        case  0:                                                      
          p->avl.bal = 1;                                             
   4d0f8:	2448           	moveal %a0,%a2                              
   4d0fa:	7001           	moveq #1,%d0                                
          modified = false;                                           
   4d0fc:	4201           	clrb %d1                                    
      {                                                               
        case -1:                                                      
          p->avl.bal = 0;                                             
          break;                                                      
        case  0:                                                      
          p->avl.bal = 1;                                             
   4d0fe:	1140 0011      	moveb %d0,%a0@(17)                          
   4d102:	608e           	bras 4d092 <rtems_bdbuf_remove_from_tree+0x12a>
    {                                                                 
      q = *(buf_prev - 1);                                            
                                                                      
      if (q->avl.cache == -1)                                         
      {                                                               
        q->avl.left = p;                                              
   4d104:	214a 0008      	movel %a2,%a0@(8)                           
    *root = q;                                                        
  }                                                                   
                                                                      
  modified = true;                                                    
                                                                      
  while (modified)                                                    
   4d108:	4a01           	tstb %d1                                    
   4d10a:	6600 ff70      	bnew 4d07c <rtems_bdbuf_remove_from_tree+0x114>
   4d10e:	609c           	bras 4d0ac <rtems_bdbuf_remove_from_tree+0x144>
          p->avl.bal = -1;                                            
          modified = false;                                           
          break;                                                      
                                                                      
        case -1:                                                      
          p1 = p->avl.left;                                           
   4d110:	2668 0008      	moveal %a0@(8),%a3                          
                                                                      
          if (p1->avl.bal <= 0) /* simple LL-turn */                  
   4d114:	102b 0011      	moveb %a3@(17),%d0                          
   4d118:	6f00 0094      	blew 4d1ae <rtems_bdbuf_remove_from_tree+0x246>
            }                                                         
            p = p1;                                                   
          }                                                           
          else /* double LR-turn */                                   
          {                                                           
            p2 = p1->avl.right;                                       
   4d11c:	246b 000c      	moveal %a3@(12),%a2                         
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
                                                                      
            if (p2->avl.bal == -1) p->avl.bal = 1; else p->avl.bal = 0;
   4d120:	72ff           	moveq #-1,%d1                               
            if (p2->avl.bal == +1) p1->avl.bal = -1; else p1->avl.bal = 0;
   4d122:	7601           	moveq #1,%d3                                
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
                                                                      
            if (p2->avl.bal == -1) p->avl.bal = 1; else p->avl.bal = 0;
   4d124:	102a 0011      	moveb %a2@(17),%d0                          
          }                                                           
          else /* double LR-turn */                                   
          {                                                           
            p2 = p1->avl.right;                                       
                                                                      
            p1->avl.right = p2->avl.left;                             
   4d128:	276a 0008 000c 	movel %a2@(8),%a3@(12)                      
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
                                                                      
            if (p2->avl.bal == -1) p->avl.bal = 1; else p->avl.bal = 0;
   4d12e:	49c0           	extbl %d0                                   
   4d130:	b280           	cmpl %d0,%d1                                
   4d132:	56c0           	sne %d0                                     
          else /* double LR-turn */                                   
          {                                                           
            p2 = p1->avl.right;                                       
                                                                      
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
   4d134:	254b 0008      	movel %a3,%a2@(8)                           
            p->avl.left = p2->avl.right;                              
   4d138:	216a 000c 0008 	movel %a2@(12),%a0@(8)                      
            p2->avl.right = p;                                        
                                                                      
            if (p2->avl.bal == -1) p->avl.bal = 1; else p->avl.bal = 0;
   4d13e:	5280           	addql #1,%d0                                
   4d140:	1140 0011      	moveb %d0,%a0@(17)                          
            p2 = p1->avl.right;                                       
                                                                      
            p1->avl.right = p2->avl.left;                             
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
   4d144:	2548 000c      	movel %a0,%a2@(12)                          
                                                                      
            if (p2->avl.bal == -1) p->avl.bal = 1; else p->avl.bal = 0;
            if (p2->avl.bal == +1) p1->avl.bal = -1; else p1->avl.bal = 0;
   4d148:	102a 0011      	moveb %a2@(17),%d0                          
                                                                      
            p = p2;                                                   
            p2->avl.bal = 0;                                          
   4d14c:	7201           	moveq #1,%d1                                
            p2->avl.left = p1;                                        
            p->avl.left = p2->avl.right;                              
            p2->avl.right = p;                                        
                                                                      
            if (p2->avl.bal == -1) p->avl.bal = 1; else p->avl.bal = 0;
            if (p2->avl.bal == +1) p1->avl.bal = -1; else p1->avl.bal = 0;
   4d14e:	49c0           	extbl %d0                                   
   4d150:	b680           	cmpl %d0,%d3                                
   4d152:	57c0           	seq %d0                                     
   4d154:	1740 0011      	moveb %d0,%a3@(17)                          
                                                                      
            p = p2;                                                   
            p2->avl.bal = 0;                                          
   4d158:	4200           	clrb %d0                                    
   4d15a:	1540 0011      	moveb %d0,%a2@(17)                          
   4d15e:	6000 ff32      	braw 4d092 <rtems_bdbuf_remove_from_tree+0x12a>
    {                                                                 
      /* rebalance right branch */                                    
      switch (p->avl.bal)                                             
      {                                                               
        case +1:                                                      
          p->avl.bal = 0;                                             
   4d162:	2448           	moveal %a0,%a2                              
   4d164:	4200           	clrb %d0                                    
   4d166:	7201           	moveq #1,%d1                                
   4d168:	1140 0011      	moveb %d0,%a0@(17)                          
   4d16c:	6000 ff24      	braw 4d092 <rtems_bdbuf_remove_from_tree+0x12a>
    }                                                                 
                                                                      
    if (p->avl.cache == -1)                                           
    {                                                                 
      /* rebalance left branch */                                     
      switch (p->avl.bal)                                             
   4d170:	49c0           	extbl %d0                                   
   4d172:	7201           	moveq #1,%d1                                
   4d174:	b280           	cmpl %d0,%d1                                
   4d176:	6712           	beqs 4d18a <rtems_bdbuf_remove_from_tree+0x222>
      {                                                               
        case -1:                                                      
          p->avl.bal = 0;                                             
   4d178:	2448           	moveal %a0,%a2                              
    }                                                                 
                                                                      
    if (p->avl.cache == -1)                                           
    {                                                                 
      /* rebalance left branch */                                     
      switch (p->avl.bal)                                             
   4d17a:	b680           	cmpl %d0,%d3                                
   4d17c:	6600 ff5e      	bnew 4d0dc <rtems_bdbuf_remove_from_tree+0x174>
      {                                                               
        case -1:                                                      
          p->avl.bal = 0;                                             
   4d180:	4203           	clrb %d3                                    
   4d182:	1143 0011      	moveb %d3,%a0@(17)                          
   4d186:	6000 ff0a      	braw 4d092 <rtems_bdbuf_remove_from_tree+0x12a>
          p->avl.bal = 1;                                             
          modified = false;                                           
          break;                                                      
                                                                      
        case +1:                                                      
          p1 = p->avl.right;                                          
   4d18a:	2468 000c      	moveal %a0@(12),%a2                         
                                                                      
          if (p1->avl.bal >= 0) /* simple RR-turn */                  
   4d18e:	102a 0011      	moveb %a2@(17),%d0                          
   4d192:	6d5e           	blts 4d1f2 <rtems_bdbuf_remove_from_tree+0x28a>
          {                                                           
            p->avl.right = p1->avl.left;                              
   4d194:	216a 0008 000c 	movel %a2@(8),%a0@(12)                      
            p1->avl.left = p;                                         
   4d19a:	2548 0008      	movel %a0,%a2@(8)                           
                                                                      
            if (p1->avl.bal == 0)                                     
   4d19e:	4a00           	tstb %d0                                    
   4d1a0:	6628           	bnes 4d1ca <rtems_bdbuf_remove_from_tree+0x262>
            {                                                         
              p1->avl.bal = -1;                                       
   4d1a2:	50c1           	st %d1                                      
   4d1a4:	1541 0011      	moveb %d1,%a2@(17)                          
              modified = false;                                       
   4d1a8:	4201           	clrb %d1                                    
   4d1aa:	6000 fee6      	braw 4d092 <rtems_bdbuf_remove_from_tree+0x12a>
          {                                                           
            p->avl.left = p1->avl.right;                              
            p1->avl.right = p;                                        
            if (p1->avl.bal == 0)                                     
            {                                                         
              p1->avl.bal = 1;                                        
   4d1ae:	244b           	moveal %a3,%a2                              
        case -1:                                                      
          p1 = p->avl.left;                                           
                                                                      
          if (p1->avl.bal <= 0) /* simple LL-turn */                  
          {                                                           
            p->avl.left = p1->avl.right;                              
   4d1b0:	216b 000c 0008 	movel %a3@(12),%a0@(8)                      
            p1->avl.right = p;                                        
   4d1b6:	2748 000c      	movel %a0,%a3@(12)                          
            if (p1->avl.bal == 0)                                     
   4d1ba:	4a00           	tstb %d0                                    
   4d1bc:	661c           	bnes 4d1da <rtems_bdbuf_remove_from_tree+0x272><== NEVER TAKEN
            {                                                         
              p1->avl.bal = 1;                                        
   4d1be:	7601           	moveq #1,%d3                                
              modified = false;                                       
   4d1c0:	4201           	clrb %d1                                    
          {                                                           
            p->avl.left = p1->avl.right;                              
            p1->avl.right = p;                                        
            if (p1->avl.bal == 0)                                     
            {                                                         
              p1->avl.bal = 1;                                        
   4d1c2:	1743 0011      	moveb %d3,%a3@(17)                          
   4d1c6:	6000 feca      	braw 4d092 <rtems_bdbuf_remove_from_tree+0x12a>
              p1->avl.bal = -1;                                       
              modified = false;                                       
            }                                                         
            else                                                      
            {                                                         
              p->avl.bal = 0;                                         
   4d1ca:	4203           	clrb %d3                                    
              p1->avl.bal = 0;                                        
   4d1cc:	7201           	moveq #1,%d1                                
              p1->avl.bal = -1;                                       
              modified = false;                                       
            }                                                         
            else                                                      
            {                                                         
              p->avl.bal = 0;                                         
   4d1ce:	1143 0011      	moveb %d3,%a0@(17)                          
              p1->avl.bal = 0;                                        
   4d1d2:	1543 0011      	moveb %d3,%a2@(17)                          
   4d1d6:	6000 feba      	braw 4d092 <rtems_bdbuf_remove_from_tree+0x12a>
              p1->avl.bal = 1;                                        
              modified = false;                                       
            }                                                         
            else                                                      
            {                                                         
              p->avl.bal = 0;                                         
   4d1da:	4200           	clrb %d0                                    <== NOT EXECUTED
              p1->avl.bal = 0;                                        
   4d1dc:	7201           	moveq #1,%d1                                <== NOT EXECUTED
              p1->avl.bal = 1;                                        
              modified = false;                                       
            }                                                         
            else                                                      
            {                                                         
              p->avl.bal = 0;                                         
   4d1de:	1140 0011      	moveb %d0,%a0@(17)                          <== NOT EXECUTED
              p1->avl.bal = 0;                                        
   4d1e2:	1740 0011      	moveb %d0,%a3@(17)                          <== NOT EXECUTED
   4d1e6:	6000 feaa      	braw 4d092 <rtems_bdbuf_remove_from_tree+0x12a><== NOT EXECUTED
                                                                      
  if (p != NULL)                                                      
  {                                                                   
    if (p->avl.cache == -1)                                           
    {                                                                 
      p->avl.left = q;                                                
   4d1ea:	214b 0008      	movel %a3,%a0@(8)                           
   4d1ee:	6000 fe70      	braw 4d060 <rtems_bdbuf_remove_from_tree+0xf8>
            }                                                         
            p = p1;                                                   
          }                                                           
          else /* double RL-turn */                                   
          {                                                           
            p2 = p1->avl.left;                                        
   4d1f2:	266a 0008      	moveal %a2@(8),%a3                          
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
                                                                      
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
   4d1f6:	7201           	moveq #1,%d1                                
            if (p2->avl.bal == -1) p1->avl.bal = 1; else p1->avl.bal = 0;
   4d1f8:	76ff           	moveq #-1,%d3                               
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
                                                                      
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
   4d1fa:	102b 0011      	moveb %a3@(17),%d0                          
          }                                                           
          else /* double RL-turn */                                   
          {                                                           
            p2 = p1->avl.left;                                        
                                                                      
            p1->avl.left = p2->avl.right;                             
   4d1fe:	256b 000c 0008 	movel %a3@(12),%a2@(8)                      
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
                                                                      
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
   4d204:	49c0           	extbl %d0                                   
   4d206:	b280           	cmpl %d0,%d1                                
   4d208:	57c0           	seq %d0                                     
          else /* double RL-turn */                                   
          {                                                           
            p2 = p1->avl.left;                                        
                                                                      
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
   4d20a:	274a 000c      	movel %a2,%a3@(12)                          
            p->avl.right = p2->avl.left;                              
   4d20e:	216b 0008 000c 	movel %a3@(8),%a0@(12)                      
            p2->avl.left = p;                                         
                                                                      
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
   4d214:	1140 0011      	moveb %d0,%a0@(17)                          
            p2 = p1->avl.left;                                        
                                                                      
            p1->avl.left = p2->avl.right;                             
            p2->avl.right = p1;                                       
            p->avl.right = p2->avl.left;                              
            p2->avl.left = p;                                         
   4d218:	2748 0008      	movel %a0,%a3@(8)                           
                                                                      
            if (p2->avl.bal == +1) p->avl.bal = -1; else p->avl.bal = 0;
            if (p2->avl.bal == -1) p1->avl.bal = 1; else p1->avl.bal = 0;
   4d21c:	102b 0011      	moveb %a3@(17),%d0                          
   4d220:	49c0           	extbl %d0                                   
   4d222:	b680           	cmpl %d0,%d3                                
   4d224:	56c0           	sne %d0                                     
   4d226:	5280           	addql #1,%d0                                
   4d228:	1540 0011      	moveb %d0,%a2@(17)                          
                                                                      
            p = p2;                                                   
            p2->avl.bal = 0;                                          
   4d22c:	4200           	clrb %d0                                    
   4d22e:	244b           	moveal %a3,%a2                              
   4d230:	1740 0011      	moveb %d0,%a3@(17)                          
   4d234:	6000 fe5c      	braw 4d092 <rtems_bdbuf_remove_from_tree+0x12a>
      p->avl.right = q;                                               
    }                                                                 
  }                                                                   
  else                                                                
  {                                                                   
    *root = q;                                                        
   4d238:	23cb 0006 378c 	movel %a3,6378c <bdbuf_cache+0x38>          
   4d23e:	6000 fe20      	braw 4d060 <rtems_bdbuf_remove_from_tree+0xf8>
  }                                                                   
                                                                      
  /* at this moment q - is a node to delete, p is q's parent */       
  if (q->avl.right == NULL)                                           
  {                                                                   
    r = q->avl.left;                                                  
   4d242:	266a 0008      	moveal %a2@(8),%a3                          
    if (r != NULL)                                                    
   4d246:	4a8b           	tstl %a3                                    
   4d248:	6700 fdfa      	beqw 4d044 <rtems_bdbuf_remove_from_tree+0xdc>
    {                                                                 
      r->avl.bal = 0;                                                 
   4d24c:	4200           	clrb %d0                                    
   4d24e:	1740 0011      	moveb %d0,%a3@(17)                          
   4d252:	6000 fdf0      	braw 4d044 <rtems_bdbuf_remove_from_tree+0xdc>
    if (r->avl.left == NULL)                                          
    {                                                                 
      r->avl.left = q->avl.left;                                      
      r->avl.bal = q->avl.bal;                                        
      r->avl.cache = 1;                                               
      *buf_prev++ = q = r;                                            
   4d256:	214d fffc      	movel %a5,%a0@(-4)                          
   4d25a:	2248           	moveal %a0,%a1                              
   4d25c:	264d           	moveal %a5,%a3                              
                                                                      
    r = q->avl.right;                                                 
                                                                      
    if (r->avl.left == NULL)                                          
    {                                                                 
      r->avl.left = q->avl.left;                                      
   4d25e:	2b6a 0008 0008 	movel %a2@(8),%a5@(8)                       
      r->avl.bal = q->avl.bal;                                        
      r->avl.cache = 1;                                               
   4d264:	7201           	moveq #1,%d1                                
    r = q->avl.right;                                                 
                                                                      
    if (r->avl.left == NULL)                                          
    {                                                                 
      r->avl.left = q->avl.left;                                      
      r->avl.bal = q->avl.bal;                                        
   4d266:	1b6a 0011 0011 	moveb %a2@(17),%a5@(17)                     
      r->avl.cache = 1;                                               
   4d26c:	1b41 0010      	moveb %d1,%a5@(16)                          
   4d270:	6000 fdd2      	braw 4d044 <rtems_bdbuf_remove_from_tree+0xdc>
  {                                                                   
    p = *(buf_prev - 1);                                              
  }                                                                   
  else                                                                
  {                                                                   
    p = NULL;                                                         
   4d274:	4282           	clrl %d2                                    
   4d276:	6000 fd6c      	braw 4cfe4 <rtems_bdbuf_remove_from_tree+0x7c>
                                                                      

0004d300 <rtems_bdbuf_remove_from_tree_and_lru_list>: rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_TREE_RM); } static void rtems_bdbuf_remove_from_tree_and_lru_list (rtems_bdbuf_buffer *bd) {
   4d300:	4e56 0000      	linkw %fp,#0                                
   4d304:	2f0a           	movel %a2,%sp@-                             
   4d306:	246e 0008      	moveal %fp@(8),%a2                          
  switch (bd->state)                                                  
   4d30a:	202a 001e      	movel %a2@(30),%d0                          
   4d30e:	6718           	beqs 4d328 <rtems_bdbuf_remove_from_tree_and_lru_list+0x28>
   4d310:	7202           	moveq #2,%d1                                
   4d312:	b280           	cmpl %d0,%d1                                
   4d314:	670a           	beqs 4d320 <rtems_bdbuf_remove_from_tree_and_lru_list+0x20><== ALWAYS TAKEN
      break;                                                          
    case RTEMS_BDBUF_STATE_CACHED:                                    
      rtems_bdbuf_remove_from_tree (bd);                              
      break;                                                          
    default:                                                          
      rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_10);
   4d316:	4878 0016      	pea 16 <OPER2+0x2>                          <== NOT EXECUTED
   4d31a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4d31c:	4eba f8a8      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
  switch (bd->state)                                                  
  {                                                                   
    case RTEMS_BDBUF_STATE_FREE:                                      
      break;                                                          
    case RTEMS_BDBUF_STATE_CACHED:                                    
      rtems_bdbuf_remove_from_tree (bd);                              
   4d320:	2f0a           	movel %a2,%sp@-                             
   4d322:	4eba fc44      	jsr %pc@(4cf68 <rtems_bdbuf_remove_from_tree>)
      break;                                                          
   4d326:	588f           	addql #4,%sp                                
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   4d328:	2252           	moveal %a2@,%a1                             
  previous       = the_node->previous;                                
   4d32a:	206a 0004      	moveal %a2@(4),%a0                          
    default:                                                          
      rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_10);
  }                                                                   
                                                                      
  rtems_chain_extract_unprotected (&bd->link);                        
}                                                                     
   4d32e:	246e fffc      	moveal %fp@(-4),%a2                         
   4d332:	4e5e           	unlk %fp                                    
  next->previous = previous;                                          
   4d334:	2348 0004      	movel %a0,%a1@(4)                           
  previous->next = next;                                              
   4d338:	2089           	movel %a1,%a0@                              <== NOT EXECUTED
                                                                      

0004ee92 <rtems_bdbuf_reset_device_stats>: } void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd) {
   4ee92:	4e56 0000      	linkw %fp,#0                                
   4ee96:	2f0a           	movel %a2,%sp@-                             
   4ee98:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_bdbuf_lock_cache ();                                          
   4ee9c:	4eba dd12      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
  memset (&dd->stats, 0, sizeof(dd->stats));                          
   4eea0:	42aa 0042      	clrl %a2@(66)                               
   4eea4:	42aa 0046      	clrl %a2@(70)                               
   4eea8:	42aa 004a      	clrl %a2@(74)                               
   4eeac:	42aa 004e      	clrl %a2@(78)                               
   4eeb0:	42aa 0052      	clrl %a2@(82)                               
   4eeb4:	42aa 0056      	clrl %a2@(86)                               
   4eeb8:	42aa 005a      	clrl %a2@(90)                               
   4eebc:	42aa 005e      	clrl %a2@(94)                               
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4eec0:	246e fffc      	moveal %fp@(-4),%a2                         
   4eec4:	4e5e           	unlk %fp                                    
                                                                      
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
   4eec6:	6000 dd34      	braw 4cbfc <rtems_bdbuf_unlock_cache>       
	...                                                                  
                                                                      

0004cc6a <rtems_bdbuf_restore_preemption>: return prev_mode; } static void rtems_bdbuf_restore_preemption (rtems_mode prev_mode) {
   4cc6a:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc = rtems_task_mode (prev_mode, RTEMS_ALL_MODE_MASKS, &prev_mode); 
   4cc6e:	486e 0008      	pea %fp@(8)                                 
   4cc72:	2f3c 0000 ffff 	movel #65535,%sp@-                          
   4cc78:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4cc7c:	4eb9 0005 08f8 	jsr 508f8 <rtems_task_mode>                 
  if (sc != RTEMS_SUCCESSFUL)                                         
   4cc82:	4fef 000c      	lea %sp@(12),%sp                            
   4cc86:	4a80           	tstl %d0                                    
   4cc88:	6604           	bnes 4cc8e <rtems_bdbuf_restore_preemption+0x24><== NEVER TAKEN
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_PREEMPT_RST);                
}                                                                     
   4cc8a:	4e5e           	unlk %fp                                    
   4cc8c:	4e75           	rts                                         
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc = rtems_task_mode (prev_mode, RTEMS_ALL_MODE_MASKS, &prev_mode); 
  if (sc != RTEMS_SUCCESSFUL)                                         
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_PREEMPT_RST);                
   4cc8e:	4878 0006      	pea 6 <EXTENDSFDF>                          <== NOT EXECUTED
   4cc92:	4eba fee4      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004ed6e <rtems_bdbuf_set_block_size>: rtems_status_code rtems_bdbuf_set_block_size (rtems_disk_device *dd, uint32_t block_size, bool sync) {
   4ed6e:	4e56 ffe8      	linkw %fp,#-24                              
   4ed72:	48d7 047c      	moveml %d2-%d6/%a2,%sp@                     
   4ed76:	246e 0008      	moveal %fp@(8),%a2                          
   4ed7a:	242e 000c      	movel %fp@(12),%d2                          
                                                                      
  /*                                                                  
   * We do not care about the synchronization status since we will purge the
   * device later.                                                    
   */                                                                 
  if (sync)                                                           
   4ed7e:	4a2e 0013      	tstb %fp@(19)                               
   4ed82:	6600 00ac      	bnew 4ee30 <rtems_bdbuf_set_block_size+0xc2>
    rtems_bdbuf_syncdev (dd);                                         
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4ed86:	4eba de28      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
  if (block_size > 0)                                                 
   4ed8a:	4a82           	tstl %d2                                    
   4ed8c:	6612           	bnes 4eda0 <rtems_bdbuf_set_block_size+0x32>
  else                                                                
  {                                                                   
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4ed8e:	4eba de6c      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
      sc = RTEMS_INVALID_NUMBER;                                      
    }                                                                 
  }                                                                   
  else                                                                
  {                                                                   
    sc = RTEMS_INVALID_NUMBER;                                        
   4ed92:	740a           	moveq #10,%d2                               
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  return sc;                                                          
}                                                                     
   4ed94:	2002           	movel %d2,%d0                               
   4ed96:	4cee 047c ffe8 	moveml %fp@(-24),%d2-%d6/%a2                
   4ed9c:	4e5e           	unlk %fp                                    
   4ed9e:	4e75           	rts                                         
rtems_bdbuf_bds_per_group (size_t size)                               
{                                                                     
  size_t bufs_per_size;                                               
  size_t bds_per_size;                                                
                                                                      
  if (size > bdbuf_config.buffer_max)                                 
   4eda0:	b4b9 0006 0c3a 	cmpl 60c3a <rtems_bdbuf_configuration+0x28>,%d2
   4eda6:	62e6           	bhis 4ed8e <rtems_bdbuf_set_block_size+0x20><== NEVER TAKEN
    return 0;                                                         
                                                                      
  bufs_per_size = ((size - 1) / bdbuf_config.buffer_min) + 1;         
   4eda8:	2202           	movel %d2,%d1                               
   4edaa:	5381           	subql #1,%d1                                
   4edac:	41f9 0006 0c36 	lea 60c36 <rtems_bdbuf_configuration+0x24>,%a0
   4edb2:	4c50 1001      	remul %a0@,%d1,%d1                          
                                                                      
  for (bds_per_size = 1;                                              
   4edb6:	7001           	moveq #1,%d0                                
  size_t bds_per_size;                                                
                                                                      
  if (size > bdbuf_config.buffer_max)                                 
    return 0;                                                         
                                                                      
  bufs_per_size = ((size - 1) / bdbuf_config.buffer_min) + 1;         
   4edb8:	5281           	addql #1,%d1                                
                                                                      
  for (bds_per_size = 1;                                              
   4edba:	b081           	cmpl %d1,%d0                                
   4edbc:	6400 008a      	bccw 4ee48 <rtems_bdbuf_set_block_size+0xda>
       bds_per_size < bufs_per_size;                                  
       bds_per_size <<= 1)                                            
   4edc0:	d080           	addl %d0,%d0                                
  if (size > bdbuf_config.buffer_max)                                 
    return 0;                                                         
                                                                      
  bufs_per_size = ((size - 1) / bdbuf_config.buffer_min) + 1;         
                                                                      
  for (bds_per_size = 1;                                              
   4edc2:	b081           	cmpl %d1,%d0                                
   4edc4:	65fa           	bcss 4edc0 <rtems_bdbuf_set_block_size+0x52>
       bds_per_size < bufs_per_size;                                  
       bds_per_size <<= 1)                                            
    ;                                                                 
                                                                      
  return bdbuf_cache.max_bds_per_group / bds_per_size;                
   4edc6:	2639 0006 3772 	movel 63772 <bdbuf_cache+0x1e>,%d3          
   4edcc:	4c40 3003      	remul %d0,%d3,%d3                           
   4edd0:	2003           	movel %d3,%d0                               
                                                                      
  if (block_size > 0)                                                 
  {                                                                   
    size_t bds_per_group = rtems_bdbuf_bds_per_group (block_size);    
                                                                      
    if (bds_per_group != 0)                                           
   4edd2:	67ba           	beqs 4ed8e <rtems_bdbuf_set_block_size+0x20><== NEVER TAKEN
    {                                                                 
      int block_to_media_block_shift = 0;                             
      uint32_t media_blocks_per_block = block_size / dd->media_block_size;
   4edd4:	2c2a 0020      	movel %a2@(32),%d6                          
   4edd8:	2802           	movel %d2,%d4                               
      uint32_t one = 1;                                               
                                                                      
      while ((one << block_to_media_block_shift) < media_blocks_per_block)
   4edda:	7a01           	moveq #1,%d5                                
    size_t bds_per_group = rtems_bdbuf_bds_per_group (block_size);    
                                                                      
    if (bds_per_group != 0)                                           
    {                                                                 
      int block_to_media_block_shift = 0;                             
      uint32_t media_blocks_per_block = block_size / dd->media_block_size;
   4eddc:	4c46 4004      	remul %d6,%d4,%d4                           
      uint32_t one = 1;                                               
                                                                      
      while ((one << block_to_media_block_shift) < media_blocks_per_block)
   4ede0:	4281           	clrl %d1                                    
   4ede2:	ba84           	cmpl %d4,%d5                                
   4ede4:	640a           	bccs 4edf0 <rtems_bdbuf_set_block_size+0x82>
      {                                                               
        ++block_to_media_block_shift;                                 
   4ede6:	5281           	addql #1,%d1                                
    {                                                                 
      int block_to_media_block_shift = 0;                             
      uint32_t media_blocks_per_block = block_size / dd->media_block_size;
      uint32_t one = 1;                                               
                                                                      
      while ((one << block_to_media_block_shift) < media_blocks_per_block)
   4ede8:	2605           	movel %d5,%d3                               
   4edea:	e3ab           	lsll %d1,%d3                                
   4edec:	b684           	cmpl %d4,%d3                                
   4edee:	65f6           	bcss 4ede6 <rtems_bdbuf_set_block_size+0x78>
      {                                                               
        ++block_to_media_block_shift;                                 
      }                                                               
                                                                      
      if ((dd->media_block_size << block_to_media_block_shift) != block_size)
   4edf0:	e3ae           	lsll %d1,%d6                                
   4edf2:	b486           	cmpl %d6,%d2                                
   4edf4:	6702           	beqs 4edf8 <rtems_bdbuf_set_block_size+0x8a><== ALWAYS TAKEN
        block_to_media_block_shift = -1;                              
   4edf6:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
                                                                      
      dd->block_size = block_size;                                    
      dd->block_count = dd->size / media_blocks_per_block;            
   4edf8:	2a2a 001c      	movel %a2@(28),%d5                          
   4edfc:	4c44 5005      	remul %d4,%d5,%d5                           
      }                                                               
                                                                      
      if ((dd->media_block_size << block_to_media_block_shift) != block_size)
        block_to_media_block_shift = -1;                              
                                                                      
      dd->block_size = block_size;                                    
   4ee00:	2542 0024      	movel %d2,%a2@(36)                          
rtems_status_code                                                     
rtems_bdbuf_set_block_size (rtems_disk_device *dd,                    
                            uint32_t           block_size,            
                            bool               sync)                  
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
   4ee04:	4282           	clrl %d2                                    
                                                                      
      if ((dd->media_block_size << block_to_media_block_shift) != block_size)
        block_to_media_block_shift = -1;                              
                                                                      
      dd->block_size = block_size;                                    
      dd->block_count = dd->size / media_blocks_per_block;            
   4ee06:	2545 0028      	movel %d5,%a2@(40)                          
      dd->media_blocks_per_block = media_blocks_per_block;            
      dd->block_to_media_block_shift = block_to_media_block_shift;    
      dd->bds_per_group = bds_per_group;                              
                                                                      
      rtems_bdbuf_purge_dev (dd);                                     
   4ee0a:	2f0a           	movel %a2,%sp@-                             
                                                                      
      dd->block_size = block_size;                                    
      dd->block_count = dd->size / media_blocks_per_block;            
      dd->media_blocks_per_block = media_blocks_per_block;            
      dd->block_to_media_block_shift = block_to_media_block_shift;    
      dd->bds_per_group = bds_per_group;                              
   4ee0c:	2540 0034      	movel %d0,%a2@(52)                          
        block_to_media_block_shift = -1;                              
                                                                      
      dd->block_size = block_size;                                    
      dd->block_count = dd->size / media_blocks_per_block;            
      dd->media_blocks_per_block = media_blocks_per_block;            
      dd->block_to_media_block_shift = block_to_media_block_shift;    
   4ee10:	2541 0030      	movel %d1,%a2@(48)                          
      if ((dd->media_block_size << block_to_media_block_shift) != block_size)
        block_to_media_block_shift = -1;                              
                                                                      
      dd->block_size = block_size;                                    
      dd->block_count = dd->size / media_blocks_per_block;            
      dd->media_blocks_per_block = media_blocks_per_block;            
   4ee14:	2544 002c      	movel %d4,%a2@(44)                          
      dd->block_to_media_block_shift = block_to_media_block_shift;    
      dd->bds_per_group = bds_per_group;                              
                                                                      
      rtems_bdbuf_purge_dev (dd);                                     
   4ee18:	4eb9 0004 eb94 	jsr 4eb94 <rtems_bdbuf_purge_dev>           
   4ee1e:	588f           	addql #4,%sp                                
  else                                                                
  {                                                                   
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4ee20:	4eba ddda      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return sc;                                                          
}                                                                     
   4ee24:	2002           	movel %d2,%d0                               
   4ee26:	4cee 047c ffe8 	moveml %fp@(-24),%d2-%d6/%a2                
   4ee2c:	4e5e           	unlk %fp                                    
   4ee2e:	4e75           	rts                                         
  /*                                                                  
   * We do not care about the synchronization status since we will purge the
   * device later.                                                    
   */                                                                 
  if (sync)                                                           
    rtems_bdbuf_syncdev (dd);                                         
   4ee30:	2f0a           	movel %a2,%sp@-                             
   4ee32:	4eb9 0004 eb3c 	jsr 4eb3c <rtems_bdbuf_syncdev>             
   4ee38:	588f           	addql #4,%sp                                
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4ee3a:	4eba dd74      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
  if (block_size > 0)                                                 
   4ee3e:	4a82           	tstl %d2                                    
   4ee40:	6700 ff4c      	beqw 4ed8e <rtems_bdbuf_set_block_size+0x20>
   4ee44:	6000 ff5a      	braw 4eda0 <rtems_bdbuf_set_block_size+0x32>
  if (size > bdbuf_config.buffer_max)                                 
    return 0;                                                         
                                                                      
  bufs_per_size = ((size - 1) / bdbuf_config.buffer_min) + 1;         
                                                                      
  for (bds_per_size = 1;                                              
   4ee48:	7001           	moveq #1,%d0                                
   4ee4a:	6000 ff7a      	braw 4edc6 <rtems_bdbuf_set_block_size+0x58>
                                                                      

0004ca68 <rtems_bdbuf_swapout_modified_processing>: rtems_chain_control* chain, rtems_chain_control* transfer, bool sync_active, bool update_timers, uint32_t timer_delta) {
   4ca68:	4e56 ffdc      	linkw %fp,#-36                              
   4ca6c:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4ca70:	2a6e 000c      	moveal %fp@(12),%a5                         
   4ca74:	286e 0008      	moveal %fp@(8),%a4                          
   4ca78:	266e 0010      	moveal %fp@(16),%a3                         
   4ca7c:	2a2e 001c      	movel %fp@(28),%d5                          
   4ca80:	205d           	moveal %a5@+,%a0                            
   4ca82:	142e 0017      	moveb %fp@(23),%d2                          
   4ca86:	162e 001b      	moveb %fp@(27),%d3                          
  if (!rtems_chain_is_empty (chain))                                  
   4ca8a:	bbc8           	cmpal %a0,%a5                               
   4ca8c:	6754           	beqs 4cae2 <rtems_bdbuf_swapout_modified_processing+0x7a>
    node = node->next;                                                
                                                                      
    /*                                                                
     * A sync active with no valid dev means sync all.                
     */                                                               
    if (sync_active && (*dd_ptr == BDBUF_INVALID_DEV))                
   4ca8e:	4a02           	tstb %d2                                    
   4ca90:	6758           	beqs 4caea <rtems_bdbuf_swapout_modified_processing+0x82>
   4ca92:	4a94           	tstl %a4@                                   
   4ca94:	57c1           	seq %d1                                     
}                                                                     
                                                                      
static bool                                                           
rtems_bdbuf_has_buffer_waiters (void)                                 
{                                                                     
  return bdbuf_cache.buffer_waiters.count;                            
   4ca96:	2839 0006 37c4 	movel 637c4 <bdbuf_cache+0x70>,%d4          
    node = node->next;                                                
                                                                      
    /*                                                                
     * A sync active with no valid dev means sync all.                
     */                                                               
    if (sync_active && (*dd_ptr == BDBUF_INVALID_DEV))                
   4ca9c:	4481           	negl %d1                                    
       * or someone waits for a buffer written force all the timers to 0.
       *                                                              
       * @note Lots of sync requests will skew this timer. It should be based
       *       on TOD to be accurate. Does it matter ?                
       */                                                             
      if (sync_all || (sync_active && (*dd_ptr == bd->dd))            
   4ca9e:	4a01           	tstb %d1                                    
   4caa0:	6600 009e      	bnew 4cb40 <rtems_bdbuf_swapout_modified_processing+0xd8>
   4caa4:	4a02           	tstb %d2                                    
   4caa6:	670a           	beqs 4cab2 <rtems_bdbuf_swapout_modified_processing+0x4a>
   4caa8:	2014           	movel %a4@,%d0                              
   4caaa:	b0a8 0012      	cmpl %a0@(18),%d0                           
   4caae:	6700 0092      	beqw 4cb42 <rtems_bdbuf_swapout_modified_processing+0xda>
          || rtems_bdbuf_has_buffer_waiters ())                       
   4cab2:	4a84           	tstl %d4                                    
   4cab4:	6600 008a      	bnew 4cb40 <rtems_bdbuf_swapout_modified_processing+0xd8>
        bd->hold_timer = 0;                                           
                                                                      
      if (bd->hold_timer)                                             
   4cab8:	2028 002a      	movel %a0@(42),%d0                          
   4cabc:	6712           	beqs 4cad0 <rtems_bdbuf_swapout_modified_processing+0x68><== NEVER TAKEN
      {                                                               
        if (update_timers)                                            
   4cabe:	4a03           	tstb %d3                                    
   4cac0:	671a           	beqs 4cadc <rtems_bdbuf_swapout_modified_processing+0x74>
        {                                                             
          if (bd->hold_timer > timer_delta)                           
   4cac2:	ba80           	cmpl %d0,%d5                                
   4cac4:	6400 00a8      	bccw 4cb6e <rtems_bdbuf_swapout_modified_processing+0x106>
            bd->hold_timer -= timer_delta;                            
   4cac8:	9085           	subl %d5,%d0                                
   4caca:	2140 002a      	movel %d0,%a0@(42)                          
          else                                                        
            bd->hold_timer = 0;                                       
        }                                                             
                                                                      
        if (bd->hold_timer)                                           
   4cace:	660c           	bnes 4cadc <rtems_bdbuf_swapout_modified_processing+0x74><== ALWAYS TAKEN
   4cad0:	2014           	movel %a4@,%d0                              <== NOT EXECUTED
      /*                                                              
       * This assumes we can set it to BDBUF_INVALID_DEV which is just an
       * assumption. Cannot use the transfer list being empty the sync dev
       * calls sets the dev to use.                                   
       */                                                             
      if (*dd_ptr == BDBUF_INVALID_DEV)                               
   4cad2:	4a80           	tstl %d0                                    
   4cad4:	675c           	beqs 4cb32 <rtems_bdbuf_swapout_modified_processing+0xca>
        *dd_ptr = bd->dd;                                             
                                                                      
      if (bd->dd == *dd_ptr)                                          
   4cad6:	b0a8 0012      	cmpl %a0@(18),%d0                           
   4cada:	6718           	beqs 4caf4 <rtems_bdbuf_swapout_modified_processing+0x8c><== ALWAYS TAKEN
                                                                      
        node = next_node;                                             
      }                                                               
      else                                                            
      {                                                               
        node = node->next;                                            
   4cadc:	2050           	moveal %a0@,%a0                             
    if (sync_active && (*dd_ptr == BDBUF_INVALID_DEV))                
      sync_all = true;                                                
    else                                                              
      sync_all = false;                                               
                                                                      
    while (!rtems_chain_is_tail (chain, node))                        
   4cade:	bbc8           	cmpal %a0,%a5                               
   4cae0:	66bc           	bnes 4ca9e <rtems_bdbuf_swapout_modified_processing+0x36>
      {                                                               
        node = node->next;                                            
      }                                                               
    }                                                                 
  }                                                                   
}                                                                     
   4cae2:	4cd7 3c7c      	moveml %sp@,%d2-%d6/%a2-%a5                 
   4cae6:	4e5e           	unlk %fp                                    
   4cae8:	4e75           	rts                                         
}                                                                     
                                                                      
static bool                                                           
rtems_bdbuf_has_buffer_waiters (void)                                 
{                                                                     
  return bdbuf_cache.buffer_waiters.count;                            
   4caea:	2839 0006 37c4 	movel 637c4 <bdbuf_cache+0x70>,%d4          
     * A sync active with no valid dev means sync all.                
     */                                                               
    if (sync_active && (*dd_ptr == BDBUF_INVALID_DEV))                
      sync_all = true;                                                
    else                                                              
      sync_all = false;                                               
   4caf0:	4201           	clrb %d1                                    
   4caf2:	60aa           	bras 4ca9e <rtems_bdbuf_swapout_modified_processing+0x36>
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4caf4:	7c09           	moveq #9,%d6                                
      if (*dd_ptr == BDBUF_INVALID_DEV)                               
        *dd_ptr = bd->dd;                                             
                                                                      
      if (bd->dd == *dd_ptr)                                          
      {                                                               
        rtems_chain_node* next_node = node->next;                     
   4caf6:	2010           	movel %a0@,%d0                              
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
  next->previous = previous;                                          
   4caf8:	2240           	moveal %d0,%a1                              
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4cafa:	2146 001e      	movel %d6,%a0@(30)                          
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
  previous       = the_node->previous;                                
   4cafe:	2468 0004      	moveal %a0@(4),%a2                          
  next->previous = previous;                                          
   4cb02:	234a 0004      	movel %a2,%a1@(4)                           
                                                                      
        rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_TRANSFER);       
                                                                      
        rtems_chain_extract_unprotected (node);                       
                                                                      
        tnode = tnode->previous;                                      
   4cb06:	226b 0008      	moveal %a3@(8),%a1                          
  previous->next = next;                                              
   4cb0a:	2480           	movel %d0,%a2@                              
                                                                      
        while (node && !rtems_chain_is_head (transfer, tnode))        
   4cb0c:	b7c9           	cmpal %a1,%a3                               
   4cb0e:	6744           	beqs 4cb54 <rtems_bdbuf_swapout_modified_processing+0xec>
        {                                                             
          rtems_bdbuf_buffer* tbd = (rtems_bdbuf_buffer*) tnode;      
                                                                      
          if (bd->block > tbd->block)                                 
   4cb10:	2c29 0016      	movel %a1@(22),%d6                          
   4cb14:	bca8 0016      	cmpl %a0@(22),%d6                           
   4cb18:	6432           	bccs 4cb4c <rtems_bdbuf_swapout_modified_processing+0xe4>
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   4cb1a:	2451           	moveal %a1@,%a2                             
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4cb1c:	2149 0004      	movel %a1,%a0@(4)                           
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   4cb20:	2288           	movel %a0,%a1@                              
  the_node->next        = before_node;                                
  before_node->previous = the_node;                                   
   4cb22:	2548 0004      	movel %a0,%a2@(4)                           
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   4cb26:	208a           	movel %a2,%a0@                              
  before_node->previous = the_node;                                   
   4cb28:	2040           	moveal %d0,%a0                              
    if (sync_active && (*dd_ptr == BDBUF_INVALID_DEV))                
      sync_all = true;                                                
    else                                                              
      sync_all = false;                                               
                                                                      
    while (!rtems_chain_is_tail (chain, node))                        
   4cb2a:	bbc8           	cmpal %a0,%a5                               
   4cb2c:	6600 ff70      	bnew 4ca9e <rtems_bdbuf_swapout_modified_processing+0x36>
   4cb30:	60b0           	bras 4cae2 <rtems_bdbuf_swapout_modified_processing+0x7a>
       * This assumes we can set it to BDBUF_INVALID_DEV which is just an
       * assumption. Cannot use the transfer list being empty the sync dev
       * calls sets the dev to use.                                   
       */                                                             
      if (*dd_ptr == BDBUF_INVALID_DEV)                               
        *dd_ptr = bd->dd;                                             
   4cb32:	2028 0012      	movel %a0@(18),%d0                          
   4cb36:	2880           	movel %d0,%a4@                              
                                                                      
      if (bd->dd == *dd_ptr)                                          
   4cb38:	b0a8 0012      	cmpl %a0@(18),%d0                           
   4cb3c:	669e           	bnes 4cadc <rtems_bdbuf_swapout_modified_processing+0x74><== NEVER TAKEN
   4cb3e:	60b4           	bras 4caf4 <rtems_bdbuf_swapout_modified_processing+0x8c>
   4cb40:	2014           	movel %a4@,%d0                              
       * @note Lots of sync requests will skew this timer. It should be based
       *       on TOD to be accurate. Does it matter ?                
       */                                                             
      if (sync_all || (sync_active && (*dd_ptr == bd->dd))            
          || rtems_bdbuf_has_buffer_waiters ())                       
        bd->hold_timer = 0;                                           
   4cb42:	42a8 002a      	clrl %a0@(42)                               
      /*                                                              
       * This assumes we can set it to BDBUF_INVALID_DEV which is just an
       * assumption. Cannot use the transfer list being empty the sync dev
       * calls sets the dev to use.                                   
       */                                                             
      if (*dd_ptr == BDBUF_INVALID_DEV)                               
   4cb46:	4a80           	tstl %d0                                    
   4cb48:	668c           	bnes 4cad6 <rtems_bdbuf_swapout_modified_processing+0x6e>
   4cb4a:	60e6           	bras 4cb32 <rtems_bdbuf_swapout_modified_processing+0xca>
          {                                                           
            rtems_chain_insert_unprotected (tnode, node);             
            node = NULL;                                              
          }                                                           
          else                                                        
            tnode = tnode->previous;                                  
   4cb4c:	2269 0004      	moveal %a1@(4),%a1                          
                                                                      
        rtems_chain_extract_unprotected (node);                       
                                                                      
        tnode = tnode->previous;                                      
                                                                      
        while (node && !rtems_chain_is_head (transfer, tnode))        
   4cb50:	b7c9           	cmpal %a1,%a3                               
   4cb52:	66bc           	bnes 4cb10 <rtems_bdbuf_swapout_modified_processing+0xa8>
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   4cb54:	2253           	moveal %a3@,%a1                             
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4cb56:	214b 0004      	movel %a3,%a0@(4)                           
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   4cb5a:	2688           	movel %a0,%a3@                              
  the_node->next        = before_node;                                
  before_node->previous = the_node;                                   
   4cb5c:	2348 0004      	movel %a0,%a1@(4)                           
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   4cb60:	2089           	movel %a1,%a0@                              
  before_node->previous = the_node;                                   
   4cb62:	2040           	moveal %d0,%a0                              
    if (sync_active && (*dd_ptr == BDBUF_INVALID_DEV))                
      sync_all = true;                                                
    else                                                              
      sync_all = false;                                               
                                                                      
    while (!rtems_chain_is_tail (chain, node))                        
   4cb64:	bbc8           	cmpal %a0,%a5                               
   4cb66:	6600 ff36      	bnew 4ca9e <rtems_bdbuf_swapout_modified_processing+0x36>
   4cb6a:	6000 ff76      	braw 4cae2 <rtems_bdbuf_swapout_modified_processing+0x7a>
        if (update_timers)                                            
        {                                                             
          if (bd->hold_timer > timer_delta)                           
            bd->hold_timer -= timer_delta;                            
          else                                                        
            bd->hold_timer = 0;                                       
   4cb6e:	42a8 002a      	clrl %a0@(42)                               
   4cb72:	2014           	movel %a4@,%d0                              
   4cb74:	6000 ff5c      	braw 4cad2 <rtems_bdbuf_swapout_modified_processing+0x6a>
                                                                      

0004dbb6 <rtems_bdbuf_swapout_task>: * not this. * @return rtems_task Not used. */ static rtems_task rtems_bdbuf_swapout_task (rtems_task_argument arg) {
   4dbb6:	4e56 ffb4      	linkw %fp,#-76                              
   4dbba:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  rtems_bdbuf_swapout_transfer transfer;                              
  uint32_t                     period_in_ticks;                       
  const uint32_t               period_in_msecs = bdbuf_config.swapout_period;
   4dbbe:	2439 0006 0c1e 	movel 60c1e <rtems_bdbuf_configuration+0xc>,%d2
  uint32_t                     timer_delta;                           
                                                                      
  transfer.write_req = rtems_bdbuf_swapout_writereq_alloc ();         
   4dbc4:	49fa f19e      	lea %pc@(4cd64 <rtems_bdbuf_swapout_writereq_alloc>),%a4
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4dbc8:	260e           	movel %fp,%d3                               
   4dbca:	0683 ffff ffea 	addil #-22,%d3                              
rtems_bdbuf_swapout_workers_open (void)                               
{                                                                     
  rtems_status_code sc;                                               
  size_t            w;                                                
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4dbd0:	47fa efde      	lea %pc@(4cbb0 <rtems_bdbuf_lock_cache>),%a3
  rtems_bdbuf_swapout_transfer transfer;                              
  uint32_t                     period_in_ticks;                       
  const uint32_t               period_in_msecs = bdbuf_config.swapout_period;
  uint32_t                     timer_delta;                           
                                                                      
  transfer.write_req = rtems_bdbuf_swapout_writereq_alloc ();         
   4dbd4:	4e94           	jsr %a4@                                    
   4dbd6:	41ee ffee      	lea %fp@(-18),%a0                           
  transfer.syncing = false;                                           
                                                                      
  /*                                                                  
   * Localise the period.                                             
   */                                                                 
  period_in_ticks = RTEMS_MICROSECONDS_TO_TICKS (period_in_msecs * 1000);
   4dbda:	223c 0000 03e8 	movel #1000,%d1                             
   4dbe0:	4c02 1800      	mulsl %d2,%d1                               
  rtems_bdbuf_swapout_transfer transfer;                              
  uint32_t                     period_in_ticks;                       
  const uint32_t               period_in_msecs = bdbuf_config.swapout_period;
  uint32_t                     timer_delta;                           
                                                                      
  transfer.write_req = rtems_bdbuf_swapout_writereq_alloc ();         
   4dbe4:	2d40 fffc      	movel %d0,%fp@(-4)                          
  rtems_chain_initialize_empty (&transfer.bds);                       
  transfer.dd = BDBUF_INVALID_DEV;                                    
  transfer.syncing = false;                                           
   4dbe8:	4200           	clrb %d0                                    
   4dbea:	2d48 ffea      	movel %a0,%fp@(-22)                         
                                                                      
  /*                                                                  
   * Localise the period.                                             
   */                                                                 
  period_in_ticks = RTEMS_MICROSECONDS_TO_TICKS (period_in_msecs * 1000);
   4dbee:	41f9 0006 0bd6 	lea 60bd6 <Configuration+0xc>,%a0           
  uint32_t                     timer_delta;                           
                                                                      
  transfer.write_req = rtems_bdbuf_swapout_writereq_alloc ();         
  rtems_chain_initialize_empty (&transfer.bds);                       
  transfer.dd = BDBUF_INVALID_DEV;                                    
  transfer.syncing = false;                                           
   4dbf4:	1d40 fffa      	moveb %d0,%fp@(-6)                          
                                                                      
  /*                                                                  
   * Localise the period.                                             
   */                                                                 
  period_in_ticks = RTEMS_MICROSECONDS_TO_TICKS (period_in_msecs * 1000);
   4dbf8:	4c50 1001      	remul %a0@,%d1,%d1                          
  head->previous = NULL;                                              
   4dbfc:	42ae ffee      	clrl %fp@(-18)                              
   4dc00:	2d41 ffe0      	movel %d1,%fp@(-32)                         
  tail->previous = head;                                              
   4dc04:	2d43 fff2      	movel %d3,%fp@(-14)                         
  const uint32_t               period_in_msecs = bdbuf_config.swapout_period;
  uint32_t                     timer_delta;                           
                                                                      
  transfer.write_req = rtems_bdbuf_swapout_writereq_alloc ();         
  rtems_chain_initialize_empty (&transfer.bds);                       
  transfer.dd = BDBUF_INVALID_DEV;                                    
   4dc08:	42ae fff6      	clrl %fp@(-10)                              
rtems_bdbuf_swapout_workers_open (void)                               
{                                                                     
  rtems_status_code sc;                                               
  size_t            w;                                                
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4dc0c:	4e93           	jsr %a3@                                    
                                                                      
  for (w = 0; w < bdbuf_config.swapout_workers; w++)                  
   4dc0e:	2c39 0006 0c26 	movel 60c26 <rtems_bdbuf_configuration+0x14>,%d6
   4dc14:	6700 008e      	beqw 4dca4 <rtems_bdbuf_swapout_task+0xee>  
 * @param arg A pointer to the global cache data. Use the global variable and
 *            not this.                                               
 * @return rtems_task Not used.                                       
 */                                                                   
static rtems_task                                                     
rtems_bdbuf_swapout_task (rtems_task_argument arg)                    
   4dc18:	0686 0000 0061 	addil #97,%d6                               <== NOT EXECUTED
   4dc1e:	7861           	moveq #97,%d4                               <== NOT EXECUTED
   4dc20:	2a3c 0004 49d4 	movel #281044,%d5                           <== NOT EXECUTED
    worker->transfer.write_req = rtems_bdbuf_swapout_writereq_alloc ();
                                                                      
    rtems_chain_initialize_empty (&worker->transfer.bds);             
    worker->transfer.dd = BDBUF_INVALID_DEV;                          
                                                                      
    sc = rtems_bdbuf_create_task (rtems_build_name('B', 'D', 'o', 'a' + w),
   4dc26:	4bfa f2d0      	lea %pc@(4cef8 <rtems_bdbuf_create_task.constprop.15>),%a5<== NOT EXECUTED
                                                                      
  for (w = 0; w < bdbuf_config.swapout_workers; w++)                  
  {                                                                   
    rtems_bdbuf_swapout_worker* worker;                               
                                                                      
    worker = malloc (sizeof (rtems_bdbuf_swapout_worker));            
   4dc2a:	4878 0024      	pea 24 <OPER2+0x10>                         <== NOT EXECUTED
   4dc2e:	2245           	moveal %d5,%a1                              <== NOT EXECUTED
   4dc30:	4e91           	jsr %a1@                                    <== NOT EXECUTED
    if (!worker)                                                      
   4dc32:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  for (w = 0; w < bdbuf_config.swapout_workers; w++)                  
  {                                                                   
    rtems_bdbuf_swapout_worker* worker;                               
                                                                      
    worker = malloc (sizeof (rtems_bdbuf_swapout_worker));            
   4dc34:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
    if (!worker)                                                      
   4dc36:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4dc38:	6700 0284      	beqw 4debe <rtems_bdbuf_swapout_task+0x308> <== NOT EXECUTED
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4dc3c:	2079 0006 3762 	moveal 63762 <bdbuf_cache+0xe>,%a0          <== NOT EXECUTED
                                                                      
  the_node->next = tail;                                              
   4dc42:	24bc 0006 375e 	movel #407390,%a2@                          <== NOT EXECUTED
  tail->previous = the_node;                                          
   4dc48:	23c0 0006 3762 	movel %d0,63762 <bdbuf_cache+0xe>           <== NOT EXECUTED
  old_last->next = the_node;                                          
   4dc4e:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WK_NOMEM);              
                                                                      
    rtems_chain_append_unprotected (&bdbuf_cache.swapout_workers, &worker->link);
    worker->enabled = true;                                           
   4dc50:	7001           	moveq #1,%d0                                <== NOT EXECUTED
  the_node->previous = old_last;                                      
   4dc52:	2548 0004      	movel %a0,%a2@(4)                           <== NOT EXECUTED
   4dc56:	1540 000c      	moveb %d0,%a2@(12)                          <== NOT EXECUTED
    worker->transfer.write_req = rtems_bdbuf_swapout_writereq_alloc ();
   4dc5a:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                                                      
    rtems_chain_initialize_empty (&worker->transfer.bds);             
    worker->transfer.dd = BDBUF_INVALID_DEV;                          
                                                                      
    sc = rtems_bdbuf_create_task (rtems_build_name('B', 'D', 'o', 'a' + w),
   4dc5c:	486a 0008      	pea %a2@(8)                                 <== NOT EXECUTED
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4dc60:	41ea 0012      	lea %a2@(18),%a0                            <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   4dc64:	43ea 000e      	lea %a2@(14),%a1                            <== NOT EXECUTED
   4dc68:	2204           	movel %d4,%d1                               <== NOT EXECUTED
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4dc6a:	2548 000e      	movel %a0,%a2@(14)                          <== NOT EXECUTED
   4dc6e:	0081 4244 6f00 	oril #1111781120,%d1                        <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   4dc74:	2549 0016      	movel %a1,%a2@(22)                          <== NOT EXECUTED
   4dc78:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4dc7a:	487a 025a      	pea %pc@(4ded6 <rtems_bdbuf_swapout_worker_task>)<== NOT EXECUTED
   4dc7e:	2f39 0006 0c2a 	movel 60c2a <rtems_bdbuf_configuration+0x18>,%sp@-<== NOT EXECUTED
   4dc84:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
    if (!worker)                                                      
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WK_NOMEM);              
                                                                      
    rtems_chain_append_unprotected (&bdbuf_cache.swapout_workers, &worker->link);
    worker->enabled = true;                                           
    worker->transfer.write_req = rtems_bdbuf_swapout_writereq_alloc ();
   4dc86:	2540 0020      	movel %d0,%a2@(32)                          <== NOT EXECUTED
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4dc8a:	42aa 0012      	clrl %a2@(18)                               <== NOT EXECUTED
                                                                      
    rtems_chain_initialize_empty (&worker->transfer.bds);             
    worker->transfer.dd = BDBUF_INVALID_DEV;                          
   4dc8e:	42aa 001a      	clrl %a2@(26)                               <== NOT EXECUTED
                                                                      
    sc = rtems_bdbuf_create_task (rtems_build_name('B', 'D', 'o', 'a' + w),
   4dc92:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                  bdbuf_config.swapout_worker_priority,
                                  RTEMS_BDBUF_SWAPOUT_WORKER_TASK_PRIORITY_DEFAULT,
                                  rtems_bdbuf_swapout_worker_task,    
                                  (rtems_task_argument) worker,       
                                  &worker->id);                       
    if (sc != RTEMS_SUCCESSFUL)                                       
   4dc94:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   4dc98:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4dc9a:	6600 022a      	bnew 4dec6 <rtems_bdbuf_swapout_task+0x310> <== NOT EXECUTED
   4dc9e:	5284           	addql #1,%d4                                <== NOT EXECUTED
  rtems_status_code sc;                                               
  size_t            w;                                                
                                                                      
  rtems_bdbuf_lock_cache ();                                          
                                                                      
  for (w = 0; w < bdbuf_config.swapout_workers; w++)                  
   4dca0:	bc84           	cmpl %d4,%d6                                <== NOT EXECUTED
   4dca2:	6686           	bnes 4dc2a <rtems_bdbuf_swapout_task+0x74>  <== NOT EXECUTED
                                  &worker->id);                       
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WK_CREATE);             
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4dca4:	49fa ef56      	lea %pc@(4cbfc <rtems_bdbuf_unlock_cache>),%a4
   4dca8:	45fa edbe      	lea %pc@(4ca68 <rtems_bdbuf_swapout_modified_processing>),%a2
   4dcac:	4e94           	jsr %a4@                                    
  /*                                                                  
   * Create the worker threads.                                       
   */                                                                 
  rtems_bdbuf_swapout_workers_open ();                                
                                                                      
  while (bdbuf_cache.swapout_enabled)                                 
   4dcae:	4a39 0006 3758 	tstb 63758 <bdbuf_cache+0x4>                
   4dcb4:	6700 0194      	beqw 4de4a <rtems_bdbuf_swapout_task+0x294> 
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4dcb8:	2c0e           	movel %fp,%d6                               
   4dcba:	0686 ffff ffee 	addil #-18,%d6                              
 * @param arg A pointer to the global cache data. Use the global variable and
 *            not this.                                               
 * @return rtems_task Not used.                                       
 */                                                                   
static rtems_task                                                     
rtems_bdbuf_swapout_task (rtems_task_argument arg)                    
   4dcc0:	7801           	moveq #1,%d4                                
                                rtems_bdbuf_swapout_transfer* transfer)
{                                                                     
  rtems_bdbuf_swapout_worker* worker;                                 
  bool                        transfered_buffers = false;             
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4dcc2:	4e93           	jsr %a3@                                    
   * here. We do not know the worker is the last in a sequence of sync writes
   * until after we have it running so we do not know to tell it to release the
   * lock. The simplest solution is to get the main swap out task perform all
   * sync operations.                                                 
   */                                                                 
  if (bdbuf_cache.sync_active)                                        
   4dcc4:	4a39 0006 3782 	tstb 63782 <bdbuf_cache+0x2e>               
   4dcca:	6600 00c2      	bnew 4dd8e <rtems_bdbuf_swapout_task+0x1d8> 
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4dcce:	2e39 0006 375a 	movel 6375a <bdbuf_cache+0x6>,%d7           
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   4dcd4:	0c87 0006 375e 	cmpil #407390,%d7                           
   4dcda:	6700 01d2      	beqw 4deae <rtems_bdbuf_swapout_task+0x2f8> 
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
   4dcde:	2247           	moveal %d7,%a1                              <== NOT EXECUTED
                                                                      
  head->next = new_first;                                             
  new_first->previous = head;                                         
   4dce0:	203c 0006 375a 	movel #407386,%d0                           <== NOT EXECUTED
  else                                                                
  {                                                                   
    worker = (rtems_bdbuf_swapout_worker*)                            
      rtems_chain_get_unprotected (&bdbuf_cache.swapout_workers);     
    if (worker)                                                       
      transfer = &worker->transfer;                                   
   4dce6:	2a47           	moveal %d7,%a5                              <== NOT EXECUTED
   4dce8:	4bed 000e      	lea %a5@(14),%a5                            <== NOT EXECUTED
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
   4dcec:	2051           	moveal %a1@,%a0                             <== NOT EXECUTED
                                                                      
  head->next = new_first;                                             
  new_first->previous = head;                                         
   4dcee:	2140 0004      	movel %d0,%a0@(4)                           <== NOT EXECUTED
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
                                                                      
  head->next = new_first;                                             
   4dcf2:	23c8 0006 375a 	movel %a0,6375a <bdbuf_cache+0x6>           <== NOT EXECUTED
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4dcf8:	2a0d           	movel %a5,%d5                               
   4dcfa:	5885           	addql #4,%d5                                
                                                                      
  /*                                                                  
   * If we have any buffers in the sync queue move them to the modified
   * list. The first sync buffer will select the device we use.       
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4dcfc:	200d           	movel %a5,%d0                               
   4dcfe:	0680 0000 000c 	addil #12,%d0                               
      transfer = &worker->transfer;                                   
  }                                                                   
                                                                      
  rtems_chain_initialize_empty (&transfer->bds);                      
  transfer->dd = BDBUF_INVALID_DEV;                                   
  transfer->syncing = bdbuf_cache.sync_active;                        
   4dd04:	4201           	clrb %d1                                    
   4dd06:	2a85           	movel %d5,%a5@                              
                                           timer_delta);              
                                                                      
  /*                                                                  
   * Process the cache's modified list.                               
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4dd08:	7a01           	moveq #1,%d5                                
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4dd0a:	42ad 0004      	clrl %a5@(4)                                
      transfer = &worker->transfer;                                   
  }                                                                   
                                                                      
  rtems_chain_initialize_empty (&transfer->bds);                      
  transfer->dd = BDBUF_INVALID_DEV;                                   
  transfer->syncing = bdbuf_cache.sync_active;                        
   4dd0e:	1b41 0010      	moveb %d1,%a5@(16)                          
  tail->previous = head;                                              
   4dd12:	2b4d 0008      	movel %a5,%a5@(8)                           
                                           timer_delta);              
                                                                      
  /*                                                                  
   * Process the cache's modified list.                               
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4dd16:	ca84           	andl %d4,%d5                                
    if (worker)                                                       
      transfer = &worker->transfer;                                   
  }                                                                   
                                                                      
  rtems_chain_initialize_empty (&transfer->bds);                      
  transfer->dd = BDBUF_INVALID_DEV;                                   
   4dd18:	42ad 000c      	clrl %a5@(12)                               
                                                                      
  /*                                                                  
   * If we have any buffers in the sync queue move them to the modified
   * list. The first sync buffer will select the device we use.       
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4dd1c:	2f02           	movel %d2,%sp@-                             
   4dd1e:	42a7           	clrl %sp@-                                  
   4dd20:	4878 0001      	pea 1 <ADD>                                 
   4dd24:	2f0d           	movel %a5,%sp@-                             
   4dd26:	4879 0006 37a8 	pea 637a8 <bdbuf_cache+0x54>                
   4dd2c:	2d40 ffdc      	movel %d0,%fp@(-36)                         
   4dd30:	2f00           	movel %d0,%sp@-                             
   4dd32:	4e92           	jsr %a2@                                    
                                           timer_delta);              
                                                                      
  /*                                                                  
   * Process the cache's modified list.                               
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4dd34:	202e ffdc      	movel %fp@(-36),%d0                         
   4dd38:	4281           	clrl %d1                                    
   4dd3a:	1239 0006 3782 	moveb 63782 <bdbuf_cache+0x2e>,%d1          
   4dd40:	2f02           	movel %d2,%sp@-                             
   4dd42:	2f05           	movel %d5,%sp@-                             
   4dd44:	2f01           	movel %d1,%sp@-                             
   4dd46:	2f0d           	movel %a5,%sp@-                             
   4dd48:	4879 0006 379c 	pea 6379c <bdbuf_cache+0x48>                
   4dd4e:	2f00           	movel %d0,%sp@-                             
   4dd50:	4e92           	jsr %a2@                                    
  /*                                                                  
   * We have all the buffers that have been modified for this device so the
   * cache can be unlocked because the state of each buffer has been set to
   * TRANSFER.                                                        
   */                                                                 
  rtems_bdbuf_unlock_cache ();                                        
   4dd52:	4fef 0030      	lea %sp@(48),%sp                            
   4dd56:	4e94           	jsr %a4@                                    
RTEMS_INLINE_ROUTINE bool _Chain_Is_empty(                            
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_first( the_chain )                          
    == _Chain_Immutable_tail( the_chain );                            
   4dd58:	200d           	movel %a5,%d0                               
   4dd5a:	5880           	addql #4,%d0                                
                                                                      
  /*                                                                  
   * If there are buffers to transfer to the media transfer them.     
   */                                                                 
  if (!rtems_chain_is_empty (&transfer->bds))                         
   4dd5c:	b095           	cmpl %a5@,%d0                               
   4dd5e:	6700 0098      	beqw 4ddf8 <rtems_bdbuf_swapout_task+0x242> 
  {                                                                   
    if (worker)                                                       
   4dd62:	4a87           	tstl %d7                                    
   4dd64:	6700 0088      	beqw 4ddee <rtems_bdbuf_swapout_task+0x238> 
    {                                                                 
      rtems_status_code sc = rtems_event_send (worker->id,            
   4dd68:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   4dd6c:	2047           	moveal %d7,%a0                              <== NOT EXECUTED
   4dd6e:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   4dd72:	4eb9 0004 874c 	jsr 4874c <rtems_event_send>                <== NOT EXECUTED
                                               RTEMS_BDBUF_SWAPOUT_SYNC);
      if (sc != RTEMS_SUCCESSFUL)                                     
   4dd78:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4dd7a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4dd7c:	6600 0138      	bnew 4deb6 <rtems_bdbuf_swapout_task+0x300> <== NOT EXECUTED
      }                                                               
                                                                      
      /*                                                              
       * Only update the timers once.                                 
       */                                                             
      update_timers = false;                                          
   4dd80:	4204           	clrb %d4                                    
                                rtems_bdbuf_swapout_transfer* transfer)
{                                                                     
  rtems_bdbuf_swapout_worker* worker;                                 
  bool                        transfered_buffers = false;             
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4dd82:	4e93           	jsr %a3@                                    
   * here. We do not know the worker is the last in a sequence of sync writes
   * until after we have it running so we do not know to tell it to release the
   * lock. The simplest solution is to get the main swap out task perform all
   * sync operations.                                                 
   */                                                                 
  if (bdbuf_cache.sync_active)                                        
   4dd84:	4a39 0006 3782 	tstb 63782 <bdbuf_cache+0x2e>               
   4dd8a:	6700 ff42      	beqw 4dcce <rtems_bdbuf_swapout_task+0x118> 
   * When the sync is for a device limit the sync to that device. If the sync
   * is for a buffer handle process the devices in the order on the sync
   * list. This means the dev is BDBUF_INVALID_DEV.                   
   */                                                                 
  if (bdbuf_cache.sync_active)                                        
    transfer->dd = bdbuf_cache.sync_device;                           
   4dd8e:	41f9 0006 3788 	lea 63788 <bdbuf_cache+0x34>,%a0            
                                                                      
  /*                                                                  
   * If we have any buffers in the sync queue move them to the modified
   * list. The first sync buffer will select the device we use.       
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4dd94:	2f02           	movel %d2,%sp@-                             
   * When the sync is for a device limit the sync to that device. If the sync
   * is for a buffer handle process the devices in the order on the sync
   * list. This means the dev is BDBUF_INVALID_DEV.                   
   */                                                                 
  if (bdbuf_cache.sync_active)                                        
    transfer->dd = bdbuf_cache.sync_device;                           
   4dd96:	2d50 fff6      	movel %a0@,%fp@(-10)                        
      transfer = &worker->transfer;                                   
  }                                                                   
                                                                      
  rtems_chain_initialize_empty (&transfer->bds);                      
  transfer->dd = BDBUF_INVALID_DEV;                                   
  transfer->syncing = bdbuf_cache.sync_active;                        
   4dd9a:	7001           	moveq #1,%d0                                
                                                                      
  /*                                                                  
   * If we have any buffers in the sync queue move them to the modified
   * list. The first sync buffer will select the device we use.       
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4dd9c:	42a7           	clrl %sp@-                                  
   4dd9e:	4878 0001      	pea 1 <ADD>                                 
      transfer = &worker->transfer;                                   
  }                                                                   
                                                                      
  rtems_chain_initialize_empty (&transfer->bds);                      
  transfer->dd = BDBUF_INVALID_DEV;                                   
  transfer->syncing = bdbuf_cache.sync_active;                        
   4dda2:	1d40 fffa      	moveb %d0,%fp@(-6)                          
                                                                      
  /*                                                                  
   * If we have any buffers in the sync queue move them to the modified
   * list. The first sync buffer will select the device we use.       
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4dda6:	2f03           	movel %d3,%sp@-                             
   4dda8:	4879 0006 37a8 	pea 637a8 <bdbuf_cache+0x54>                
   4ddae:	486e fff6      	pea %fp@(-10)                               
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4ddb2:	2d46 ffea      	movel %d6,%fp@(-22)                         
  head->previous = NULL;                                              
   4ddb6:	42ae ffee      	clrl %fp@(-18)                              
  tail->previous = head;                                              
   4ddba:	2d43 fff2      	movel %d3,%fp@(-14)                         
   4ddbe:	4e92           	jsr %a2@                                    
                                           timer_delta);              
                                                                      
  /*                                                                  
   * Process the cache's modified list.                               
   */                                                                 
  rtems_bdbuf_swapout_modified_processing (&transfer->dd,             
   4ddc0:	7201           	moveq #1,%d1                                
   4ddc2:	4280           	clrl %d0                                    
   4ddc4:	1039 0006 3782 	moveb 63782 <bdbuf_cache+0x2e>,%d0          
   4ddca:	2f02           	movel %d2,%sp@-                             
   4ddcc:	c284           	andl %d4,%d1                                
   4ddce:	2f01           	movel %d1,%sp@-                             
   4ddd0:	2f00           	movel %d0,%sp@-                             
   4ddd2:	2f03           	movel %d3,%sp@-                             
   4ddd4:	4879 0006 379c 	pea 6379c <bdbuf_cache+0x48>                
   4ddda:	486e fff6      	pea %fp@(-10)                               
   4ddde:	4e92           	jsr %a2@                                    
  /*                                                                  
   * We have all the buffers that have been modified for this device so the
   * cache can be unlocked because the state of each buffer has been set to
   * TRANSFER.                                                        
   */                                                                 
  rtems_bdbuf_unlock_cache ();                                        
   4dde0:	4fef 0030      	lea %sp@(48),%sp                            
   4dde4:	4e94           	jsr %a4@                                    
                                                                      
  /*                                                                  
   * If there are buffers to transfer to the media transfer them.     
   */                                                                 
  if (!rtems_chain_is_empty (&transfer->bds))                         
   4dde6:	bcae ffea      	cmpl %fp@(-22),%d6                          
   4ddea:	670c           	beqs 4ddf8 <rtems_bdbuf_swapout_task+0x242> 
      /*                                                              
       * Extact all the buffers we find for a specific device. The device is
       * the first one we find on a modified list. Process the sync queue of
       * buffers first.                                               
       */                                                             
      if (rtems_bdbuf_swapout_processing (timer_delta,                
   4ddec:	2a43           	moveal %d3,%a5                              
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WAKE_2);              
    }                                                                 
    else                                                              
    {                                                                 
      rtems_bdbuf_swapout_write (transfer);                           
   4ddee:	2f0d           	movel %a5,%sp@-                             
   4ddf0:	4eba fca8      	jsr %pc@(4da9a <rtems_bdbuf_swapout_write>) 
   4ddf4:	588f           	addql #4,%sp                                
   4ddf6:	6088           	bras 4dd80 <rtems_bdbuf_swapout_task+0x1ca> 
    }                                                                 
                                                                      
    transfered_buffers = true;                                        
  }                                                                   
                                                                      
  if (bdbuf_cache.sync_active && !transfered_buffers)                 
   4ddf8:	4a39 0006 3782 	tstb 63782 <bdbuf_cache+0x2e>               
   4ddfe:	671c           	beqs 4de1c <rtems_bdbuf_swapout_task+0x266> 
  {                                                                   
    rtems_id sync_requester;                                          
    rtems_bdbuf_lock_cache ();                                        
   4de00:	4e93           	jsr %a3@                                    
    sync_requester = bdbuf_cache.sync_requester;                      
   4de02:	2839 0006 3784 	movel 63784 <bdbuf_cache+0x30>,%d4          
    bdbuf_cache.sync_active = false;                                  
   4de08:	4200           	clrb %d0                                    
    bdbuf_cache.sync_requester = 0;                                   
   4de0a:	42b9 0006 3784 	clrl 63784 <bdbuf_cache+0x30>               
  if (bdbuf_cache.sync_active && !transfered_buffers)                 
  {                                                                   
    rtems_id sync_requester;                                          
    rtems_bdbuf_lock_cache ();                                        
    sync_requester = bdbuf_cache.sync_requester;                      
    bdbuf_cache.sync_active = false;                                  
   4de10:	13c0 0006 3782 	moveb %d0,63782 <bdbuf_cache+0x2e>          
    bdbuf_cache.sync_requester = 0;                                   
    rtems_bdbuf_unlock_cache ();                                      
   4de16:	4e94           	jsr %a4@                                    
    if (sync_requester)                                               
   4de18:	4a84           	tstl %d4                                    
   4de1a:	667e           	bnes 4de9a <rtems_bdbuf_swapout_task+0x2e4> <== ALWAYS TAKEN
       */                                                             
      update_timers = false;                                          
    }                                                                 
    while (transfered_buffers);                                       
                                                                      
    sc = rtems_event_receive (RTEMS_BDBUF_SWAPOUT_SYNC,               
   4de1c:	486e ffe6      	pea %fp@(-26)                               
   4de20:	2f2e ffe0      	movel %fp@(-32),%sp@-                       
   4de24:	42a7           	clrl %sp@-                                  
   4de26:	4878 0004      	pea 4 <CONTEXT_ARG>                         
   4de2a:	4eb9 0004 85a0 	jsr 485a0 <rtems_event_receive>             
                              RTEMS_EVENT_ALL | RTEMS_WAIT,           
                              period_in_ticks,                        
                              &out);                                  
                                                                      
    if ((sc != RTEMS_SUCCESSFUL) && (sc != RTEMS_TIMEOUT))            
   4de30:	4fef 0010      	lea %sp@(16),%sp                            
   4de34:	4a80           	tstl %d0                                    
   4de36:	6708           	beqs 4de40 <rtems_bdbuf_swapout_task+0x28a> 
   4de38:	7206           	moveq #6,%d1                                
   4de3a:	b280           	cmpl %d0,%d1                                
   4de3c:	6600 0090      	bnew 4dece <rtems_bdbuf_swapout_task+0x318> 
  /*                                                                  
   * Create the worker threads.                                       
   */                                                                 
  rtems_bdbuf_swapout_workers_open ();                                
                                                                      
  while (bdbuf_cache.swapout_enabled)                                 
   4de40:	4a39 0006 3758 	tstb 63758 <bdbuf_cache+0x4>                
   4de46:	6600 fe78      	bnew 4dcc0 <rtems_bdbuf_swapout_task+0x10a> 
static void                                                           
rtems_bdbuf_swapout_workers_close (void)                              
{                                                                     
  rtems_chain_node* node;                                             
                                                                      
  rtems_bdbuf_lock_cache ();                                          
   4de4a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4de4c:	2479 0006 375a 	moveal 6375a <bdbuf_cache+0x6>,%a2          <== NOT EXECUTED
   4de52:	47f9 0004 874c 	lea 4874c <rtems_event_send>,%a3            <== NOT EXECUTED
                                                                      
  node = rtems_chain_first (&bdbuf_cache.swapout_workers);            
  while (!rtems_chain_is_tail (&bdbuf_cache.swapout_workers, node))   
   4de58:	b5fc 0006 375e 	cmpal #407390,%a2                           <== NOT EXECUTED
   4de5e:	671c           	beqs 4de7c <rtems_bdbuf_swapout_task+0x2c6> <== NOT EXECUTED
  {                                                                   
    rtems_bdbuf_swapout_worker* worker = (rtems_bdbuf_swapout_worker*) node;
    worker->enabled = false;                                          
   4de60:	4205           	clrb %d5                                    <== NOT EXECUTED
   4de62:	1545 000c      	moveb %d5,%a2@(12)                          <== NOT EXECUTED
    rtems_event_send (worker->id, RTEMS_BDBUF_SWAPOUT_SYNC);          
   4de66:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   4de6a:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   4de6e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
void rtems_bdbuf_reset_device_stats (rtems_disk_device *dd)           
{                                                                     
  rtems_bdbuf_lock_cache ();                                          
  memset (&dd->stats, 0, sizeof(dd->stats));                          
  rtems_bdbuf_unlock_cache ();                                        
}                                                                     
   4de70:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
  rtems_chain_node* node;                                             
                                                                      
  rtems_bdbuf_lock_cache ();                                          
                                                                      
  node = rtems_chain_first (&bdbuf_cache.swapout_workers);            
  while (!rtems_chain_is_tail (&bdbuf_cache.swapout_workers, node))   
   4de72:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4de74:	b5fc 0006 375e 	cmpal #407390,%a2                           <== NOT EXECUTED
   4de7a:	66e4           	bnes 4de60 <rtems_bdbuf_swapout_task+0x2aa> <== NOT EXECUTED
    worker->enabled = false;                                          
    rtems_event_send (worker->id, RTEMS_BDBUF_SWAPOUT_SYNC);          
    node = rtems_chain_next (node);                                   
  }                                                                   
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4de7c:	4e94           	jsr %a4@                                    <== NOT EXECUTED
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SWAPOUT_RE);               
  }                                                                   
                                                                      
  rtems_bdbuf_swapout_workers_close ();                               
                                                                      
  free (transfer.write_req);                                          
   4de7e:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   4de82:	4eb9 0004 4528 	jsr 44528 <free>                            <== NOT EXECUTED
                                                                      
  rtems_task_delete (RTEMS_SELF);                                     
   4de88:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4de8a:	4eb9 0004 9014 	jsr 49014 <rtems_task_delete>               <== NOT EXECUTED
}                                                                     
   4de90:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4de96:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4de98:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE rtems_status_code rtems_event_transient_send(    
  rtems_id id                                                         
)                                                                     
{                                                                     
  return rtems_event_system_send( id, RTEMS_EVENT_SYSTEM_TRANSIENT ); 
   4de9a:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    
   4dea0:	2f04           	movel %d4,%sp@-                             
   4dea2:	4eb9 0004 8e60 	jsr 48e60 <rtems_event_system_send>         
   4dea8:	508f           	addql #8,%sp                                
   4deaa:	6000 ff70      	braw 4de1c <rtems_bdbuf_swapout_task+0x266> 
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   4deae:	4287           	clrl %d7                                    
      /*                                                              
       * Extact all the buffers we find for a specific device. The device is
       * the first one we find on a modified list. Process the sync queue of
       * buffers first.                                               
       */                                                             
      if (rtems_bdbuf_swapout_processing (timer_delta,                
   4deb0:	2a43           	moveal %d3,%a5                              
   4deb2:	6000 fe44      	braw 4dcf8 <rtems_bdbuf_swapout_task+0x142> 
    if (worker)                                                       
    {                                                                 
      rtems_status_code sc = rtems_event_send (worker->id,            
                                               RTEMS_BDBUF_SWAPOUT_SYNC);
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WAKE_2);              
   4deb6:	4878 000c      	pea c <OPER1>                               <== NOT EXECUTED
   4deba:	4eba ecbc      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
  {                                                                   
    rtems_bdbuf_swapout_worker* worker;                               
                                                                      
    worker = malloc (sizeof (rtems_bdbuf_swapout_worker));            
    if (!worker)                                                      
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WK_NOMEM);              
   4debe:	4878 000a      	pea a <LASTO>                               <== NOT EXECUTED
   4dec2:	4eba ecb4      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                  RTEMS_BDBUF_SWAPOUT_WORKER_TASK_PRIORITY_DEFAULT,
                                  rtems_bdbuf_swapout_worker_task,    
                                  (rtems_task_argument) worker,       
                                  &worker->id);                       
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WK_CREATE);             
   4dec6:	4878 000d      	pea d <OPER1+0x1>                           <== NOT EXECUTED
   4deca:	4eba ecac      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                              RTEMS_EVENT_ALL | RTEMS_WAIT,           
                              period_in_ticks,                        
                              &out);                                  
                                                                      
    if ((sc != RTEMS_SUCCESSFUL) && (sc != RTEMS_TIMEOUT))            
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SWAPOUT_RE);               
   4dece:	4878 0018      	pea 18 <OPER2+0x4>                          <== NOT EXECUTED
   4ded2:	4eba eca4      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004ded6 <rtems_bdbuf_swapout_worker_task>: * @param arg A pointer to the worker thread's private data. * @return rtems_task Not used. */ static rtems_task rtems_bdbuf_swapout_worker_task (rtems_task_argument arg) {
   4ded6:	4e56 ffe8      	linkw %fp,#-24                              <== NOT EXECUTED
   4deda:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 <== NOT EXECUTED
   4dede:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  rtems_bdbuf_swapout_worker* worker = (rtems_bdbuf_swapout_worker*) arg;
                                                                      
  while (worker->enabled)                                             
   4dee2:	4a2a 000c      	tstb %a2@(12)                               <== NOT EXECUTED
   4dee6:	675e           	beqs 4df46 <rtems_bdbuf_swapout_worker_task+0x70><== NOT EXECUTED
   4dee8:	240a           	movel %a2,%d2                               <== NOT EXECUTED
   4deea:	263c 0004 cd2a 	movel #314666,%d3                           <== NOT EXECUTED
   4def0:	0682 0000 000e 	addil #14,%d2                               <== NOT EXECUTED
   4def6:	4bfa fba2      	lea %pc@(4da9a <rtems_bdbuf_swapout_write>),%a5<== NOT EXECUTED
   4defa:	49fa ecb4      	lea %pc@(4cbb0 <rtems_bdbuf_lock_cache>),%a4<== NOT EXECUTED
   4defe:	47fa ecfc      	lea %pc@(4cbfc <rtems_bdbuf_unlock_cache>),%a3<== NOT EXECUTED
  {                                                                   
    rtems_bdbuf_wait_for_event (RTEMS_BDBUF_SWAPOUT_SYNC);            
   4df02:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   4df06:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   4df08:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                                                      
    rtems_bdbuf_swapout_write (&worker->transfer);                    
   4df0a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4df0c:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                                      
    rtems_bdbuf_lock_cache ();                                        
   4df0e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4df10:	2079 0006 3762 	moveal 63762 <bdbuf_cache+0xe>,%a0          <== NOT EXECUTED
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4df16:	43ea 0012      	lea %a2@(18),%a1                            <== NOT EXECUTED
                                                                      
    rtems_chain_initialize_empty (&worker->transfer.bds);             
    worker->transfer.dd = BDBUF_INVALID_DEV;                          
   4df1a:	42aa 001a      	clrl %a2@(26)                               <== NOT EXECUTED
   4df1e:	2549 000e      	movel %a1,%a2@(14)                          <== NOT EXECUTED
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
   4df22:	24bc 0006 375e 	movel #407390,%a2@                          <== NOT EXECUTED
  tail->previous = the_node;                                          
   4df28:	23ca 0006 3762 	movel %a2,63762 <bdbuf_cache+0xe>           <== NOT EXECUTED
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4df2e:	42aa 0012      	clrl %a2@(18)                               <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   4df32:	2542 0016      	movel %d2,%a2@(22)                          <== NOT EXECUTED
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
                                                                      
  the_node->next = tail;                                              
  tail->previous = the_node;                                          
  old_last->next = the_node;                                          
   4df36:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
  the_node->previous = old_last;                                      
   4df38:	2548 0004      	movel %a0,%a2@(4)                           <== NOT EXECUTED
                                                                      
    rtems_chain_append_unprotected (&bdbuf_cache.swapout_workers, &worker->link);
                                                                      
    rtems_bdbuf_unlock_cache ();                                      
   4df3c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
static rtems_task                                                     
rtems_bdbuf_swapout_worker_task (rtems_task_argument arg)             
{                                                                     
  rtems_bdbuf_swapout_worker* worker = (rtems_bdbuf_swapout_worker*) arg;
                                                                      
  while (worker->enabled)                                             
   4df3e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4df40:	4a2a 000c      	tstb %a2@(12)                               <== NOT EXECUTED
   4df44:	66bc           	bnes 4df02 <rtems_bdbuf_swapout_worker_task+0x2c><== NOT EXECUTED
    rtems_chain_append_unprotected (&bdbuf_cache.swapout_workers, &worker->link);
                                                                      
    rtems_bdbuf_unlock_cache ();                                      
  }                                                                   
                                                                      
  free (worker->transfer.write_req);                                  
   4df46:	2f2a 0020      	movel %a2@(32),%sp@-                        <== NOT EXECUTED
   4df4a:	47f9 0004 4528 	lea 44528 <free>,%a3                        <== NOT EXECUTED
   4df50:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free (worker);                                                      
   4df52:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4df54:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  rtems_task_delete (RTEMS_SELF);                                     
   4df56:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4df58:	42ae 0008      	clrl %fp@(8)                                <== NOT EXECUTED
}                                                                     
   4df5c:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            <== NOT EXECUTED
   4df62:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  free (worker->transfer.write_req);                                  
  free (worker);                                                      
                                                                      
  rtems_task_delete (RTEMS_SELF);                                     
   4df64:	4ef9 0004 9014 	jmp 49014 <rtems_task_delete>               <== NOT EXECUTED
                                                                      

0004da9a <rtems_bdbuf_swapout_write>: * * @param transfer The transfer transaction. */ static void rtems_bdbuf_swapout_write (rtems_bdbuf_swapout_transfer* transfer) {
   4da9a:	4e56 ffd8      	linkw %fp,#-40                              
   4da9e:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4daa2:	286e 0008      	moveal %fp@(8),%a4                          
 */                                                                   
RTEMS_INLINE_ROUTINE const Chain_Node *_Chain_Immutable_first(        
  const Chain_Control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Immutable_head( the_chain )->next;                    
   4daa6:	224c           	moveal %a4,%a1                              
   4daa8:	2e0c           	movel %a4,%d7                               
   4daaa:	5887           	addql #4,%d7                                
   4daac:	2059           	moveal %a1@+,%a0                            
    printf ("bdbuf:swapout transfer: %08x\n", (unsigned) transfer->dd->dev);
                                                                      
  /*                                                                  
   * If there are buffers to transfer to the media transfer them.     
   */                                                                 
  if (!rtems_chain_is_empty (&transfer->bds))                         
   4daae:	be88           	cmpl %a0,%d7                                
   4dab0:	6700 009e      	beqw 4db50 <rtems_bdbuf_swapout_write+0xb6> 
     * The last block number used when the driver only supports       
     * continuous blocks in a single request.                         
     */                                                               
    uint32_t last_block = 0;                                          
                                                                      
    rtems_disk_device *dd = transfer->dd;                             
   4dab4:	2a2c 000c      	movel %a4@(12),%d5                          
    uint32_t media_blocks_per_block = dd->media_blocks_per_block;     
    bool need_continuous_blocks =                                     
      (dd->phys_dev->capabilities & RTEMS_BLKDEV_CAP_MULTISECTOR_CONT) != 0;
   4dab8:	2a45           	moveal %d5,%a5                              
   4daba:	7c01           	moveq #1,%d6                                
     * should be possible to make this change with little effect in this
     * code. The array that is passed is broken in design and should be
     * removed. Merging members of a struct into the first member is  
     * trouble waiting to happen.                                     
     */                                                               
    transfer->write_req->status = RTEMS_RESOURCE_IN_USE;              
   4dabc:	700c           	moveq #12,%d0                               
  {                                                                   
    /*                                                                
     * The last block number used when the driver only supports       
     * continuous blocks in a single request.                         
     */                                                               
    uint32_t last_block = 0;                                          
   4dabe:	4284           	clrl %d4                                    
          (transfer->write_req->bufnum >= bdbuf_config.max_write_blocks))
        write = true;                                                 
                                                                      
      if (write)                                                      
      {                                                               
        rtems_bdbuf_execute_transfer_request (dd, transfer->write_req, false);
   4dac0:	243c 0004 d938 	movel #317752,%d2                           
    uint32_t last_block = 0;                                          
                                                                      
    rtems_disk_device *dd = transfer->dd;                             
    uint32_t media_blocks_per_block = dd->media_blocks_per_block;     
    bool need_continuous_blocks =                                     
      (dd->phys_dev->capabilities & RTEMS_BLKDEV_CAP_MULTISECTOR_CONT) != 0;
   4dac6:	246d 0008      	moveal %a5@(8),%a2                          
     * continuous blocks in a single request.                         
     */                                                               
    uint32_t last_block = 0;                                          
                                                                      
    rtems_disk_device *dd = transfer->dd;                             
    uint32_t media_blocks_per_block = dd->media_blocks_per_block;     
   4daca:	262d 002c      	movel %a5@(44),%d3                          
     * should be possible to make this change with little effect in this
     * code. The array that is passed is broken in design and should be
     * removed. Merging members of a struct into the first member is  
     * trouble waiting to happen.                                     
     */                                                               
    transfer->write_req->status = RTEMS_RESOURCE_IN_USE;              
   4dace:	226c 0012      	moveal %a4@(18),%a1                         
    uint32_t last_block = 0;                                          
                                                                      
    rtems_disk_device *dd = transfer->dd;                             
    uint32_t media_blocks_per_block = dd->media_blocks_per_block;     
    bool need_continuous_blocks =                                     
      (dd->phys_dev->capabilities & RTEMS_BLKDEV_CAP_MULTISECTOR_CONT) != 0;
   4dad2:	ccaa 000c      	andl %a2@(12),%d6                           
     * should be possible to make this change with little effect in this
     * code. The array that is passed is broken in design and should be
     * removed. Merging members of a struct into the first member is  
     * trouble waiting to happen.                                     
     */                                                               
    transfer->write_req->status = RTEMS_RESOURCE_IN_USE;              
   4dad6:	2340 000c      	movel %d0,%a1@(12)                          
    transfer->write_req->bufnum = 0;                                  
   4dada:	42a9 0010      	clrl %a1@(16)                               
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *old_first = head->next;                                 
  Chain_Node *new_first = old_first->next;                            
   4dade:	2650           	moveal %a0@,%a3                             
                                                                      
  head->next = new_first;                                             
   4dae0:	288b           	movel %a3,%a4@                              
  new_first->previous = head;                                         
   4dae2:	274c 0004      	movel %a4,%a3@(4)                           
      if (rtems_bdbuf_tracer)                                         
        printf ("bdbuf:swapout write: bd:%" PRIu32 ", bufnum:%" PRIu32 " mode:%s\n",
                bd->block, transfer->write_req->bufnum,               
                need_continuous_blocks ? "MULTI" : "SCAT");           
                                                                      
      if (need_continuous_blocks && transfer->write_req->bufnum &&    
   4dae6:	4a86           	tstl %d6                                    
   4dae8:	677c           	beqs 4db66 <rtems_bdbuf_swapout_write+0xcc> 
   4daea:	4aa9 0010      	tstl %a1@(16)                               
   4daee:	6776           	beqs 4db66 <rtems_bdbuf_swapout_write+0xcc> 
          bd->block != last_block + media_blocks_per_block)           
   4daf0:	2004           	movel %d4,%d0                               
   4daf2:	d083           	addl %d3,%d0                                
      if (rtems_bdbuf_tracer)                                         
        printf ("bdbuf:swapout write: bd:%" PRIu32 ", bufnum:%" PRIu32 " mode:%s\n",
                bd->block, transfer->write_req->bufnum,               
                need_continuous_blocks ? "MULTI" : "SCAT");           
                                                                      
      if (need_continuous_blocks && transfer->write_req->bufnum &&    
   4daf4:	b0a8 0016      	cmpl %a0@(22),%d0                           
   4daf8:	676c           	beqs 4db66 <rtems_bdbuf_swapout_write+0xcc> 
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4dafa:	214c 0004      	movel %a4,%a0@(4)                           
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   4dafe:	2888           	movel %a0,%a4@                              
          bd->block != last_block + media_blocks_per_block)           
      {                                                               
        rtems_chain_prepend_unprotected (&transfer->bds, &bd->link);  
        write = true;                                                 
   4db00:	7201           	moveq #1,%d1                                
  the_node->next        = before_node;                                
   4db02:	208b           	movel %a3,%a0@                              
  before_node->previous = the_node;                                   
   4db04:	2748 0004      	movel %a0,%a3@(4)                           
   4db08:	2054           	moveal %a4@,%a0                             
      /*                                                              
       * Perform the transfer if there are no more buffers, or the transfer
       * size has reached the configured max. value.                  
       */                                                             
                                                                      
      if (rtems_chain_is_empty (&transfer->bds) ||                    
   4db0a:	b1c7           	cmpal %d7,%a0                               
   4db0c:	670c           	beqs 4db1a <rtems_bdbuf_swapout_write+0x80> 
   4db0e:	2039 0006 0c16 	movel 60c16 <rtems_bdbuf_configuration+0x4>,%d0
   4db14:	b0a9 0010      	cmpl %a1@(16),%d0                           
   4db18:	6240           	bhis 4db5a <rtems_bdbuf_swapout_write+0xc0> 
          (transfer->write_req->bufnum >= bdbuf_config.max_write_blocks))
        write = true;                                                 
                                                                      
      if (write)                                                      
      {                                                               
        rtems_bdbuf_execute_transfer_request (dd, transfer->write_req, false);
   4db1a:	42a7           	clrl %sp@-                                  
   4db1c:	2042           	moveal %d2,%a0                              
   4db1e:	2f09           	movel %a1,%sp@-                             
   4db20:	2f05           	movel %d5,%sp@-                             
   4db22:	4e90           	jsr %a0@                                    
                                                                      
        transfer->write_req->status = RTEMS_RESOURCE_IN_USE;          
   4db24:	226c 0012      	moveal %a4@(18),%a1                         
   4db28:	700c           	moveq #12,%d0                               
   4db2a:	4fef 000c      	lea %sp@(12),%sp                            
   4db2e:	2054           	moveal %a4@,%a0                             
   4db30:	2340 000c      	movel %d0,%a1@(12)                          
        transfer->write_req->bufnum = 0;                              
   4db34:	42a9 0010      	clrl %a1@(16)                               
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Get_unprotected(              
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  if ( !_Chain_Is_empty(the_chain))                                   
   4db38:	b1c7           	cmpal %d7,%a0                               
   4db3a:	66a2           	bnes 4dade <rtems_bdbuf_swapout_write+0x44> 
                                                                      
    /*                                                                
     * If sync'ing and the deivce is capability of handling a sync IO control
     * call perform the call.                                         
     */                                                               
    if (transfer->syncing &&                                          
   4db3c:	4a2c 0010      	tstb %a4@(16)                               
   4db40:	670e           	beqs 4db50 <rtems_bdbuf_swapout_write+0xb6> 
        (dd->phys_dev->capabilities & RTEMS_BLKDEV_CAP_SYNC))         
   4db42:	2245           	moveal %d5,%a1                              
   4db44:	7002           	moveq #2,%d0                                
   4db46:	2069 0008      	moveal %a1@(8),%a0                          
   4db4a:	c0a8 000c      	andl %a0@(12),%d0                           
                                                                      
    /*                                                                
     * If sync'ing and the deivce is capability of handling a sync IO control
     * call perform the call.                                         
     */                                                               
    if (transfer->syncing &&                                          
   4db4e:	664a           	bnes 4db9a <rtems_bdbuf_swapout_write+0x100><== NEVER TAKEN
    {                                                                 
      /* int result = */ dd->ioctl (dd->phys_dev, RTEMS_BLKDEV_REQ_SYNC, NULL);
      /* How should the error be handled ? */                         
    }                                                                 
  }                                                                   
}                                                                     
   4db50:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            
   4db56:	4e5e           	unlk %fp                                    
   4db58:	4e75           	rts                                         
                                                                      
      if (rtems_chain_is_empty (&transfer->bds) ||                    
          (transfer->write_req->bufnum >= bdbuf_config.max_write_blocks))
        write = true;                                                 
                                                                      
      if (write)                                                      
   4db5a:	4a01           	tstb %d1                                    
   4db5c:	66bc           	bnes 4db1a <rtems_bdbuf_swapout_write+0x80> 
   4db5e:	b1c7           	cmpal %d7,%a0                               
   4db60:	6600 ff7c      	bnew 4dade <rtems_bdbuf_swapout_write+0x44> 
   4db64:	60d6           	bras 4db3c <rtems_bdbuf_swapout_write+0xa2> <== NOT EXECUTED
        write = true;                                                 
      }                                                               
      else                                                            
      {                                                               
        rtems_blkdev_sg_buffer* buf;                                  
        buf = &transfer->write_req->bufs[transfer->write_req->bufnum];
   4db66:	2029 0010      	movel %a1@(16),%d0                          
        transfer->write_req->bufnum++;                                
   4db6a:	2200           	movel %d0,%d1                               
   4db6c:	5281           	addql #1,%d1                                
        buf->user   = bd;                                             
        buf->block  = bd->block;                                      
        buf->length = dd->block_size;                                 
   4db6e:	2a45           	moveal %d5,%a5                              
   4db70:	4bed 0024      	lea %a5@(36),%a5                            
        write = true;                                                 
      }                                                               
      else                                                            
      {                                                               
        rtems_blkdev_sg_buffer* buf;                                  
        buf = &transfer->write_req->bufs[transfer->write_req->bufnum];
   4db74:	e988           	lsll #4,%d0                                 
        transfer->write_req->bufnum++;                                
        buf->user   = bd;                                             
        buf->block  = bd->block;                                      
   4db76:	2828 0016      	movel %a0@(22),%d4                          
        write = true;                                                 
      }                                                               
      else                                                            
      {                                                               
        rtems_blkdev_sg_buffer* buf;                                  
        buf = &transfer->write_req->bufs[transfer->write_req->bufnum];
   4db7a:	45f1 0818      	lea %a1@(00000018,%d0:l),%a2                
        transfer->write_req->bufnum++;                                
   4db7e:	2341 0010      	movel %d1,%a1@(16)                          
        buf->user   = bd;                                             
        buf->block  = bd->block;                                      
        buf->length = dd->block_size;                                 
   4db82:	2555 0004      	movel %a5@,%a2@(4)                          
        buf->buffer = bd->buffer;                                     
   4db86:	2568 001a 0008 	movel %a0@(26),%a2@(8)                      
    transfer->write_req->bufnum = 0;                                  
                                                                      
    while ((node = rtems_chain_get_unprotected(&transfer->bds)) != NULL)
    {                                                                 
      rtems_bdbuf_buffer* bd = (rtems_bdbuf_buffer*) node;            
      bool                write = false;                              
   4db8c:	4201           	clrb %d1                                    
      else                                                            
      {                                                               
        rtems_blkdev_sg_buffer* buf;                                  
        buf = &transfer->write_req->bufs[transfer->write_req->bufnum];
        transfer->write_req->bufnum++;                                
        buf->user   = bd;                                             
   4db8e:	2548 000c      	movel %a0,%a2@(12)                          
        buf->block  = bd->block;                                      
        buf->length = dd->block_size;                                 
        buf->buffer = bd->buffer;                                     
   4db92:	204b           	moveal %a3,%a0                              
      {                                                               
        rtems_blkdev_sg_buffer* buf;                                  
        buf = &transfer->write_req->bufs[transfer->write_req->bufnum];
        transfer->write_req->bufnum++;                                
        buf->user   = bd;                                             
        buf->block  = bd->block;                                      
   4db94:	2484           	movel %d4,%a2@                              
   4db96:	6000 ff72      	braw 4db0a <rtems_bdbuf_swapout_write+0x70> 
     * call perform the call.                                         
     */                                                               
    if (transfer->syncing &&                                          
        (dd->phys_dev->capabilities & RTEMS_BLKDEV_CAP_SYNC))         
    {                                                                 
      /* int result = */ dd->ioctl (dd->phys_dev, RTEMS_BLKDEV_REQ_SYNC, NULL);
   4db9a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4db9c:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   4dba0:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   4dba2:	2069 0038      	moveal %a1@(56),%a0                         <== NOT EXECUTED
   4dba6:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   4dba8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
      /* How should the error be handled ? */                         
    }                                                                 
  }                                                                   
}                                                                     
   4dbac:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4dbb2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004cd64 <rtems_bdbuf_swapout_writereq_alloc>: * * @return rtems_blkdev_request* The write reference memory. */ static rtems_blkdev_request* rtems_bdbuf_swapout_writereq_alloc (void) {
   4cd64:	4e56 0000      	linkw %fp,#0                                
   * have been a rtems_chain_control. Simple, fast and less storage as the node
   * is already part of the buffer structure.                         
   */                                                                 
  rtems_blkdev_request* write_req =                                   
    malloc (sizeof (rtems_blkdev_request) +                           
            (bdbuf_config.max_write_blocks * sizeof (rtems_blkdev_sg_buffer)));
   4cd68:	2039 0006 0c16 	movel 60c16 <rtems_bdbuf_configuration+0x4>,%d0
   4cd6e:	e988           	lsll #4,%d0                                 
 *                                                                    
 * @return rtems_blkdev_request* The write reference memory.          
 */                                                                   
static rtems_blkdev_request*                                          
rtems_bdbuf_swapout_writereq_alloc (void)                             
{                                                                     
   4cd70:	2f0a           	movel %a2,%sp@-                             
   * @note chrisj The rtems_blkdev_request and the array at the end is a hack.
   * I am disappointment at finding code like this in RTEMS. The request should
   * have been a rtems_chain_control. Simple, fast and less storage as the node
   * is already part of the buffer structure.                         
   */                                                                 
  rtems_blkdev_request* write_req =                                   
   4cd72:	2040           	moveal %d0,%a0                              
   4cd74:	4868 0018      	pea %a0@(24)                                
   4cd78:	4eb9 0004 49d4 	jsr 449d4 <malloc>                          
    malloc (sizeof (rtems_blkdev_request) +                           
            (bdbuf_config.max_write_blocks * sizeof (rtems_blkdev_sg_buffer)));
                                                                      
  if (!write_req)                                                     
   4cd7e:	588f           	addql #4,%sp                                
   * @note chrisj The rtems_blkdev_request and the array at the end is a hack.
   * I am disappointment at finding code like this in RTEMS. The request should
   * have been a rtems_chain_control. Simple, fast and less storage as the node
   * is already part of the buffer structure.                         
   */                                                                 
  rtems_blkdev_request* write_req =                                   
   4cd80:	2440           	moveal %d0,%a2                              
    malloc (sizeof (rtems_blkdev_request) +                           
            (bdbuf_config.max_write_blocks * sizeof (rtems_blkdev_sg_buffer)));
                                                                      
  if (!write_req)                                                     
   4cd82:	4a80           	tstl %d0                                    
   4cd84:	6722           	beqs 4cda8 <rtems_bdbuf_swapout_writereq_alloc+0x44><== NEVER TAKEN
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_REQ_NOMEM);               
                                                                      
  write_req->req = RTEMS_BLKDEV_REQ_WRITE;                            
   4cd86:	7001           	moveq #1,%d0                                
   4cd88:	2480           	movel %d0,%a2@                              
  write_req->done = rtems_bdbuf_transfer_done;                        
   4cd8a:	203c 0004 e04a 	movel #319562,%d0                           
   4cd90:	2540 0004      	movel %d0,%a2@(4)                           
  write_req->io_task = rtems_task_self ();                            
   4cd94:	4eb9 0005 0a78 	jsr 50a78 <rtems_task_self>                 
   4cd9a:	2540 0014      	movel %d0,%a2@(20)                          
                                                                      
  return write_req;                                                   
}                                                                     
   4cd9e:	200a           	movel %a2,%d0                               
   4cda0:	246e fffc      	moveal %fp@(-4),%a2                         
   4cda4:	4e5e           	unlk %fp                                    
   4cda6:	4e75           	rts                                         
  rtems_blkdev_request* write_req =                                   
    malloc (sizeof (rtems_blkdev_request) +                           
            (bdbuf_config.max_write_blocks * sizeof (rtems_blkdev_sg_buffer)));
                                                                      
  if (!write_req)                                                     
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_REQ_NOMEM);               
   4cda8:	4878 0009      	pea 9 <DIVIDE_BY_ZERO+0x1>                  <== NOT EXECUTED
   4cdac:	4eba fdca      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004ea00 <rtems_bdbuf_sync>: rtems_status_code rtems_bdbuf_sync (rtems_bdbuf_buffer *bd) {
   4ea00:	4e56 fff4      	linkw %fp,#-12                              
   4ea04:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   4ea08:	246e 0008      	moveal %fp@(8),%a2                          
}                                                                     
                                                                      
static rtems_status_code                                              
rtems_bdbuf_check_bd_and_lock_cache (rtems_bdbuf_buffer *bd, const char *kind)
{                                                                     
  if (bd == NULL)                                                     
   4ea0c:	4a8a           	tstl %a2                                    
   4ea0e:	6700 008e      	beqw 4ea9e <rtems_bdbuf_sync+0x9e>          
  if (rtems_bdbuf_tracer)                                             
  {                                                                   
    printf ("bdbuf:%s: %" PRIu32 "\n", kind, bd->block);              
    rtems_bdbuf_show_users (kind, bd);                                
  }                                                                   
  rtems_bdbuf_lock_cache();                                           
   4ea12:	4eba e19c      	jsr %pc@(4cbb0 <rtems_bdbuf_lock_cache>)    
                                                                      
  sc = rtems_bdbuf_check_bd_and_lock_cache (bd, "sync");              
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  switch (bd->state)                                                  
   4ea16:	202a 001e      	movel %a2@(30),%d0                          
   4ea1a:	7203           	moveq #3,%d1                                
   4ea1c:	b280           	cmpl %d0,%d1                                
   4ea1e:	630a           	blss 4ea2a <rtems_bdbuf_sync+0x2a>          <== ALWAYS TAKEN
      break;                                                          
    case RTEMS_BDBUF_STATE_ACCESS_PURGED:                             
      rtems_bdbuf_discard_buffer_after_access (bd);                   
      break;                                                          
    default:                                                          
      rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_5);
   4ea20:	4878 0011      	pea 11 <INVALID_OPERATION+0x1>              <== NOT EXECUTED
   4ea24:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4ea26:	4eba e19e      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
                                                                      
  sc = rtems_bdbuf_check_bd_and_lock_cache (bd, "sync");              
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  switch (bd->state)                                                  
   4ea2a:	7405           	moveq #5,%d2                                
   4ea2c:	b480           	cmpl %d0,%d2                                
   4ea2e:	6420           	bccs 4ea50 <rtems_bdbuf_sync+0x50>          
   4ea30:	123c 0006      	moveb #6,%d1                                
   4ea34:	b280           	cmpl %d0,%d1                                
   4ea36:	66e8           	bnes 4ea20 <rtems_bdbuf_sync+0x20>          <== NEVER TAKEN
    case RTEMS_BDBUF_STATE_ACCESS_EMPTY:                              
    case RTEMS_BDBUF_STATE_ACCESS_MODIFIED:                           
      rtems_bdbuf_sync_after_access (bd);                             
      break;                                                          
    case RTEMS_BDBUF_STATE_ACCESS_PURGED:                             
      rtems_bdbuf_discard_buffer_after_access (bd);                   
   4ea38:	2f0a           	movel %a2,%sp@-                             
   4ea3a:	4eba e870      	jsr %pc@(4d2ac <rtems_bdbuf_discard_buffer_after_access>)
      break;                                                          
   4ea3e:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4ea40:	4eba e1ba      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4ea44:	4280           	clrl %d0                                    
}                                                                     
   4ea46:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   4ea4c:	4e5e           	unlk %fp                                    
   4ea4e:	4e75           	rts                                         
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  Chain_Node *tail = _Chain_Tail( the_chain );                        
  Chain_Node *old_last = tail->previous;                              
   4ea50:	2079 0006 37b0 	moveal 637b0 <bdbuf_cache+0x5c>,%a0         
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4ea56:	7408           	moveq #8,%d2                                
   4ea58:	2542 001e      	movel %d2,%a2@(30)                          
                                                                      
  the_node->next = tail;                                              
   4ea5c:	24bc 0006 37ac 	movel #407468,%a2@                          
  tail->previous = the_node;                                          
   4ea62:	23ca 0006 37b0 	movel %a2,637b0 <bdbuf_cache+0x5c>          
  old_last->next = the_node;                                          
   4ea68:	208a           	movel %a2,%a0@                              
  the_node->previous = old_last;                                      
   4ea6a:	2548 0004      	movel %a0,%a2@(4)                           
{                                                                     
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_SYNC);                 
                                                                      
  rtems_chain_append_unprotected (&bdbuf_cache.sync, &bd->link);      
                                                                      
  if (bd->waiters)                                                    
   4ea6e:	4aaa 0022      	tstl %a2@(34)                               
   4ea72:	6636           	bnes 4eaaa <rtems_bdbuf_sync+0xaa>          
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
                                                                      
  rtems_bdbuf_wake_swapper ();                                        
   4ea74:	4eba e19e      	jsr %pc@(4cc14 <rtems_bdbuf_wake_swapper>)  
      case RTEMS_BDBUF_STATE_ACCESS_PURGED:                           
        return;                                                       
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4ea78:	47fa e27c      	lea %pc@(4ccf6 <rtems_bdbuf_wait>),%a3      
static void                                                           
rtems_bdbuf_wait_for_sync_done (rtems_bdbuf_buffer *bd)               
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4ea7c:	202a 001e      	movel %a2@(30),%d0                          
   4ea80:	7201           	moveq #1,%d1                                
   4ea82:	b280           	cmpl %d0,%d1                                
   4ea84:	620e           	bhis 4ea94 <rtems_bdbuf_sync+0x94>          <== NEVER TAKEN
   4ea86:	7407           	moveq #7,%d2                                
   4ea88:	b480           	cmpl %d0,%d2                                
   4ea8a:	644c           	bccs 4ead8 <rtems_bdbuf_sync+0xd8>          
   4ea8c:	123c 000a      	moveb #10,%d1                               
   4ea90:	b280           	cmpl %d0,%d1                                
   4ea92:	642c           	bccs 4eac0 <rtems_bdbuf_sync+0xc0>          <== ALWAYS TAKEN
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
        break;                                                        
      default:                                                        
        rtems_bdbuf_fatal_with_state (bd->state, RTEMS_BDBUF_FATAL_STATE_9);
   4ea94:	4878 0015      	pea 15 <OPER2+0x1>                          <== NOT EXECUTED
   4ea98:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4ea9a:	4eba e12a      	jsr %pc@(4cbc6 <rtems_bdbuf_fatal_with_state>)<== NOT EXECUTED
                                                                      
static rtems_status_code                                              
rtems_bdbuf_check_bd_and_lock_cache (rtems_bdbuf_buffer *bd, const char *kind)
{                                                                     
  if (bd == NULL)                                                     
    return RTEMS_INVALID_ADDRESS;                                     
   4ea9e:	7009           	moveq #9,%d0                                <== NOT EXECUTED
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4eaa0:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   4eaa6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4eaa8:	4e75           	rts                                         <== NOT EXECUTED
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_SYNC);                 
                                                                      
  rtems_chain_append_unprotected (&bdbuf_cache.sync, &bd->link);      
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
   4eaaa:	4879 0006 37b4 	pea 637b4 <bdbuf_cache+0x60>                
      case RTEMS_BDBUF_STATE_ACCESS_PURGED:                           
        return;                                                       
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4eab0:	47fa e244      	lea %pc@(4ccf6 <rtems_bdbuf_wait>),%a3      
  rtems_bdbuf_set_state (bd, RTEMS_BDBUF_STATE_SYNC);                 
                                                                      
  rtems_chain_append_unprotected (&bdbuf_cache.sync, &bd->link);      
                                                                      
  if (bd->waiters)                                                    
    rtems_bdbuf_wake (&bdbuf_cache.access_waiters);                   
   4eab4:	4eba e33c      	jsr %pc@(4cdf2 <rtems_bdbuf_wake>)          
   4eab8:	588f           	addql #4,%sp                                
                                                                      
  rtems_bdbuf_wake_swapper ();                                        
   4eaba:	4eba e158      	jsr %pc@(4cc14 <rtems_bdbuf_wake_swapper>)  
   4eabe:	60bc           	bras 4ea7c <rtems_bdbuf_sync+0x7c>          
      case RTEMS_BDBUF_STATE_ACCESS_PURGED:                           
        return;                                                       
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4eac0:	4879 0006 37bc 	pea 637bc <bdbuf_cache+0x68>                
   4eac6:	2f0a           	movel %a2,%sp@-                             
   4eac8:	4e93           	jsr %a3@                                    
static void                                                           
rtems_bdbuf_wait_for_sync_done (rtems_bdbuf_buffer *bd)               
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4eaca:	202a 001e      	movel %a2@(30),%d0                          
      case RTEMS_BDBUF_STATE_ACCESS_PURGED:                           
        return;                                                       
      case RTEMS_BDBUF_STATE_SYNC:                                    
      case RTEMS_BDBUF_STATE_TRANSFER:                                
      case RTEMS_BDBUF_STATE_TRANSFER_PURGED:                         
        rtems_bdbuf_wait (bd, &bdbuf_cache.transfer_waiters);         
   4eace:	508f           	addql #8,%sp                                
static void                                                           
rtems_bdbuf_wait_for_sync_done (rtems_bdbuf_buffer *bd)               
{                                                                     
  while (true)                                                        
  {                                                                   
    switch (bd->state)                                                
   4ead0:	7201           	moveq #1,%d1                                
   4ead2:	b280           	cmpl %d0,%d1                                
   4ead4:	62be           	bhis 4ea94 <rtems_bdbuf_sync+0x94>          <== NEVER TAKEN
   4ead6:	60ae           	bras 4ea86 <rtems_bdbuf_sync+0x86>          
  rtems_bdbuf_wait_for_sync_done (bd);                                
                                                                      
  /*                                                                  
   * We may have created a cached or empty buffer which may be recycled.
   */                                                                 
  if (bd->waiters == 0                                                
   4ead8:	4aaa 0022      	tstl %a2@(34)                               
   4eadc:	6600 ff62      	bnew 4ea40 <rtems_bdbuf_sync+0x40>          
        && (bd->state == RTEMS_BDBUF_STATE_CACHED                     
          || bd->state == RTEMS_BDBUF_STATE_EMPTY))                   
   4eae0:	2200           	movel %d0,%d1                               
   4eae2:	5381           	subql #1,%d1                                
                                                                      
  /*                                                                  
   * We may have created a cached or empty buffer which may be recycled.
   */                                                                 
  if (bd->waiters == 0                                                
        && (bd->state == RTEMS_BDBUF_STATE_CACHED                     
   4eae4:	7401           	moveq #1,%d2                                
   4eae6:	b481           	cmpl %d1,%d2                                
   4eae8:	6500 ff56      	bcsw 4ea40 <rtems_bdbuf_sync+0x40>          
          || bd->state == RTEMS_BDBUF_STATE_EMPTY))                   
  {                                                                   
    if (bd->state == RTEMS_BDBUF_STATE_EMPTY)                         
   4eaec:	b480           	cmpl %d0,%d2                                
   4eaee:	6716           	beqs 4eb06 <rtems_bdbuf_sync+0x106>         
    {                                                                 
      rtems_bdbuf_remove_from_tree (bd);                              
      rtems_bdbuf_make_free_and_add_to_lru_list (bd);                 
    }                                                                 
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4eaf0:	4879 0006 37c4 	pea 637c4 <bdbuf_cache+0x70>                
   4eaf6:	4eba e2fa      	jsr %pc@(4cdf2 <rtems_bdbuf_wake>)          
   4eafa:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (rtems_bdbuf_tracer)                                             
    rtems_bdbuf_show_usage ();                                        
                                                                      
  rtems_bdbuf_unlock_cache ();                                        
   4eafc:	4eba e0fe      	jsr %pc@(4cbfc <rtems_bdbuf_unlock_cache>)  
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4eb00:	4280           	clrl %d0                                    
   4eb02:	6000 ff42      	braw 4ea46 <rtems_bdbuf_sync+0x46>          
        && (bd->state == RTEMS_BDBUF_STATE_CACHED                     
          || bd->state == RTEMS_BDBUF_STATE_EMPTY))                   
  {                                                                   
    if (bd->state == RTEMS_BDBUF_STATE_EMPTY)                         
    {                                                                 
      rtems_bdbuf_remove_from_tree (bd);                              
   4eb06:	2f0a           	movel %a2,%sp@-                             
   4eb08:	4eba e45e      	jsr %pc@(4cf68 <rtems_bdbuf_remove_from_tree>)
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   4eb0c:	2079 0006 3790 	moveal 63790 <bdbuf_cache+0x3c>,%a0         
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4eb12:	203c 0006 3790 	movel #407440,%d0                           
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
  before_node->previous = the_node;                                   
   4eb18:	588f           	addql #4,%sp                                
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_set_state (rtems_bdbuf_buffer *bd, rtems_bdbuf_buf_state state)
{                                                                     
  bd->state = state;                                                  
   4eb1a:	42aa 001e      	clrl %a2@(30)                               
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4eb1e:	2540 0004      	movel %d0,%a2@(4)                           
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   4eb22:	23ca 0006 3790 	movel %a2,63790 <bdbuf_cache+0x3c>          
  the_node->next        = before_node;                                
  before_node->previous = the_node;                                   
   4eb28:	214a 0004      	movel %a2,%a0@(4)                           
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   4eb2c:	2488           	movel %a0,%a2@                              
    if (bd->state == RTEMS_BDBUF_STATE_EMPTY)                         
    {                                                                 
      rtems_bdbuf_remove_from_tree (bd);                              
      rtems_bdbuf_make_free_and_add_to_lru_list (bd);                 
    }                                                                 
    rtems_bdbuf_wake (&bdbuf_cache.buffer_waiters);                   
   4eb2e:	4879 0006 37c4 	pea 637c4 <bdbuf_cache+0x70>                
   4eb34:	4eba e2bc      	jsr %pc@(4cdf2 <rtems_bdbuf_wake>)          
   4eb38:	588f           	addql #4,%sp                                
   4eb3a:	60c0           	bras 4eafc <rtems_bdbuf_sync+0xfc>          
                                                                      

0004cbdc <rtems_bdbuf_unlock>: * @param lock The mutex to unlock. * @param fatal_error_code The error code if the call fails. */ static void rtems_bdbuf_unlock (rtems_id lock, uint32_t fatal_error_code) {
   4cbdc:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc = rtems_semaphore_release (lock);              
   4cbe0:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4cbe4:	4eb9 0004 8da0 	jsr 48da0 <rtems_semaphore_release>         
  if (sc != RTEMS_SUCCESSFUL)                                         
   4cbea:	588f           	addql #4,%sp                                
   4cbec:	4a80           	tstl %d0                                    
   4cbee:	6604           	bnes 4cbf4 <rtems_bdbuf_unlock+0x18>        <== NEVER TAKEN
    rtems_bdbuf_fatal (fatal_error_code);                             
}                                                                     
   4cbf0:	4e5e           	unlk %fp                                    
   4cbf2:	4e75           	rts                                         
static void                                                           
rtems_bdbuf_unlock (rtems_id lock, uint32_t fatal_error_code)         
{                                                                     
  rtems_status_code sc = rtems_semaphore_release (lock);              
  if (sc != RTEMS_SUCCESSFUL)                                         
    rtems_bdbuf_fatal (fatal_error_code);                             
   4cbf4:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   4cbf8:	4eba ff7e      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004cd2a <rtems_bdbuf_wait_for_event>: return RTEMS_UNSATISFIED; } static void rtems_bdbuf_wait_for_event (rtems_event_set event) {
   4cd2a:	4e56 fffc      	linkw %fp,#-4                               
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_event_set   out = 0;                                          
   4cd2e:	204e           	moveal %fp,%a0                              
  return RTEMS_UNSATISFIED;                                           
}                                                                     
                                                                      
static void                                                           
rtems_bdbuf_wait_for_event (rtems_event_set event)                    
{                                                                     
   4cd30:	2f02           	movel %d2,%sp@-                             
   4cd32:	242e 0008      	movel %fp@(8),%d2                           
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_event_set   out = 0;                                          
   4cd36:	42a0           	clrl %a0@-                                  
                                                                      
  sc = rtems_event_receive (event,                                    
   4cd38:	2f08           	movel %a0,%sp@-                             
   4cd3a:	42a7           	clrl %sp@-                                  
   4cd3c:	42a7           	clrl %sp@-                                  
   4cd3e:	2f02           	movel %d2,%sp@-                             
   4cd40:	4eb9 0004 85a0 	jsr 485a0 <rtems_event_receive>             
                            RTEMS_EVENT_ALL | RTEMS_WAIT,             
                            RTEMS_NO_TIMEOUT,                         
                            &out);                                    
                                                                      
  if (sc != RTEMS_SUCCESSFUL || out != event)                         
   4cd46:	4fef 0010      	lea %sp@(16),%sp                            
   4cd4a:	4a80           	tstl %d0                                    
   4cd4c:	660e           	bnes 4cd5c <rtems_bdbuf_wait_for_event+0x32><== NEVER TAKEN
   4cd4e:	b4ae fffc      	cmpl %fp@(-4),%d2                           
   4cd52:	6608           	bnes 4cd5c <rtems_bdbuf_wait_for_event+0x32><== NEVER TAKEN
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_WAIT_EVNT);                  
}                                                                     
   4cd54:	242e fff8      	movel %fp@(-8),%d2                          
   4cd58:	4e5e           	unlk %fp                                    
   4cd5a:	4e75           	rts                                         
                            RTEMS_EVENT_ALL | RTEMS_WAIT,             
                            RTEMS_NO_TIMEOUT,                         
                            &out);                                    
                                                                      
  if (sc != RTEMS_SUCCESSFUL || out != event)                         
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_WAIT_EVNT);                  
   4cd5c:	4878 001c      	pea 1c <OPER2+0x8>                          <== NOT EXECUTED
   4cd60:	4eba fe16      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004d90c <rtems_bdbuf_wait_for_transient_event>: rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_WAIT_EVNT); } static void rtems_bdbuf_wait_for_transient_event (void) {
   4d90c:	4e56 fffc      	linkw %fp,#-4                               
  rtems_interval ticks                                                
)                                                                     
{                                                                     
  rtems_event_set event_out;                                          
                                                                      
  return rtems_event_system_receive(                                  
   4d910:	486e fffc      	pea %fp@(-4)                                
   4d914:	42a7           	clrl %sp@-                                  
   4d916:	42a7           	clrl %sp@-                                  
   4d918:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    
   4d91e:	4eb9 0005 0878 	jsr 50878 <rtems_event_system_receive>      
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc = rtems_event_transient_receive (RTEMS_WAIT, RTEMS_NO_TIMEOUT);  
  if (sc != RTEMS_SUCCESSFUL)                                         
   4d924:	4fef 0010      	lea %sp@(16),%sp                            
   4d928:	4a80           	tstl %d0                                    
   4d92a:	6604           	bnes 4d930 <rtems_bdbuf_wait_for_transient_event+0x24><== NEVER TAKEN
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_WAIT_TRANS_EVNT);            
}                                                                     
   4d92c:	4e5e           	unlk %fp                                    
   4d92e:	4e75           	rts                                         
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  sc = rtems_event_transient_receive (RTEMS_WAIT, RTEMS_NO_TIMEOUT);  
  if (sc != RTEMS_SUCCESSFUL)                                         
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_WAIT_TRANS_EVNT);            
   4d930:	4878 001d      	pea 1d <OPER2+0x9>                          <== NOT EXECUTED
   4d934:	4eba f242      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004cdf2 <rtems_bdbuf_wake>: * Wake a blocked resource. The resource has a counter that lets us know if * there are any waiters. */ static void rtems_bdbuf_wake (const rtems_bdbuf_waiters *waiters) {
   4cdf2:	4e56 0000      	linkw %fp,#0                                
   4cdf6:	206e 0008      	moveal %fp@(8),%a0                          
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (waiters->count > 0)                                             
   4cdfa:	4a90           	tstl %a0@                                   
   4cdfc:	6604           	bnes 4ce02 <rtems_bdbuf_wake+0x10>          
  {                                                                   
    sc = rtems_semaphore_flush (waiters->sema);                       
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_CACHE_WAKE);               
  }                                                                   
}                                                                     
   4cdfe:	4e5e           	unlk %fp                                    
   4ce00:	4e75           	rts                                         
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (waiters->count > 0)                                             
  {                                                                   
    sc = rtems_semaphore_flush (waiters->sema);                       
   4ce02:	2f28 0004      	movel %a0@(4),%sp@-                         
   4ce06:	4eb9 0005 07cc 	jsr 507cc <rtems_semaphore_flush>           
    if (sc != RTEMS_SUCCESSFUL)                                       
   4ce0c:	588f           	addql #4,%sp                                
   4ce0e:	4a80           	tstl %d0                                    
   4ce10:	67ec           	beqs 4cdfe <rtems_bdbuf_wake+0xc>           <== ALWAYS TAKEN
      rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_CACHE_WAKE);               
   4ce12:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   4ce16:	4eba fd60      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

0004cc14 <rtems_bdbuf_wake_swapper>: } } static void rtems_bdbuf_wake_swapper (void) {
   4cc14:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc = rtems_event_send (bdbuf_cache.swapout,       
   4cc18:	4878 0004      	pea 4 <CONTEXT_ARG>                         
   4cc1c:	2f39 0006 3754 	movel 63754 <bdbuf_cache>,%sp@-             
   4cc22:	4eb9 0004 874c 	jsr 4874c <rtems_event_send>                
                                           RTEMS_BDBUF_SWAPOUT_SYNC); 
  if (sc != RTEMS_SUCCESSFUL)                                         
   4cc28:	508f           	addql #8,%sp                                
   4cc2a:	4a80           	tstl %d0                                    
   4cc2c:	6604           	bnes 4cc32 <rtems_bdbuf_wake_swapper+0x1e>  <== NEVER TAKEN
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WAKE_1);                  
}                                                                     
   4cc2e:	4e5e           	unlk %fp                                    
   4cc30:	4e75           	rts                                         
rtems_bdbuf_wake_swapper (void)                                       
{                                                                     
  rtems_status_code sc = rtems_event_send (bdbuf_cache.swapout,       
                                           RTEMS_BDBUF_SWAPOUT_SYNC); 
  if (sc != RTEMS_SUCCESSFUL)                                         
    rtems_bdbuf_fatal (RTEMS_BDBUF_FATAL_SO_WAKE_1);                  
   4cc32:	4878 000b      	pea b <LASTO+0x1>                           <== NOT EXECUTED
   4cc36:	4eba ff40      	jsr %pc@(4cb78 <rtems_bdbuf_fatal>)         <== NOT EXECUTED
                                                                      

000427ec <rtems_bdpart_create>: const rtems_bdpart_format *format, rtems_bdpart_partition *pt, const unsigned *dist, size_t count ) {
   427ec:	4e56 ffd0      	linkw %fp,#-48                              
   427f0:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   427f4:	246e 000c      	moveal %fp@(12),%a2                         
   427f8:	262e 0018      	movel %fp@(24),%d3                          
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
   427fc:	4a8a           	tstl %a2                                    
   427fe:	6700 0190      	beqw 42990 <rtems_bdpart_create+0x1a4>      
  size_t count                                                        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
   42802:	4a92           	tstl %a2@                                   
   42804:	6606           	bnes 4280c <rtems_bdpart_create+0x20>       <== NEVER TAKEN
    && format->mbr.dos_compatibility;                                 
   42806:	4a2a 0008      	tstb %a2@(8)                                
   4280a:	6664           	bnes 42870 <rtems_bdpart_create+0x84>       <== ALWAYS TAKEN
  rtems_blkdev_bnum disk_end = 0;                                     
   4280c:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
  rtems_blkdev_bnum overhead = 0;                                     
  rtems_blkdev_bnum free_space = 0;                                   
  size_t i = 0;                                                       
                                                                      
  /* Check if we have something to do */                              
  if (count == 0) {                                                   
   42810:	4a83           	tstl %d3                                    <== NOT EXECUTED
   42812:	6764           	beqs 42878 <rtems_bdpart_create+0x8c>       <== NOT EXECUTED
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
  rtems_blkdev_bnum disk_end = 0;                                     
  rtems_blkdev_bnum pos = 0;                                          
  rtems_blkdev_bnum dist_sum = 0;                                     
  rtems_blkdev_bnum record_space =                                    
   42814:	7801           	moveq #1,%d4                                <== NOT EXECUTED
  const unsigned *dist,                                               
  size_t count                                                        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool dos_compatibility = format != NULL                             
   42816:	4205           	clrb %d5                                    <== NOT EXECUTED
    /* Nothing to do */                                               
    return RTEMS_SUCCESSFUL;                                          
  }                                                                   
                                                                      
  /* Check parameter */                                               
  if (format == NULL || pt == NULL || dist == NULL) {                 
   42818:	4aae 0010      	tstl %fp@(16)                               <== NOT EXECUTED
   4281c:	6770           	beqs 4288e <rtems_bdpart_create+0xa2>       <== NOT EXECUTED
   4281e:	4aae 0014      	tstl %fp@(20)                               
   42822:	676a           	beqs 4288e <rtems_bdpart_create+0xa2>       <== NEVER TAKEN
    return RTEMS_INVALID_ADDRESS;                                     
  }                                                                   
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, NULL, NULL, &disk_end); 
   42824:	486e fffc      	pea %fp@(-4)                                
   42828:	42a7           	clrl %sp@-                                  
   4282a:	42a7           	clrl %sp@-                                  
   4282c:	2f2e 0008      	movel %fp@(8),%sp@-                         
   42830:	4eb9 0004 2d98 	jsr 42d98 <rtems_bdpart_get_disk_data>      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   42836:	4fef 0010      	lea %sp@(16),%sp                            
   4283a:	4a80           	tstl %d0                                    
   4283c:	663c           	bnes 4287a <rtems_bdpart_create+0x8e>       <== NEVER TAKEN
                                                                      
  /* Get distribution sum and check for overflow */                   
  for (i = 0; i < count; ++i) {                                       
    unsigned prev_sum = dist_sum;                                     
                                                                      
    dist_sum += dist [i];                                             
   4283e:	206e 0014      	moveal %fp@(20),%a0                         
   42842:	2c10           	movel %a0@,%d6                              
                                                                      
    if (dist_sum < prev_sum) {                                        
      return RTEMS_INVALID_NUMBER;                                    
    }                                                                 
                                                                      
    if (dist [i] == 0) {                                              
   42844:	6700 00c8      	beqw 4290e <rtems_bdpart_create+0x122>      
#endif                                                                
                                                                      
#include <rtems.h>                                                    
#include <rtems/bdpart.h>                                             
                                                                      
rtems_status_code rtems_bdpart_create(                                
   42848:	2848           	moveal %a0,%a4                              
   4284a:	588c           	addql #4,%a4                                
   4284c:	264c           	moveal %a4,%a3                              
   4284e:	2406           	movel %d6,%d2                               
   42850:	4281           	clrl %d1                                    
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  /* Get distribution sum and check for overflow */                   
  for (i = 0; i < count; ++i) {                                       
   42852:	5281           	addql #1,%d1                                
   42854:	b283           	cmpl %d3,%d1                                
   42856:	6400 00c2      	bccw 4291a <rtems_bdpart_create+0x12e>      
    unsigned prev_sum = dist_sum;                                     
                                                                      
    dist_sum += dist [i];                                             
   4285a:	205b           	moveal %a3@+,%a0                            
   4285c:	43f0 2800      	lea %a0@(00000000,%d2:l),%a1                
                                                                      
    if (dist_sum < prev_sum) {                                        
   42860:	b489           	cmpl %a1,%d2                                
   42862:	6200 00aa      	bhiw 4290e <rtems_bdpart_create+0x122>      
      return RTEMS_INVALID_NUMBER;                                    
    }                                                                 
                                                                      
    if (dist [i] == 0) {                                              
   42866:	4a88           	tstl %a0                                    
   42868:	6700 00a4      	beqw 4290e <rtems_bdpart_create+0x122>      
                                                                      
  /* Get distribution sum and check for overflow */                   
  for (i = 0; i < count; ++i) {                                       
    unsigned prev_sum = dist_sum;                                     
                                                                      
    dist_sum += dist [i];                                             
   4286c:	2409           	movel %a1,%d2                               
   4286e:	60e2           	bras 42852 <rtems_bdpart_create+0x66>       
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
  rtems_blkdev_bnum disk_end = 0;                                     
   42870:	42ae fffc      	clrl %fp@(-4)                               
  rtems_blkdev_bnum overhead = 0;                                     
  rtems_blkdev_bnum free_space = 0;                                   
  size_t i = 0;                                                       
                                                                      
  /* Check if we have something to do */                              
  if (count == 0) {                                                   
   42874:	4a83           	tstl %d3                                    
   42876:	660c           	bnes 42884 <rtems_bdpart_create+0x98>       <== ALWAYS TAKEN
    /* Nothing to do */                                               
    return RTEMS_SUCCESSFUL;                                          
   42878:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
  /* Expand the last partition to the disk end */                     
  pt [count - 1].end = disk_end;                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4287a:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   42880:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42882:	4e75           	rts                                         <== NOT EXECUTED
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
  rtems_blkdev_bnum disk_end = 0;                                     
  rtems_blkdev_bnum pos = 0;                                          
  rtems_blkdev_bnum dist_sum = 0;                                     
  rtems_blkdev_bnum record_space =                                    
   42884:	783f           	moveq #63,%d4                               
  const unsigned *dist,                                               
  size_t count                                                        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool dos_compatibility = format != NULL                             
   42886:	7a01           	moveq #1,%d5                                
    /* Nothing to do */                                               
    return RTEMS_SUCCESSFUL;                                          
  }                                                                   
                                                                      
  /* Check parameter */                                               
  if (format == NULL || pt == NULL || dist == NULL) {                 
   42888:	4aae 0010      	tstl %fp@(16)                               
   4288c:	6690           	bnes 4281e <rtems_bdpart_create+0x32>       <== ALWAYS TAKEN
    return RTEMS_INVALID_ADDRESS;                                     
   4288e:	7009           	moveq #9,%d0                                <== NOT EXECUTED
                                                                      
  /* Expand the last partition to the disk end */                     
  pt [count - 1].end = disk_end;                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42890:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   42896:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42898:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  /* Begin of first primary partition */                              
  pos = record_space;                                                 
                                                                      
  /* Space for partitions */                                          
  free_space = disk_end - overhead;                                   
   4289a:	2a0b           	movel %a3,%d5                               
   4289c:	9a81           	subl %d1,%d5                                
                                                                      
  for (i = 0; i < count; ++i) {                                       
    rtems_bdpart_partition *p = pt + i;                               
                                                                      
    /* Partition size */                                              
    rtems_blkdev_bnum s = free_space * dist [i];                      
   4289e:	2205           	movel %d5,%d1                               
   428a0:	4c06 1800      	mulsl %d6,%d1                               
                                                                      
  /* Begin of first primary partition */                              
  pos = record_space;                                                 
                                                                      
  /* Space for partitions */                                          
  free_space = disk_end - overhead;                                   
   428a4:	2d45 fff8      	movel %d5,%fp@(-8)                          
  for (i = 0; i < count; ++i) {                                       
    rtems_bdpart_partition *p = pt + i;                               
                                                                      
    /* Partition size */                                              
    rtems_blkdev_bnum s = free_space * dist [i];                      
    if (s < free_space || s < dist [i]) {                             
   428a8:	b285           	cmpl %d5,%d1                                
   428aa:	6562           	bcss 4290e <rtems_bdpart_create+0x122>      <== NEVER TAKEN
   428ac:	bc81           	cmpl %d1,%d6                                
   428ae:	625e           	bhis 4290e <rtems_bdpart_create+0x122>      <== NEVER TAKEN
#endif                                                                
                                                                      
#include <rtems.h>                                                    
#include <rtems/bdpart.h>                                             
                                                                      
rtems_status_code rtems_bdpart_create(                                
   428b0:	2c2e 0010      	movel %fp@(16),%d6                          
   428b4:	2044           	moveal %d4,%a0                              
   428b6:	0686 0000 0030 	addil #48,%d6                               
  pos = record_space;                                                 
                                                                      
  /* Space for partitions */                                          
  free_space = disk_end - overhead;                                   
                                                                      
  for (i = 0; i < count; ++i) {                                       
   428bc:	4285           	clrl %d5                                    
#endif                                                                
                                                                      
#include <rtems.h>                                                    
#include <rtems/bdpart.h>                                             
                                                                      
rtems_status_code rtems_bdpart_create(                                
   428be:	246e 0010      	moveal %fp@(16),%a2                         
    rtems_blkdev_bnum s = free_space * dist [i];                      
    if (s < free_space || s < dist [i]) {                             
      /* TODO: Calculate without overflow */                          
      return RTEMS_INVALID_NUMBER;                                    
    }                                                                 
    s /= dist_sum;                                                    
   428c2:	4c42 1001      	remul %d2,%d1,%d1                           
                                                                      
    /* Ensure that the partition is not empty */                      
    if (s == 0) {                                                     
   428c6:	6604           	bnes 428cc <rtems_bdpart_create+0xe0>       <== ALWAYS TAKEN
      s = 1;                                                          
   428c8:	123c 0001      	moveb #1,%d1                                <== NOT EXECUTED
    }                                                                 
                                                                      
    /* Align partition upwards */                                     
    s += record_space - (s % record_space);                           
   428cc:	2241           	moveal %d1,%a1                              
   428ce:	d3c4           	addal %d4,%a1                               
   428d0:	4c44 1007      	remul %d4,%d7,%d1                           
                                                                      
    /* Reserve space for the EBR if necessary */                      
    if (count > 4 && i > 2) {                                         
   428d4:	7204           	moveq #4,%d1                                
    if (s == 0) {                                                     
      s = 1;                                                          
    }                                                                 
                                                                      
    /* Align partition upwards */                                     
    s += record_space - (s % record_space);                           
   428d6:	93c7           	subal %d7,%a1                               
                                                                      
    /* Reserve space for the EBR if necessary */                      
    if (count > 4 && i > 2) {                                         
   428d8:	b283           	cmpl %d3,%d1                                
   428da:	6408           	bccs 428e4 <rtems_bdpart_create+0xf8>       <== NEVER TAKEN
   428dc:	7e02           	moveq #2,%d7                                
   428de:	be85           	cmpl %d5,%d7                                
   428e0:	6402           	bccs 428e4 <rtems_bdpart_create+0xf8>       
      pos += record_space;                                            
   428e2:	d1c4           	addal %d4,%a0                               
    }                                                                 
                                                                      
    /* Partition begin and end */                                     
    p->begin = pos;                                                   
   428e4:	2488           	movel %a0,%a2@                              
    pos += s;                                                         
   428e6:	d1c9           	addal %a1,%a0                               
  pos = record_space;                                                 
                                                                      
  /* Space for partitions */                                          
  free_space = disk_end - overhead;                                   
                                                                      
  for (i = 0; i < count; ++i) {                                       
   428e8:	5285           	addql #1,%d5                                
    }                                                                 
                                                                      
    /* Partition begin and end */                                     
    p->begin = pos;                                                   
    pos += s;                                                         
    p->end = pos;                                                     
   428ea:	2548 0004      	movel %a0,%a2@(4)                           
                                                                      
  /* Space for partitions */                                          
  free_space = disk_end - overhead;                                   
                                                                      
  for (i = 0; i < count; ++i) {                                       
    rtems_bdpart_partition *p = pt + i;                               
   428ee:	2446           	moveal %d6,%a2                              
   428f0:	0686 0000 0030 	addil #48,%d6                               
  pos = record_space;                                                 
                                                                      
  /* Space for partitions */                                          
  free_space = disk_end - overhead;                                   
                                                                      
  for (i = 0; i < count; ++i) {                                       
   428f6:	ba83           	cmpl %d3,%d5                                
   428f8:	6478           	bccs 42972 <rtems_bdpart_create+0x186>      
    rtems_bdpart_partition *p = pt + i;                               
                                                                      
    /* Partition size */                                              
    rtems_blkdev_bnum s = free_space * dist [i];                      
   428fa:	225c           	moveal %a4@+,%a1                            
   428fc:	2209           	movel %a1,%d1                               
   428fe:	2e2e fff8      	movel %fp@(-8),%d7                          
   42902:	4c07 1800      	mulsl %d7,%d1                               
    if (s < free_space || s < dist [i]) {                             
   42906:	b287           	cmpl %d7,%d1                                
   42908:	6504           	bcss 4290e <rtems_bdpart_create+0x122>      <== NEVER TAKEN
   4290a:	b289           	cmpl %a1,%d1                                
   4290c:	64b4           	bccs 428c2 <rtems_bdpart_create+0xd6>       <== ALWAYS TAKEN
    if (dist_sum < prev_sum) {                                        
      return RTEMS_INVALID_NUMBER;                                    
    }                                                                 
                                                                      
    if (dist [i] == 0) {                                              
      return RTEMS_INVALID_NUMBER;                                    
   4290e:	700a           	moveq #10,%d0                               <== NOT EXECUTED
                                                                      
  /* Expand the last partition to the disk end */                     
  pt [count - 1].end = disk_end;                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42910:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   42916:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42918:	4e75           	rts                                         <== NOT EXECUTED
      return RTEMS_INVALID_NUMBER;                                    
    }                                                                 
  }                                                                   
                                                                      
  /* Check format */                                                  
  if (format->type != RTEMS_BDPART_FORMAT_MBR) {                      
   4291a:	4a92           	tstl %a2@                                   
   4291c:	670c           	beqs 4292a <rtems_bdpart_create+0x13e>      <== ALWAYS TAKEN
    return RTEMS_NOT_IMPLEMENTED;                                     
   4291e:	7018           	moveq #24,%d0                               <== NOT EXECUTED
                                                                      
  /* Expand the last partition to the disk end */                     
  pt [count - 1].end = disk_end;                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42920:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   42926:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42928:	4e75           	rts                                         <== NOT EXECUTED
    return RTEMS_NOT_IMPLEMENTED;                                     
  }                                                                   
                                                                      
  /* Align end of disk on cylinder boundary if necessary */           
  if (dos_compatibility) {                                            
    disk_end -= (disk_end % record_space);                            
   4292a:	266e fffc      	moveal %fp@(-4),%a3                         
  if (format->type != RTEMS_BDPART_FORMAT_MBR) {                      
    return RTEMS_NOT_IMPLEMENTED;                                     
  }                                                                   
                                                                      
  /* Align end of disk on cylinder boundary if necessary */           
  if (dos_compatibility) {                                            
   4292e:	4a05           	tstb %d5                                    
   42930:	6708           	beqs 4293a <rtems_bdpart_create+0x14e>      <== NEVER TAKEN
    disk_end -= (disk_end % record_space);                            
   42932:	220b           	movel %a3,%d1                               
   42934:	4c44 1007      	remul %d4,%d7,%d1                           
   42938:	97c7           	subal %d7,%a3                               
                                                                      
  /*                                                                  
   * In case we need an extended partition and logical partitions we have to
   * account for the space of each EBR.                               
   */                                                                 
  if (count > 4) {                                                    
   4293a:	7e04           	moveq #4,%d7                                
   4293c:	be83           	cmpl %d3,%d7                                
   4293e:	642e           	bccs 4296e <rtems_bdpart_create+0x182>      <== NEVER TAKEN
    overhead += (count - 3) * record_space;                           
   42940:	2203           	movel %d3,%d1                               
   42942:	5781           	subql #3,%d1                                
   42944:	4c04 1800      	mulsl %d4,%d1                               
   42948:	d284           	addl %d4,%d1                                
                                                                      
  /*                                                                  
   * Account space to align every partition on cylinder boundaries if 
   * necessary.                                                       
   */                                                                 
  if (dos_compatibility) {                                            
   4294a:	4a05           	tstb %d5                                    
   4294c:	670a           	beqs 42958 <rtems_bdpart_create+0x16c>      <== NEVER TAKEN
    overhead += (count - 1) * record_space;                           
   4294e:	2a03           	movel %d3,%d5                               
   42950:	5385           	subql #1,%d5                                
   42952:	4c04 5800      	mulsl %d4,%d5                               
   42956:	d285           	addl %d5,%d1                                
  }                                                                   
                                                                      
  /* Check disk space */                                              
  if ((overhead + count) > disk_end) {                                
   42958:	2041           	moveal %d1,%a0                              
   4295a:	d1c3           	addal %d3,%a0                               
   4295c:	b7c8           	cmpal %a0,%a3                               
   4295e:	6400 ff3a      	bccw 4289a <rtems_bdpart_create+0xae>       
    return RTEMS_IO_ERROR;                                            
   42962:	701b           	moveq #27,%d0                               <== NOT EXECUTED
                                                                      
  /* Expand the last partition to the disk end */                     
  pt [count - 1].end = disk_end;                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42964:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4296a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4296c:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  /*                                                                  
   * In case we need an extended partition and logical partitions we have to
   * account for the space of each EBR.                               
   */                                                                 
  if (count > 4) {                                                    
   4296e:	2204           	movel %d4,%d1                               <== NOT EXECUTED
   42970:	60d8           	bras 4294a <rtems_bdpart_create+0x15e>      <== NOT EXECUTED
    pos += s;                                                         
    p->end = pos;                                                     
  }                                                                   
                                                                      
  /* Expand the last partition to the disk end */                     
  pt [count - 1].end = disk_end;                                      
   42972:	2203           	movel %d3,%d1                               
   42974:	5381           	subql #1,%d1                                
   42976:	2401           	movel %d1,%d2                               
   42978:	ed89           	lsll #6,%d1                                 
   4297a:	e98a           	lsll #4,%d2                                 
   4297c:	206e 0010      	moveal %fp@(16),%a0                         
   42980:	9282           	subl %d2,%d1                                
   42982:	218b 1804      	movel %a3,%a0@(00000004,%d1:l)              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42986:	4cee 3cfc ffd0 	moveml %fp@(-48),%d2-%d7/%a2-%a5            
   4298c:	4e5e           	unlk %fp                                    
   4298e:	4e75           	rts                                         
  rtems_blkdev_bnum overhead = 0;                                     
  rtems_blkdev_bnum free_space = 0;                                   
  size_t i = 0;                                                       
                                                                      
  /* Check if we have something to do */                              
  if (count == 0) {                                                   
   42990:	4a83           	tstl %d3                                    <== NOT EXECUTED
   42992:	6700 fee4      	beqw 42878 <rtems_bdpart_create+0x8c>       <== NOT EXECUTED
    return RTEMS_SUCCESSFUL;                                          
  }                                                                   
                                                                      
  /* Check parameter */                                               
  if (format == NULL || pt == NULL || dist == NULL) {                 
    return RTEMS_INVALID_ADDRESS;                                     
   42996:	7009           	moveq #9,%d0                                <== NOT EXECUTED
   42998:	6000 fef6      	braw 42890 <rtems_bdpart_create+0xa4>       <== NOT EXECUTED
                                                                      

0004299c <rtems_bdpart_dump>: { uuid_unparse_lower( type, str); } void rtems_bdpart_dump( const rtems_bdpart_partition *pt, size_t count) {
   4299c:	4e56 ffa0      	linkw %fp,#-96                              
   429a0:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  size_t i = 0;                                                       
                                                                      
  printf(                                                             
   429a4:	4879 0006 2107 	pea 62107 <map.6766+0x41>                   
{                                                                     
  uuid_unparse_lower( type, str);                                     
}                                                                     
                                                                      
void rtems_bdpart_dump( const rtems_bdpart_partition *pt, size_t count)
{                                                                     
   429aa:	282e 000c      	movel %fp@(12),%d4                          
  size_t i = 0;                                                       
                                                                      
  printf(                                                             
   429ae:	4eb9 0005 4318 	jsr 54318 <puts>                            
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   429b4:	588f           	addql #4,%sp                                
   429b6:	4a84           	tstl %d4                                    
   429b8:	6700 00a2      	beqw 42a5c <rtems_bdpart_dump+0xc0>         
   429bc:	2a0e           	movel %fp,%d5                               
          snprintf( type_buffer, sizeof( type_buffer), "0x%02" PRIx8, type_mbr);
          type = type_buffer;                                         
          break;                                                      
      }                                                               
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
   429be:	2c0e           	movel %fp,%d6                               
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   429c0:	4282           	clrl %d2                                    
   429c2:	0685 ffff ffcb 	addil #-53,%d5                              
   429c8:	47f9 0004 2d6a 	lea 42d6a <rtems_bdpart_to_mbr_partition_type>,%a3
   429ce:	45f9 0005 4254 	lea 54254 <printf>,%a2                      
          snprintf( type_buffer, sizeof( type_buffer), "0x%02" PRIx8, type_mbr);
          type = type_buffer;                                         
          break;                                                      
      }                                                               
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
   429d4:	0686 ffff ffcc 	addil #-52,%d6                              
static void rtems_bdpart_type_to_string(                              
  const uuid_t type,                                                  
  char str [37]                                                       
)                                                                     
{                                                                     
  uuid_unparse_lower( type, str);                                     
   429da:	49f9 0004 d9c0 	lea 4d9c0 <uuid_unparse_lower>,%a4          
          break;                                                      
        case RTEMS_BDPART_MBR_DATA:                                   
          type = "DATA";                                              
          break;                                                      
        default:                                                      
          snprintf( type_buffer, sizeof( type_buffer), "0x%02" PRIx8, type_mbr);
   429e0:	2e3c 0005 45a8 	movel #345512,%d7                           
   429e6:	2a6e 0008      	moveal %fp@(8),%a5                          
    const rtems_bdpart_partition *p = pt + i;                         
    const char *type = NULL;                                          
    char type_buffer [52];                                            
    uint8_t type_mbr = 0;                                             
                                                                      
    if (rtems_bdpart_to_mbr_partition_type( p->type, &type_mbr)) {    
   429ea:	2f05           	movel %d5,%sp@-                             
   429ec:	260d           	movel %a5,%d3                               
   429ee:	5083           	addql #8,%d3                                
                                                                      
  for (i = 0; i < count; ++i) {                                       
    const rtems_bdpart_partition *p = pt + i;                         
    const char *type = NULL;                                          
    char type_buffer [52];                                            
    uint8_t type_mbr = 0;                                             
   429f0:	4200           	clrb %d0                                    
                                                                      
    if (rtems_bdpart_to_mbr_partition_type( p->type, &type_mbr)) {    
   429f2:	2f03           	movel %d3,%sp@-                             
                                                                      
  for (i = 0; i < count; ++i) {                                       
    const rtems_bdpart_partition *p = pt + i;                         
    const char *type = NULL;                                          
    char type_buffer [52];                                            
    uint8_t type_mbr = 0;                                             
   429f4:	1d40 ffcb      	moveb %d0,%fp@(-53)                         
                                                                      
    if (rtems_bdpart_to_mbr_partition_type( p->type, &type_mbr)) {    
   429f8:	4e93           	jsr %a3@                                    
   429fa:	508f           	addql #8,%sp                                
   429fc:	4a00           	tstb %d0                                    
   429fe:	6700 009a      	beqw 42a9a <rtems_bdpart_dump+0xfe>         
      switch (type_mbr) {                                             
   42a02:	4280           	clrl %d0                                    
   42a04:	102e ffcb      	moveb %fp@(-53),%d0                         
   42a08:	720b           	moveq #11,%d1                               
   42a0a:	b280           	cmpl %d0,%d1                                
   42a0c:	6700 0178      	beqw 42b86 <rtems_bdpart_dump+0x1ea>        
   42a10:	6500 00b4      	bcsw 42ac6 <rtems_bdpart_dump+0x12a>        <== NOT EXECUTED
   42a14:	123c 0001      	moveb #1,%d1                                <== NOT EXECUTED
   42a18:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   42a1a:	6700 0140      	beqw 42b5c <rtems_bdpart_dump+0x1c0>        <== NOT EXECUTED
   42a1e:	123c 0004      	moveb #4,%d1                                <== NOT EXECUTED
   42a22:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   42a24:	674c           	beqs 42a72 <rtems_bdpart_dump+0xd6>         <== NOT EXECUTED
          break;                                                      
        case RTEMS_BDPART_MBR_DATA:                                   
          type = "DATA";                                              
          break;                                                      
        default:                                                      
          snprintf( type_buffer, sizeof( type_buffer), "0x%02" PRIx8, type_mbr);
   42a26:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   42a28:	4879 0006 2247 	pea 62247 <map.6766+0x181>                  <== NOT EXECUTED
   42a2e:	2047           	moveal %d7,%a0                              <== NOT EXECUTED
   42a30:	4878 0034      	pea 34 <OPER2+0x20>                         <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42a34:	5282           	addql #1,%d2                                <== NOT EXECUTED
          break;                                                      
        case RTEMS_BDPART_MBR_DATA:                                   
          type = "DATA";                                              
          break;                                                      
        default:                                                      
          snprintf( type_buffer, sizeof( type_buffer), "0x%02" PRIx8, type_mbr);
   42a36:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   42a38:	4e90           	jsr %a0@                                    <== NOT EXECUTED
          type = type_buffer;                                         
          break;                                                      
   42a3a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
        case RTEMS_BDPART_MBR_DATA:                                   
          type = "DATA";                                              
          break;                                                      
        default:                                                      
          snprintf( type_buffer, sizeof( type_buffer), "0x%02" PRIx8, type_mbr);
          type = type_buffer;                                         
   42a3e:	2006           	movel %d6,%d0                               <== NOT EXECUTED
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
      type = type_buffer;                                             
    }                                                                 
                                                                      
    printf(                                                           
   42a40:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   42a42:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   42a46:	2f15           	movel %a5@,%sp@-                            <== NOT EXECUTED
   42a48:	4bed 0030      	lea %a5@(48),%a5                            <== NOT EXECUTED
   42a4c:	4879 0006 224e 	pea 6224e <map.6766+0x188>                  <== NOT EXECUTED
   42a52:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42a54:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   42a58:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   42a5a:	668e           	bnes 429ea <rtems_bdpart_dump+0x4e>         <== NOT EXECUTED
      p->end,                                                         
      type                                                            
    );                                                                
  }                                                                   
                                                                      
  puts( "------------+------------+-----------------------------------------------------");
   42a5c:	4879 0006 21f7 	pea 621f7 <map.6766+0x131>                  
   42a62:	4eb9 0005 4318 	jsr 54318 <puts>                            
}                                                                     
   42a68:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            
   42a6e:	4e5e           	unlk %fp                                    
   42a70:	4e75           	rts                                         
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42a72:	5282           	addql #1,%d2                                <== NOT EXECUTED
      switch (type_mbr) {                                             
        case RTEMS_BDPART_MBR_FAT_12:                                 
          type = "FAT 12";                                            
          break;                                                      
        case RTEMS_BDPART_MBR_FAT_16:                                 
          type = "FAT 16";                                            
   42a74:	203c 0006 20d7 	movel #401623,%d0                           <== NOT EXECUTED
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
      type = type_buffer;                                             
    }                                                                 
                                                                      
    printf(                                                           
   42a7a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   42a7c:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   42a80:	2f15           	movel %a5@,%sp@-                            <== NOT EXECUTED
   42a82:	4bed 0030      	lea %a5@(48),%a5                            <== NOT EXECUTED
   42a86:	4879 0006 224e 	pea 6224e <map.6766+0x188>                  <== NOT EXECUTED
   42a8c:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42a8e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   42a92:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   42a94:	6600 ff54      	bnew 429ea <rtems_bdpart_dump+0x4e>         <== NOT EXECUTED
   42a98:	60c2           	bras 42a5c <rtems_bdpart_dump+0xc0>         <== NOT EXECUTED
static void rtems_bdpart_type_to_string(                              
  const uuid_t type,                                                  
  char str [37]                                                       
)                                                                     
{                                                                     
  uuid_unparse_lower( type, str);                                     
   42a9a:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42a9c:	5282           	addql #1,%d2                                <== NOT EXECUTED
static void rtems_bdpart_type_to_string(                              
  const uuid_t type,                                                  
  char str [37]                                                       
)                                                                     
{                                                                     
  uuid_unparse_lower( type, str);                                     
   42a9e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   42aa0:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   42aa2:	508f           	addql #8,%sp                                <== NOT EXECUTED
          type = type_buffer;                                         
          break;                                                      
      }                                                               
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
      type = type_buffer;                                             
   42aa4:	2006           	movel %d6,%d0                               <== NOT EXECUTED
    }                                                                 
                                                                      
    printf(                                                           
   42aa6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   42aa8:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   42aac:	2f15           	movel %a5@,%sp@-                            <== NOT EXECUTED
   42aae:	4bed 0030      	lea %a5@(48),%a5                            <== NOT EXECUTED
   42ab2:	4879 0006 224e 	pea 6224e <map.6766+0x188>                  <== NOT EXECUTED
   42ab8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42aba:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   42abe:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   42ac0:	6600 ff28      	bnew 429ea <rtems_bdpart_dump+0x4e>         <== NOT EXECUTED
   42ac4:	6096           	bras 42a5c <rtems_bdpart_dump+0xc0>         <== NOT EXECUTED
    const char *type = NULL;                                          
    char type_buffer [52];                                            
    uint8_t type_mbr = 0;                                             
                                                                      
    if (rtems_bdpart_to_mbr_partition_type( p->type, &type_mbr)) {    
      switch (type_mbr) {                                             
   42ac6:	720e           	moveq #14,%d1                               <== NOT EXECUTED
   42ac8:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   42aca:	6766           	beqs 42b32 <rtems_bdpart_dump+0x196>        <== NOT EXECUTED
   42acc:	0c80 0000 00da 	cmpil #218,%d0                              <== NOT EXECUTED
   42ad2:	6734           	beqs 42b08 <rtems_bdpart_dump+0x16c>        <== NOT EXECUTED
   42ad4:	123c 000c      	moveb #12,%d1                               <== NOT EXECUTED
   42ad8:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   42ada:	6600 ff4a      	bnew 42a26 <rtems_bdpart_dump+0x8a>         <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42ade:	5282           	addql #1,%d2                                <== NOT EXECUTED
          break;                                                      
        case RTEMS_BDPART_MBR_FAT_32:                                 
          type = "FAT 32";                                            
          break;                                                      
        case RTEMS_BDPART_MBR_FAT_32_LBA:                             
          type = "FAT 32 LBA";                                        
   42ae0:	203c 0006 20ea 	movel #401642,%d0                           <== NOT EXECUTED
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
      type = type_buffer;                                             
    }                                                                 
                                                                      
    printf(                                                           
   42ae6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   42ae8:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   42aec:	2f15           	movel %a5@,%sp@-                            <== NOT EXECUTED
   42aee:	4bed 0030      	lea %a5@(48),%a5                            <== NOT EXECUTED
   42af2:	4879 0006 224e 	pea 6224e <map.6766+0x188>                  <== NOT EXECUTED
   42af8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42afa:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   42afe:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   42b00:	6600 fee8      	bnew 429ea <rtems_bdpart_dump+0x4e>         <== NOT EXECUTED
   42b04:	6000 ff56      	braw 42a5c <rtems_bdpart_dump+0xc0>         <== NOT EXECUTED
   42b08:	5282           	addql #1,%d2                                <== NOT EXECUTED
          break;                                                      
        case RTEMS_BDPART_MBR_FAT_32_LBA:                             
          type = "FAT 32 LBA";                                        
          break;                                                      
        case RTEMS_BDPART_MBR_DATA:                                   
          type = "DATA";                                              
   42b0a:	203c 0006 20e5 	movel #401637,%d0                           <== NOT EXECUTED
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
      type = type_buffer;                                             
    }                                                                 
                                                                      
    printf(                                                           
   42b10:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   42b12:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   42b16:	2f15           	movel %a5@,%sp@-                            <== NOT EXECUTED
   42b18:	4bed 0030      	lea %a5@(48),%a5                            <== NOT EXECUTED
   42b1c:	4879 0006 224e 	pea 6224e <map.6766+0x188>                  <== NOT EXECUTED
   42b22:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42b24:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   42b28:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   42b2a:	6600 febe      	bnew 429ea <rtems_bdpart_dump+0x4e>         <== NOT EXECUTED
   42b2e:	6000 ff2c      	braw 42a5c <rtems_bdpart_dump+0xc0>         <== NOT EXECUTED
   42b32:	5282           	addql #1,%d2                                <== NOT EXECUTED
          break;                                                      
        case RTEMS_BDPART_MBR_FAT_16:                                 
          type = "FAT 16";                                            
          break;                                                      
        case RTEMS_BDPART_MBR_FAT_16_LBA:                             
          type = "FAT 16 LBA";                                        
   42b34:	203c 0006 20fc 	movel #401660,%d0                           <== NOT EXECUTED
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
      type = type_buffer;                                             
    }                                                                 
                                                                      
    printf(                                                           
   42b3a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   42b3c:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   42b40:	2f15           	movel %a5@,%sp@-                            <== NOT EXECUTED
   42b42:	4bed 0030      	lea %a5@(48),%a5                            <== NOT EXECUTED
   42b46:	4879 0006 224e 	pea 6224e <map.6766+0x188>                  <== NOT EXECUTED
   42b4c:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42b4e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   42b52:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   42b54:	6600 fe94      	bnew 429ea <rtems_bdpart_dump+0x4e>         <== NOT EXECUTED
   42b58:	6000 ff02      	braw 42a5c <rtems_bdpart_dump+0xc0>         <== NOT EXECUTED
   42b5c:	5282           	addql #1,%d2                                <== NOT EXECUTED
    uint8_t type_mbr = 0;                                             
                                                                      
    if (rtems_bdpart_to_mbr_partition_type( p->type, &type_mbr)) {    
      switch (type_mbr) {                                             
        case RTEMS_BDPART_MBR_FAT_12:                                 
          type = "FAT 12";                                            
   42b5e:	203c 0006 20de 	movel #401630,%d0                           <== NOT EXECUTED
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
      type = type_buffer;                                             
    }                                                                 
                                                                      
    printf(                                                           
   42b64:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   42b66:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   42b6a:	2f15           	movel %a5@,%sp@-                            <== NOT EXECUTED
   42b6c:	4bed 0030      	lea %a5@(48),%a5                            <== NOT EXECUTED
   42b70:	4879 0006 224e 	pea 6224e <map.6766+0x188>                  <== NOT EXECUTED
   42b76:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42b78:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   42b7c:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   42b7e:	6600 fe6a      	bnew 429ea <rtems_bdpart_dump+0x4e>         <== NOT EXECUTED
   42b82:	6000 fed8      	braw 42a5c <rtems_bdpart_dump+0xc0>         <== NOT EXECUTED
   42b86:	5282           	addql #1,%d2                                
          break;                                                      
        case RTEMS_BDPART_MBR_FAT_16_LBA:                             
          type = "FAT 16 LBA";                                        
          break;                                                      
        case RTEMS_BDPART_MBR_FAT_32:                                 
          type = "FAT 32";                                            
   42b88:	203c 0006 20f5 	movel #401653,%d0                           
    } else {                                                          
      rtems_bdpart_type_to_string( p->type, type_buffer);             
      type = type_buffer;                                             
    }                                                                 
                                                                      
    printf(                                                           
   42b8e:	2f00           	movel %d0,%sp@-                             
   42b90:	2f2d 0004      	movel %a5@(4),%sp@-                         
   42b94:	2f15           	movel %a5@,%sp@-                            
   42b96:	4bed 0030      	lea %a5@(48),%a5                            
   42b9a:	4879 0006 224e 	pea 6224e <map.6766+0x188>                  
   42ba0:	4e92           	jsr %a2@                                    
    "------------+------------+-----------------------------------------------------\n"
    " BEGIN      | END        | TYPE\n"                               
    "------------+------------+-----------------------------------------------------\n"
  );                                                                  
                                                                      
  for (i = 0; i < count; ++i) {                                       
   42ba2:	4fef 0010      	lea %sp@(16),%sp                            
   42ba6:	b882           	cmpl %d2,%d4                                
   42ba8:	6600 fe40      	bnew 429ea <rtems_bdpart_dump+0x4e>         
   42bac:	6000 feae      	braw 42a5c <rtems_bdpart_dump+0xc0>         
                                                                      

00042d98 <rtems_bdpart_get_disk_data>: const char *disk_name, int *fd_ptr, rtems_disk_device **dd_ptr, rtems_blkdev_bnum *disk_end ) {
   42d98:	4e56 fffc      	linkw %fp,#-4                               
   42d9c:	2f03           	movel %d3,%sp@-                             
   42d9e:	2f02           	movel %d2,%sp@-                             
  rtems_disk_device *dd = NULL;                                       
  rtems_blkdev_bnum disk_begin = 0;                                   
  rtems_blkdev_bnum block_size = 0;                                   
                                                                      
  /* Open device file */                                              
  fd = open( disk_name, O_RDWR);                                      
   42da0:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   42da4:	2f2e 0008      	movel %fp@(8),%sp@-                         
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  int rv = 0;                                                         
  int fd = -1;                                                        
  rtems_disk_device *dd = NULL;                                       
   42da8:	42ae fffc      	clrl %fp@(-4)                               
  rtems_blkdev_bnum disk_begin = 0;                                   
  rtems_blkdev_bnum block_size = 0;                                   
                                                                      
  /* Open device file */                                              
  fd = open( disk_name, O_RDWR);                                      
   42dac:	4eb9 0004 6280 	jsr 46280 <open>                            
  if (fd < 0) {                                                       
   42db2:	508f           	addql #8,%sp                                
  rtems_disk_device *dd = NULL;                                       
  rtems_blkdev_bnum disk_begin = 0;                                   
  rtems_blkdev_bnum block_size = 0;                                   
                                                                      
  /* Open device file */                                              
  fd = open( disk_name, O_RDWR);                                      
   42db4:	2600           	movel %d0,%d3                               
  if (fd < 0) {                                                       
   42db6:	6c1a           	bges 42dd2 <rtems_bdpart_get_disk_data+0x3a><== ALWAYS TAKEN
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
    *fd_ptr = fd;                                                     
    *dd_ptr = dd;                                                     
  } else {                                                            
    close( fd);                                                       
   42db8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
  rtems_blkdev_bnum block_size = 0;                                   
                                                                      
  /* Open device file */                                              
  fd = open( disk_name, O_RDWR);                                      
  if (fd < 0) {                                                       
    sc = RTEMS_INVALID_NAME;                                          
   42dba:	7403           	moveq #3,%d2                                <== NOT EXECUTED
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
    *fd_ptr = fd;                                                     
    *dd_ptr = dd;                                                     
  } else {                                                            
    close( fd);                                                       
   42dbc:	4eb9 0004 5070 	jsr 45070 <close>                           <== NOT EXECUTED
   42dc2:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   42dc4:	2002           	movel %d2,%d0                               
   42dc6:	242e fff4      	movel %fp@(-12),%d2                         
   42dca:	262e fff8      	movel %fp@(-8),%d3                          
   42dce:	4e5e           	unlk %fp                                    
   42dd0:	4e75           	rts                                         
static inline int rtems_disk_fd_get_disk_device(                      
  int fd,                                                             
  rtems_disk_device **dd_ptr                                          
)                                                                     
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_GETDISKDEV, dd_ptr);                   
   42dd2:	486e fffc      	pea %fp@(-4)                                
   42dd6:	2f3c 4004 4209 	movel #1074020873,%sp@-                     
   42ddc:	2f00           	movel %d0,%sp@-                             
   42dde:	4eb9 0004 5544 	jsr 45544 <ioctl>                           
    goto error;                                                       
  }                                                                   
                                                                      
  /* Get disk handle */                                               
  rv = rtems_disk_fd_get_disk_device( fd, &dd);                       
  if (rv != 0) {                                                      
   42de4:	4fef 000c      	lea %sp@(12),%sp                            
   42de8:	4a80           	tstl %d0                                    
   42dea:	66cc           	bnes 42db8 <rtems_bdpart_get_disk_data+0x20><== NEVER TAKEN
    sc = RTEMS_INVALID_NAME;                                          
    goto error;                                                       
  }                                                                   
                                                                      
  /* Get disk begin, end and block size */                            
  disk_begin = dd->start;                                             
   42dec:	206e fffc      	moveal %fp@(-4),%a0                         
  *disk_end = dd->size;                                               
  block_size = dd->block_size;                                        
                                                                      
  /* Check block size */                                              
  if (block_size < RTEMS_BDPART_BLOCK_SIZE) {                         
   42df0:	223c 0000 01ff 	movel #511,%d1                              
    sc = RTEMS_INVALID_NAME;                                          
    goto error;                                                       
  }                                                                   
                                                                      
  /* Get disk begin, end and block size */                            
  disk_begin = dd->start;                                             
   42df6:	2028 0018      	movel %a0@(24),%d0                          
  *disk_end = dd->size;                                               
   42dfa:	226e 0014      	moveal %fp@(20),%a1                         
   42dfe:	22a8 001c      	movel %a0@(28),%a1@                         
  block_size = dd->block_size;                                        
                                                                      
  /* Check block size */                                              
  if (block_size < RTEMS_BDPART_BLOCK_SIZE) {                         
   42e02:	b2a8 0024      	cmpl %a0@(36),%d1                           
   42e06:	650e           	bcss 42e16 <rtems_bdpart_get_disk_data+0x7e><== ALWAYS TAKEN
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
    *fd_ptr = fd;                                                     
    *dd_ptr = dd;                                                     
  } else {                                                            
    close( fd);                                                       
   42e08:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
  *disk_end = dd->size;                                               
  block_size = dd->block_size;                                        
                                                                      
  /* Check block size */                                              
  if (block_size < RTEMS_BDPART_BLOCK_SIZE) {                         
    sc = RTEMS_IO_ERROR;                                              
   42e0a:	741b           	moveq #27,%d2                               <== NOT EXECUTED
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
    *fd_ptr = fd;                                                     
    *dd_ptr = dd;                                                     
  } else {                                                            
    close( fd);                                                       
   42e0c:	4eb9 0004 5070 	jsr 45070 <close>                           <== NOT EXECUTED
   42e12:	588f           	addql #4,%sp                                <== NOT EXECUTED
   42e14:	60ae           	bras 42dc4 <rtems_bdpart_get_disk_data+0x2c><== NOT EXECUTED
    sc = RTEMS_IO_ERROR;                                              
    goto error;                                                       
  }                                                                   
                                                                      
  /* Check that we have do not have a logical disk */                 
  if (disk_begin != 0) {                                              
   42e16:	4a80           	tstl %d0                                    
   42e18:	66ee           	bnes 42e08 <rtems_bdpart_get_disk_data+0x70><== NEVER TAKEN
    goto error;                                                       
  }                                                                   
                                                                      
error:                                                                
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
   42e1a:	4aae 000c      	tstl %fp@(12)                               
   42e1e:	6722           	beqs 42e42 <rtems_bdpart_get_disk_data+0xaa>
   42e20:	4aae 0010      	tstl %fp@(16)                               
   42e24:	671c           	beqs 42e42 <rtems_bdpart_get_disk_data+0xaa><== NEVER TAKEN
    *fd_ptr = fd;                                                     
   42e26:	226e 000c      	moveal %fp@(12),%a1                         
  int *fd_ptr,                                                        
  rtems_disk_device **dd_ptr,                                         
  rtems_blkdev_bnum *disk_end                                         
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
   42e2a:	4282           	clrl %d2                                    
  } else {                                                            
    close( fd);                                                       
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   42e2c:	2002           	movel %d2,%d0                               
  }                                                                   
                                                                      
error:                                                                
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
    *fd_ptr = fd;                                                     
   42e2e:	2283           	movel %d3,%a1@                              
    *dd_ptr = dd;                                                     
   42e30:	226e 0010      	moveal %fp@(16),%a1                         
  } else {                                                            
    close( fd);                                                       
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   42e34:	242e fff4      	movel %fp@(-12),%d2                         
   42e38:	262e fff8      	movel %fp@(-8),%d3                          
   42e3c:	4e5e           	unlk %fp                                    
                                                                      
error:                                                                
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
    *fd_ptr = fd;                                                     
    *dd_ptr = dd;                                                     
   42e3e:	2288           	movel %a0,%a1@                              
  } else {                                                            
    close( fd);                                                       
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   42e40:	4e75           	rts                                         
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
    *fd_ptr = fd;                                                     
    *dd_ptr = dd;                                                     
  } else {                                                            
    close( fd);                                                       
   42e42:	2f03           	movel %d3,%sp@-                             
  int *fd_ptr,                                                        
  rtems_disk_device **dd_ptr,                                         
  rtems_blkdev_bnum *disk_end                                         
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
   42e44:	4282           	clrl %d2                                    
                                                                      
  if (sc == RTEMS_SUCCESSFUL && fd_ptr != NULL && dd_ptr != NULL) {   
    *fd_ptr = fd;                                                     
    *dd_ptr = dd;                                                     
  } else {                                                            
    close( fd);                                                       
   42e46:	4eb9 0004 5070 	jsr 45070 <close>                           
   42e4c:	588f           	addql #4,%sp                                
   42e4e:	6000 ff74      	braw 42dc4 <rtems_bdpart_get_disk_data+0x2c>
                                                                      

00061ae8 <rtems_bdpart_mount>: const char *disk_name, const rtems_bdpart_partition *pt __attribute__((unused)), size_t count, const char *mount_base ) {
   61ae8:	4e56 ffd8      	linkw %fp,#-40                              <== NOT EXECUTED
   61aec:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  const char *disk_file_name = strrchr( disk_name, '/');              
   61af0:	4878 002f      	pea 2f <OPER2+0x1b>                         <== NOT EXECUTED
  char *logical_disk_name = NULL;                                     
  char *logical_disk_marker = NULL;                                   
  char *mount_point = NULL;                                           
  char *mount_marker = NULL;                                          
  size_t disk_file_name_size = 0;                                     
  size_t disk_name_size = strlen( disk_name);                         
   61af4:	49f9 0007 d8a0 	lea 7d8a0 <strlen>,%a4                      <== NOT EXECUTED
  size_t mount_base_size = strlen( mount_base);                       
  size_t i = 0;                                                       
                                                                      
  /* Create logical disk name base */                                 
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61afa:	45f9 0004 3140 	lea 43140 <malloc>,%a2                      <== NOT EXECUTED
  const char *disk_name,                                              
  const rtems_bdpart_partition *pt __attribute__((unused)),           
  size_t count,                                                       
  const char *mount_base                                              
)                                                                     
{                                                                     
   61b00:	242e 0008      	movel %fp@(8),%d2                           <== NOT EXECUTED
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  const char *disk_file_name = strrchr( disk_name, '/');              
   61b04:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   61b06:	4eb9 0007 e73c 	jsr 7e73c <strrchr>                         <== NOT EXECUTED
   61b0c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   61b0e:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  char *logical_disk_name = NULL;                                     
  char *logical_disk_marker = NULL;                                   
  char *mount_point = NULL;                                           
  char *mount_marker = NULL;                                          
  size_t disk_file_name_size = 0;                                     
  size_t disk_name_size = strlen( disk_name);                         
   61b10:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  const char *disk_name,                                              
  const rtems_bdpart_partition *pt __attribute__((unused)),           
  size_t count,                                                       
  const char *mount_base                                              
)                                                                     
{                                                                     
   61b12:	2a2e 0010      	movel %fp@(16),%d5                          <== NOT EXECUTED
  char *logical_disk_name = NULL;                                     
  char *logical_disk_marker = NULL;                                   
  char *mount_point = NULL;                                           
  char *mount_marker = NULL;                                          
  size_t disk_file_name_size = 0;                                     
  size_t disk_name_size = strlen( disk_name);                         
   61b16:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  size_t mount_base_size = strlen( mount_base);                       
   61b18:	2eae 0014      	movel %fp@(20),%sp@                         <== NOT EXECUTED
  char *logical_disk_name = NULL;                                     
  char *logical_disk_marker = NULL;                                   
  char *mount_point = NULL;                                           
  char *mount_marker = NULL;                                          
  size_t disk_file_name_size = 0;                                     
  size_t disk_name_size = strlen( disk_name);                         
   61b1c:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
  size_t mount_base_size = strlen( mount_base);                       
   61b1e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   61b20:	588f           	addql #4,%sp                                <== NOT EXECUTED
   61b22:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
  size_t i = 0;                                                       
                                                                      
  /* Create logical disk name base */                                 
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61b24:	486d 0004      	pea %a5@(4)                                 <== NOT EXECUTED
   61b28:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  if (logical_disk_name == NULL) {                                    
   61b2a:	588f           	addql #4,%sp                                <== NOT EXECUTED
  size_t disk_name_size = strlen( disk_name);                         
  size_t mount_base_size = strlen( mount_base);                       
  size_t i = 0;                                                       
                                                                      
  /* Create logical disk name base */                                 
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61b2c:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (logical_disk_name == NULL) {                                    
   61b2e:	6700 0104      	beqw 61c34 <rtems_bdpart_mount+0x14c>       <== NOT EXECUTED
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
  strncpy( logical_disk_name, disk_name, disk_name_size);             
   61b32:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   61b34:	47f9 0007 da4c 	lea 7da4c <strncpy>,%a3                     <== NOT EXECUTED
   61b3a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   61b3c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   61b3e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  /* Get disk file name */                                            
  if (disk_file_name != NULL) {                                       
   61b40:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   61b44:	4a83           	tstl %d3                                    <== NOT EXECUTED
   61b46:	6700 00fa      	beqw 61c42 <rtems_bdpart_mount+0x15a>       <== NOT EXECUTED
    disk_file_name += 1;                                              
   61b4a:	2403           	movel %d3,%d2                               <== NOT EXECUTED
   61b4c:	5282           	addql #1,%d2                                <== NOT EXECUTED
    disk_file_name_size = strlen( disk_file_name);                    
   61b4e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   61b50:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   61b52:	588f           	addql #4,%sp                                <== NOT EXECUTED
   61b54:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
    disk_file_name = disk_name;                                       
    disk_file_name_size = disk_name_size;                             
  }                                                                   
                                                                      
  /* Create mount point base */                                       
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61b56:	2e0c           	movel %a4,%d7                               <== NOT EXECUTED
   61b58:	de86           	addl %d6,%d7                                <== NOT EXECUTED
   61b5a:	2047           	moveal %d7,%a0                              <== NOT EXECUTED
   61b5c:	4868 0005      	pea %a0@(5)                                 <== NOT EXECUTED
   61b60:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  if (mount_point == NULL) {                                          
   61b62:	588f           	addql #4,%sp                                <== NOT EXECUTED
    disk_file_name = disk_name;                                       
    disk_file_name_size = disk_name_size;                             
  }                                                                   
                                                                      
  /* Create mount point base */                                       
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61b64:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (mount_point == NULL) {                                          
   61b66:	4a80           	tstl %d0                                    <== NOT EXECUTED
   61b68:	6700 00f0      	beqw 61c5a <rtems_bdpart_mount+0x172>       <== NOT EXECUTED
    esc = RTEMS_NO_MEMORY;                                            
    goto cleanup;                                                     
  }                                                                   
  strncpy( mount_point, mount_base, mount_base_size);                 
   61b6c:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   61b6e:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
  mount_point [mount_base_size] = '/';                                
  strncpy( mount_point + mount_base_size + 1, disk_file_name, disk_file_name_size);
                                                                      
  /* Markers */                                                       
  logical_disk_marker = logical_disk_name + disk_name_size;           
   61b72:	2604           	movel %d4,%d3                               <== NOT EXECUTED
   61b74:	d68d           	addl %a5,%d3                                <== NOT EXECUTED
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (mount_point == NULL) {                                          
    esc = RTEMS_NO_MEMORY;                                            
    goto cleanup;                                                     
  }                                                                   
  strncpy( mount_point, mount_base, mount_base_size);                 
   61b76:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
  mount_point [mount_base_size] = '/';                                
  strncpy( mount_point + mount_base_size + 1, disk_file_name, disk_file_name_size);
                                                                      
  /* Markers */                                                       
  logical_disk_marker = logical_disk_name + disk_name_size;           
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
   61b78:	4bf2 7801      	lea %a2@(00000001,%d7:l),%a5                <== NOT EXECUTED
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (mount_point == NULL) {                                          
    esc = RTEMS_NO_MEMORY;                                            
    goto cleanup;                                                     
  }                                                                   
  strncpy( mount_point, mount_base, mount_base_size);                 
   61b7c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  mount_point [mount_base_size] = '/';                                
   61b7e:	702f           	moveq #47,%d0                               <== NOT EXECUTED
   61b80:	1580 6800      	moveb %d0,%a2@(00000000,%d6:l)              <== NOT EXECUTED
  strncpy( mount_point + mount_base_size + 1, disk_file_name, disk_file_name_size);
   61b84:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   61b86:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   61b88:	4872 6801      	pea %a2@(00000001,%d6:l)                    <== NOT EXECUTED
   61b8c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  /* Markers */                                                       
  logical_disk_marker = logical_disk_name + disk_name_size;           
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
                                                                      
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
   61b8e:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   61b92:	4a85           	tstl %d5                                    <== NOT EXECUTED
   61b94:	676e           	beqs 61c04 <rtems_bdpart_mount+0x11c>       <== NOT EXECUTED
   61b96:	4282           	clrl %d2                                    <== NOT EXECUTED
   61b98:	49f9 0007 cce0 	lea 7cce0 <snprintf>,%a4                    <== NOT EXECUTED
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Create mount point */                                          
    strncpy( mount_marker, logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE);
    rv = rtems_mkdir( mount_point, S_IRWXU | S_IRWXG | S_IRWXO);      
   61b9e:	2c3c 0006 56ec 	movel #415468,%d6                           <== NOT EXECUTED
      esc = RTEMS_IO_ERROR;                                           
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Mount */                                                       
    rv = mount(                                                       
   61ba4:	2e3c 0004 3388 	movel #275336,%d7                           <== NOT EXECUTED
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
                                                                      
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
    /* Create logical disk name */                                    
    int rv = snprintf( logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
   61baa:	5282           	addql #1,%d2                                <== NOT EXECUTED
   61bac:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   61bae:	4879 0009 7fb8 	pea 97fb8 <e2a_32V+0x2a3>                   <== NOT EXECUTED
   61bb4:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   61bb8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   61bba:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (rv >= RTEMS_BDPART_NUMBER_SIZE) {                             
   61bbc:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   61bc0:	7203           	moveq #3,%d1                                <== NOT EXECUTED
   61bc2:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   61bc4:	6d00 00a8      	bltw 61c6e <rtems_bdpart_mount+0x186>       <== NOT EXECUTED
      esc = RTEMS_INVALID_NAME;                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Create mount point */                                          
    strncpy( mount_marker, logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE);
   61bc8:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   61bcc:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   61bce:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   61bd0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    rv = rtems_mkdir( mount_point, S_IRWXU | S_IRWXG | S_IRWXO);      
   61bd2:	4878 01ff      	pea 1ff <DBL_MANT_DIG+0x1ca>                <== NOT EXECUTED
   61bd6:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
   61bd8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61bda:	4e90           	jsr %a0@                                    <== NOT EXECUTED
    if (rv != 0) {                                                    
   61bdc:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   61be0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   61be2:	6600 009e      	bnew 61c82 <rtems_bdpart_mount+0x19a>       <== NOT EXECUTED
      esc = RTEMS_IO_ERROR;                                           
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Mount */                                                       
    rv = mount(                                                       
   61be6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   61be8:	2047           	moveal %d7,%a0                              <== NOT EXECUTED
   61bea:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   61bec:	4879 0009 6795 	pea 96795 <rtems_rtc_shell_usage+0x1995>    <== NOT EXECUTED
   61bf2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61bf4:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   61bf6:	4e90           	jsr %a0@                                    <== NOT EXECUTED
      mount_point,                                                    
      "msdos",                                                        
      0,                                                              
      NULL                                                            
    );                                                                
    if (rv != 0) {                                                    
   61bf8:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   61bfc:	4a80           	tstl %d0                                    <== NOT EXECUTED
   61bfe:	6622           	bnes 61c22 <rtems_bdpart_mount+0x13a>       <== NOT EXECUTED
  /* Markers */                                                       
  logical_disk_marker = logical_disk_name + disk_name_size;           
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
                                                                      
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
   61c00:	ba82           	cmpl %d2,%d5                                <== NOT EXECUTED
   61c02:	66a6           	bnes 61baa <rtems_bdpart_mount+0xc2>        <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   61c04:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   61c06:	47f9 0004 2e40 	lea 42e40 <free>,%a3                        <== NOT EXECUTED
  const rtems_bdpart_partition *pt __attribute__((unused)),           
  size_t count,                                                       
  const char *mount_base                                              
)                                                                     
{                                                                     
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
   61c0c:	4282           	clrl %d2                                    <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   61c0e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free( mount_point);                                                 
   61c10:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61c12:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  return esc;                                                         
   61c14:	508f           	addql #8,%sp                                <== NOT EXECUTED
}                                                                     
   61c16:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   61c18:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   61c1e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61c20:	4e75           	rts                                         <== NOT EXECUTED
      "msdos",                                                        
      0,                                                              
      NULL                                                            
    );                                                                
    if (rv != 0) {                                                    
      rmdir( mount_point);                                            
   61c22:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61c24:	4eb9 0006 5614 	jsr 65614 <rmdir>                           <== NOT EXECUTED
   61c2a:	588f           	addql #4,%sp                                <== NOT EXECUTED
  /* Markers */                                                       
  logical_disk_marker = logical_disk_name + disk_name_size;           
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
                                                                      
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
   61c2c:	ba82           	cmpl %d2,%d5                                <== NOT EXECUTED
   61c2e:	6600 ff7a      	bnew 61baa <rtems_bdpart_mount+0xc2>        <== NOT EXECUTED
   61c32:	60d0           	bras 61c04 <rtems_bdpart_mount+0x11c>       <== NOT EXECUTED
  size_t i = 0;                                                       
                                                                      
  /* Create logical disk name base */                                 
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (logical_disk_name == NULL) {                                    
    return RTEMS_NO_MEMORY;                                           
   61c34:	741a           	moveq #26,%d2                               <== NOT EXECUTED
                                                                      
  free( logical_disk_name);                                           
  free( mount_point);                                                 
                                                                      
  return esc;                                                         
}                                                                     
   61c36:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   61c38:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   61c3e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61c40:	4e75           	rts                                         <== NOT EXECUTED
  if (disk_file_name != NULL) {                                       
    disk_file_name += 1;                                              
    disk_file_name_size = strlen( disk_file_name);                    
  } else {                                                            
    disk_file_name = disk_name;                                       
    disk_file_name_size = disk_name_size;                             
   61c42:	284d           	moveal %a5,%a4                              <== NOT EXECUTED
  }                                                                   
                                                                      
  /* Create mount point base */                                       
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61c44:	2e0c           	movel %a4,%d7                               <== NOT EXECUTED
   61c46:	de86           	addl %d6,%d7                                <== NOT EXECUTED
   61c48:	2047           	moveal %d7,%a0                              <== NOT EXECUTED
   61c4a:	4868 0005      	pea %a0@(5)                                 <== NOT EXECUTED
   61c4e:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  if (mount_point == NULL) {                                          
   61c50:	588f           	addql #4,%sp                                <== NOT EXECUTED
    disk_file_name = disk_name;                                       
    disk_file_name_size = disk_name_size;                             
  }                                                                   
                                                                      
  /* Create mount point base */                                       
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61c52:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (mount_point == NULL) {                                          
   61c54:	4a80           	tstl %d0                                    <== NOT EXECUTED
   61c56:	6600 ff14      	bnew 61b6c <rtems_bdpart_mount+0x84>        <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   61c5a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   61c5c:	47f9 0004 2e40 	lea 42e40 <free>,%a3                        <== NOT EXECUTED
  }                                                                   
                                                                      
  /* Create mount point base */                                       
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (mount_point == NULL) {                                          
    esc = RTEMS_NO_MEMORY;                                            
   61c62:	741a           	moveq #26,%d2                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   61c64:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free( mount_point);                                                 
   61c66:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61c68:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  return esc;                                                         
   61c6a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   61c6c:	60a8           	bras 61c16 <rtems_bdpart_mount+0x12e>       <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   61c6e:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   61c70:	47f9 0004 2e40 	lea 42e40 <free>,%a3                        <== NOT EXECUTED
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
    /* Create logical disk name */                                    
    int rv = snprintf( logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
    if (rv >= RTEMS_BDPART_NUMBER_SIZE) {                             
      esc = RTEMS_INVALID_NAME;                                       
   61c76:	7403           	moveq #3,%d2                                <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   61c78:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free( mount_point);                                                 
   61c7a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61c7c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  return esc;                                                         
   61c7e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   61c80:	6094           	bras 61c16 <rtems_bdpart_mount+0x12e>       <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   61c82:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   61c84:	47f9 0004 2e40 	lea 42e40 <free>,%a3                        <== NOT EXECUTED
                                                                      
    /* Create mount point */                                          
    strncpy( mount_marker, logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE);
    rv = rtems_mkdir( mount_point, S_IRWXU | S_IRWXG | S_IRWXO);      
    if (rv != 0) {                                                    
      esc = RTEMS_IO_ERROR;                                           
   61c8a:	741b           	moveq #27,%d2                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   61c8c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  free( mount_point);                                                 
   61c8e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61c90:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  return esc;                                                         
   61c92:	508f           	addql #8,%sp                                <== NOT EXECUTED
   61c94:	6080           	bras 61c16 <rtems_bdpart_mount+0x12e>       <== NOT EXECUTED
                                                                      

000432ec <rtems_bdpart_new_record>: static rtems_status_code rtems_bdpart_new_record( rtems_disk_device *dd, rtems_blkdev_bnum index, rtems_bdbuf_buffer **block ) {
   432ec:	4e56 0000      	linkw %fp,#0                                
   432f0:	2f0a           	movel %a2,%sp@-                             
   432f2:	246e 0010      	moveal %fp@(16),%a2                         
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  /* Synchronize previous block if necessary */                       
  if (*block != NULL) {                                               
   432f6:	2012           	movel %a2@,%d0                              
static rtems_status_code rtems_bdpart_new_record(                     
  rtems_disk_device *dd,                                              
  rtems_blkdev_bnum index,                                            
  rtems_bdbuf_buffer **block                                          
)                                                                     
{                                                                     
   432f8:	2f02           	movel %d2,%sp@-                             
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  /* Synchronize previous block if necessary */                       
  if (*block != NULL) {                                               
   432fa:	4a80           	tstl %d0                                    
   432fc:	670e           	beqs 4330c <rtems_bdpart_new_record+0x20>   
    sc = rtems_bdbuf_sync( *block);                                   
   432fe:	2f00           	movel %d0,%sp@-                             
   43300:	4eb9 0004 f9b4 	jsr 4f9b4 <rtems_bdbuf_sync>                
    if (sc != RTEMS_SUCCESSFUL) {                                     
   43306:	588f           	addql #4,%sp                                
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  /* Synchronize previous block if necessary */                       
  if (*block != NULL) {                                               
    sc = rtems_bdbuf_sync( *block);                                   
   43308:	2400           	movel %d0,%d2                               
    if (sc != RTEMS_SUCCESSFUL) {                                     
   4330a:	664a           	bnes 43356 <rtems_bdpart_new_record+0x6a>   <== NEVER TAKEN
      return sc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  /* Read the new record block (this accounts for disk block sizes > 512) */
  sc = rtems_bdbuf_read( dd, index, block);                           
   4330c:	2f0a           	movel %a2,%sp@-                             
   4330e:	2f2e 000c      	movel %fp@(12),%sp@-                        
   43312:	2f2e 0008      	movel %fp@(8),%sp@-                         
   43316:	4eb9 0004 f6c2 	jsr 4f6c2 <rtems_bdbuf_read>                
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4331c:	4fef 000c      	lea %sp@(12),%sp                            
      return sc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  /* Read the new record block (this accounts for disk block sizes > 512) */
  sc = rtems_bdbuf_read( dd, index, block);                           
   43320:	2400           	movel %d0,%d2                               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43322:	6632           	bnes 43356 <rtems_bdpart_new_record+0x6a>   <== NEVER TAKEN
    return sc;                                                        
  }                                                                   
                                                                      
  /* just in case block did not get filled in */                      
  if ( *block == NULL ) {                                             
   43324:	2052           	moveal %a2@,%a0                             
   43326:	4a88           	tstl %a0                                    
   43328:	673a           	beqs 43364 <rtems_bdpart_new_record+0x78>   <== NEVER TAKEN
    return RTEMS_INVALID_ADDRESS;                                     
  }                                                                   
                                                                      
  /* Clear record */                                                  
  memset( (*block)->buffer, 0, RTEMS_BDPART_BLOCK_SIZE);              
   4332a:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                
   4332e:	42a7           	clrl %sp@-                                  
   43330:	2f28 001a      	movel %a0@(26),%sp@-                        
   43334:	4eb9 0005 41c8 	jsr 541c8 <memset>                          
                                                                      
  /* Write signature */                                               
  (*block)->buffer [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_0] =            
   4333a:	2052           	moveal %a2@,%a0                             
    RTEMS_BDPART_MBR_SIGNATURE_0;                                     
  (*block)->buffer [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_1] =            
   4333c:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
  /* Clear record */                                                  
  memset( (*block)->buffer, 0, RTEMS_BDPART_BLOCK_SIZE);              
                                                                      
  /* Write signature */                                               
  (*block)->buffer [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_0] =            
   43340:	2068 001a      	moveal %a0@(26),%a0                         
   43344:	7055           	moveq #85,%d0                               
   43346:	1140 01fe      	moveb %d0,%a0@(510)                         
    RTEMS_BDPART_MBR_SIGNATURE_0;                                     
  (*block)->buffer [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_1] =            
   4334a:	70aa           	moveq #-86,%d0                              
   4334c:	2052           	moveal %a2@,%a0                             
   4334e:	2068 001a      	moveal %a0@(26),%a0                         
   43352:	1140 01ff      	moveb %d0,%a0@(511)                         
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43356:	2002           	movel %d2,%d0                               
   43358:	242e fff8      	movel %fp@(-8),%d2                          
   4335c:	246e fffc      	moveal %fp@(-4),%a2                         
   43360:	4e5e           	unlk %fp                                    
   43362:	4e75           	rts                                         
    return sc;                                                        
  }                                                                   
                                                                      
  /* just in case block did not get filled in */                      
  if ( *block == NULL ) {                                             
    return RTEMS_INVALID_ADDRESS;                                     
   43364:	7409           	moveq #9,%d2                                <== NOT EXECUTED
    RTEMS_BDPART_MBR_SIGNATURE_0;                                     
  (*block)->buffer [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_1] =            
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43366:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   43368:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   4336c:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   43370:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00042e52 <rtems_bdpart_read>: const char *disk_name, rtems_bdpart_format *format, rtems_bdpart_partition *pt, size_t *count ) {
   42e52:	4e56 ffbc      	linkw %fp,#-68                              
   42e56:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   42e5a:	242e 0010      	movel %fp@(16),%d2                          
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  rtems_bdbuf_buffer *block = NULL;                                   
  rtems_bdpart_partition *p = pt - 1;                                 
   42e5e:	2042           	moveal %d2,%a0                              
   42e60:	41e8 ffd0      	lea %a0@(-48),%a0                           
  const char *disk_name,                                              
  rtems_bdpart_format *format,                                        
  rtems_bdpart_partition *pt,                                         
  size_t *count                                                       
)                                                                     
{                                                                     
   42e64:	246e 0014      	moveal %fp@(20),%a2                         
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  rtems_bdbuf_buffer *block = NULL;                                   
  rtems_bdpart_partition *p = pt - 1;                                 
   42e68:	2d48 ffec      	movel %a0,%fp@(-20)                         
  size_t *count                                                       
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  rtems_bdbuf_buffer *block = NULL;                                   
   42e6c:	42ae ffe8      	clrl %fp@(-24)                              
  rtems_bdpart_partition *p = pt - 1;                                 
  const rtems_bdpart_partition *p_end = pt + (count != NULL ? *count : 0);
   42e70:	4a8a           	tstl %a2                                    
   42e72:	6700 00b0      	beqw 42f24 <rtems_bdpart_read+0xd2>         
   42e76:	2612           	movel %a2@,%d3                              
   42e78:	2003           	movel %d3,%d0                               
   42e7a:	ed8b           	lsll #6,%d3                                 
   42e7c:	e988           	lsll #4,%d0                                 
   42e7e:	9680           	subl %d0,%d3                                
  rtems_blkdev_bnum ep_begin = 0; /* Extended partition begin */      
  rtems_blkdev_bnum ebr = 0; /* Extended boot record block index */   
  rtems_blkdev_bnum disk_end = 0;                                     
  size_t i = 0;                                                       
  const uint8_t *data = NULL;                                         
  int fd = -1;                                                        
   42e80:	70ff           	moveq #-1,%d0                               
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  rtems_bdbuf_buffer *block = NULL;                                   
  rtems_bdpart_partition *p = pt - 1;                                 
  const rtems_bdpart_partition *p_end = pt + (count != NULL ? *count : 0);
  rtems_blkdev_bnum ep_begin = 0; /* Extended partition begin */      
   42e82:	42ae fff0      	clrl %fp@(-16)                              
  rtems_blkdev_bnum ebr = 0; /* Extended boot record block index */   
  rtems_blkdev_bnum disk_end = 0;                                     
   42e86:	42ae fff4      	clrl %fp@(-12)                              
  size_t i = 0;                                                       
  const uint8_t *data = NULL;                                         
  int fd = -1;                                                        
   42e8a:	2d40 fff8      	movel %d0,%fp@(-8)                          
  rtems_disk_device *dd = NULL;                                       
   42e8e:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
  /* Check parameter */                                               
  if (format == NULL || pt == NULL || count == NULL) {                
   42e92:	4aae 000c      	tstl %fp@(12)                               
   42e96:	6732           	beqs 42eca <rtems_bdpart_read+0x78>         <== NEVER TAKEN
   42e98:	4a82           	tstl %d2                                    
   42e9a:	672e           	beqs 42eca <rtems_bdpart_read+0x78>         <== NEVER TAKEN
   42e9c:	4a8a           	tstl %a2                                    
   42e9e:	672a           	beqs 42eca <rtems_bdpart_read+0x78>         <== NEVER TAKEN
                                                                      
  /* Set count to a save value */                                     
  *count = 0;                                                         
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   42ea0:	486e fff4      	pea %fp@(-12)                               
   42ea4:	486e fffc      	pea %fp@(-4)                                
   42ea8:	486e fff8      	pea %fp@(-8)                                
  if (format == NULL || pt == NULL || count == NULL) {                
    return RTEMS_INVALID_ADDRESS;                                     
  }                                                                   
                                                                      
  /* Set count to a save value */                                     
  *count = 0;                                                         
   42eac:	4292           	clrl %a2@                                   
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   42eae:	2f2e 0008      	movel %fp@(8),%sp@-                         
   42eb2:	4eb9 0004 2d98 	jsr 42d98 <rtems_bdpart_get_disk_data>      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   42eb8:	4fef 0010      	lea %sp@(16),%sp                            
   42ebc:	4a80           	tstl %d0                                    
   42ebe:	6716           	beqs 42ed6 <rtems_bdpart_read+0x84>         <== ALWAYS TAKEN
  if (block != NULL) {                                                
    rtems_bdbuf_release( block);                                      
  }                                                                   
                                                                      
  return esc;                                                         
}                                                                     
   42ec0:	4cee 3cfc ffbc 	moveml %fp@(-68),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   42ec6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42ec8:	4e75           	rts                                         <== NOT EXECUTED
  int fd = -1;                                                        
  rtems_disk_device *dd = NULL;                                       
                                                                      
  /* Check parameter */                                               
  if (format == NULL || pt == NULL || count == NULL) {                
    return RTEMS_INVALID_ADDRESS;                                     
   42eca:	7009           	moveq #9,%d0                                <== NOT EXECUTED
  if (block != NULL) {                                                
    rtems_bdbuf_release( block);                                      
  }                                                                   
                                                                      
  return esc;                                                         
}                                                                     
   42ecc:	4cee 3cfc ffbc 	moveml %fp@(-68),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   42ed2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42ed4:	4e75           	rts                                         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  /* Read MBR */                                                      
  sc = rtems_bdpart_read_record( dd, 0, &block);                      
   42ed6:	280e           	movel %fp,%d4                               
   42ed8:	0684 ffff ffe8 	addil #-24,%d4                              
   42ede:	47fa fcd0      	lea %pc@(42bb0 <rtems_bdpart_read_record>),%a3
   42ee2:	2f04           	movel %d4,%sp@-                             
   42ee4:	42a7           	clrl %sp@-                                  
   42ee6:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   42eea:	4e93           	jsr %a3@                                    
  if (sc != RTEMS_SUCCESSFUL) {                                       
   42eec:	4fef 000c      	lea %sp@(12),%sp                            
   42ef0:	4a80           	tstl %d0                                    
   42ef2:	6736           	beqs 42f2a <rtems_bdpart_read+0xd8>         <== ALWAYS TAKEN
      esc = sc;                                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Read first partition entry */                                  
    sc = rtems_bdpart_read_mbr_partition(                             
   42ef4:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  /* Return partition count */                                        
  *count = (size_t) (p - pt + 1);                                     
                                                                      
cleanup:                                                              
                                                                      
  if (fd >= 0) {                                                      
   42ef6:	222e fff8      	movel %fp@(-8),%d1                          
   42efa:	6d0a           	blts 42f06 <rtems_bdpart_read+0xb4>         <== NEVER TAKEN
    close( fd);                                                       
   42efc:	2f01           	movel %d1,%sp@-                             
   42efe:	4eb9 0004 5070 	jsr 45070 <close>                           
   42f04:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (block != NULL) {                                                
   42f06:	222e ffe8      	movel %fp@(-24),%d1                         
   42f0a:	6700 019c      	beqw 430a8 <rtems_bdpart_read+0x256>        
    rtems_bdbuf_release( block);                                      
   42f0e:	2f01           	movel %d1,%sp@-                             
   42f10:	4eb9 0004 f894 	jsr 4f894 <rtems_bdbuf_release>             
   42f16:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  return esc;                                                         
   42f18:	2002           	movel %d2,%d0                               
}                                                                     
   42f1a:	4cee 3cfc ffbc 	moveml %fp@(-68),%d2-%d7/%a2-%a5            
   42f20:	4e5e           	unlk %fp                                    
   42f22:	4e75           	rts                                         
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  rtems_bdbuf_buffer *block = NULL;                                   
  rtems_bdpart_partition *p = pt - 1;                                 
  const rtems_bdpart_partition *p_end = pt + (count != NULL ? *count : 0);
   42f24:	4283           	clrl %d3                                    <== NOT EXECUTED
   42f26:	6000 ff58      	braw 42e80 <rtems_bdpart_read+0x2e>         <== NOT EXECUTED
    esc = sc;                                                         
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Read the first partition entry */                                
  data = block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0;             
   42f2a:	206e ffe8      	moveal %fp@(-24),%a0                        
  sc = rtems_bdpart_read_mbr_partition( data, &p, p_end, &ep_begin);  
   42f2e:	2c0e           	movel %fp,%d6                               
   42f30:	0686 ffff fff0 	addil #-16,%d6                              
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  rtems_bdbuf_buffer *block = NULL;                                   
  rtems_bdpart_partition *p = pt - 1;                                 
  const rtems_bdpart_partition *p_end = pt + (count != NULL ? *count : 0);
   42f36:	d682           	addl %d2,%d3                                
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Read the first partition entry */                                
  data = block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0;             
  sc = rtems_bdpart_read_mbr_partition( data, &p, p_end, &ep_begin);  
   42f38:	2a0e           	movel %fp,%d5                               
   42f3a:	0685 ffff ffec 	addil #-20,%d5                              
   42f40:	49fa fd2a      	lea %pc@(42c6c <rtems_bdpart_read_mbr_partition>),%a4
    esc = sc;                                                         
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Read the first partition entry */                                
  data = block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0;             
   42f44:	2e28 001a      	movel %a0@(26),%d7                          
   42f48:	2a47           	moveal %d7,%a5                              
   42f4a:	4bed 01be      	lea %a5@(446),%a5                           
  sc = rtems_bdpart_read_mbr_partition( data, &p, p_end, &ep_begin);  
   42f4e:	2f06           	movel %d6,%sp@-                             
   42f50:	2f03           	movel %d3,%sp@-                             
   42f52:	2f05           	movel %d5,%sp@-                             
   42f54:	2f0d           	movel %a5,%sp@-                             
   42f56:	4e94           	jsr %a4@                                    
  if (sc != RTEMS_SUCCESSFUL) {                                       
   42f58:	4fef 0010      	lea %sp@(16),%sp                            
   42f5c:	4a80           	tstl %d0                                    
   42f5e:	6694           	bnes 42ef4 <rtems_bdpart_read+0xa2>         <== NEVER TAKEN
  if (block != NULL) {                                                
    rtems_bdbuf_release( block);                                      
  }                                                                   
                                                                      
  return esc;                                                         
}                                                                     
   42f60:	206e ffec      	moveal %fp@(-20),%a0                        
    esc = sc;                                                         
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Determine if we have a MBR or GPT format */                      
  if (rtems_bdpart_mbr_partition_type( p->type) == RTEMS_BDPART_MBR_GPT) {
   42f64:	4280           	clrl %d0                                    
   42f66:	1028 0008      	moveb %a0@(8),%d0                           
   42f6a:	0c80 0000 00ee 	cmpil #238,%d0                              
   42f70:	6700 0142      	beqw 430b4 <rtems_bdpart_read+0x262>        
    esc = RTEMS_NOT_IMPLEMENTED;                                      
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Set format */                                                    
  format->type = RTEMS_BDPART_FORMAT_MBR;                             
   42f74:	206e 000c      	moveal %fp@(12),%a0                         
  return value;                                                       
}                                                                     
                                                                      
static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data)
{                                                                     
  uint32_t value = 0;                                                 
   42f78:	4280           	clrl %d0                                    
   42f7a:	4290           	clrl %a0@                                   
  format->mbr.disk_id = rtems_uint32_from_little_endian(              
    block->buffer + RTEMS_BDPART_MBR_OFFSET_DISK_ID                   
   42f7c:	206e ffe8      	moveal %fp@(-24),%a0                        
   42f80:	2228 001a      	movel %a0@(26),%d1                          
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_read(                                  
   42f84:	2041           	moveal %d1,%a0                              
   42f86:	0681 0000 01b8 	addil #440,%d1                              
   42f8c:	41e8 01bc      	lea %a0@(444),%a0                           
   42f90:	2d41 ffe4      	movel %d1,%fp@(-28)                         
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
    value = (value << 8) + data [i];                                  
   42f94:	4281           	clrl %d1                                    
   42f96:	1220           	moveb %a0@-,%d1                             
   42f98:	2241           	moveal %d1,%a1                              
   42f9a:	e188           	lsll #8,%d0                                 
   42f9c:	d089           	addl %a1,%d0                                
static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data)
{                                                                     
  uint32_t value = 0;                                                 
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
   42f9e:	b1ee ffe4      	cmpal %fp@(-28),%a0                         
   42fa2:	66f0           	bnes 42f94 <rtems_bdpart_read+0x142>        
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Set format */                                                    
  format->type = RTEMS_BDPART_FORMAT_MBR;                             
  format->mbr.disk_id = rtems_uint32_from_little_endian(              
   42fa4:	206e 000c      	moveal %fp@(12),%a0                         
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_read(                                  
   42fa8:	0687 0000 01ee 	addil #494,%d7                              
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Set format */                                                    
  format->type = RTEMS_BDPART_FORMAT_MBR;                             
  format->mbr.disk_id = rtems_uint32_from_little_endian(              
   42fae:	2140 0004      	movel %d0,%a0@(4)                           
    block->buffer + RTEMS_BDPART_MBR_OFFSET_DISK_ID                   
  );                                                                  
  format->mbr.dos_compatibility = true;                               
   42fb2:	7001           	moveq #1,%d0                                
   42fb4:	1140 0008      	moveb %d0,%a0@(8)                           
                                                                      
  /* Iterate through the rest of the primary partition table */       
  for (i = 1; i < 4; ++i) {                                           
    data += RTEMS_BDPART_MBR_TABLE_ENTRY_SIZE;                        
                                                                      
    sc = rtems_bdpart_read_mbr_partition( data, &p, p_end, &ep_begin);
   42fb8:	2f06           	movel %d6,%sp@-                             
  );                                                                  
  format->mbr.dos_compatibility = true;                               
                                                                      
  /* Iterate through the rest of the primary partition table */       
  for (i = 1; i < 4; ++i) {                                           
    data += RTEMS_BDPART_MBR_TABLE_ENTRY_SIZE;                        
   42fba:	4bed 0010      	lea %a5@(16),%a5                            
                                                                      
    sc = rtems_bdpart_read_mbr_partition( data, &p, p_end, &ep_begin);
   42fbe:	2f03           	movel %d3,%sp@-                             
   42fc0:	2f05           	movel %d5,%sp@-                             
   42fc2:	2f0d           	movel %a5,%sp@-                             
   42fc4:	4e94           	jsr %a4@                                    
    if (sc != RTEMS_SUCCESSFUL) {                                     
   42fc6:	4fef 0010      	lea %sp@(16),%sp                            
   42fca:	4a80           	tstl %d0                                    
   42fcc:	6600 ff26      	bnew 42ef4 <rtems_bdpart_read+0xa2>         
    block->buffer + RTEMS_BDPART_MBR_OFFSET_DISK_ID                   
  );                                                                  
  format->mbr.dos_compatibility = true;                               
                                                                      
  /* Iterate through the rest of the primary partition table */       
  for (i = 1; i < 4; ++i) {                                           
   42fd0:	be8d           	cmpl %a5,%d7                                
   42fd2:	66e4           	bnes 42fb8 <rtems_bdpart_read+0x166>        
      goto cleanup;                                                   
    }                                                                 
  }                                                                   
                                                                      
  /* Iterate through the logical partitions within the extended partition */
  ebr = ep_begin;                                                     
   42fd4:	2c2e fff0      	movel %fp@(-16),%d6                         
  while (ebr != 0) {                                                  
   42fd8:	6700 00b0      	beqw 4308a <rtems_bdpart_read+0x238>        
    rtems_blkdev_bnum tmp = 0;                                        
                                                                      
    /* Read EBR */                                                    
    sc = rtems_bdpart_read_record( dd, ebr, &block);                  
   42fdc:	2f04           	movel %d4,%sp@-                             
   42fde:	2f06           	movel %d6,%sp@-                             
   42fe0:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   42fe4:	4e93           	jsr %a3@                                    
    if (sc != RTEMS_SUCCESSFUL) {                                     
   42fe6:	4fef 000c      	lea %sp@(12),%sp                            
   42fea:	4a80           	tstl %d0                                    
   42fec:	6600 ff06      	bnew 42ef4 <rtems_bdpart_read+0xa2>         
      esc = sc;                                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Read first partition entry */                                  
    sc = rtems_bdpart_read_mbr_partition(                             
   42ff0:	42a7           	clrl %sp@-                                  
   42ff2:	206e ffe8      	moveal %fp@(-24),%a0                        
   42ff6:	2f03           	movel %d3,%sp@-                             
   42ff8:	2f05           	movel %d5,%sp@-                             
   42ffa:	2068 001a      	moveal %a0@(26),%a0                         
   42ffe:	41e8 01be      	lea %a0@(446),%a0                           
   43002:	2f08           	movel %a0,%sp@-                             
   43004:	4e94           	jsr %a4@                                    
      block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0,                
      &p,                                                             
      p_end,                                                          
      NULL                                                            
    );                                                                
    if (sc != RTEMS_SUCCESSFUL) {                                     
   43006:	4fef 0010      	lea %sp@(16),%sp                            
   4300a:	4a80           	tstl %d0                                    
   4300c:	6600 fee6      	bnew 42ef4 <rtems_bdpart_read+0xa2>         
      esc = sc;                                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Adjust partition begin */                                      
    tmp = p->begin + ebr;                                             
   43010:	226e ffec      	moveal %fp@(-20),%a1                        
   43014:	2206           	movel %d6,%d1                               
   43016:	2011           	movel %a1@,%d0                              
   43018:	d280           	addl %d0,%d1                                
    if (tmp > p->begin) {                                             
   4301a:	b280           	cmpl %d0,%d1                                
   4301c:	6366           	blss 43084 <rtems_bdpart_read+0x232>        <== NEVER TAKEN
      esc = RTEMS_IO_ERROR;                                           
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Adjust partition end */                                        
    tmp = p->end + ebr;                                               
   4301e:	2029 0004      	movel %a1@(4),%d0                           
   43022:	dc80           	addl %d0,%d6                                
    }                                                                 
                                                                      
    /* Adjust partition begin */                                      
    tmp = p->begin + ebr;                                             
    if (tmp > p->begin) {                                             
      p->begin = tmp;                                                 
   43024:	2281           	movel %d1,%a1@                              
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Adjust partition end */                                        
    tmp = p->end + ebr;                                               
    if (tmp > p->end) {                                               
   43026:	bc80           	cmpl %d0,%d6                                
   43028:	635a           	blss 43084 <rtems_bdpart_read+0x232>        <== NEVER TAKEN
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Read second partition entry for next EBR block */              
    ebr = rtems_bdpart_next_ebr(                                      
      block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_1                 
   4302a:	206e ffe8      	moveal %fp@(-24),%a0                        
   4302e:	7003           	moveq #3,%d0                                
  return value;                                                       
}                                                                     
                                                                      
static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data)
{                                                                     
  uint32_t value = 0;                                                 
   43030:	4281           	clrl %d1                                    
   43032:	2a68 001a      	moveal %a0@(26),%a5                         
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_read(                                  
   43036:	41ed 01da      	lea %a5@(474),%a0                           
    }                                                                 
                                                                      
    /* Adjust partition end */                                        
    tmp = p->end + ebr;                                               
    if (tmp > p->end) {                                               
      p->end = tmp;                                                   
   4303a:	2346 0004      	movel %d6,%a1@(4)                           
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
    value = (value << 8) + data [i];                                  
   4303e:	4286           	clrl %d6                                    
   43040:	1c20           	moveb %a0@-,%d6                             
static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data)
{                                                                     
  uint32_t value = 0;                                                 
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
   43042:	5380           	subql #1,%d0                                
    value = (value << 8) + data [i];                                  
   43044:	e189           	lsll #8,%d1                                 
   43046:	d286           	addl %d6,%d1                                
static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data)
{                                                                     
  uint32_t value = 0;                                                 
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
   43048:	7cff           	moveq #-1,%d6                               
   4304a:	bc80           	cmpl %d0,%d6                                
   4304c:	66f0           	bnes 4303e <rtems_bdpart_read+0x1ec>        
{                                                                     
  rtems_blkdev_bnum begin =                                           
    rtems_uint32_from_little_endian( data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  uint8_t type = data [RTEMS_BDPART_MBR_OFFSET_TYPE];                 
                                                                      
  if (type == RTEMS_BDPART_MBR_EXTENDED) {                            
   4304e:	4280           	clrl %d0                                    
   43050:	102d 01d2      	moveb %a5@(466),%d0                         
   43054:	7c05           	moveq #5,%d6                                
   43056:	bc80           	cmpl %d0,%d6                                
   43058:	671a           	beqs 43074 <rtems_bdpart_read+0x222>        
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  /* Return partition count */                                        
  *count = (size_t) (p - pt + 1);                                     
   4305a:	2009           	movel %a1,%d0                               
   4305c:	9082           	subl %d2,%d0                                
   4305e:	e880           	asrl #4,%d0                                 
   43060:	223c aaaa aaab 	movel #-1431655765,%d1                      
   43066:	4c01 0800      	mulsl %d1,%d0                               
  rtems_bdpart_partition *pt,                                         
  size_t *count                                                       
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
   4306a:	4282           	clrl %d2                                    
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  /* Return partition count */                                        
  *count = (size_t) (p - pt + 1);                                     
   4306c:	5280           	addql #1,%d0                                
   4306e:	2480           	movel %d0,%a2@                              
   43070:	6000 fe84      	braw 42ef6 <rtems_bdpart_read+0xa4>         
                                                                      
    /* Read second partition entry for next EBR block */              
    ebr = rtems_bdpart_next_ebr(                                      
      block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_1                 
    );                                                                
    if (ebr != 0) {                                                   
   43074:	4a81           	tstl %d1                                    
   43076:	67e2           	beqs 4305a <rtems_bdpart_read+0x208>        <== NEVER TAKEN
      /* Adjust partition EBR block index */                          
      tmp = ebr + ep_begin;                                           
   43078:	2c01           	movel %d1,%d6                               
   4307a:	dcae fff0      	addl %fp@(-16),%d6                          
      if (tmp > ebr) {                                                
   4307e:	b286           	cmpl %d6,%d1                                
   43080:	6500 ff5a      	bcsw 42fdc <rtems_bdpart_read+0x18a>        
    /* Adjust partition begin */                                      
    tmp = p->begin + ebr;                                             
    if (tmp > p->begin) {                                             
      p->begin = tmp;                                                 
    } else {                                                          
      esc = RTEMS_IO_ERROR;                                           
   43084:	741b           	moveq #27,%d2                               <== NOT EXECUTED
   43086:	6000 fe6e      	braw 42ef6 <rtems_bdpart_read+0xa4>         <== NOT EXECUTED
   4308a:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  /* Return partition count */                                        
  *count = (size_t) (p - pt + 1);                                     
   4308e:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   43090:	9082           	subl %d2,%d0                                <== NOT EXECUTED
   43092:	e880           	asrl #4,%d0                                 <== NOT EXECUTED
   43094:	223c aaaa aaab 	movel #-1431655765,%d1                      <== NOT EXECUTED
   4309a:	4c01 0800      	mulsl %d1,%d0                               <== NOT EXECUTED
  rtems_bdpart_partition *pt,                                         
  size_t *count                                                       
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
   4309e:	4282           	clrl %d2                                    <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  /* Return partition count */                                        
  *count = (size_t) (p - pt + 1);                                     
   430a0:	5280           	addql #1,%d0                                <== NOT EXECUTED
   430a2:	2480           	movel %d0,%a2@                              <== NOT EXECUTED
   430a4:	6000 fe50      	braw 42ef6 <rtems_bdpart_read+0xa4>         <== NOT EXECUTED
                                                                      
  if (block != NULL) {                                                
    rtems_bdbuf_release( block);                                      
  }                                                                   
                                                                      
  return esc;                                                         
   430a8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
}                                                                     
   430aa:	4cee 3cfc ffbc 	moveml %fp@(-68),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   430b0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   430b2:	4e75           	rts                                         <== NOT EXECUTED
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Determine if we have a MBR or GPT format */                      
  if (rtems_bdpart_mbr_partition_type( p->type) == RTEMS_BDPART_MBR_GPT) {
    esc = RTEMS_NOT_IMPLEMENTED;                                      
   430b4:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   430b6:	6000 fe3e      	braw 42ef6 <rtems_bdpart_read+0xa4>         <== NOT EXECUTED
	...                                                                  
                                                                      

00042c6c <rtems_bdpart_read_mbr_partition>: return value; } static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data) { uint32_t value = 0;
   42c6c:	4280           	clrl %d0                                    
  const uint8_t *data,                                                
  rtems_bdpart_partition **p,                                         
  const rtems_bdpart_partition *p_end,                                
  rtems_blkdev_bnum *ep_begin                                         
)                                                                     
{                                                                     
   42c6e:	4e56 fff0      	linkw %fp,#-16                              
   42c72:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   42c76:	246e 0008      	moveal %fp@(8),%a2                          
  } else {                                                            
    return 0;                                                         
  }                                                                   
}                                                                     
                                                                      
static rtems_status_code rtems_bdpart_read_mbr_partition(             
   42c7a:	43ea 000c      	lea %a2@(12),%a1                            
   42c7e:	240a           	movel %a2,%d2                               
   42c80:	2049           	moveal %a1,%a0                              
   42c82:	5082           	addql #8,%d2                                
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
    value = (value << 8) + data [i];                                  
   42c84:	4281           	clrl %d1                                    
   42c86:	1220           	moveb %a0@-,%d1                             
   42c88:	e188           	lsll #8,%d0                                 
   42c8a:	d081           	addl %d1,%d0                                
static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data)
{                                                                     
  uint32_t value = 0;                                                 
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
   42c8c:	b488           	cmpl %a0,%d2                                
   42c8e:	66f4           	bnes 42c84 <rtems_bdpart_read_mbr_partition+0x18>
   42c90:	41ea 0010      	lea %a2@(16),%a0                            
  return value;                                                       
}                                                                     
                                                                      
static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data)
{                                                                     
  uint32_t value = 0;                                                 
   42c94:	4281           	clrl %d1                                    
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
    value = (value << 8) + data [i];                                  
   42c96:	4282           	clrl %d2                                    
   42c98:	1420           	moveb %a0@-,%d2                             
   42c9a:	e189           	lsll #8,%d1                                 
   42c9c:	d282           	addl %d2,%d1                                
static inline uint32_t rtems_uint32_from_little_endian( const uint8_t *data)
{                                                                     
  uint32_t value = 0;                                                 
  ssize_t i = 0;                                                      
                                                                      
  for (i = 3; i >= 0; --i) {                                          
   42c9e:	b3c8           	cmpal %a0,%a1                               
   42ca0:	66f4           	bnes 42c96 <rtems_bdpart_read_mbr_partition+0x2a>
  rtems_blkdev_bnum begin =                                           
    rtems_uint32_from_little_endian( data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  rtems_blkdev_bnum size =                                            
    rtems_uint32_from_little_endian( data + RTEMS_BDPART_MBR_OFFSET_SIZE);
  rtems_blkdev_bnum end = begin + size;                               
  uint8_t type = data [RTEMS_BDPART_MBR_OFFSET_TYPE];                 
   42ca2:	142a 0004      	moveb %a2@(4),%d2                           
                                                                      
  if (type == RTEMS_BDPART_MBR_EMPTY) {                               
   42ca6:	671e           	beqs 42cc6 <rtems_bdpart_read_mbr_partition+0x5a><== NEVER TAKEN
    return RTEMS_SUCCESSFUL;                                          
  } else if (*p == p_end) {                                           
   42ca8:	226e 000c      	moveal %fp@(12),%a1                         
   42cac:	2051           	moveal %a1@,%a0                             
   42cae:	b1ee 0010      	cmpal %fp@(16),%a0                          
   42cb2:	671e           	beqs 42cd2 <rtems_bdpart_read_mbr_partition+0x66><== NEVER TAKEN
{                                                                     
  rtems_blkdev_bnum begin =                                           
    rtems_uint32_from_little_endian( data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  rtems_blkdev_bnum size =                                            
    rtems_uint32_from_little_endian( data + RTEMS_BDPART_MBR_OFFSET_SIZE);
  rtems_blkdev_bnum end = begin + size;                               
   42cb4:	d280           	addl %d0,%d1                                
                                                                      
  if (type == RTEMS_BDPART_MBR_EMPTY) {                               
    return RTEMS_SUCCESSFUL;                                          
  } else if (*p == p_end) {                                           
    return RTEMS_TOO_MANY;                                            
  } else if (begin >= end) {                                          
   42cb6:	b081           	cmpl %d1,%d0                                
   42cb8:	6524           	bcss 42cde <rtems_bdpart_read_mbr_partition+0x72><== ALWAYS TAKEN
    return RTEMS_IO_ERROR;                                            
   42cba:	701b           	moveq #27,%d0                               <== NOT EXECUTED
    rtems_bdpart_to_partition_type( type, (*p)->type);                
    (*p)->flags = data [RTEMS_BDPART_MBR_OFFSET_FLAGS];               
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42cbc:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   42cc2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42cc4:	4e75           	rts                                         <== NOT EXECUTED
    rtems_uint32_from_little_endian( data + RTEMS_BDPART_MBR_OFFSET_SIZE);
  rtems_blkdev_bnum end = begin + size;                               
  uint8_t type = data [RTEMS_BDPART_MBR_OFFSET_TYPE];                 
                                                                      
  if (type == RTEMS_BDPART_MBR_EMPTY) {                               
    return RTEMS_SUCCESSFUL;                                          
   42cc6:	4280           	clrl %d0                                    <== NOT EXECUTED
    rtems_bdpart_to_partition_type( type, (*p)->type);                
    (*p)->flags = data [RTEMS_BDPART_MBR_OFFSET_FLAGS];               
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42cc8:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   42cce:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42cd0:	4e75           	rts                                         <== NOT EXECUTED
  uint8_t type = data [RTEMS_BDPART_MBR_OFFSET_TYPE];                 
                                                                      
  if (type == RTEMS_BDPART_MBR_EMPTY) {                               
    return RTEMS_SUCCESSFUL;                                          
  } else if (*p == p_end) {                                           
    return RTEMS_TOO_MANY;                                            
   42cd2:	7005           	moveq #5,%d0                                <== NOT EXECUTED
    rtems_bdpart_to_partition_type( type, (*p)->type);                
    (*p)->flags = data [RTEMS_BDPART_MBR_OFFSET_FLAGS];               
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42cd4:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   42cda:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42cdc:	4e75           	rts                                         <== NOT EXECUTED
    return RTEMS_SUCCESSFUL;                                          
  } else if (*p == p_end) {                                           
    return RTEMS_TOO_MANY;                                            
  } else if (begin >= end) {                                          
    return RTEMS_IO_ERROR;                                            
  } else if (type == RTEMS_BDPART_MBR_EXTENDED) {                     
   42cde:	7605           	moveq #5,%d3                                
   42ce0:	0282 0000 00ff 	andil #255,%d2                              
   42ce6:	b682           	cmpl %d2,%d3                                
   42ce8:	6618           	bnes 42d02 <rtems_bdpart_read_mbr_partition+0x96>
    if (ep_begin != NULL) {                                           
   42cea:	4aae 0014      	tstl %fp@(20)                               
   42cee:	67d6           	beqs 42cc6 <rtems_bdpart_read_mbr_partition+0x5a><== NEVER TAKEN
      *ep_begin = begin;                                              
   42cf0:	206e 0014      	moveal %fp@(20),%a0                         
    rtems_bdpart_to_partition_type( type, (*p)->type);                
    (*p)->flags = data [RTEMS_BDPART_MBR_OFFSET_FLAGS];               
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42cf4:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
    return RTEMS_TOO_MANY;                                            
  } else if (begin >= end) {                                          
    return RTEMS_IO_ERROR;                                            
  } else if (type == RTEMS_BDPART_MBR_EXTENDED) {                     
    if (ep_begin != NULL) {                                           
      *ep_begin = begin;                                              
   42cfa:	2080           	movel %d0,%a0@                              
    (*p)->end = end;                                                  
    rtems_bdpart_to_partition_type( type, (*p)->type);                
    (*p)->flags = data [RTEMS_BDPART_MBR_OFFSET_FLAGS];               
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   42cfc:	4280           	clrl %d0                                    
}                                                                     
   42cfe:	4e5e           	unlk %fp                                    
   42d00:	4e75           	rts                                         
    if (ep_begin != NULL) {                                           
      *ep_begin = begin;                                              
    }                                                                 
  } else {                                                            
    /* Increment partition index */                                   
    ++(*p);                                                           
   42d02:	266e 000c      	moveal %fp@(12),%a3                         
   42d06:	43e8 0030      	lea %a0@(48),%a1                            
   42d0a:	2689           	movel %a1,%a3@                              
                                                                      
    /* Clear partition */                                             
    memset( *p, 0, sizeof( rtems_bdpart_partition));                  
   42d0c:	4291           	clrl %a1@                                   
   42d0e:	42a8 0034      	clrl %a0@(52)                               
   42d12:	42a8 0038      	clrl %a0@(56)                               
   42d16:	42a8 003c      	clrl %a0@(60)                               
   42d1a:	42a8 0040      	clrl %a0@(64)                               
   42d1e:	42a8 0044      	clrl %a0@(68)                               
   42d22:	42a8 0048      	clrl %a0@(72)                               
   42d26:	42a8 004c      	clrl %a0@(76)                               
   42d2a:	42a8 0050      	clrl %a0@(80)                               
   42d2e:	42a8 0054      	clrl %a0@(84)                               
   42d32:	42a8 0058      	clrl %a0@(88)                               
   42d36:	42a8 005c      	clrl %a0@(92)                               
                                                                      
    /* Set values */                                                  
    (*p)->begin = begin;                                              
   42d3a:	2053           	moveal %a3@,%a0                             
   42d3c:	2080           	movel %d0,%a0@                              
    (*p)->end = end;                                                  
   42d3e:	2141 0004      	movel %d1,%a0@(4)                           
    rtems_bdpart_to_partition_type( type, (*p)->type);                
   42d42:	4868 0008      	pea %a0@(8)                                 
   42d46:	2f02           	movel %d2,%sp@-                             
   42d48:	4eb9 0004 2c2c 	jsr 42c2c <rtems_bdpart_to_partition_type>  
    (*p)->flags = data [RTEMS_BDPART_MBR_OFFSET_FLAGS];               
   42d4e:	2053           	moveal %a3@,%a0                             
   42d50:	4281           	clrl %d1                                    
   42d52:	1212           	moveb %a2@,%d1                              
   42d54:	508f           	addql #8,%sp                                
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   42d56:	4280           	clrl %d0                                    
}                                                                     
   42d58:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
                                                                      
    /* Set values */                                                  
    (*p)->begin = begin;                                              
    (*p)->end = end;                                                  
    rtems_bdpart_to_partition_type( type, (*p)->type);                
    (*p)->flags = data [RTEMS_BDPART_MBR_OFFSET_FLAGS];               
   42d5e:	42a8 0028      	clrl %a0@(40)                               
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42d62:	4e5e           	unlk %fp                                    
                                                                      
    /* Set values */                                                  
    (*p)->begin = begin;                                              
    (*p)->end = end;                                                  
    rtems_bdpart_to_partition_type( type, (*p)->type);                
    (*p)->flags = data [RTEMS_BDPART_MBR_OFFSET_FLAGS];               
   42d64:	2141 002c      	movel %d1,%a0@(44)                          
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      

00042bb0 <rtems_bdpart_read_record>: static rtems_status_code rtems_bdpart_read_record( rtems_disk_device *dd, rtems_blkdev_bnum index, rtems_bdbuf_buffer **block ) {
   42bb0:	4e56 0000      	linkw %fp,#0                                
   42bb4:	2f0a           	movel %a2,%sp@-                             
   42bb6:	246e 0010      	moveal %fp@(16),%a2                         
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  /* Release previous block if necessary */                           
  if (*block != NULL) {                                               
   42bba:	2012           	movel %a2@,%d0                              
static rtems_status_code rtems_bdpart_read_record(                    
  rtems_disk_device *dd,                                              
  rtems_blkdev_bnum index,                                            
  rtems_bdbuf_buffer **block                                          
)                                                                     
{                                                                     
   42bbc:	2f02           	movel %d2,%sp@-                             
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  /* Release previous block if necessary */                           
  if (*block != NULL) {                                               
   42bbe:	4a80           	tstl %d0                                    
   42bc0:	670e           	beqs 42bd0 <rtems_bdpart_read_record+0x20>  
    sc = rtems_bdbuf_release( *block);                                
   42bc2:	2f00           	movel %d0,%sp@-                             
   42bc4:	4eb9 0004 f894 	jsr 4f894 <rtems_bdbuf_release>             
    if (sc != RTEMS_SUCCESSFUL) {                                     
   42bca:	588f           	addql #4,%sp                                
   42bcc:	4a80           	tstl %d0                                    
   42bce:	6630           	bnes 42c00 <rtems_bdpart_read_record+0x50>  <== NEVER TAKEN
      return sc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  /* Read the record block */                                         
  sc = rtems_bdbuf_read( dd, index, block);                           
   42bd0:	2f0a           	movel %a2,%sp@-                             
   42bd2:	2f2e 000c      	movel %fp@(12),%sp@-                        
   42bd6:	2f2e 0008      	movel %fp@(8),%sp@-                         
   42bda:	4eb9 0004 f6c2 	jsr 4f6c2 <rtems_bdbuf_read>                
  if (sc != RTEMS_SUCCESSFUL) {                                       
   42be0:	4fef 000c      	lea %sp@(12),%sp                            
   42be4:	4a80           	tstl %d0                                    
   42be6:	6618           	bnes 42c00 <rtems_bdpart_read_record+0x50>  <== NEVER TAKEN
    return sc;                                                        
  }                                                                   
                                                                      
  /* just in case block did not get filled in */                      
  if ( *block == NULL ) {                                             
   42be8:	2052           	moveal %a2@,%a0                             
   42bea:	4a88           	tstl %a0                                    
   42bec:	6730           	beqs 42c1e <rtems_bdpart_read_record+0x6e>  <== NEVER TAKEN
    return RTEMS_INVALID_ADDRESS;                                     
  }                                                                   
                                                                      
  /* Check MBR signature */                                           
  if (!rtems_bdpart_is_valid_record( (*block)->buffer)) {             
   42bee:	2068 001a      	moveal %a0@(26),%a0                         
                                                                      
static bool rtems_bdpart_is_valid_record( const uint8_t *data)        
{                                                                     
  return data [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_0]                   
      == RTEMS_BDPART_MBR_SIGNATURE_0                                 
    && data [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_1]                     
   42bf2:	4281           	clrl %d1                                    
   42bf4:	1228 01fe      	moveb %a0@(510),%d1                         
   42bf8:	7455           	moveq #85,%d2                               
   42bfa:	b481           	cmpl %d1,%d2                                
   42bfc:	670e           	beqs 42c0c <rtems_bdpart_read_record+0x5c>  
    return RTEMS_INVALID_ADDRESS;                                     
  }                                                                   
                                                                      
  /* Check MBR signature */                                           
  if (!rtems_bdpart_is_valid_record( (*block)->buffer)) {             
    return RTEMS_IO_ERROR;                                            
   42bfe:	701b           	moveq #27,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42c00:	242e fff8      	movel %fp@(-8),%d2                          
   42c04:	246e fffc      	moveal %fp@(-4),%a2                         
   42c08:	4e5e           	unlk %fp                                    
   42c0a:	4e75           	rts                                         
                                                                      
static bool rtems_bdpart_is_valid_record( const uint8_t *data)        
{                                                                     
  return data [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_0]                   
      == RTEMS_BDPART_MBR_SIGNATURE_0                                 
    && data [RTEMS_BDPART_MBR_OFFSET_SIGNATURE_1]                     
   42c0c:	4281           	clrl %d1                                    
   42c0e:	1228 01ff      	moveb %a0@(511),%d1                         
   42c12:	0c81 0000 00aa 	cmpil #170,%d1                              
   42c18:	67e6           	beqs 42c00 <rtems_bdpart_read_record+0x50>  <== ALWAYS TAKEN
    return RTEMS_INVALID_ADDRESS;                                     
  }                                                                   
                                                                      
  /* Check MBR signature */                                           
  if (!rtems_bdpart_is_valid_record( (*block)->buffer)) {             
    return RTEMS_IO_ERROR;                                            
   42c1a:	701b           	moveq #27,%d0                               <== NOT EXECUTED
   42c1c:	60e2           	bras 42c00 <rtems_bdpart_read_record+0x50>  <== NOT EXECUTED
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42c1e:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
    return sc;                                                        
  }                                                                   
                                                                      
  /* just in case block did not get filled in */                      
  if ( *block == NULL ) {                                             
    return RTEMS_INVALID_ADDRESS;                                     
   42c22:	7009           	moveq #9,%d0                                <== NOT EXECUTED
  if (!rtems_bdpart_is_valid_record( (*block)->buffer)) {             
    return RTEMS_IO_ERROR;                                            
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   42c24:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   42c28:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000430bc <rtems_bdpart_register>: rtems_status_code rtems_bdpart_register( const char *disk_name, const rtems_bdpart_partition *pt, size_t count ) {
   430bc:	4e56 ffc4      	linkw %fp,#-60                              
   430c0:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   430c4:	242e 0008      	movel %fp@(8),%d2                           
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
  rtems_blkdev_bnum disk_end = 0;                                     
   430c8:	42ae fff4      	clrl %fp@(-12)                              
  dev_t disk = 0;                                                     
  dev_t logical_disk = 0;                                             
  char *logical_disk_name = NULL;                                     
  char *logical_disk_marker = NULL;                                   
  size_t disk_name_size = strlen( disk_name);                         
   430cc:	2f02           	movel %d2,%sp@-                             
   430ce:	4eb9 0005 4e14 	jsr 54e14 <strlen>                          
   430d4:	588f           	addql #4,%sp                                
   430d6:	2840           	moveal %d0,%a4                              
  size_t i = 0;                                                       
  int fd = -1;                                                        
  rtems_disk_device *dd = NULL;                                       
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   430d8:	486e fff4      	pea %fp@(-12)                               
  dev_t logical_disk = 0;                                             
  char *logical_disk_name = NULL;                                     
  char *logical_disk_marker = NULL;                                   
  size_t disk_name_size = strlen( disk_name);                         
  size_t i = 0;                                                       
  int fd = -1;                                                        
   430dc:	70ff           	moveq #-1,%d0                               
  rtems_disk_device *dd = NULL;                                       
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   430de:	486e fffc      	pea %fp@(-4)                                
   430e2:	486e fff8      	pea %fp@(-8)                                
  dev_t logical_disk = 0;                                             
  char *logical_disk_name = NULL;                                     
  char *logical_disk_marker = NULL;                                   
  size_t disk_name_size = strlen( disk_name);                         
  size_t i = 0;                                                       
  int fd = -1;                                                        
   430e6:	2d40 fff8      	movel %d0,%fp@(-8)                          
  rtems_disk_device *dd = NULL;                                       
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   430ea:	2f02           	movel %d2,%sp@-                             
  char *logical_disk_name = NULL;                                     
  char *logical_disk_marker = NULL;                                   
  size_t disk_name_size = strlen( disk_name);                         
  size_t i = 0;                                                       
  int fd = -1;                                                        
  rtems_disk_device *dd = NULL;                                       
   430ec:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   430f0:	4eb9 0004 2d98 	jsr 42d98 <rtems_bdpart_get_disk_data>      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   430f6:	4fef 0010      	lea %sp@(16),%sp                            
   430fa:	4a80           	tstl %d0                                    
   430fc:	670a           	beqs 43108 <rtems_bdpart_register+0x4c>     <== ALWAYS TAKEN
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
                                                                      
  return esc;                                                         
}                                                                     
   430fe:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   43104:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43106:	4e75           	rts                                         <== NOT EXECUTED
      return sc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43108:	206e fffc      	moveal %fp@(-4),%a0                         
   4310c:	2810           	movel %a0@,%d4                              
   4310e:	2a28 0004      	movel %a0@(4),%d5                           
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
  disk = rtems_disk_get_device_identifier( dd);                       
  close( fd);                                                         
   43112:	2f2e fff8      	movel %fp@(-8),%sp@-                        
)                                                                     
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.device = device;                                               
  return temp.__overlay.minor;                                        
   43116:	2e05           	movel %d5,%d7                               
)                                                                     
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.device = device;                                               
  return temp.__overlay.major;                                        
   43118:	2d44 fff0      	movel %d4,%fp@(-16)                         
   4311c:	4eb9 0004 5070 	jsr 45070 <close>                           
                                                                      
  /* Get the disk device identifier */                                
  rtems_filesystem_split_dev_t( disk, major, minor);                  
                                                                      
  /* Create logical disk name */                                      
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
   43122:	486c 0004      	pea %a4@(4)                                 
   43126:	4eb9 0004 594c 	jsr 4594c <malloc>                          
  if (logical_disk_name == NULL) {                                    
   4312c:	508f           	addql #8,%sp                                
                                                                      
  /* Get the disk device identifier */                                
  rtems_filesystem_split_dev_t( disk, major, minor);                  
                                                                      
  /* Create logical disk name */                                      
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
   4312e:	2440           	moveal %d0,%a2                              
  if (logical_disk_name == NULL) {                                    
   43130:	4a80           	tstl %d0                                    
   43132:	6700 0096      	beqw 431ca <rtems_bdpart_register+0x10e>    
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
  strncpy( logical_disk_name, disk_name, disk_name_size);             
   43136:	2f0c           	movel %a4,%sp@-                             
  logical_disk_marker = logical_disk_name + disk_name_size;           
   43138:	d9c0           	addal %d0,%a4                               
  /* Create logical disk name */                                      
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (logical_disk_name == NULL) {                                    
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
  strncpy( logical_disk_name, disk_name, disk_name_size);             
   4313a:	2f02           	movel %d2,%sp@-                             
  logical_disk_marker = logical_disk_name + disk_name_size;           
   4313c:	2d4c ffec      	movel %a4,%fp@(-20)                         
  /* Create logical disk name */                                      
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (logical_disk_name == NULL) {                                    
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
  strncpy( logical_disk_name, disk_name, disk_name_size);             
   43140:	2f00           	movel %d0,%sp@-                             
   43142:	4eb9 0005 4f2c 	jsr 54f2c <strncpy>                         
  logical_disk_marker = logical_disk_name + disk_name_size;           
                                                                      
  /* Create a logical disk for each partition */                      
  for (i = 0; i < count; ++i) {                                       
   43148:	4fef 000c      	lea %sp@(12),%sp                            
   4314c:	4aae 0010      	tstl %fp@(16)                               
   43150:	6760           	beqs 431b2 <rtems_bdpart_register+0xf6>     <== NEVER TAKEN
   43152:	266e 000c      	moveal %fp@(12),%a3                         
   43156:	4286           	clrl %d6                                    
   43158:	49f9 0005 45a8 	lea 545a8 <snprintf>,%a4                    
      esc = RTEMS_INVALID_NAME;                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Create logical disk */                                         
    sc = rtems_disk_create_log(                                       
   4315e:	4bf9 0004 3da6 	lea 43da6 <rtems_disk_create_log>,%a5       
                                                                      
    /* Create a new device identifier */                              
    logical_disk = rtems_filesystem_make_dev_t( major, minor);        
                                                                      
    /* Set partition number for logical disk name */                  
    rv = snprintf( logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
   43164:	5286           	addql #1,%d6                                
  for (i = 0; i < count; ++i) {                                       
    const rtems_bdpart_partition *p = pt + i;                         
    int rv = 0;                                                       
                                                                      
    /* New minor number */                                            
    ++minor;                                                          
   43166:	5287           	addql #1,%d7                                
                                                                      
    /* Create a new device identifier */                              
    logical_disk = rtems_filesystem_make_dev_t( major, minor);        
                                                                      
    /* Set partition number for logical disk name */                  
    rv = snprintf( logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
   43168:	2f06           	movel %d6,%sp@-                             
   4316a:	4879 0006 2274 	pea 62274 <RTEMS_BDPART_MBR_MASTER_TYPE+0x10>
   43170:	4878 0004      	pea 4 <CONTEXT_ARG>                         
   43174:	2f2e ffec      	movel %fp@(-20),%sp@-                       
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.__overlay.major = _major;                                      
  temp.__overlay.minor = _minor;                                      
  return temp.device;                                                 
   43178:	242e fff0      	movel %fp@(-16),%d2                         
   4317c:	4e94           	jsr %a4@                                    
    if (rv >= RTEMS_BDPART_NUMBER_SIZE) {                             
   4317e:	4fef 0010      	lea %sp@(16),%sp                            
   43182:	7203           	moveq #3,%d1                                
   43184:	b280           	cmpl %d0,%d1                                
   43186:	6d5e           	blts 431e6 <rtems_bdpart_register+0x12a>    <== NEVER TAKEN
    /* Create logical disk */                                         
    sc = rtems_disk_create_log(                                       
      logical_disk,                                                   
      disk,                                                           
      p->begin,                                                       
      p->end - p->begin,                                              
   43188:	2013           	movel %a3@,%d0                              
      esc = RTEMS_INVALID_NAME;                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Create logical disk */                                         
    sc = rtems_disk_create_log(                                       
   4318a:	2f0a           	movel %a2,%sp@-                             
   4318c:	222b 0004      	movel %a3@(4),%d1                           
   43190:	9280           	subl %d0,%d1                                
   43192:	47eb 0030      	lea %a3@(48),%a3                            
   43196:	2f01           	movel %d1,%sp@-                             
   43198:	2f00           	movel %d0,%sp@-                             
   4319a:	2f05           	movel %d5,%sp@-                             
   4319c:	2f04           	movel %d4,%sp@-                             
   4319e:	2f07           	movel %d7,%sp@-                             
   431a0:	2f02           	movel %d2,%sp@-                             
   431a2:	4e95           	jsr %a5@                                    
      disk,                                                           
      p->begin,                                                       
      p->end - p->begin,                                              
      logical_disk_name                                               
    );                                                                
    if (sc != RTEMS_SUCCESSFUL) {                                     
   431a4:	4fef 001c      	lea %sp@(28),%sp                            
   431a8:	4a80           	tstl %d0                                    
   431aa:	662a           	bnes 431d6 <rtems_bdpart_register+0x11a>    <== NEVER TAKEN
  }                                                                   
  strncpy( logical_disk_name, disk_name, disk_name_size);             
  logical_disk_marker = logical_disk_name + disk_name_size;           
                                                                      
  /* Create a logical disk for each partition */                      
  for (i = 0; i < count; ++i) {                                       
   431ac:	bcae 0010      	cmpl %fp@(16),%d6                           
   431b0:	66b2           	bnes 43164 <rtems_bdpart_register+0xa8>     
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   431b2:	2f0a           	movel %a2,%sp@-                             
  const rtems_bdpart_partition *pt,                                   
  size_t count                                                        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
   431b4:	4282           	clrl %d2                                    
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   431b6:	4eb9 0004 5344 	jsr 45344 <free>                            
   431bc:	588f           	addql #4,%sp                                
                                                                      
  return esc;                                                         
   431be:	2002           	movel %d2,%d0                               
}                                                                     
   431c0:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            
   431c6:	4e5e           	unlk %fp                                    
   431c8:	4e75           	rts                                         
  rtems_filesystem_split_dev_t( disk, major, minor);                  
                                                                      
  /* Create logical disk name */                                      
  logical_disk_name = malloc( disk_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (logical_disk_name == NULL) {                                    
    return RTEMS_NO_MEMORY;                                           
   431ca:	701a           	moveq #26,%d0                               <== NOT EXECUTED
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
                                                                      
  return esc;                                                         
}                                                                     
   431cc:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   431d2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   431d4:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   431d6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
      esc = RTEMS_INVALID_NAME;                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Create logical disk */                                         
    sc = rtems_disk_create_log(                                       
   431d8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   431da:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
   431e0:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  return esc;                                                         
   431e2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   431e4:	60da           	bras 431c0 <rtems_bdpart_register+0x104>    <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   431e6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
    logical_disk = rtems_filesystem_make_dev_t( major, minor);        
                                                                      
    /* Set partition number for logical disk name */                  
    rv = snprintf( logical_disk_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
    if (rv >= RTEMS_BDPART_NUMBER_SIZE) {                             
      esc = RTEMS_INVALID_NAME;                                       
   431e8:	7403           	moveq #3,%d2                                <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( logical_disk_name);                                           
   431ea:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
   431f0:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  return esc;                                                         
   431f2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   431f4:	60ca           	bras 431c0 <rtems_bdpart_register+0x104>    <== NOT EXECUTED
                                                                      

000431f6 <rtems_bdpart_register_from_disk>: rtems_status_code rtems_bdpart_register_from_disk( const char *disk_name) { rtems_status_code sc = RTEMS_SUCCESSFUL; rtems_bdpart_format format; rtems_bdpart_partition pt [RTEMS_BDPART_PARTITION_NUMBER_HINT]; size_t count = RTEMS_BDPART_PARTITION_NUMBER_HINT;
   431f6:	7010           	moveq #16,%d0                               
                                                                      
  return esc;                                                         
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_register_from_disk( const char *disk_name)
{                                                                     
   431f8:	4e56 fce8      	linkw %fp,#-792                             
   431fc:	2f03           	movel %d3,%sp@-                             
  rtems_bdpart_format format;                                         
  rtems_bdpart_partition pt [RTEMS_BDPART_PARTITION_NUMBER_HINT];     
  size_t count = RTEMS_BDPART_PARTITION_NUMBER_HINT;                  
                                                                      
  /* Read partitions */                                               
  sc = rtems_bdpart_read( disk_name, &format, pt, &count);            
   431fe:	260e           	movel %fp,%d3                               
   43200:	0683 ffff fd00 	addil #-768,%d3                             
                                                                      
  return esc;                                                         
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_register_from_disk( const char *disk_name)
{                                                                     
   43206:	2f02           	movel %d2,%sp@-                             
  rtems_bdpart_format format;                                         
  rtems_bdpart_partition pt [RTEMS_BDPART_PARTITION_NUMBER_HINT];     
  size_t count = RTEMS_BDPART_PARTITION_NUMBER_HINT;                  
                                                                      
  /* Read partitions */                                               
  sc = rtems_bdpart_read( disk_name, &format, pt, &count);            
   43208:	486e fce8      	pea %fp@(-792)                              
                                                                      
  return esc;                                                         
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_register_from_disk( const char *disk_name)
{                                                                     
   4320c:	242e 0008      	movel %fp@(8),%d2                           
  rtems_bdpart_format format;                                         
  rtems_bdpart_partition pt [RTEMS_BDPART_PARTITION_NUMBER_HINT];     
  size_t count = RTEMS_BDPART_PARTITION_NUMBER_HINT;                  
                                                                      
  /* Read partitions */                                               
  sc = rtems_bdpart_read( disk_name, &format, pt, &count);            
   43210:	2f03           	movel %d3,%sp@-                             
   43212:	486e fcec      	pea %fp@(-788)                              
rtems_status_code rtems_bdpart_register_from_disk( const char *disk_name)
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_bdpart_format format;                                         
  rtems_bdpart_partition pt [RTEMS_BDPART_PARTITION_NUMBER_HINT];     
  size_t count = RTEMS_BDPART_PARTITION_NUMBER_HINT;                  
   43216:	2d40 fce8      	movel %d0,%fp@(-792)                        
                                                                      
  /* Read partitions */                                               
  sc = rtems_bdpart_read( disk_name, &format, pt, &count);            
   4321a:	2f02           	movel %d2,%sp@-                             
   4321c:	4eb9 0004 2e52 	jsr 42e52 <rtems_bdpart_read>               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43222:	4fef 0010      	lea %sp@(16),%sp                            
   43226:	4a80           	tstl %d0                                    
   43228:	670c           	beqs 43236 <rtems_bdpart_register_from_disk+0x40><== ALWAYS TAKEN
    return sc;                                                        
  }                                                                   
                                                                      
  /* Register partitions */                                           
  return rtems_bdpart_register( disk_name, pt, count);                
}                                                                     
   4322a:	242e fce0      	movel %fp@(-800),%d2                        <== NOT EXECUTED
   4322e:	262e fce4      	movel %fp@(-796),%d3                        <== NOT EXECUTED
   43232:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43234:	4e75           	rts                                         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  /* Register partitions */                                           
  return rtems_bdpart_register( disk_name, pt, count);                
   43236:	2f2e fce8      	movel %fp@(-792),%sp@-                      
   4323a:	2f03           	movel %d3,%sp@-                             
   4323c:	2f02           	movel %d2,%sp@-                             
   4323e:	4eb9 0004 30bc 	jsr 430bc <rtems_bdpart_register>           
}                                                                     
   43244:	242e fce0      	movel %fp@(-800),%d2                        
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  /* Register partitions */                                           
  return rtems_bdpart_register( disk_name, pt, count);                
   43248:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   4324c:	262e fce4      	movel %fp@(-796),%d3                        
   43250:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00061c96 <rtems_bdpart_unmount>: const char *disk_name, const rtems_bdpart_partition *pt __attribute__((unused)), size_t count, const char *mount_base ) {
   61c96:	4e56 ffdc      	linkw %fp,#-36                              <== NOT EXECUTED
   61c9a:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  const char *disk_file_name = strrchr( disk_name, '/');              
   61c9e:	4878 002f      	pea 2f <OPER2+0x1b>                         <== NOT EXECUTED
  char *mount_point = NULL;                                           
  char *mount_marker = NULL;                                          
  size_t disk_file_name_size = 0;                                     
  size_t disk_name_size = strlen( disk_name);                         
   61ca2:	45f9 0007 d8a0 	lea 7d8a0 <strlen>,%a2                      <== NOT EXECUTED
  const char *disk_name,                                              
  const rtems_bdpart_partition *pt __attribute__((unused)),           
  size_t count,                                                       
  const char *mount_base                                              
)                                                                     
{                                                                     
   61ca8:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  const char *disk_file_name = strrchr( disk_name, '/');              
   61cac:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  const char *disk_name,                                              
  const rtems_bdpart_partition *pt __attribute__((unused)),           
  size_t count,                                                       
  const char *mount_base                                              
)                                                                     
{                                                                     
   61cae:	282e 0014      	movel %fp@(20),%d4                          <== NOT EXECUTED
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  const char *disk_file_name = strrchr( disk_name, '/');              
   61cb2:	4eb9 0007 e73c 	jsr 7e73c <strrchr>                         <== NOT EXECUTED
   61cb8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   61cba:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
  char *mount_point = NULL;                                           
  char *mount_marker = NULL;                                          
  size_t disk_file_name_size = 0;                                     
  size_t disk_name_size = strlen( disk_name);                         
   61cbc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  const char *disk_name,                                              
  const rtems_bdpart_partition *pt __attribute__((unused)),           
  size_t count,                                                       
  const char *mount_base                                              
)                                                                     
{                                                                     
   61cbe:	262e 0010      	movel %fp@(16),%d3                          <== NOT EXECUTED
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  const char *disk_file_name = strrchr( disk_name, '/');              
  char *mount_point = NULL;                                           
  char *mount_marker = NULL;                                          
  size_t disk_file_name_size = 0;                                     
  size_t disk_name_size = strlen( disk_name);                         
   61cc2:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   61cc4:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
  size_t mount_base_size = strlen( mount_base);                       
   61cc6:	2e84           	movel %d4,%sp@                              <== NOT EXECUTED
   61cc8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   61cca:	588f           	addql #4,%sp                                <== NOT EXECUTED
   61ccc:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  size_t i = 0;                                                       
                                                                      
  /* Get disk file name */                                            
  if (disk_file_name != NULL) {                                       
   61cce:	4a8c           	tstl %a4                                    <== NOT EXECUTED
   61cd0:	6700 00f4      	beqw 61dc6 <rtems_bdpart_unmount+0x130>     <== NOT EXECUTED
    disk_file_name += 1;                                              
   61cd4:	528c           	addql #1,%a4                                <== NOT EXECUTED
    disk_file_name_size = strlen( disk_file_name);                    
   61cd6:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   61cd8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   61cda:	588f           	addql #4,%sp                                <== NOT EXECUTED
   61cdc:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
    disk_file_name = disk_name;                                       
    disk_file_name_size = disk_name_size;                             
  }                                                                   
                                                                      
  /* Create mount point base */                                       
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61cde:	2a45           	moveal %d5,%a5                              <== NOT EXECUTED
   61ce0:	dbc2           	addal %d2,%a5                               <== NOT EXECUTED
   61ce2:	486d 0005      	pea %a5@(5)                                 <== NOT EXECUTED
   61ce6:	4eb9 0004 3140 	jsr 43140 <malloc>                          <== NOT EXECUTED
  if (mount_point == NULL) {                                          
   61cec:	588f           	addql #4,%sp                                <== NOT EXECUTED
    disk_file_name = disk_name;                                       
    disk_file_name_size = disk_name_size;                             
  }                                                                   
                                                                      
  /* Create mount point base */                                       
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
   61cee:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (mount_point == NULL) {                                          
   61cf0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   61cf2:	6700 00a6      	beqw 61d9a <rtems_bdpart_unmount+0x104>     <== NOT EXECUTED
    esc = RTEMS_NO_MEMORY;                                            
    goto cleanup;                                                     
  }                                                                   
  strncpy( mount_point, mount_base, mount_base_size);                 
   61cf6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   61cf8:	2c3c 0007 da4c 	movel #514636,%d6                           <== NOT EXECUTED
   61cfe:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   61d00:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
   61d02:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
  mount_point [mount_base_size] = '/';                                
  strncpy( mount_point + mount_base_size + 1, disk_file_name, disk_file_name_size);
                                                                      
  /* Marker */                                                        
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
   61d04:	47f2 d801      	lea %a2@(00000001,%a5:l),%a3                <== NOT EXECUTED
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (mount_point == NULL) {                                          
    esc = RTEMS_NO_MEMORY;                                            
    goto cleanup;                                                     
  }                                                                   
  strncpy( mount_point, mount_base, mount_base_size);                 
   61d08:	4e90           	jsr %a0@                                    <== NOT EXECUTED
  mount_point [mount_base_size] = '/';                                
   61d0a:	702f           	moveq #47,%d0                               <== NOT EXECUTED
  strncpy( mount_point + mount_base_size + 1, disk_file_name, disk_file_name_size);
   61d0c:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
  if (mount_point == NULL) {                                          
    esc = RTEMS_NO_MEMORY;                                            
    goto cleanup;                                                     
  }                                                                   
  strncpy( mount_point, mount_base, mount_base_size);                 
  mount_point [mount_base_size] = '/';                                
   61d0e:	1580 2800      	moveb %d0,%a2@(00000000,%d2:l)              <== NOT EXECUTED
  strncpy( mount_point + mount_base_size + 1, disk_file_name, disk_file_name_size);
   61d12:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   61d14:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   61d16:	4872 2801      	pea %a2@(00000001,%d2:l)                    <== NOT EXECUTED
   61d1a:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                                                      
  /* Marker */                                                        
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
                                                                      
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
   61d1c:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   61d20:	4a83           	tstl %d3                                    <== NOT EXECUTED
   61d22:	673e           	beqs 61d62 <rtems_bdpart_unmount+0xcc>      <== NOT EXECUTED
   61d24:	4282           	clrl %d2                                    <== NOT EXECUTED
   61d26:	49f9 0007 cce0 	lea 7cce0 <snprintf>,%a4                    <== NOT EXECUTED
      esc = RTEMS_INVALID_NAME;                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Unmount */                                                     
    rv = unmount( mount_point);                                       
   61d2c:	4bf9 0006 5d6c 	lea 65d6c <unmount>,%a5                     <== NOT EXECUTED
    if (rv == 0) {                                                    
      /* Remove mount point */                                        
      rv = rmdir( mount_point);                                       
   61d32:	283c 0006 5614 	movel #415252,%d4                           <== NOT EXECUTED
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
                                                                      
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
    /* Create mount point */                                          
    int rv = snprintf( mount_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
   61d38:	5282           	addql #1,%d2                                <== NOT EXECUTED
   61d3a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   61d3c:	4879 0009 7fb8 	pea 97fb8 <e2a_32V+0x2a3>                   <== NOT EXECUTED
   61d42:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   61d46:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   61d48:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (rv >= RTEMS_BDPART_NUMBER_SIZE) {                             
   61d4a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   61d4e:	7203           	moveq #3,%d1                                <== NOT EXECUTED
   61d50:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   61d52:	6d5c           	blts 61db0 <rtems_bdpart_unmount+0x11a>     <== NOT EXECUTED
      esc = RTEMS_INVALID_NAME;                                       
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Unmount */                                                     
    rv = unmount( mount_point);                                       
   61d54:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61d56:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    if (rv == 0) {                                                    
   61d58:	588f           	addql #4,%sp                                <== NOT EXECUTED
   61d5a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   61d5c:	671a           	beqs 61d78 <rtems_bdpart_unmount+0xe2>      <== NOT EXECUTED
                                                                      
  /* Marker */                                                        
  mount_marker = mount_point + mount_base_size + 1 + disk_file_name_size;
                                                                      
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
   61d5e:	b682           	cmpl %d2,%d3                                <== NOT EXECUTED
   61d60:	66d6           	bnes 61d38 <rtems_bdpart_unmount+0xa2>      <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( mount_point);                                                 
   61d62:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
  const rtems_bdpart_partition *pt __attribute__((unused)),           
  size_t count,                                                       
  const char *mount_base                                              
)                                                                     
{                                                                     
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
   61d64:	4282           	clrl %d2                                    <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( mount_point);                                                 
   61d66:	4eb9 0004 2e40 	jsr 42e40 <free>                            <== NOT EXECUTED
                                                                      
  return esc;                                                         
}                                                                     
   61d6c:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   61d6e:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   61d74:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61d76:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    /* Unmount */                                                     
    rv = unmount( mount_point);                                       
    if (rv == 0) {                                                    
      /* Remove mount point */                                        
      rv = rmdir( mount_point);                                       
   61d78:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   61d7a:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   61d7c:	4e90           	jsr %a0@                                    <== NOT EXECUTED
      if (rv != 0) {                                                  
   61d7e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   61d80:	4a80           	tstl %d0                                    <== NOT EXECUTED
   61d82:	67da           	beqs 61d5e <rtems_bdpart_unmount+0xc8>      <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( mount_point);                                                 
   61d84:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
    rv = unmount( mount_point);                                       
    if (rv == 0) {                                                    
      /* Remove mount point */                                        
      rv = rmdir( mount_point);                                       
      if (rv != 0) {                                                  
        esc = RTEMS_IO_ERROR;                                         
   61d86:	741b           	moveq #27,%d2                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( mount_point);                                                 
   61d88:	4eb9 0004 2e40 	jsr 42e40 <free>                            <== NOT EXECUTED
                                                                      
  return esc;                                                         
}                                                                     
   61d8e:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   61d90:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   61d96:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61d98:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( mount_point);                                                 
   61d9a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
  }                                                                   
                                                                      
  /* Create mount point base */                                       
  mount_point = malloc( mount_base_size + 1 + disk_file_name_size + RTEMS_BDPART_NUMBER_SIZE);
  if (mount_point == NULL) {                                          
    esc = RTEMS_NO_MEMORY;                                            
   61d9c:	741a           	moveq #26,%d2                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( mount_point);                                                 
   61d9e:	4eb9 0004 2e40 	jsr 42e40 <free>                            <== NOT EXECUTED
                                                                      
  return esc;                                                         
}                                                                     
   61da4:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   61da6:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   61dac:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61dae:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( mount_point);                                                 
   61db0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
  /* Mount supported file systems for each partition */               
  for (i = 0; i < count; ++i) {                                       
    /* Create mount point */                                          
    int rv = snprintf( mount_marker, RTEMS_BDPART_NUMBER_SIZE, "%zu", i + 1);
    if (rv >= RTEMS_BDPART_NUMBER_SIZE) {                             
      esc = RTEMS_INVALID_NAME;                                       
   61db2:	7403           	moveq #3,%d2                                <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  free( mount_point);                                                 
   61db4:	4eb9 0004 2e40 	jsr 42e40 <free>                            <== NOT EXECUTED
                                                                      
  return esc;                                                         
}                                                                     
   61dba:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   61dbc:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   61dc2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61dc4:	4e75           	rts                                         <== NOT EXECUTED
  /* Get disk file name */                                            
  if (disk_file_name != NULL) {                                       
    disk_file_name += 1;                                              
    disk_file_name_size = strlen( disk_file_name);                    
  } else {                                                            
    disk_file_name = disk_name;                                       
   61dc6:	284b           	moveal %a3,%a4                              <== NOT EXECUTED
   61dc8:	6000 ff14      	braw 61cde <rtems_bdpart_unmount+0x48>      <== NOT EXECUTED
                                                                      

00043254 <rtems_bdpart_unregister>: rtems_device_minor_number minor = 0; rtems_blkdev_bnum disk_end = 0; dev_t disk = 0; dev_t logical_disk = 0; size_t i = 0; int fd = -1;
   43254:	70ff           	moveq #-1,%d0                               
rtems_status_code rtems_bdpart_unregister(                            
  const char *disk_name,                                              
  const rtems_bdpart_partition *pt __attribute__((unused)),           
  size_t count                                                        
)                                                                     
{                                                                     
   43256:	4e56 ffe0      	linkw %fp,#-32                              
   4325a:	48d7 043c      	moveml %d2-%d5/%a2,%sp@                     
  size_t i = 0;                                                       
  int fd = -1;                                                        
  rtems_disk_device *dd = NULL;                                       
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   4325e:	486e fff4      	pea %fp@(-12)                               
   43262:	486e fffc      	pea %fp@(-4)                                
   43266:	486e fff8      	pea %fp@(-8)                                
   4326a:	2f2e 0008      	movel %fp@(8),%sp@-                         
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
  rtems_blkdev_bnum disk_end = 0;                                     
   4326e:	42ae fff4      	clrl %fp@(-12)                              
  dev_t disk = 0;                                                     
  dev_t logical_disk = 0;                                             
  size_t i = 0;                                                       
  int fd = -1;                                                        
   43272:	2d40 fff8      	movel %d0,%fp@(-8)                          
  rtems_disk_device *dd = NULL;                                       
   43276:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   4327a:	4eb9 0004 2d98 	jsr 42d98 <rtems_bdpart_get_disk_data>      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43280:	4fef 0010      	lea %sp@(16),%sp                            
  size_t i = 0;                                                       
  int fd = -1;                                                        
  rtems_disk_device *dd = NULL;                                       
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   43284:	2a00           	movel %d0,%d5                               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43286:	670c           	beqs 43294 <rtems_bdpart_unregister+0x40>   <== ALWAYS TAKEN
      return sc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43288:	2005           	movel %d5,%d0                               
   4328a:	4cee 043c ffe0 	moveml %fp@(-32),%d2-%d5/%a2                
   43290:	4e5e           	unlk %fp                                    
   43292:	4e75           	rts                                         
   43294:	206e fffc      	moveal %fp@(-4),%a0                         
)                                                                     
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.device = device;                                               
  return temp.__overlay.minor;                                        
   43298:	2428 0004      	movel %a0@(4),%d2                           
   4329c:	2610           	movel %a0@,%d3                              
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
  disk = rtems_disk_get_device_identifier( dd);                       
  close( fd);                                                         
   4329e:	2f2e fff8      	movel %fp@(-8),%sp@-                        
   432a2:	4eb9 0004 5070 	jsr 45070 <close>                           
                                                                      
  /* Get the disk device identifier */                                
  rtems_filesystem_split_dev_t( disk, major, minor);                  
                                                                      
  /* Create a logical disk for each partition */                      
  for (i = 0; i < count; ++i) {                                       
   432a8:	588f           	addql #4,%sp                                
   432aa:	4aae 0010      	tstl %fp@(16)                               
   432ae:	67d8           	beqs 43288 <rtems_bdpart_unregister+0x34>   <== NEVER TAKEN
                                                                      
  /* Register partitions */                                           
  return rtems_bdpart_register( disk_name, pt, count);                
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_unregister(                            
   432b0:	282e 0010      	movel %fp@(16),%d4                          
   432b4:	d882           	addl %d2,%d4                                
  rtems_filesystem_split_dev_t( disk, major, minor);                  
                                                                      
  /* Create a logical disk for each partition */                      
  for (i = 0; i < count; ++i) {                                       
    /* New minor number */                                            
    ++minor;                                                          
   432b6:	5282           	addql #1,%d2                                
   432b8:	45f9 0004 3c4a 	lea 43c4a <rtems_disk_delete>,%a2           
                                                                      
    /* Get the device identifier */                                   
    logical_disk = rtems_filesystem_make_dev_t( major, minor);        
                                                                      
    /* Delete logical disk */                                         
    sc = rtems_disk_delete( logical_disk);                            
   432be:	2f02           	movel %d2,%sp@-                             
   432c0:	2f03           	movel %d3,%sp@-                             
   432c2:	4e92           	jsr %a2@                                    
    if (sc != RTEMS_SUCCESSFUL) {                                     
   432c4:	508f           	addql #8,%sp                                
   432c6:	4a80           	tstl %d0                                    
   432c8:	6612           	bnes 432dc <rtems_bdpart_unregister+0x88>   <== NEVER TAKEN
                                                                      
  /* Get the disk device identifier */                                
  rtems_filesystem_split_dev_t( disk, major, minor);                  
                                                                      
  /* Create a logical disk for each partition */                      
  for (i = 0; i < count; ++i) {                                       
   432ca:	b882           	cmpl %d2,%d4                                
   432cc:	67ba           	beqs 43288 <rtems_bdpart_unregister+0x34>   
    /* New minor number */                                            
    ++minor;                                                          
   432ce:	5282           	addql #1,%d2                                
                                                                      
    /* Get the device identifier */                                   
    logical_disk = rtems_filesystem_make_dev_t( major, minor);        
                                                                      
    /* Delete logical disk */                                         
    sc = rtems_disk_delete( logical_disk);                            
   432d0:	2f02           	movel %d2,%sp@-                             
   432d2:	2f03           	movel %d3,%sp@-                             
   432d4:	4e92           	jsr %a2@                                    
    if (sc != RTEMS_SUCCESSFUL) {                                     
   432d6:	508f           	addql #8,%sp                                
   432d8:	4a80           	tstl %d0                                    
   432da:	67ee           	beqs 432ca <rtems_bdpart_unregister+0x76>   <== ALWAYS TAKEN
                                                                      
    /* Get the device identifier */                                   
    logical_disk = rtems_filesystem_make_dev_t( major, minor);        
                                                                      
    /* Delete logical disk */                                         
    sc = rtems_disk_delete( logical_disk);                            
   432dc:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
      return sc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   432de:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   432e0:	4cee 043c ffe0 	moveml %fp@(-32),%d2-%d5/%a2                <== NOT EXECUTED
   432e6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

00043374 <rtems_bdpart_write>: const char *disk_name, const rtems_bdpart_format *format, const rtems_bdpart_partition *pt, size_t count ) {
   43374:	4e56 ffc0      	linkw %fp,#-64                              
   43378:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4337c:	266e 000c      	moveal %fp@(12),%a3                         
   43380:	242e 0014      	movel %fp@(20),%d2                          
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
   43384:	4a8b           	tstl %a3                                    
   43386:	6700 00b0      	beqw 43438 <rtems_bdpart_write+0xc4>        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
   4338a:	4a93           	tstl %a3@                                   
   4338c:	6608           	bnes 43396 <rtems_bdpart_write+0x22>        <== NEVER TAKEN
    && format->mbr.dos_compatibility;                                 
   4338e:	4a2b 0008      	tstb %a3@(8)                                
   43392:	6600 00b4      	bnew 43448 <rtems_bdpart_write+0xd4>        
  rtems_blkdev_bnum record_space =                                    
    dos_compatibility ? RTEMS_BDPART_MBR_CYLINDER_SIZE : 1;           
  size_t ppc = 0; /* Primary partition count */                       
  size_t i = 0;                                                       
  uint8_t *data = NULL;                                               
  int fd = -1;                                                        
   43396:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
  rtems_bdbuf_buffer *block = NULL;                                   
   43398:	42ae fff0      	clrl %fp@(-16)                              <== NOT EXECUTED
  rtems_blkdev_bnum disk_end = 0;                                     
   4339c:	42ae fff4      	clrl %fp@(-12)                              <== NOT EXECUTED
  rtems_blkdev_bnum record_space =                                    
    dos_compatibility ? RTEMS_BDPART_MBR_CYLINDER_SIZE : 1;           
  size_t ppc = 0; /* Primary partition count */                       
  size_t i = 0;                                                       
  uint8_t *data = NULL;                                               
  int fd = -1;                                                        
   433a0:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
  rtems_disk_device *dd = NULL;                                       
   433a4:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
                                                                      
  /* Check if we have something to do */                              
  if (count == 0) {                                                   
   433a8:	4a82           	tstl %d2                                    <== NOT EXECUTED
   433aa:	6700 00b2      	beqw 4345e <rtems_bdpart_write+0xea>        <== NOT EXECUTED
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
  rtems_bdbuf_buffer *block = NULL;                                   
  rtems_blkdev_bnum disk_end = 0;                                     
  rtems_blkdev_bnum record_space =                                    
   433ae:	7601           	moveq #1,%d3                                <== NOT EXECUTED
  size_t count                                                        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  bool dos_compatibility = format != NULL                             
   433b0:	4205           	clrb %d5                                    <== NOT EXECUTED
    /* Nothing to do */                                               
    return RTEMS_SUCCESSFUL;                                          
  }                                                                   
                                                                      
  /* Check parameter */                                               
  if (format == NULL || pt == NULL) {                                 
   433b2:	4aae 0010      	tstl %fp@(16)                               
   433b6:	6700 0084      	beqw 4343c <rtems_bdpart_write+0xc8>        
    return RTEMS_INVALID_ADDRESS;                                     
  }                                                                   
                                                                      
  /* Get disk data */                                                 
  sc = rtems_bdpart_get_disk_data( disk_name, &fd, &dd, &disk_end);   
   433ba:	486e fff4      	pea %fp@(-12)                               
   433be:	486e fffc      	pea %fp@(-4)                                
   433c2:	486e fff8      	pea %fp@(-8)                                
   433c6:	2f2e 0008      	movel %fp@(8),%sp@-                         
   433ca:	4eb9 0004 2d98 	jsr 42d98 <rtems_bdpart_get_disk_data>      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   433d0:	4fef 0010      	lea %sp@(16),%sp                            
   433d4:	4a80           	tstl %d0                                    
   433d6:	6666           	bnes 4343e <rtems_bdpart_write+0xca>        <== NEVER TAKEN
    return sc;                                                        
  }                                                                   
                                                                      
  /* Align end of disk on cylinder boundary if necessary */           
  if (dos_compatibility) {                                            
    disk_end -= (disk_end % record_space);                            
   433d8:	282e fff4      	movel %fp@(-12),%d4                         
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  /* Align end of disk on cylinder boundary if necessary */           
  if (dos_compatibility) {                                            
   433dc:	4a05           	tstb %d5                                    
   433de:	670c           	beqs 433ec <rtems_bdpart_write+0x78>        <== NEVER TAKEN
    disk_end -= (disk_end % record_space);                            
   433e0:	2204           	movel %d4,%d1                               
   433e2:	4c43 1000      	remul %d3,%d0,%d1                           
   433e6:	9880           	subl %d0,%d4                                
   433e8:	2d44 fff4      	movel %d4,%fp@(-12)                         
  /* Check that we have a consistent partition table */               
  for (i = 0; i < count; ++i) {                                       
    const rtems_bdpart_partition *p = pt + i;                         
                                                                      
    /* Check that begin and end are proper within the disk */         
    if (p->begin >= disk_end || p->end > disk_end) {                  
   433ec:	206e 0010      	moveal %fp@(16),%a0                         
   433f0:	2c10           	movel %a0@,%d6                              
   433f2:	b886           	cmpl %d6,%d4                                
   433f4:	6300 0096      	blsw 4348c <rtems_bdpart_write+0x118>       
   433f8:	206e 0010      	moveal %fp@(16),%a0                         
   433fc:	2028 0004      	movel %a0@(4),%d0                           
   43400:	b880           	cmpl %d0,%d4                                
   43402:	6500 0088      	bcsw 4348c <rtems_bdpart_write+0x118>       
      esc = RTEMS_INVALID_NUMBER;                                     
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Check that begin and end are valid */                          
    if (p->begin >= p->end) {                                         
   43406:	b086           	cmpl %d6,%d0                                
   43408:	6300 0082      	blsw 4348c <rtems_bdpart_write+0x118>       
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   4340c:	5888           	addql #4,%a0                                
  if (dos_compatibility) {                                            
    disk_end -= (disk_end % record_space);                            
  }                                                                   
                                                                      
  /* Check that we have a consistent partition table */               
  for (i = 0; i < count; ++i) {                                       
   4340e:	4280           	clrl %d0                                    
   43410:	5280           	addql #1,%d0                                
   43412:	b082           	cmpl %d2,%d0                                
   43414:	645c           	bccs 43472 <rtems_bdpart_write+0xfe>        
    const rtems_bdpart_partition *p = pt + i;                         
                                                                      
    /* Check that begin and end are proper within the disk */         
    if (p->begin >= disk_end || p->end > disk_end) {                  
   43416:	2228 002c      	movel %a0@(44),%d1                          
   4341a:	b881           	cmpl %d1,%d4                                
   4341c:	636e           	blss 4348c <rtems_bdpart_write+0x118>       <== NEVER TAKEN
   4341e:	2268 0030      	moveal %a0@(48),%a1                         
   43422:	b889           	cmpl %a1,%d4                                
   43424:	6566           	bcss 4348c <rtems_bdpart_write+0x118>       <== NEVER TAKEN
      esc = RTEMS_INVALID_NUMBER;                                     
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Check that begin and end are valid */                          
    if (p->begin >= p->end) {                                         
   43426:	b3c1           	cmpal %d1,%a1                               
   43428:	6362           	blss 4348c <rtems_bdpart_write+0x118>       <== NEVER TAKEN
      esc = RTEMS_INVALID_NUMBER;                                     
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Check that partitions do not overlap */                        
    if (i > 0 && pt [i - 1].end > p->begin) {                         
   4342a:	4a80           	tstl %d0                                    
   4342c:	6704           	beqs 43432 <rtems_bdpart_write+0xbe>        <== NEVER TAKEN
   4342e:	b290           	cmpl %a0@,%d1                               
   43430:	655a           	bcss 4348c <rtems_bdpart_write+0x118>       <== NEVER TAKEN
   43432:	41e8 0030      	lea %a0@(48),%a0                            
   43436:	60d8           	bras 43410 <rtems_bdpart_write+0x9c>        
  uint8_t *data = NULL;                                               
  int fd = -1;                                                        
  rtems_disk_device *dd = NULL;                                       
                                                                      
  /* Check if we have something to do */                              
  if (count == 0) {                                                   
   43438:	4a82           	tstl %d2                                    <== NOT EXECUTED
   4343a:	6722           	beqs 4345e <rtems_bdpart_write+0xea>        <== NOT EXECUTED
    return RTEMS_SUCCESSFUL;                                          
  }                                                                   
                                                                      
  /* Check parameter */                                               
  if (format == NULL || pt == NULL) {                                 
    return RTEMS_INVALID_ADDRESS;                                     
   4343c:	7009           	moveq #9,%d0                                <== NOT EXECUTED
  if (block != NULL) {                                                
    rtems_bdbuf_sync( block);                                         
  }                                                                   
                                                                      
  return esc;                                                         
}                                                                     
   4343e:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   43444:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43446:	4e75           	rts                                         <== NOT EXECUTED
  rtems_blkdev_bnum record_space =                                    
    dos_compatibility ? RTEMS_BDPART_MBR_CYLINDER_SIZE : 1;           
  size_t ppc = 0; /* Primary partition count */                       
  size_t i = 0;                                                       
  uint8_t *data = NULL;                                               
  int fd = -1;                                                        
   43448:	76ff           	moveq #-1,%d3                               
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
  rtems_bdbuf_buffer *block = NULL;                                   
   4344a:	42ae fff0      	clrl %fp@(-16)                              
  rtems_blkdev_bnum disk_end = 0;                                     
   4344e:	42ae fff4      	clrl %fp@(-12)                              
  rtems_blkdev_bnum record_space =                                    
    dos_compatibility ? RTEMS_BDPART_MBR_CYLINDER_SIZE : 1;           
  size_t ppc = 0; /* Primary partition count */                       
  size_t i = 0;                                                       
  uint8_t *data = NULL;                                               
  int fd = -1;                                                        
   43452:	2d43 fff8      	movel %d3,%fp@(-8)                          
  rtems_disk_device *dd = NULL;                                       
   43456:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
  /* Check if we have something to do */                              
  if (count == 0) {                                                   
   4345a:	4a82           	tstl %d2                                    
   4345c:	660c           	bnes 4346a <rtems_bdpart_write+0xf6>        <== ALWAYS TAKEN
    /* Nothing to do */                                               
    return RTEMS_SUCCESSFUL;                                          
   4345e:	4280           	clrl %d0                                    <== NOT EXECUTED
  if (block != NULL) {                                                
    rtems_bdbuf_sync( block);                                         
  }                                                                   
                                                                      
  return esc;                                                         
}                                                                     
   43460:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   43466:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43468:	4e75           	rts                                         <== NOT EXECUTED
  bool dos_compatibility = format != NULL                             
    && format->type == RTEMS_BDPART_FORMAT_MBR                        
    && format->mbr.dos_compatibility;                                 
  rtems_bdbuf_buffer *block = NULL;                                   
  rtems_blkdev_bnum disk_end = 0;                                     
  rtems_blkdev_bnum record_space =                                    
   4346a:	763f           	moveq #63,%d3                               
  size_t count                                                        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
  bool dos_compatibility = format != NULL                             
   4346c:	7a01           	moveq #1,%d5                                
   4346e:	6000 ff42      	braw 433b2 <rtems_bdpart_write+0x3e>        
      goto cleanup;                                                   
    }                                                                 
  }                                                                   
                                                                      
  /* Check format */                                                  
  if (format->type != RTEMS_BDPART_FORMAT_MBR) {                      
   43472:	4a93           	tstl %a3@                                   
   43474:	6600 00a8      	bnew 4351e <rtems_bdpart_write+0x1aa>       
   * Set primary partition count.  If we have more than four partitions we need
   * an extended partition which will contain the partitions of number four and
   * above as logical partitions.  If we have four or less partitions we can
   * use the primary partition table.                                 
   */                                                                 
  ppc = count <= 4 ? count : 3;                                       
   43478:	7004           	moveq #4,%d0                                
   4347a:	b082           	cmpl %d2,%d0                                
   4347c:	6400 00a6      	bccw 43524 <rtems_bdpart_write+0x1b0>       
   43480:	7803           	moveq #3,%d4                                
                                                                      
  /*                                                                  
   * Check that the first primary partition starts at head one and sector one
   * under the virtual one head and 63 sectors geometry if necessary. 
   */                                                                 
  if (dos_compatibility && pt [0].begin != RTEMS_BDPART_MBR_CYLINDER_SIZE) {
   43482:	4a05           	tstb %d5                                    
   43484:	6740           	beqs 434c6 <rtems_bdpart_write+0x152>       <== NEVER TAKEN
   43486:	703f           	moveq #63,%d0                               
   43488:	b086           	cmpl %d6,%d0                                
   4348a:	673a           	beqs 434c6 <rtems_bdpart_write+0x152>       <== ALWAYS TAKEN
  for (i = 0; i < count; ++i) {                                       
    const rtems_bdpart_partition *p = pt + i;                         
                                                                      
    /* Check that begin and end are proper within the disk */         
    if (p->begin >= disk_end || p->end > disk_end) {                  
      esc = RTEMS_INVALID_NUMBER;                                     
   4348c:	740a           	moveq #10,%d2                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
cleanup:                                                              
                                                                      
  if (fd >= 0) {                                                      
   4348e:	222e fff8      	movel %fp@(-8),%d1                          
   43492:	6d0a           	blts 4349e <rtems_bdpart_write+0x12a>       <== NEVER TAKEN
    close( fd);                                                       
   43494:	2f01           	movel %d1,%sp@-                             
   43496:	4eb9 0004 5070 	jsr 45070 <close>                           
   4349c:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  if (block != NULL) {                                                
   4349e:	222e fff0      	movel %fp@(-16),%d1                         
   434a2:	6716           	beqs 434ba <rtems_bdpart_write+0x146>       <== NEVER TAKEN
    rtems_bdbuf_sync( block);                                         
   434a4:	2f01           	movel %d1,%sp@-                             
   434a6:	4eb9 0004 f9b4 	jsr 4f9b4 <rtems_bdbuf_sync>                
   434ac:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  return esc;                                                         
   434ae:	2002           	movel %d2,%d0                               
}                                                                     
   434b0:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            
   434b6:	4e5e           	unlk %fp                                    
   434b8:	4e75           	rts                                         
                                                                      
  if (block != NULL) {                                                
    rtems_bdbuf_sync( block);                                         
  }                                                                   
                                                                      
  return esc;                                                         
   434ba:	2002           	movel %d2,%d0                               <== NOT EXECUTED
}                                                                     
   434bc:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   434c2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   434c4:	4e75           	rts                                         <== NOT EXECUTED
   * Each logical partition is described via one EBR preceding the partition.
   * The space for the EBR and maybe some space which is needed for DOS
   * compatibility resides between the partitions.  So there have to be gaps of
   * the appropriate size between the partitions.                     
   */                                                                 
  for (i = ppc; i < count; ++i) {                                     
   434c6:	b484           	cmpl %d4,%d2                                
   434c8:	6360           	blss 4352a <rtems_bdpart_write+0x1b6>       <== NEVER TAKEN
    if ((pt [i].begin - pt [i - 1].end) < record_space) {             
   434ca:	2a04           	movel %d4,%d5                               
   434cc:	2204           	movel %d4,%d1                               
   434ce:	2004           	movel %d4,%d0                               
   434d0:	5380           	subql #1,%d0                                
   434d2:	2c00           	movel %d0,%d6                               
   434d4:	e98d           	lsll #4,%d5                                 
   434d6:	ed89           	lsll #6,%d1                                 
   434d8:	206e 0010      	moveal %fp@(16),%a0                         
   434dc:	9285           	subl %d5,%d1                                
   434de:	e98e           	lsll #4,%d6                                 
   434e0:	ed88           	lsll #6,%d0                                 
   434e2:	2230 1800      	movel %a0@(00000000,%d1:l),%d1              
   434e6:	9086           	subl %d6,%d0                                
   434e8:	92b0 0804      	subl %a0@(00000004,%d0:l),%d1               
   434ec:	b283           	cmpl %d3,%d1                                
   434ee:	659c           	bcss 4348c <rtems_bdpart_write+0x118>       <== NEVER TAKEN
   434f0:	2004           	movel %d4,%d0                               
   434f2:	5280           	addql #1,%d0                                
   434f4:	2a00           	movel %d0,%d5                               
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   434f6:	2204           	movel %d4,%d1                               
   * The space for the EBR and maybe some space which is needed for DOS
   * compatibility resides between the partitions.  So there have to be gaps of
   * the appropriate size between the partitions.                     
   */                                                                 
  for (i = ppc; i < count; ++i) {                                     
    if ((pt [i].begin - pt [i - 1].end) < record_space) {             
   434f8:	e98d           	lsll #4,%d5                                 
   434fa:	ed88           	lsll #6,%d0                                 
   434fc:	9085           	subl %d5,%d0                                
   434fe:	d088           	addl %a0,%d0                                
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   43500:	2040           	moveal %d0,%a0                              
   * Each logical partition is described via one EBR preceding the partition.
   * The space for the EBR and maybe some space which is needed for DOS
   * compatibility resides between the partitions.  So there have to be gaps of
   * the appropriate size between the partitions.                     
   */                                                                 
  for (i = ppc; i < count; ++i) {                                     
   43502:	5281           	addql #1,%d1                                
   43504:	0680 0000 0030 	addil #48,%d0                               
   4350a:	b282           	cmpl %d2,%d1                                
   4350c:	641c           	bccs 4352a <rtems_bdpart_write+0x1b6>       
    if ((pt [i].begin - pt [i - 1].end) < record_space) {             
   4350e:	2250           	moveal %a0@,%a1                             
   43510:	93e8 ffd4      	subal %a0@(-44),%a1                         
   43514:	b689           	cmpl %a1,%d3                                
   43516:	63e8           	blss 43500 <rtems_bdpart_write+0x18c>       <== ALWAYS TAKEN
  for (i = 0; i < count; ++i) {                                       
    const rtems_bdpart_partition *p = pt + i;                         
                                                                      
    /* Check that begin and end are proper within the disk */         
    if (p->begin >= disk_end || p->end > disk_end) {                  
      esc = RTEMS_INVALID_NUMBER;                                     
   43518:	740a           	moveq #10,%d2                               <== NOT EXECUTED
   4351a:	6000 ff72      	braw 4348e <rtems_bdpart_write+0x11a>       <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  /* Check format */                                                  
  if (format->type != RTEMS_BDPART_FORMAT_MBR) {                      
    esc = RTEMS_NOT_IMPLEMENTED;                                      
   4351e:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   43520:	6000 ff6c      	braw 4348e <rtems_bdpart_write+0x11a>       <== NOT EXECUTED
   * Set primary partition count.  If we have more than four partitions we need
   * an extended partition which will contain the partitions of number four and
   * above as logical partitions.  If we have four or less partitions we can
   * use the primary partition table.                                 
   */                                                                 
  ppc = count <= 4 ? count : 3;                                       
   43524:	2802           	movel %d2,%d4                               <== NOT EXECUTED
   43526:	6000 ff5a      	braw 43482 <rtems_bdpart_write+0x10e>       <== NOT EXECUTED
   4352a:	246e 0010      	moveal %fp@(16),%a2                         
   4352e:	2c0e           	movel %fp,%d6                               
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   43530:	284a           	moveal %a2,%a4                              
   43532:	4285           	clrl %d5                                    
   43534:	0686 ffff ffef 	addil #-17,%d6                              
   4353a:	4bf9 0004 2d6a 	lea 42d6a <rtems_bdpart_to_mbr_partition_type>,%a5
   43540:	2e04           	movel %d4,%d7                               
   43542:	2d43 ffe8      	movel %d3,%fp@(-24)                         
    uint8_t type = 0;                                                 
                                                                      
    const rtems_bdpart_partition *p = pt + i;                         
                                                                      
    /* Check type */                                                  
    if (!rtems_bdpart_to_mbr_partition_type( p->type, &type)) {       
   43546:	2f06           	movel %d6,%sp@-                             
   43548:	486c 0008      	pea %a4@(8)                                 
      goto cleanup;                                                   
    }                                                                 
  }                                                                   
                                                                      
  /* Check that we can convert the parition descriptions to the MBR format */
  for (i = 0; i < count; ++i) {                                       
   4354c:	5285           	addql #1,%d5                                
    uint8_t type = 0;                                                 
   4354e:	4200           	clrb %d0                                    
   43550:	1d40 ffef      	moveb %d0,%fp@(-17)                         
                                                                      
    const rtems_bdpart_partition *p = pt + i;                         
                                                                      
    /* Check type */                                                  
    if (!rtems_bdpart_to_mbr_partition_type( p->type, &type)) {       
   43554:	4e95           	jsr %a5@                                    
   43556:	508f           	addql #8,%sp                                
   43558:	4a00           	tstb %d0                                    
   4355a:	6700 01f4      	beqw 43750 <rtems_bdpart_write+0x3dc>       
      esc =  RTEMS_INVALID_ID;                                        
      goto cleanup;                                                   
    }                                                                 
                                                                      
    /* Check flags */                                                 
    if (p->flags > 0xffU) {                                           
   4355e:	262c 0028      	movel %a4@(40),%d3                          
   43562:	282c 002c      	movel %a4@(44),%d4                          
   43566:	4280           	clrl %d0                                    
   43568:	223c 0000 00ff 	movel #255,%d1                              
   4356e:	9881           	subl %d1,%d4                                
   43570:	9780           	subxl %d0,%d3                               
   43572:	6200 01dc      	bhiw 43750 <rtems_bdpart_write+0x3dc>       
   43576:	49ec 0030      	lea %a4@(48),%a4                            
      goto cleanup;                                                   
    }                                                                 
  }                                                                   
                                                                      
  /* Check that we can convert the parition descriptions to the MBR format */
  for (i = 0; i < count; ++i) {                                       
   4357a:	ba82           	cmpl %d2,%d5                                
   4357c:	65c8           	bcss 43546 <rtems_bdpart_write+0x1d2>       
    /* Check ID */                                                    
    /* TODO */                                                        
  }                                                                   
                                                                      
  /* New MBR */                                                       
  sc = rtems_bdpart_new_record( dd, 0, &block);                       
   4357e:	486e fff0      	pea %fp@(-16)                               
   43582:	49fa fd68      	lea %pc@(432ec <rtems_bdpart_new_record>),%a4
   43586:	2807           	movel %d7,%d4                               
   43588:	42a7           	clrl %sp@-                                  
   4358a:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   4358e:	262e ffe8      	movel %fp@(-24),%d3                         
   43592:	4e94           	jsr %a4@                                    
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43594:	4fef 000c      	lea %sp@(12),%sp                            
   43598:	4a80           	tstl %d0                                    
   4359a:	6600 01ba      	bnew 43756 <rtems_bdpart_write+0x3e2>       
  }                                                                   
                                                                      
  /* Write disk ID */                                                 
  rtems_uint32_to_little_endian(                                      
    format->mbr.disk_id,                                              
    block->buffer + RTEMS_BDPART_MBR_OFFSET_DISK_ID                   
   4359e:	206e fff0      	moveal %fp@(-16),%a0                        
   435a2:	2228 001a      	movel %a0@(26),%d1                          
    esc = sc;                                                         
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Write disk ID */                                                 
  rtems_uint32_to_little_endian(                                      
   435a6:	2041           	moveal %d1,%a0                              
   435a8:	41e8 01b8      	lea %a0@(440),%a0                           
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   435ac:	0681 0000 01bc 	addil #444,%d1                              
    esc = sc;                                                         
    goto cleanup;                                                     
  }                                                                   
                                                                      
  /* Write disk ID */                                                 
  rtems_uint32_to_little_endian(                                      
   435b2:	202b 0004      	movel %a3@(4),%d0                           
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
    data [i] = (uint8_t) value;                                       
   435b6:	10c0           	moveb %d0,%a0@+                             
    value >>= 8;                                                      
   435b8:	e088           	lsrl #8,%d0                                 
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   435ba:	b288           	cmpl %a0,%d1                                
   435bc:	66f8           	bnes 435b6 <rtems_bdpart_write+0x242>       
    format->mbr.disk_id,                                              
    block->buffer + RTEMS_BDPART_MBR_OFFSET_DISK_ID                   
  );                                                                  
                                                                      
  /* Write primary partition table */                                 
  data = block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0;             
   435be:	206e fff0      	moveal %fp@(-16),%a0                        
   435c2:	4285           	clrl %d5                                    
   435c4:	2028 001a      	movel %a0@(26),%d0                          
   435c8:	2a40           	moveal %d0,%a5                              
   435ca:	4bed 01be      	lea %a5@(446),%a5                           
  for (i = 0; i < ppc; ++i) {                                         
   435ce:	4a84           	tstl %d4                                    
   435d0:	6766           	beqs 43638 <rtems_bdpart_write+0x2c4>       <== NEVER TAKEN
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   435d2:	2a04           	movel %d4,%d5                               
   435d4:	2240           	moveal %d0,%a1                              
   435d6:	43e9 01ca      	lea %a1@(458),%a1                           
    format->mbr.disk_id,                                              
    block->buffer + RTEMS_BDPART_MBR_OFFSET_DISK_ID                   
  );                                                                  
                                                                      
  /* Write primary partition table */                                 
  data = block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0;             
   435da:	264d           	moveal %a5,%a3                              
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   435dc:	e98d           	lsll #4,%d5                                 
   435de:	2205           	movel %d5,%d1                               
   435e0:	0681 0000 01be 	addil #446,%d1                              
   435e6:	d081           	addl %d1,%d0                                
   435e8:	2d40 ffe8      	movel %d0,%fp@(-24)                         
                                                                      
    /* Write partition entry */                                       
    rtems_bdpart_write_mbr_partition(                                 
      data,                                                           
      p->begin,                                                       
      p->end - p->begin,                                              
   435ec:	2012           	movel %a2@,%d0                              
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   435ee:	41eb 0008      	lea %a3@(8),%a0                             
  data = block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0;             
  for (i = 0; i < ppc; ++i) {                                         
    const rtems_bdpart_partition *p = pt + i;                         
                                                                      
    /* Write partition entry */                                       
    rtems_bdpart_write_mbr_partition(                                 
   435f2:	222a 0004      	movel %a2@(4),%d1                           
   435f6:	9280           	subl %d0,%d1                                
      data,                                                           
      p->begin,                                                       
      p->end - p->begin,                                              
      rtems_bdpart_mbr_partition_type( p->type),                      
      (uint8_t) p->flags                                              
   435f8:	1c2a 002f      	moveb %a2@(47),%d6                          
  if (block != NULL) {                                                
    rtems_bdbuf_sync( block);                                         
  }                                                                   
                                                                      
  return esc;                                                         
}                                                                     
   435fc:	1e2a 0008      	moveb %a2@(8),%d7                           
    data [i] = (uint8_t) value;                                       
   43600:	10c0           	moveb %d0,%a0@+                             
    value >>= 8;                                                      
   43602:	e088           	lsrl #8,%d0                                 
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   43604:	b1c9           	cmpal %a1,%a0                               
   43606:	66f8           	bnes 43600 <rtems_bdpart_write+0x28c>       
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   43608:	200b           	movel %a3,%d0                               
   4360a:	0680 0000 0010 	addil #16,%d0                               
   43610:	2049           	moveal %a1,%a0                              
    data [i] = (uint8_t) value;                                       
   43612:	10c1           	moveb %d1,%a0@+                             
    value >>= 8;                                                      
   43614:	e089           	lsrl #8,%d1                                 
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   43616:	b088           	cmpl %a0,%d0                                
   43618:	66f8           	bnes 43612 <rtems_bdpart_write+0x29e>       
   4361a:	45ea 0030      	lea %a2@(48),%a2                            
   4361e:	43e9 0010      	lea %a1@(16),%a1                            
  uint8_t flags                                                       
)                                                                     
{                                                                     
  rtems_uint32_to_little_endian( begin, data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  rtems_uint32_to_little_endian( size, data + RTEMS_BDPART_MBR_OFFSET_SIZE);
  data [RTEMS_BDPART_MBR_OFFSET_TYPE] = type;                         
   43622:	1747 0004      	moveb %d7,%a3@(4)                           
  data [RTEMS_BDPART_MBR_OFFSET_FLAGS] = flags;                       
   43626:	1686           	moveb %d6,%a3@                              
      p->end - p->begin,                                              
      rtems_bdpart_mbr_partition_type( p->type),                      
      (uint8_t) p->flags                                              
    );                                                                
                                                                      
    data += RTEMS_BDPART_MBR_TABLE_ENTRY_SIZE;                        
   43628:	2648           	moveal %a0,%a3                              
    block->buffer + RTEMS_BDPART_MBR_OFFSET_DISK_ID                   
  );                                                                  
                                                                      
  /* Write primary partition table */                                 
  data = block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0;             
  for (i = 0; i < ppc; ++i) {                                         
   4362a:	b1ee ffe8      	cmpal %fp@(-24),%a0                         
   4362e:	66bc           	bnes 435ec <rtems_bdpart_write+0x278>       
   43630:	dbc5           	addal %d5,%a5                               
                                                                      
    data += RTEMS_BDPART_MBR_TABLE_ENTRY_SIZE;                        
  }                                                                   
                                                                      
  /* Write extended partition with logical partitions if necessary */ 
  if (ppc != count) {                                                 
   43632:	b484           	cmpl %d4,%d2                                
   43634:	6700 0114      	beqw 4374a <rtems_bdpart_write+0x3d6>       
    rtems_blkdev_bnum ebr = 0; /* Extended boot record block index */ 
                                                                      
    /* Begin of extended partition */                                 
    rtems_blkdev_bnum ep_begin = pt [ppc].begin - record_space;       
   43638:	2004           	movel %d4,%d0                               
  uint32_t size,                                                      
  uint8_t type,                                                       
  uint8_t flags                                                       
)                                                                     
{                                                                     
  rtems_uint32_to_little_endian( begin, data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
   4363a:	41ed 0008      	lea %a5@(8),%a0                             
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   4363e:	43ed 000c      	lea %a5@(12),%a1                            
  /* Write extended partition with logical partitions if necessary */ 
  if (ppc != count) {                                                 
    rtems_blkdev_bnum ebr = 0; /* Extended boot record block index */ 
                                                                      
    /* Begin of extended partition */                                 
    rtems_blkdev_bnum ep_begin = pt [ppc].begin - record_space;       
   43642:	ed88           	lsll #6,%d0                                 
   43644:	246e 0010      	moveal %fp@(16),%a2                         
   43648:	9085           	subl %d5,%d0                                
   4364a:	d5c0           	addal %d0,%a2                               
   4364c:	2212           	movel %a2@,%d1                              
   4364e:	9283           	subl %d3,%d1                                
                                                                      
    /* Write extended partition */                                    
    rtems_bdpart_write_mbr_partition(                                 
   43650:	202e fff4      	movel %fp@(-12),%d0                         
   43654:	9081           	subl %d1,%d0                                
  /* Write extended partition with logical partitions if necessary */ 
  if (ppc != count) {                                                 
    rtems_blkdev_bnum ebr = 0; /* Extended boot record block index */ 
                                                                      
    /* Begin of extended partition */                                 
    rtems_blkdev_bnum ep_begin = pt [ppc].begin - record_space;       
   43656:	2d41 ffe8      	movel %d1,%fp@(-24)                         
    data [i] = (uint8_t) value;                                       
   4365a:	10c1           	moveb %d1,%a0@+                             
    value >>= 8;                                                      
   4365c:	e089           	lsrl #8,%d1                                 
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   4365e:	b3c8           	cmpal %a0,%a1                               
   43660:	66f8           	bnes 4365a <rtems_bdpart_write+0x2e6>       
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   43662:	220d           	movel %a5,%d1                               
   43664:	0681 0000 0010 	addil #16,%d1                               
    data [i] = (uint8_t) value;                                       
   4366a:	10c0           	moveb %d0,%a0@+                             
    value >>= 8;                                                      
   4366c:	e088           	lsrl #8,%d0                                 
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   4366e:	b288           	cmpl %a0,%d1                                
   43670:	66f8           	bnes 4366a <rtems_bdpart_write+0x2f6>       
  uint8_t flags                                                       
)                                                                     
{                                                                     
  rtems_uint32_to_little_endian( begin, data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  rtems_uint32_to_little_endian( size, data + RTEMS_BDPART_MBR_OFFSET_SIZE);
  data [RTEMS_BDPART_MBR_OFFSET_TYPE] = type;                         
   43672:	7a05           	moveq #5,%d5                                
  data [RTEMS_BDPART_MBR_OFFSET_FLAGS] = flags;                       
   43674:	4215           	clrb %a5@                                   
  uint8_t flags                                                       
)                                                                     
{                                                                     
  rtems_uint32_to_little_endian( begin, data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  rtems_uint32_to_little_endian( size, data + RTEMS_BDPART_MBR_OFFSET_SIZE);
  data [RTEMS_BDPART_MBR_OFFSET_TYPE] = type;                         
   43676:	1b45 0004      	moveb %d5,%a5@(4)                           
      RTEMS_BDPART_MBR_EXTENDED,                                      
      0                                                               
    );                                                                
                                                                      
    /* Write logical partitions */                                    
    for (i = ppc; i < count; ++i) {                                   
   4367a:	b484           	cmpl %d4,%d2                                
   4367c:	6300 00cc      	blsw 4374a <rtems_bdpart_write+0x3d6>       
   43680:	2c04           	movel %d4,%d6                               
   43682:	5286           	addql #1,%d6                                
    RTEMS_BDPART_MBR_SIGNATURE_1;                                     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code rtems_bdpart_write(                                 
   43684:	2206           	movel %d6,%d1                               
   43686:	2006           	movel %d6,%d0                               
   43688:	2a42           	moveal %d2,%a5                              
   4368a:	e989           	lsll #4,%d1                                 
   4368c:	ed88           	lsll #6,%d0                                 
   4368e:	266e 0010      	moveal %fp@(16),%a3                         
   43692:	9081           	subl %d1,%d0                                
   43694:	d7c0           	addal %d0,%a3                               
        );                                                            
      }                                                               
                                                                      
      /* New EBR */                                                   
      ebr = p->begin - record_space;                                  
      sc = rtems_bdpart_new_record( dd, ebr, &block);                 
   43696:	486e fff0      	pea %fp@(-16)                               
   4369a:	2012           	movel %a2@,%d0                              
   4369c:	9083           	subl %d3,%d0                                
   4369e:	2f00           	movel %d0,%sp@-                             
   436a0:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   436a4:	4e94           	jsr %a4@                                    
      if (sc != RTEMS_SUCCESSFUL) {                                   
   436a6:	4fef 000c      	lea %sp@(12),%sp                            
   436aa:	4a80           	tstl %d0                                    
   436ac:	6600 00a8      	bnew 43756 <rtems_bdpart_write+0x3e2>       
        esc = sc;                                                     
        goto cleanup;                                                 
      }                                                               
                                                                      
      /* Write first partition entry */                               
      rtems_bdpart_write_mbr_partition(                               
   436b0:	222a 0004      	movel %a2@(4),%d1                           
   436b4:	9292           	subl %a2@,%d1                               
        block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0,              
   436b6:	206e fff0      	moveal %fp@(-16),%a0                        
    data [i] = (uint8_t) value;                                       
   436ba:	4202           	clrb %d2                                    
   436bc:	2268 001a      	moveal %a0@(26),%a1                         
  uint8_t type,                                                       
  uint8_t flags                                                       
)                                                                     
{                                                                     
  rtems_uint32_to_little_endian( begin, data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  rtems_uint32_to_little_endian( size, data + RTEMS_BDPART_MBR_OFFSET_SIZE);
   436c0:	41e9 01ca      	lea %a1@(458),%a0                           
      rtems_bdpart_write_mbr_partition(                               
        block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_0,              
        record_space,                                                 
        p->end - p->begin,                                            
        rtems_bdpart_mbr_partition_type( p->type),                    
        (uint8_t) p->flags                                            
   436c4:	1a2a 002f      	moveb %a2@(47),%d5                          
  if (block != NULL) {                                                
    rtems_bdbuf_sync( block);                                         
  }                                                                   
                                                                      
  return esc;                                                         
}                                                                     
   436c8:	1e2a 0008      	moveb %a2@(8),%d7                           
   436cc:	1343 01c6      	moveb %d3,%a1@(454)                         
   436d0:	1342 01c7      	moveb %d2,%a1@(455)                         
   436d4:	1342 01c8      	moveb %d2,%a1@(456)                         
   436d8:	1342 01c9      	moveb %d2,%a1@(457)                         
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   436dc:	5280           	addql #1,%d0                                
   436de:	7404           	moveq #4,%d2                                
    data [i] = (uint8_t) value;                                       
   436e0:	10c1           	moveb %d1,%a0@+                             
    value >>= 8;                                                      
   436e2:	e089           	lsrl #8,%d1                                 
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   436e4:	b480           	cmpl %d0,%d2                                
   436e6:	66f4           	bnes 436dc <rtems_bdpart_write+0x368>       
  uint8_t flags                                                       
)                                                                     
{                                                                     
  rtems_uint32_to_little_endian( begin, data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  rtems_uint32_to_little_endian( size, data + RTEMS_BDPART_MBR_OFFSET_SIZE);
  data [RTEMS_BDPART_MBR_OFFSET_TYPE] = type;                         
   436e8:	1347 01c2      	moveb %d7,%a1@(450)                         
  data [RTEMS_BDPART_MBR_OFFSET_FLAGS] = flags;                       
   436ec:	1345 01be      	moveb %d5,%a1@(446)                         
      RTEMS_BDPART_MBR_EXTENDED,                                      
      0                                                               
    );                                                                
                                                                      
    /* Write logical partitions */                                    
    for (i = ppc; i < count; ++i) {                                   
   436f0:	bbc6           	cmpal %d6,%a5                               
   436f2:	6768           	beqs 4375c <rtems_bdpart_write+0x3e8>       
      const rtems_bdpart_partition *p = pt + i;                       
   436f4:	244b           	moveal %a3,%a2                              
                                                                      
      /* Write second partition entry */                              
      if (i > ppc) {                                                  
   436f6:	b886           	cmpl %d6,%d4                                
   436f8:	6446           	bccs 43740 <rtems_bdpart_write+0x3cc>       <== NEVER TAKEN
        rtems_blkdev_bnum begin = p->begin - record_space;            
   436fa:	2a13           	movel %a3@,%d5                              
   436fc:	9a83           	subl %d3,%d5                                
   436fe:	4280           	clrl %d0                                    
                                                                      
        rtems_bdpart_write_mbr_partition(                             
          block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_1,            
   43700:	206e fff0      	moveal %fp@(-16),%a0                        
                                                                      
      /* Write second partition entry */                              
      if (i > ppc) {                                                  
        rtems_blkdev_bnum begin = p->begin - record_space;            
                                                                      
        rtems_bdpart_write_mbr_partition(                             
   43704:	222e fff4      	movel %fp@(-12),%d1                         
   43708:	9285           	subl %d5,%d1                                
   4370a:	9aae ffe8      	subl %fp@(-24),%d5                          
          block->buffer + RTEMS_BDPART_MBR_OFFSET_TABLE_1,            
   4370e:	2268 001a      	moveal %a0@(26),%a1                         
  uint32_t size,                                                      
  uint8_t type,                                                       
  uint8_t flags                                                       
)                                                                     
{                                                                     
  rtems_uint32_to_little_endian( begin, data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
   43712:	41e9 01d6      	lea %a1@(470),%a0                           
   43716:	5280           	addql #1,%d0                                
   43718:	7e04           	moveq #4,%d7                                
    data [i] = (uint8_t) value;                                       
   4371a:	10c5           	moveb %d5,%a0@+                             
    value >>= 8;                                                      
   4371c:	e08d           	lsrl #8,%d5                                 
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   4371e:	be80           	cmpl %d0,%d7                                
   43720:	66f4           	bnes 43716 <rtems_bdpart_write+0x3a2>       
  rtems_uint32_to_little_endian( size, data + RTEMS_BDPART_MBR_OFFSET_SIZE);
   43722:	41e9 01da      	lea %a1@(474),%a0                           
   43726:	4280           	clrl %d0                                    
   43728:	5280           	addql #1,%d0                                
   4372a:	7404           	moveq #4,%d2                                
    data [i] = (uint8_t) value;                                       
   4372c:	10c1           	moveb %d1,%a0@+                             
    value >>= 8;                                                      
   4372e:	e089           	lsrl #8,%d1                                 
                                                                      
static inline void rtems_uint32_to_little_endian( uint32_t value, uint8_t *data)
{                                                                     
  size_t i = 0;                                                       
                                                                      
  for (i = 0; i < 4; ++i) {                                           
   43730:	b480           	cmpl %d0,%d2                                
   43732:	66f4           	bnes 43728 <rtems_bdpart_write+0x3b4>       
  data [RTEMS_BDPART_MBR_OFFSET_TYPE] = type;                         
   43734:	7a05           	moveq #5,%d5                                
  data [RTEMS_BDPART_MBR_OFFSET_FLAGS] = flags;                       
   43736:	4207           	clrb %d7                                    
  uint8_t flags                                                       
)                                                                     
{                                                                     
  rtems_uint32_to_little_endian( begin, data + RTEMS_BDPART_MBR_OFFSET_BEGIN);
  rtems_uint32_to_little_endian( size, data + RTEMS_BDPART_MBR_OFFSET_SIZE);
  data [RTEMS_BDPART_MBR_OFFSET_TYPE] = type;                         
   43738:	1345 01d2      	moveb %d5,%a1@(466)                         
  data [RTEMS_BDPART_MBR_OFFSET_FLAGS] = flags;                       
   4373c:	1347 01ce      	moveb %d7,%a1@(462)                         
   43740:	5286           	addql #1,%d6                                
   43742:	47eb 0030      	lea %a3@(48),%a3                            
   43746:	6000 ff4e      	braw 43696 <rtems_bdpart_write+0x322>       
  const rtems_bdpart_partition *pt,                                   
  size_t count                                                        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
   4374a:	4282           	clrl %d2                                    <== NOT EXECUTED
   4374c:	6000 fd40      	braw 4348e <rtems_bdpart_write+0x11a>       <== NOT EXECUTED
   43750:	7404           	moveq #4,%d2                                <== NOT EXECUTED
   43752:	6000 fd3a      	braw 4348e <rtems_bdpart_write+0x11a>       <== NOT EXECUTED
      }                                                               
                                                                      
      /* New EBR */                                                   
      ebr = p->begin - record_space;                                  
      sc = rtems_bdpart_new_record( dd, ebr, &block);                 
      if (sc != RTEMS_SUCCESSFUL) {                                   
   43756:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   43758:	6000 fd34      	braw 4348e <rtems_bdpart_write+0x11a>       <== NOT EXECUTED
  const rtems_bdpart_partition *pt,                                   
  size_t count                                                        
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_status_code esc = RTEMS_SUCCESSFUL;                           
   4375c:	4202           	clrb %d2                                    
   4375e:	6000 fd2e      	braw 4348e <rtems_bdpart_write+0x11a>       
	...                                                                  
                                                                      

000436ca <rtems_blkdev_create_partition>: const char *partition, const char *parent_block_device, rtems_blkdev_bnum media_block_begin, rtems_blkdev_bnum media_block_count ) {
   436ca:	4e56 ffa8      	linkw %fp,#-88                              
   436ce:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  int fd = open(parent_block_device, O_RDWR);                         
   436d2:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   436d6:	2f2e 000c      	movel %fp@(12),%sp@-                        
   436da:	4eb9 0004 5e78 	jsr 45e78 <open>                            
                                                                      
  if (fd >= 0) {                                                      
   436e0:	508f           	addql #8,%sp                                
  rtems_blkdev_bnum media_block_begin,                                
  rtems_blkdev_bnum media_block_count                                 
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  int fd = open(parent_block_device, O_RDWR);                         
   436e2:	2600           	movel %d0,%d3                               
                                                                      
  if (fd >= 0) {                                                      
   436e4:	6c0e           	bges 436f4 <rtems_blkdev_create_partition+0x2a>
                                                                      
    if (sc != RTEMS_SUCCESSFUL) {                                     
      close(fd);                                                      
    }                                                                 
  } else {                                                            
    sc = RTEMS_INVALID_ID;                                            
   436e6:	7404           	moveq #4,%d2                                
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   436e8:	2002           	movel %d2,%d0                               
   436ea:	4cee 040c ffa8 	moveml %fp@(-88),%d2-%d3/%a2                
   436f0:	4e5e           	unlk %fp                                    
   436f2:	4e75           	rts                                         
                                                                      
  if (fd >= 0) {                                                      
    int rv;                                                           
    struct stat st;                                                   
                                                                      
    rv = fstat(fd, &st);                                              
   436f4:	486e ffba      	pea %fp@(-70)                               
   436f8:	2f00           	movel %d0,%sp@-                             
   436fa:	4eb9 0004 4fcc 	jsr 44fcc <fstat>                           
    if (rv == 0 && S_ISBLK(st.st_mode)) {                             
   43700:	508f           	addql #8,%sp                                
   43702:	4a80           	tstl %d0                                    
   43704:	6612           	bnes 43718 <rtems_blkdev_create_partition+0x4e><== NEVER TAKEN
   43706:	202e ffc6      	movel %fp@(-58),%d0                         
   4370a:	0280 0000 f000 	andil #61440,%d0                            
   43710:	0c80 0000 6000 	cmpil #24576,%d0                            
   43716:	6718           	beqs 43730 <rtems_blkdev_create_partition+0x66>
    } else {                                                          
      sc = RTEMS_INVALID_NODE;                                        
    }                                                                 
                                                                      
    if (sc != RTEMS_SUCCESSFUL) {                                     
      close(fd);                                                      
   43718:	2f03           	movel %d3,%sp@-                             
  if (fd >= 0) {                                                      
    int rv;                                                           
    struct stat st;                                                   
                                                                      
    rv = fstat(fd, &st);                                              
    if (rv == 0 && S_ISBLK(st.st_mode)) {                             
   4371a:	7415           	moveq #21,%d2                               
    } else {                                                          
      sc = RTEMS_INVALID_NODE;                                        
    }                                                                 
                                                                      
    if (sc != RTEMS_SUCCESSFUL) {                                     
      close(fd);                                                      
   4371c:	4eb9 0004 4c68 	jsr 44c68 <close>                           
   43722:	588f           	addql #4,%sp                                
  } else {                                                            
    sc = RTEMS_INVALID_ID;                                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   43724:	2002           	movel %d2,%d0                               
   43726:	4cee 040c ffa8 	moveml %fp@(-88),%d2-%d3/%a2                
   4372c:	4e5e           	unlk %fp                                    
   4372e:	4e75           	rts                                         
static inline int rtems_disk_fd_get_disk_device(                      
  int fd,                                                             
  rtems_disk_device **dd_ptr                                          
)                                                                     
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_GETDISKDEV, dd_ptr);                   
   43730:	486e ffb6      	pea %fp@(-74)                               
   43734:	2f3c 4004 4209 	movel #1074020873,%sp@-                     
   4373a:	2f03           	movel %d3,%sp@-                             
   4373c:	4eb9 0004 513c 	jsr 4513c <ioctl>                           
    rv = fstat(fd, &st);                                              
    if (rv == 0 && S_ISBLK(st.st_mode)) {                             
      rtems_disk_device *phys_dd;                                     
                                                                      
      rv = rtems_disk_fd_get_disk_device(fd, &phys_dd);               
      if (rv == 0) {                                                  
   43742:	4fef 000c      	lea %sp@(12),%sp                            
   43746:	4a80           	tstl %d0                                    
   43748:	670e           	beqs 43758 <rtems_blkdev_create_partition+0x8e>
    } else {                                                          
      sc = RTEMS_INVALID_NODE;                                        
    }                                                                 
                                                                      
    if (sc != RTEMS_SUCCESSFUL) {                                     
      close(fd);                                                      
   4374a:	2f03           	movel %d3,%sp@-                             
          }                                                           
        } else {                                                      
          sc = RTEMS_NO_MEMORY;                                       
        }                                                             
      } else {                                                        
        sc = RTEMS_NOT_IMPLEMENTED;                                   
   4374c:	7418           	moveq #24,%d2                               
    } else {                                                          
      sc = RTEMS_INVALID_NODE;                                        
    }                                                                 
                                                                      
    if (sc != RTEMS_SUCCESSFUL) {                                     
      close(fd);                                                      
   4374e:	4eb9 0004 4c68 	jsr 44c68 <close>                           
   43754:	588f           	addql #4,%sp                                
   43756:	60cc           	bras 43724 <rtems_blkdev_create_partition+0x5a>
    if (rv == 0 && S_ISBLK(st.st_mode)) {                             
      rtems_disk_device *phys_dd;                                     
                                                                      
      rv = rtems_disk_fd_get_disk_device(fd, &phys_dd);               
      if (rv == 0) {                                                  
        rtems_blkdev_imfs_context *ctx = malloc(sizeof(*ctx));        
   43758:	4878 0076      	pea 76 <DBL_MANT_DIG+0x41>                  
   4375c:	4eb9 0004 5544 	jsr 45544 <malloc>                          
                                                                      
        if (ctx != NULL) {                                            
   43762:	588f           	addql #4,%sp                                
    if (rv == 0 && S_ISBLK(st.st_mode)) {                             
      rtems_disk_device *phys_dd;                                     
                                                                      
      rv = rtems_disk_fd_get_disk_device(fd, &phys_dd);               
      if (rv == 0) {                                                  
        rtems_blkdev_imfs_context *ctx = malloc(sizeof(*ctx));        
   43764:	2440           	moveal %d0,%a2                              
                                                                      
        if (ctx != NULL) {                                            
   43766:	4a80           	tstl %d0                                    
   43768:	6774           	beqs 437de <rtems_blkdev_create_partition+0x114>
          sc = rtems_disk_init_log(                                   
   4376a:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4376e:	2f2e 0010      	movel %fp@(16),%sp@-                        
   43772:	2f2e ffb6      	movel %fp@(-74),%sp@-                       
   43776:	2f00           	movel %d0,%sp@-                             
   43778:	4eb9 0004 39ac 	jsr 439ac <rtems_disk_init_log>             
            phys_dd,                                                  
            media_block_begin,                                        
            media_block_count                                         
          );                                                          
                                                                      
          if (sc == RTEMS_SUCCESSFUL) {                               
   4377e:	4fef 0010      	lea %sp@(16),%sp                            
      rv = rtems_disk_fd_get_disk_device(fd, &phys_dd);               
      if (rv == 0) {                                                  
        rtems_blkdev_imfs_context *ctx = malloc(sizeof(*ctx));        
                                                                      
        if (ctx != NULL) {                                            
          sc = rtems_disk_init_log(                                   
   43782:	2400           	movel %d0,%d2                               
            phys_dd,                                                  
            media_block_begin,                                        
            media_block_count                                         
          );                                                          
                                                                      
          if (sc == RTEMS_SUCCESSFUL) {                               
   43784:	6640           	bnes 437c6 <rtems_blkdev_create_partition+0xfc>
            ctx->fd = fd;                                             
                                                                      
            rv = IMFS_make_generic_node(                              
   43786:	2f0a           	movel %a2,%sp@-                             
   43788:	4879 0006 18de 	pea 618de <rtems_blkdev_imfs_control>       
   4378e:	4878 61ff      	pea 61ff <D_MAX_EXP+0x5a00>                 
   43792:	2f2e 0008      	movel %fp@(8),%sp@-                         
            media_block_begin,                                        
            media_block_count                                         
          );                                                          
                                                                      
          if (sc == RTEMS_SUCCESSFUL) {                               
            ctx->fd = fd;                                             
   43796:	2543 0072      	movel %d3,%a2@(114)                         
                                                                      
            rv = IMFS_make_generic_node(                              
   4379a:	4eb9 0004 45ac 	jsr 445ac <IMFS_make_generic_node>          
              S_IFBLK | S_IRWXU | S_IRWXG | S_IRWXO,                  
              &rtems_blkdev_imfs_control,                             
              ctx                                                     
            );                                                        
                                                                      
            if (rv != 0) {                                            
   437a0:	4fef 0010      	lea %sp@(16),%sp                            
   437a4:	4a80           	tstl %d0                                    
   437a6:	6700 ff40      	beqw 436e8 <rtems_blkdev_create_partition+0x1e>
              free(ctx);                                              
   437aa:	2f0a           	movel %a2,%sp@-                             
              sc = RTEMS_UNSATISFIED;                                 
   437ac:	143c 000d      	moveb #13,%d2                               
              &rtems_blkdev_imfs_control,                             
              ctx                                                     
            );                                                        
                                                                      
            if (rv != 0) {                                            
              free(ctx);                                              
   437b0:	4eb9 0004 4f3c 	jsr 44f3c <free>                            
   437b6:	588f           	addql #4,%sp                                
    } else {                                                          
      sc = RTEMS_INVALID_NODE;                                        
    }                                                                 
                                                                      
    if (sc != RTEMS_SUCCESSFUL) {                                     
      close(fd);                                                      
   437b8:	2f03           	movel %d3,%sp@-                             
   437ba:	4eb9 0004 4c68 	jsr 44c68 <close>                           
   437c0:	588f           	addql #4,%sp                                
   437c2:	6000 ff60      	braw 43724 <rtems_blkdev_create_partition+0x5a>
            if (rv != 0) {                                            
              free(ctx);                                              
              sc = RTEMS_UNSATISFIED;                                 
            }                                                         
          } else {                                                    
            free(ctx);                                                
   437c6:	2f0a           	movel %a2,%sp@-                             
   437c8:	4eb9 0004 4f3c 	jsr 44f3c <free>                            
   437ce:	588f           	addql #4,%sp                                
    } else {                                                          
      sc = RTEMS_INVALID_NODE;                                        
    }                                                                 
                                                                      
    if (sc != RTEMS_SUCCESSFUL) {                                     
      close(fd);                                                      
   437d0:	2f03           	movel %d3,%sp@-                             
   437d2:	4eb9 0004 4c68 	jsr 44c68 <close>                           
   437d8:	588f           	addql #4,%sp                                
   437da:	6000 ff48      	braw 43724 <rtems_blkdev_create_partition+0x5a>
   437de:	2f03           	movel %d3,%sp@-                             
            }                                                         
          } else {                                                    
            free(ctx);                                                
          }                                                           
        } else {                                                      
          sc = RTEMS_NO_MEMORY;                                       
   437e0:	741a           	moveq #26,%d2                               
    } else {                                                          
      sc = RTEMS_INVALID_NODE;                                        
    }                                                                 
                                                                      
    if (sc != RTEMS_SUCCESSFUL) {                                     
      close(fd);                                                      
   437e2:	4eb9 0004 4c68 	jsr 44c68 <close>                           
   437e8:	588f           	addql #4,%sp                                
   437ea:	6000 ff38      	braw 43724 <rtems_blkdev_create_partition+0x5a>
	...                                                                  
                                                                      

0004f1ea <rtems_blkdev_generic_ioctl>: rtems_device_driver rtems_blkdev_generic_ioctl( rtems_device_major_number major __attribute__((unused)), rtems_device_minor_number minor __attribute__((unused)), void * arg) {
   4f1ea:	4e56 0000      	linkw %fp,#0                                
   4f1ee:	2f0a           	movel %a2,%sp@-                             
   4f1f0:	246e 0010      	moveal %fp@(16),%a2                         
    rtems_libio_ioctl_args_t *args = arg;                             
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
   4f1f4:	2052           	moveal %a2@,%a0                             
                                                                      
    if (args->command != RTEMS_BLKIO_REQUEST)                         
   4f1f6:	202a 0004      	movel %a2@(4),%d0                           
    rtems_device_minor_number minor __attribute__((unused)),          
    void                    * arg)                                    
{                                                                     
    rtems_libio_ioctl_args_t *args = arg;                             
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
   4f1fa:	2068 002c      	moveal %a0@(44),%a0                         
                                                                      
    if (args->command != RTEMS_BLKIO_REQUEST)                         
   4f1fe:	0c80 c018 4201 	cmpil #-1072152063,%d0                      
   4f204:	6610           	bnes 4f216 <rtems_blkdev_generic_ioctl+0x2c><== ALWAYS TAKEN
    {                                                                 
        /*                                                            
         * It is not allowed to directly access the driver circumventing the
         * cache.                                                     
         */                                                           
        args->ioctl_return = -1;                                      
   4f206:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4f208:	2540 000c      	movel %d0,%a2@(12)                          <== NOT EXECUTED
    }                                                                 
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4f20c:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   4f210:	4280           	clrl %d0                                    <== NOT EXECUTED
   4f212:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4f214:	4e75           	rts                                         <== NOT EXECUTED
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
                                                                      
    if (args->command != RTEMS_BLKIO_REQUEST)                         
    {                                                                 
        args->ioctl_return = dd->ioctl(dd,                            
   4f216:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4f21a:	2f00           	movel %d0,%sp@-                             
   4f21c:	2f08           	movel %a0,%sp@-                             
   4f21e:	2068 0038      	moveal %a0@(56),%a0                         
   4f222:	4e90           	jsr %a0@                                    
   4f224:	4fef 000c      	lea %sp@(12),%sp                            
   4f228:	2540 000c      	movel %d0,%a2@(12)                          
         */                                                           
        args->ioctl_return = -1;                                      
    }                                                                 
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4f22c:	246e fffc      	moveal %fp@(-4),%a2                         
   4f230:	4280           	clrl %d0                                    
   4f232:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004f196 <rtems_blkdev_generic_open>: rtems_device_driver rtems_blkdev_generic_open( rtems_device_major_number major, rtems_device_minor_number minor, void * arg) {
   4f196:	4e56 0000      	linkw %fp,#0                                
  rtems_libio_open_close_args_t *oc = arg;                            
  rtems_libio_t *iop = oc->iop;                                       
   4f19a:	206e 0010      	moveal %fp@(16),%a0                         
rtems_device_driver                                                   
rtems_blkdev_generic_open(                                            
    rtems_device_major_number major,                                  
    rtems_device_minor_number minor,                                  
    void                    * arg)                                    
{                                                                     
   4f19e:	2f0a           	movel %a2,%sp@-                             
  rtems_libio_open_close_args_t *oc = arg;                            
  rtems_libio_t *iop = oc->iop;                                       
   4f1a0:	2450           	moveal %a0@,%a2                             
   4f1a2:	222e 000c      	movel %fp@(12),%d1                          
   4f1a6:	202e 0008      	movel %fp@(8),%d0                           
  dev_t dev = rtems_filesystem_make_dev_t(major, minor);              
  rtems_disk_device *dd = rtems_disk_obtain(dev);                     
   4f1aa:	2f01           	movel %d1,%sp@-                             
   4f1ac:	2f00           	movel %d0,%sp@-                             
   4f1ae:	4eb9 0004 37e2 	jsr 437e2 <rtems_disk_obtain>               
                                                                      
  iop->data1 = dd;                                                    
                                                                      
  if (dd != NULL)                                                     
   4f1b4:	508f           	addql #8,%sp                                
  rtems_libio_open_close_args_t *oc = arg;                            
  rtems_libio_t *iop = oc->iop;                                       
  dev_t dev = rtems_filesystem_make_dev_t(major, minor);              
  rtems_disk_device *dd = rtems_disk_obtain(dev);                     
                                                                      
  iop->data1 = dd;                                                    
   4f1b6:	2540 002c      	movel %d0,%a2@(44)                          
                                                                      
  if (dd != NULL)                                                     
   4f1ba:	670a           	beqs 4f1c6 <rtems_blkdev_generic_open+0x30> <== NEVER TAKEN
    return RTEMS_SUCCESSFUL;                                          
  else                                                                
    return RTEMS_UNSATISFIED;                                         
}                                                                     
   4f1bc:	246e fffc      	moveal %fp@(-4),%a2                         
  rtems_disk_device *dd = rtems_disk_obtain(dev);                     
                                                                      
  iop->data1 = dd;                                                    
                                                                      
  if (dd != NULL)                                                     
    return RTEMS_SUCCESSFUL;                                          
   4f1c0:	4280           	clrl %d0                                    
  else                                                                
    return RTEMS_UNSATISFIED;                                         
}                                                                     
   4f1c2:	4e5e           	unlk %fp                                    
   4f1c4:	4e75           	rts                                         
   4f1c6:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
  iop->data1 = dd;                                                    
                                                                      
  if (dd != NULL)                                                     
    return RTEMS_SUCCESSFUL;                                          
  else                                                                
    return RTEMS_UNSATISFIED;                                         
   4f1ca:	700d           	moveq #13,%d0                               <== NOT EXECUTED
}                                                                     
   4f1cc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004f000 <rtems_blkdev_generic_read>: rtems_device_driver rtems_blkdev_generic_read( rtems_device_major_number major __attribute__((unused)), rtems_device_minor_number minor __attribute__((unused)), void * arg) {
   4f000:	4e56 ffd4      	linkw %fp,#-44                              
   4f004:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4f008:	266e 0010      	moveal %fp@(16),%a3                         
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
    uint32_t block_size = dd->block_size;                             
    char *buf = args->buffer;                                         
    uint32_t count = args->count;                                     
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
   4f00c:	4282           	clrl %d2                                    
    void                    * arg)                                    
{                                                                     
    rtems_status_code rc = RTEMS_SUCCESSFUL;                          
    rtems_libio_rw_args_t *args = arg;                                
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
   4f00e:	2053           	moveal %a3@,%a0                             
   4f010:	2868 002c      	moveal %a0@(44),%a4                         
    uint32_t block_size = dd->block_size;                             
   4f014:	2a6c 0024      	moveal %a4@(36),%a5                         
    char *buf = args->buffer;                                         
    uint32_t count = args->count;                                     
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
   4f018:	282b 0004      	movel %a3@(4),%d4                           
   4f01c:	2a2b 0008      	movel %a3@(8),%d5                           
   4f020:	2f0d           	movel %a5,%sp@-                             
   4f022:	2f02           	movel %d2,%sp@-                             
    rtems_status_code rc = RTEMS_SUCCESSFUL;                          
    rtems_libio_rw_args_t *args = arg;                                
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
    uint32_t block_size = dd->block_size;                             
    char *buf = args->buffer;                                         
   4f024:	246b 000c      	moveal %a3@(12),%a2                         
    uint32_t count = args->count;                                     
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
   4f028:	2f05           	movel %d5,%sp@-                             
   4f02a:	2f04           	movel %d4,%sp@-                             
    rtems_libio_rw_args_t *args = arg;                                
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
    uint32_t block_size = dd->block_size;                             
    char *buf = args->buffer;                                         
    uint32_t count = args->count;                                     
   4f02c:	2c2b 0010      	movel %a3@(16),%d6                          
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
   4f030:	4eb9 0005 f00c 	jsr 5f00c <__divdi3>                        
   4f036:	4fef 0010      	lea %sp@(16),%sp                            
   4f03a:	2e01           	movel %d1,%d7                               
    uint32_t blkofs = (uint32_t) (args->offset % block_size);         
   4f03c:	2f0d           	movel %a5,%sp@-                             
   4f03e:	2f02           	movel %d2,%sp@-                             
   4f040:	2f05           	movel %d5,%sp@-                             
   4f042:	2f04           	movel %d4,%sp@-                             
   4f044:	4eb9 0005 f46c 	jsr 5f46c <__moddi3>                        
   4f04a:	4fef 0010      	lea %sp@(16),%sp                            
   4f04e:	2801           	movel %d1,%d4                               
                                                                      
    args->bytes_moved = 0;                                            
   4f050:	42ab 0018      	clrl %a3@(24)                               
                                                                      
    while (count > 0)                                                 
   4f054:	4a86           	tstl %d6                                    
   4f056:	675c           	beqs 4f0b4 <rtems_blkdev_generic_read+0xb4> <== NEVER TAKEN
   4f058:	260e           	movel %fp,%d3                               
   4f05a:	5983           	subql #4,%d3                                
   4f05c:	243c 0004 e70e 	movel #321294,%d2                           
    {                                                                 
        rtems_bdbuf_buffer *diskbuf;                                  
        uint32_t            copy;                                     
                                                                      
        rc = rtems_bdbuf_read(dd, block, &diskbuf);                   
   4f062:	2f03           	movel %d3,%sp@-                             
   4f064:	2042           	moveal %d2,%a0                              
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
        copy = block_size - blkofs;                                   
   4f066:	2a0d           	movel %a5,%d5                               
   4f068:	9a84           	subl %d4,%d5                                
    while (count > 0)                                                 
    {                                                                 
        rtems_bdbuf_buffer *diskbuf;                                  
        uint32_t            copy;                                     
                                                                      
        rc = rtems_bdbuf_read(dd, block, &diskbuf);                   
   4f06a:	2f07           	movel %d7,%sp@-                             
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
        count -= copy;                                                
        buf += copy;                                                  
        blkofs = 0;                                                   
        block++;                                                      
   4f06c:	5287           	addql #1,%d7                                
    while (count > 0)                                                 
    {                                                                 
        rtems_bdbuf_buffer *diskbuf;                                  
        uint32_t            copy;                                     
                                                                      
        rc = rtems_bdbuf_read(dd, block, &diskbuf);                   
   4f06e:	2f0c           	movel %a4,%sp@-                             
   4f070:	4e90           	jsr %a0@                                    
        if (rc != RTEMS_SUCCESSFUL)                                   
   4f072:	4fef 000c      	lea %sp@(12),%sp                            
   4f076:	4a80           	tstl %d0                                    
   4f078:	663c           	bnes 4f0b6 <rtems_blkdev_generic_read+0xb6> <== NEVER TAKEN
            break;                                                    
        copy = block_size - blkofs;                                   
        if (copy > count)                                             
            copy = count;                                             
        memcpy(buf, (char *)diskbuf->buffer + blkofs, copy);          
   4f07a:	226e fffc      	moveal %fp@(-4),%a1                         
   4f07e:	bc85           	cmpl %d5,%d6                                
   4f080:	6402           	bccs 4f084 <rtems_blkdev_generic_read+0x84> <== ALWAYS TAKEN
   4f082:	2a06           	movel %d6,%d5                               <== NOT EXECUTED
   4f084:	2f05           	movel %d5,%sp@-                             
   4f086:	d8a9 001a      	addl %a1@(26),%d4                           
        rc = rtems_bdbuf_release(diskbuf);                            
        args->bytes_moved += copy;                                    
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
        count -= copy;                                                
   4f08a:	9c85           	subl %d5,%d6                                
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
        copy = block_size - blkofs;                                   
        if (copy > count)                                             
            copy = count;                                             
        memcpy(buf, (char *)diskbuf->buffer + blkofs, copy);          
   4f08c:	2f04           	movel %d4,%sp@-                             
        args->bytes_moved += copy;                                    
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
        count -= copy;                                                
        buf += copy;                                                  
        blkofs = 0;                                                   
   4f08e:	4284           	clrl %d4                                    
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
        copy = block_size - blkofs;                                   
        if (copy > count)                                             
            copy = count;                                             
        memcpy(buf, (char *)diskbuf->buffer + blkofs, copy);          
   4f090:	2f0a           	movel %a2,%sp@-                             
        rc = rtems_bdbuf_release(diskbuf);                            
        args->bytes_moved += copy;                                    
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
        count -= copy;                                                
        buf += copy;                                                  
   4f092:	d5c5           	addal %d5,%a2                               
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
        copy = block_size - blkofs;                                   
        if (copy > count)                                             
            copy = count;                                             
        memcpy(buf, (char *)diskbuf->buffer + blkofs, copy);          
   4f094:	4eb9 0005 31d4 	jsr 531d4 <memcpy>                          
        rc = rtems_bdbuf_release(diskbuf);                            
   4f09a:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   4f09e:	4eb9 0004 e8e0 	jsr 4e8e0 <rtems_bdbuf_release>             
        args->bytes_moved += copy;                                    
        if (rc != RTEMS_SUCCESSFUL)                                   
   4f0a4:	4fef 0010      	lea %sp@(16),%sp                            
        copy = block_size - blkofs;                                   
        if (copy > count)                                             
            copy = count;                                             
        memcpy(buf, (char *)diskbuf->buffer + blkofs, copy);          
        rc = rtems_bdbuf_release(diskbuf);                            
        args->bytes_moved += copy;                                    
   4f0a8:	dbab 0018      	addl %d5,%a3@(24)                           
        if (rc != RTEMS_SUCCESSFUL)                                   
   4f0ac:	4a80           	tstl %d0                                    
   4f0ae:	6606           	bnes 4f0b6 <rtems_blkdev_generic_read+0xb6> <== NEVER TAKEN
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
    uint32_t blkofs = (uint32_t) (args->offset % block_size);         
                                                                      
    args->bytes_moved = 0;                                            
                                                                      
    while (count > 0)                                                 
   4f0b0:	4a86           	tstl %d6                                    
   4f0b2:	66ae           	bnes 4f062 <rtems_blkdev_generic_read+0x62> <== NEVER TAKEN
rtems_blkdev_generic_read(                                            
    rtems_device_major_number major __attribute__((unused)),          
    rtems_device_minor_number minor __attribute__((unused)),          
    void                    * arg)                                    
{                                                                     
    rtems_status_code rc = RTEMS_SUCCESSFUL;                          
   4f0b4:	4280           	clrl %d0                                    
        blkofs = 0;                                                   
        block++;                                                      
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4f0b6:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   4f0bc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004f0c0 <rtems_blkdev_generic_write>: rtems_device_driver rtems_blkdev_generic_write( rtems_device_major_number major __attribute__((unused)), rtems_device_minor_number minor __attribute__((unused)), void * arg) {
   4f0c0:	4e56 ffd4      	linkw %fp,#-44                              
   4f0c4:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4f0c8:	266e 0010      	moveal %fp@(16),%a3                         
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
    uint32_t block_size = dd->block_size;                             
    char *buf = args->buffer;                                         
    uint32_t count = args->count;                                     
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
   4f0cc:	4282           	clrl %d2                                    
    void                    * arg)                                    
{                                                                     
    rtems_status_code rc = RTEMS_SUCCESSFUL;                          
    rtems_libio_rw_args_t *args = arg;                                
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
   4f0ce:	2053           	moveal %a3@,%a0                             
   4f0d0:	2a68 002c      	moveal %a0@(44),%a5                         
    uint32_t block_size = dd->block_size;                             
   4f0d4:	286d 0024      	moveal %a5@(36),%a4                         
    char *buf = args->buffer;                                         
    uint32_t count = args->count;                                     
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
   4f0d8:	282b 0004      	movel %a3@(4),%d4                           
   4f0dc:	2a2b 0008      	movel %a3@(8),%d5                           
   4f0e0:	2f0c           	movel %a4,%sp@-                             
   4f0e2:	2f02           	movel %d2,%sp@-                             
    rtems_status_code rc = RTEMS_SUCCESSFUL;                          
    rtems_libio_rw_args_t *args = arg;                                
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
    uint32_t block_size = dd->block_size;                             
    char *buf = args->buffer;                                         
   4f0e4:	246b 000c      	moveal %a3@(12),%a2                         
    uint32_t count = args->count;                                     
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
   4f0e8:	2f05           	movel %d5,%sp@-                             
   4f0ea:	2f04           	movel %d4,%sp@-                             
    rtems_libio_rw_args_t *args = arg;                                
    rtems_libio_t *iop = args->iop;                                   
    rtems_disk_device *dd = iop->data1;                               
    uint32_t block_size = dd->block_size;                             
    char *buf = args->buffer;                                         
    uint32_t count = args->count;                                     
   4f0ec:	2c2b 0010      	movel %a3@(16),%d6                          
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
   4f0f0:	4eb9 0005 f00c 	jsr 5f00c <__divdi3>                        
   4f0f6:	4fef 0010      	lea %sp@(16),%sp                            
   4f0fa:	2e01           	movel %d1,%d7                               
    uint32_t blkofs = (uint32_t) (args->offset % block_size);         
   4f0fc:	2f0c           	movel %a4,%sp@-                             
   4f0fe:	2f02           	movel %d2,%sp@-                             
   4f100:	2f05           	movel %d5,%sp@-                             
   4f102:	2f04           	movel %d4,%sp@-                             
   4f104:	4eb9 0005 f46c 	jsr 5f46c <__moddi3>                        
   4f10a:	4fef 0010      	lea %sp@(16),%sp                            
   4f10e:	2801           	movel %d1,%d4                               
                                                                      
    args->bytes_moved = 0;                                            
   4f110:	42ab 0018      	clrl %a3@(24)                               
                                                                      
    while (count > 0)                                                 
   4f114:	4a86           	tstl %d6                                    
   4f116:	6760           	beqs 4f178 <rtems_blkdev_generic_write+0xb8><== NEVER TAKEN
   4f118:	260e           	movel %fp,%d3                               
   4f11a:	5983           	subql #4,%d3                                
    {                                                                 
        rtems_bdbuf_buffer *diskbuf;                                  
        uint32_t            copy;                                     
                                                                      
        if ((blkofs == 0) && (count >= block_size))                   
   4f11c:	4a81           	tstl %d1                                    
   4f11e:	6604           	bnes 4f124 <rtems_blkdev_generic_write+0x64><== NEVER TAKEN
   4f120:	bc8c           	cmpl %a4,%d6                                
   4f122:	6460           	bccs 4f184 <rtems_blkdev_generic_write+0xc4><== ALWAYS TAKEN
            rc = rtems_bdbuf_get(dd, block, &diskbuf);                
        else                                                          
            rc = rtems_bdbuf_read(dd, block, &diskbuf);               
   4f124:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   4f126:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   4f128:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   4f12a:	4eb9 0004 e70e 	jsr 4e70e <rtems_bdbuf_read>                <== NOT EXECUTED
   4f130:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
        if (rc != RTEMS_SUCCESSFUL)                                   
   4f134:	4a80           	tstl %d0                                    
   4f136:	6642           	bnes 4f17a <rtems_blkdev_generic_write+0xba><== NEVER TAKEN
            break;                                                    
                                                                      
        copy = block_size - blkofs;                                   
   4f138:	240c           	movel %a4,%d2                               
   4f13a:	9484           	subl %d4,%d2                                
   4f13c:	bc82           	cmpl %d2,%d6                                
   4f13e:	6402           	bccs 4f142 <rtems_blkdev_generic_write+0x82><== ALWAYS TAKEN
   4f140:	2406           	movel %d6,%d2                               <== NOT EXECUTED
        if (copy > count)                                             
            copy = count;                                             
        memcpy((char *)diskbuf->buffer + blkofs, buf, copy);          
   4f142:	2f02           	movel %d2,%sp@-                             
   4f144:	206e fffc      	moveal %fp@(-4),%a0                         
   4f148:	2f0a           	movel %a2,%sp@-                             
   4f14a:	d8a8 001a      	addl %a0@(26),%d4                           
   4f14e:	2f04           	movel %d4,%sp@-                             
   4f150:	4eb9 0005 31d4 	jsr 531d4 <memcpy>                          
        args->bytes_moved += copy;                                    
                                                                      
        rc = rtems_bdbuf_release_modified(diskbuf);                   
   4f156:	2f2e fffc      	movel %fp@(-4),%sp@-                        
                                                                      
        copy = block_size - blkofs;                                   
        if (copy > count)                                             
            copy = count;                                             
        memcpy((char *)diskbuf->buffer + blkofs, buf, copy);          
        args->bytes_moved += copy;                                    
   4f15a:	d5ab 0018      	addl %d2,%a3@(24)                           
                                                                      
        rc = rtems_bdbuf_release_modified(diskbuf);                   
   4f15e:	4eb9 0004 e99a 	jsr 4e99a <rtems_bdbuf_release_modified>    
        if (rc != RTEMS_SUCCESSFUL)                                   
   4f164:	4fef 0010      	lea %sp@(16),%sp                            
   4f168:	4a80           	tstl %d0                                    
   4f16a:	660e           	bnes 4f17a <rtems_blkdev_generic_write+0xba><== NEVER TAKEN
            break;                                                    
                                                                      
        count -= copy;                                                
   4f16c:	9c82           	subl %d2,%d6                                
        buf += copy;                                                  
   4f16e:	d5c2           	addal %d2,%a2                               
        blkofs = 0;                                                   
        block++;                                                      
   4f170:	5287           	addql #1,%d7                                
        if (rc != RTEMS_SUCCESSFUL)                                   
            break;                                                    
                                                                      
        count -= copy;                                                
        buf += copy;                                                  
        blkofs = 0;                                                   
   4f172:	4284           	clrl %d4                                    
    rtems_blkdev_bnum block = (rtems_blkdev_bnum) (args->offset / block_size);
    uint32_t blkofs = (uint32_t) (args->offset % block_size);         
                                                                      
    args->bytes_moved = 0;                                            
                                                                      
    while (count > 0)                                                 
   4f174:	4a86           	tstl %d6                                    
   4f176:	66a8           	bnes 4f120 <rtems_blkdev_generic_write+0x60><== NEVER TAKEN
rtems_blkdev_generic_write(                                           
    rtems_device_major_number major __attribute__((unused)),          
    rtems_device_minor_number minor __attribute__((unused)),          
    void                    * arg)                                    
{                                                                     
    rtems_status_code rc = RTEMS_SUCCESSFUL;                          
   4f178:	4280           	clrl %d0                                    
        blkofs = 0;                                                   
        block++;                                                      
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4f17a:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   4f180:	4e5e           	unlk %fp                                    
   4f182:	4e75           	rts                                         
    {                                                                 
        rtems_bdbuf_buffer *diskbuf;                                  
        uint32_t            copy;                                     
                                                                      
        if ((blkofs == 0) && (count >= block_size))                   
            rc = rtems_bdbuf_get(dd, block, &diskbuf);                
   4f184:	2f03           	movel %d3,%sp@-                             
   4f186:	2f07           	movel %d7,%sp@-                             
   4f188:	2f0d           	movel %a5,%sp@-                             
   4f18a:	4eb9 0004 e60c 	jsr 4e60c <rtems_bdbuf_get>                 
   4f190:	4fef 000c      	lea %sp@(12),%sp                            
   4f194:	609e           	bras 4f134 <rtems_blkdev_generic_write+0x74>
                                                                      

000435a6 <rtems_blkdev_imfs_fsync_or_fdatasync>: } static int rtems_blkdev_imfs_fsync_or_fdatasync( rtems_libio_t *iop ) {
   435a6:	4e56 0000      	linkw %fp,#0                                
   435aa:	206e 0008      	moveal %fp@(8),%a0                          
  } else {                                                            
    sc = RTEMS_INVALID_ID;                                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   435ae:	2068 0018      	moveal %a0@(24),%a0                         
)                                                                     
{                                                                     
  int rv = 0;                                                         
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  rtems_status_code sc = rtems_bdbuf_syncdev(dd);                     
   435b2:	2f28 004e      	movel %a0@(78),%sp@-                        
   435b6:	4eb9 0004 f728 	jsr 4f728 <rtems_bdbuf_syncdev>             
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   435bc:	588f           	addql #4,%sp                                
                                                                      
static int rtems_blkdev_imfs_fsync_or_fdatasync(                      
  rtems_libio_t *iop                                                  
)                                                                     
{                                                                     
  int rv = 0;                                                         
   435be:	4281           	clrl %d1                                    
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  rtems_status_code sc = rtems_bdbuf_syncdev(dd);                     
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   435c0:	4a80           	tstl %d0                                    
   435c2:	6606           	bnes 435ca <rtems_blkdev_imfs_fsync_or_fdatasync+0x24><== NEVER TAKEN
    errno = EIO;                                                      
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   435c4:	2001           	movel %d1,%d0                               
   435c6:	4e5e           	unlk %fp                                    
   435c8:	4e75           	rts                                         
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  rtems_status_code sc = rtems_bdbuf_syncdev(dd);                     
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
    errno = EIO;                                                      
   435ca:	4eb9 0005 30b4 	jsr 530b4 <__errno>                         <== NOT EXECUTED
   435d0:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   435d2:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   435d4:	7005           	moveq #5,%d0                                <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   435d6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  rtems_status_code sc = rtems_bdbuf_syncdev(dd);                     
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
    errno = EIO;                                                      
   435d8:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   435da:	2001           	movel %d1,%d0                               <== NOT EXECUTED
                                                                      

000435de <rtems_blkdev_imfs_ioctl>: static int rtems_blkdev_imfs_ioctl( rtems_libio_t *iop, uint32_t request, void *buffer ) {
   435de:	4e56 0000      	linkw %fp,#0                                
   435e2:	206e 0008      	moveal %fp@(8),%a0                          
   435e6:	202e 000c      	movel %fp@(12),%d0                          
  int rv = 0;                                                         
                                                                      
  if (request != RTEMS_BLKIO_REQUEST) {                               
   435ea:	0c80 c018 4201 	cmpil #-1072152063,%d0                      
   435f0:	6714           	beqs 43606 <rtems_blkdev_imfs_ioctl+0x28>   <== NEVER TAKEN
  } else {                                                            
    sc = RTEMS_INVALID_ID;                                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   435f2:	2068 0018      	moveal %a0@(24),%a0                         
   435f6:	2068 004e      	moveal %a0@(78),%a0                         
                                                                      
  if (request != RTEMS_BLKIO_REQUEST) {                               
    rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
    rtems_disk_device *dd = &ctx->dd;                                 
                                                                      
    rv = (*dd->ioctl)(dd, request, buffer);                           
   435fa:	2d48 0008      	movel %a0,%fp@(8)                           
    errno = EINVAL;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   435fe:	4e5e           	unlk %fp                                    
                                                                      
  if (request != RTEMS_BLKIO_REQUEST) {                               
    rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
    rtems_disk_device *dd = &ctx->dd;                                 
                                                                      
    rv = (*dd->ioctl)(dd, request, buffer);                           
   43600:	2268 0038      	moveal %a0@(56),%a1                         
   43604:	4ed1           	jmp %a1@                                    
  } else {                                                            
    /*                                                                
     * It is not allowed to directly access the driver circumventing the cache.
     */                                                               
    errno = EINVAL;                                                   
   43606:	4eb9 0005 30b4 	jsr 530b4 <__errno>                         <== NOT EXECUTED
   4360c:	7216           	moveq #22,%d1                               <== NOT EXECUTED
   4360e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43610:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   43612:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    rv = (*dd->ioctl)(dd, request, buffer);                           
  } else {                                                            
    /*                                                                
     * It is not allowed to directly access the driver circumventing the cache.
     */                                                               
    errno = EINVAL;                                                   
   43614:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
                                                                      

000433dc <rtems_blkdev_imfs_read>: static ssize_t rtems_blkdev_imfs_read( rtems_libio_t *iop, void *buffer, size_t count ) {
   433dc:	4e56 ffc8      	linkw %fp,#-56                              
  } else {                                                            
    sc = RTEMS_INVALID_ID;                                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   433e0:	226e 0008      	moveal %fp@(8),%a1                          
static ssize_t rtems_blkdev_imfs_read(                                
  rtems_libio_t *iop,                                                 
  void *buffer,                                                       
  size_t count                                                        
)                                                                     
{                                                                     
   433e4:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  } else {                                                            
    sc = RTEMS_INVALID_ID;                                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   433e8:	2069 0018      	moveal %a1@(24),%a0                         
   433ec:	2468 004e      	moveal %a0@(78),%a2                         
  int rv;                                                             
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  ssize_t remaining = (ssize_t) count;                                
  off_t offset = iop->offset;                                         
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
   433f0:	242a 0024      	movel %a2@(36),%d2                          
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
   433f4:	2a02           	movel %d2,%d5                               
   433f6:	5bc4           	smi %d4                                     
   433f8:	49c4           	extbl %d4                                   
  int rv;                                                             
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  ssize_t remaining = (ssize_t) count;                                
  off_t offset = iop->offset;                                         
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
   433fa:	2d42 fff8      	movel %d2,%fp@(-8)                          
{                                                                     
  int rv;                                                             
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  ssize_t remaining = (ssize_t) count;                                
  off_t offset = iop->offset;                                         
   433fe:	2429 0004      	movel %a1@(4),%d2                           
   43402:	2629 0008      	movel %a1@(8),%d3                           
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
   43406:	2f05           	movel %d5,%sp@-                             
   43408:	2f04           	movel %d4,%sp@-                             
   4340a:	2f03           	movel %d3,%sp@-                             
   4340c:	2f02           	movel %d2,%sp@-                             
   4340e:	4eb9 0005 f848 	jsr 5f848 <__divdi3>                        
   43414:	4fef 0010      	lea %sp@(16),%sp                            
   43418:	2c01           	movel %d1,%d6                               
  ssize_t block_offset = (ssize_t) (offset % block_size);             
   4341a:	2f05           	movel %d5,%sp@-                             
   4341c:	2f04           	movel %d4,%sp@-                             
   4341e:	2f03           	movel %d3,%sp@-                             
   43420:	2f02           	movel %d2,%sp@-                             
   43422:	4eb9 0005 fca8 	jsr 5fca8 <__moddi3>                        
   43428:	4fef 0010      	lea %sp@(16),%sp                            
   4342c:	2841           	moveal %d1,%a4                              
  char *dst = buffer;                                                 
                                                                      
  while (remaining > 0) {                                             
   4342e:	4aae 0010      	tstl %fp@(16)                               
   43432:	6f00 0082      	blew 434b6 <rtems_blkdev_imfs_read+0xda>    
    rtems_bdbuf_buffer *bd;                                           
    rtems_status_code sc = rtems_bdbuf_read(dd, block, &bd);          
   43436:	486e fffc      	pea %fp@(-4)                                
   4343a:	4bf9 0004 f2fa 	lea 4f2fa <rtems_bdbuf_read>,%a5            
                                                                      
      if (copy > remaining) {                                         
        copy = remaining;                                             
      }                                                               
                                                                      
      memcpy(dst, (char *) bd->buffer + block_offset, (size_t) copy); 
   43440:	2a3c 0005 3964 	movel #342372,%d5                           
  ssize_t block_offset = (ssize_t) (offset % block_size);             
  char *dst = buffer;                                                 
                                                                      
  while (remaining > 0) {                                             
    rtems_bdbuf_buffer *bd;                                           
    rtems_status_code sc = rtems_bdbuf_read(dd, block, &bd);          
   43446:	2f06           	movel %d6,%sp@-                             
                                                                      
    if (sc == RTEMS_SUCCESSFUL) {                                     
      ssize_t copy = block_size - block_offset;                       
   43448:	2e2e fff8      	movel %fp@(-8),%d7                          
   4344c:	9e8c           	subl %a4,%d7                                
        copy = remaining;                                             
      }                                                               
                                                                      
      memcpy(dst, (char *) bd->buffer + block_offset, (size_t) copy); 
                                                                      
      sc = rtems_bdbuf_release(bd);                                   
   4344e:	283c 0004 f4cc 	movel #324812,%d4                           
  ssize_t block_offset = (ssize_t) (offset % block_size);             
  char *dst = buffer;                                                 
                                                                      
  while (remaining > 0) {                                             
    rtems_bdbuf_buffer *bd;                                           
    rtems_status_code sc = rtems_bdbuf_read(dd, block, &bd);          
   43454:	2f0a           	movel %a2,%sp@-                             
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
  ssize_t block_offset = (ssize_t) (offset % block_size);             
  char *dst = buffer;                                                 
                                                                      
  while (remaining > 0) {                                             
   43456:	262e 000c      	movel %fp@(12),%d3                          
   4345a:	242e 0010      	movel %fp@(16),%d2                          
    rtems_bdbuf_buffer *bd;                                           
    rtems_status_code sc = rtems_bdbuf_read(dd, block, &bd);          
   4345e:	4e95           	jsr %a5@                                    
                                                                      
    if (sc == RTEMS_SUCCESSFUL) {                                     
   43460:	4fef 000c      	lea %sp@(12),%sp                            
   43464:	4a80           	tstl %d0                                    
   43466:	6600 008a      	bnew 434f2 <rtems_blkdev_imfs_read+0x116>   
                                                                      
      if (copy > remaining) {                                         
        copy = remaining;                                             
      }                                                               
                                                                      
      memcpy(dst, (char *) bd->buffer + block_offset, (size_t) copy); 
   4346a:	266e fffc      	moveal %fp@(-4),%a3                         
      sc = rtems_bdbuf_release(bd);                                   
      if (sc == RTEMS_SUCCESSFUL) {                                   
        block_offset = 0;                                             
        remaining -= copy;                                            
        dst += copy;                                                  
        ++block;                                                      
   4346e:	5286           	addql #1,%d6                                
   43470:	b487           	cmpl %d7,%d2                                
   43472:	6c02           	bges 43476 <rtems_blkdev_imfs_read+0x9a>    
   43474:	2e02           	movel %d2,%d7                               
                                                                      
      if (copy > remaining) {                                         
        copy = remaining;                                             
      }                                                               
                                                                      
      memcpy(dst, (char *) bd->buffer + block_offset, (size_t) copy); 
   43476:	2f07           	movel %d7,%sp@-                             
   43478:	d9eb 001a      	addal %a3@(26),%a4                          
   4347c:	2245           	moveal %d5,%a1                              
                                                                      
      sc = rtems_bdbuf_release(bd);                                   
      if (sc == RTEMS_SUCCESSFUL) {                                   
        block_offset = 0;                                             
        remaining -= copy;                                            
   4347e:	9487           	subl %d7,%d2                                
                                                                      
      if (copy > remaining) {                                         
        copy = remaining;                                             
      }                                                               
                                                                      
      memcpy(dst, (char *) bd->buffer + block_offset, (size_t) copy); 
   43480:	2f0c           	movel %a4,%sp@-                             
                                                                      
      sc = rtems_bdbuf_release(bd);                                   
      if (sc == RTEMS_SUCCESSFUL) {                                   
        block_offset = 0;                                             
   43482:	99cc           	subal %a4,%a4                               
                                                                      
      if (copy > remaining) {                                         
        copy = remaining;                                             
      }                                                               
                                                                      
      memcpy(dst, (char *) bd->buffer + block_offset, (size_t) copy); 
   43484:	2f03           	movel %d3,%sp@-                             
                                                                      
      sc = rtems_bdbuf_release(bd);                                   
      if (sc == RTEMS_SUCCESSFUL) {                                   
        block_offset = 0;                                             
        remaining -= copy;                                            
        dst += copy;                                                  
   43486:	d687           	addl %d7,%d3                                
                                                                      
      if (copy > remaining) {                                         
        copy = remaining;                                             
      }                                                               
                                                                      
      memcpy(dst, (char *) bd->buffer + block_offset, (size_t) copy); 
   43488:	4e91           	jsr %a1@                                    
                                                                      
      sc = rtems_bdbuf_release(bd);                                   
   4348a:	2044           	moveal %d4,%a0                              
   4348c:	2f0b           	movel %a3,%sp@-                             
   4348e:	4e90           	jsr %a0@                                    
      if (sc == RTEMS_SUCCESSFUL) {                                   
   43490:	4fef 0010      	lea %sp@(16),%sp                            
   43494:	4a80           	tstl %d0                                    
   43496:	665a           	bnes 434f2 <rtems_blkdev_imfs_read+0x116>   <== NEVER TAKEN
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
  ssize_t block_offset = (ssize_t) (offset % block_size);             
  char *dst = buffer;                                                 
                                                                      
  while (remaining > 0) {                                             
   43498:	4a82           	tstl %d2                                    
   4349a:	6f1e           	bles 434ba <rtems_blkdev_imfs_read+0xde>    
    rtems_bdbuf_buffer *bd;                                           
    rtems_status_code sc = rtems_bdbuf_read(dd, block, &bd);          
   4349c:	486e fffc      	pea %fp@(-4)                                
                                                                      
    if (sc == RTEMS_SUCCESSFUL) {                                     
      ssize_t copy = block_size - block_offset;                       
   434a0:	2e2e fff8      	movel %fp@(-8),%d7                          
   434a4:	9e8c           	subl %a4,%d7                                
  ssize_t block_offset = (ssize_t) (offset % block_size);             
  char *dst = buffer;                                                 
                                                                      
  while (remaining > 0) {                                             
    rtems_bdbuf_buffer *bd;                                           
    rtems_status_code sc = rtems_bdbuf_read(dd, block, &bd);          
   434a6:	2f06           	movel %d6,%sp@-                             
   434a8:	2f0a           	movel %a2,%sp@-                             
   434aa:	4e95           	jsr %a5@                                    
                                                                      
    if (sc == RTEMS_SUCCESSFUL) {                                     
   434ac:	4fef 000c      	lea %sp@(12),%sp                            
   434b0:	4a80           	tstl %d0                                    
   434b2:	663e           	bnes 434f2 <rtems_blkdev_imfs_read+0x116>   <== NEVER TAKEN
   434b4:	60b4           	bras 4346a <rtems_blkdev_imfs_read+0x8e>    
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
  ssize_t block_offset = (ssize_t) (offset % block_size);             
  char *dst = buffer;                                                 
                                                                      
  while (remaining > 0) {                                             
   434b6:	242e 0010      	movel %fp@(16),%d2                          <== NOT EXECUTED
    } else {                                                          
      remaining = -1;                                                 
    }                                                                 
  }                                                                   
                                                                      
  if (remaining >= 0) {                                               
   434ba:	4a82           	tstl %d2                                    
   434bc:	6634           	bnes 434f2 <rtems_blkdev_imfs_read+0x116>   <== NEVER TAKEN
    iop->offset += count;                                             
   434be:	226e 0010      	moveal %fp@(16),%a1                         
   434c2:	91c8           	subal %a0,%a0                               
)                                                                     
{                                                                     
  int rv;                                                             
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  ssize_t remaining = (ssize_t) count;                                
   434c4:	2009           	movel %a1,%d0                               
      remaining = -1;                                                 
    }                                                                 
  }                                                                   
                                                                      
  if (remaining >= 0) {                                               
    iop->offset += count;                                             
   434c6:	2d48 fff0      	movel %a0,%fp@(-16)                         
   434ca:	206e 0008      	moveal %fp@(8),%a0                          
   434ce:	2d49 fff4      	movel %a1,%fp@(-12)                         
   434d2:	242e fff0      	movel %fp@(-16),%d2                         
   434d6:	262e fff4      	movel %fp@(-12),%d3                         
   434da:	d7a8 0008      	addl %d3,%a0@(8)                            
   434de:	2228 0004      	movel %a0@(4),%d1                           
   434e2:	d382           	addxl %d2,%d1                               
   434e4:	2141 0004      	movel %d1,%a0@(4)                           
    errno = EIO;                                                      
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   434e8:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   434ee:	4e5e           	unlk %fp                                    
   434f0:	4e75           	rts                                         
                                                                      
  if (remaining >= 0) {                                               
    iop->offset += count;                                             
    rv = (ssize_t) count;                                             
  } else {                                                            
    errno = EIO;                                                      
   434f2:	4eb9 0005 30b4 	jsr 530b4 <__errno>                         <== NOT EXECUTED
   434f8:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   434fa:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    rv = -1;                                                          
   434fc:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
  if (remaining >= 0) {                                               
    iop->offset += count;                                             
    rv = (ssize_t) count;                                             
  } else {                                                            
    errno = EIO;                                                      
   434fe:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43500:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   43506:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000432be <rtems_blkdev_imfs_write>: static ssize_t rtems_blkdev_imfs_write( rtems_libio_t *iop, const void *buffer, size_t count ) {
   432be:	4e56 ffcc      	linkw %fp,#-52                              
   432c2:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   432c6:	286e 0008      	moveal %fp@(8),%a4                          
  } else {                                                            
    sc = RTEMS_INVALID_ID;                                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   432ca:	206c 0018      	moveal %a4@(24),%a0                         
   432ce:	2468 004e      	moveal %a0@(78),%a2                         
  int rv;                                                             
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  ssize_t remaining = (ssize_t) count;                                
  off_t offset = iop->offset;                                         
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
   432d2:	2e2a 0024      	movel %a2@(36),%d7                          
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
   432d6:	2a07           	movel %d7,%d5                               
   432d8:	5bc4           	smi %d4                                     
   432da:	49c4           	extbl %d4                                   
{                                                                     
  int rv;                                                             
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  ssize_t remaining = (ssize_t) count;                                
  off_t offset = iop->offset;                                         
   432dc:	242c 0004      	movel %a4@(4),%d2                           
   432e0:	262c 0008      	movel %a4@(8),%d3                           
static ssize_t rtems_blkdev_imfs_write(                               
  rtems_libio_t *iop,                                                 
  const void *buffer,                                                 
  size_t count                                                        
)                                                                     
{                                                                     
   432e4:	266e 0010      	moveal %fp@(16),%a3                         
  rtems_blkdev_imfs_context *ctx = IMFS_generic_get_context_by_iop(iop);
  rtems_disk_device *dd = &ctx->dd;                                   
  ssize_t remaining = (ssize_t) count;                                
  off_t offset = iop->offset;                                         
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
   432e8:	2f05           	movel %d5,%sp@-                             
   432ea:	2f04           	movel %d4,%sp@-                             
   432ec:	2f03           	movel %d3,%sp@-                             
   432ee:	2f02           	movel %d2,%sp@-                             
   432f0:	4eb9 0005 f848 	jsr 5f848 <__divdi3>                        
   432f6:	4fef 0010      	lea %sp@(16),%sp                            
   432fa:	2c01           	movel %d1,%d6                               
  ssize_t block_offset = (ssize_t) (offset % block_size);             
   432fc:	2f05           	movel %d5,%sp@-                             
   432fe:	2f04           	movel %d4,%sp@-                             
   43300:	2f03           	movel %d3,%sp@-                             
   43302:	2f02           	movel %d2,%sp@-                             
   43304:	4eb9 0005 fca8 	jsr 5fca8 <__moddi3>                        
   4330a:	4fef 0010      	lea %sp@(16),%sp                            
   4330e:	2601           	movel %d1,%d3                               
  const char *src = buffer;                                           
                                                                      
  while (remaining > 0) {                                             
   43310:	4a8b           	tstl %a3                                    
   43312:	6f7e           	bles 43392 <rtems_blkdev_imfs_write+0xd4>   <== NEVER TAKEN
   43314:	2a0e           	movel %fp,%d5                               
   43316:	240b           	movel %a3,%d2                               
   43318:	5985           	subql #4,%d5                                
   4331a:	282e 000c      	movel %fp@(12),%d4                          
    rtems_status_code sc;                                             
    rtems_bdbuf_buffer *bd;                                           
                                                                      
    if (block_offset == 0 && remaining >= block_size) {               
   4331e:	4a81           	tstl %d1                                    
   43320:	6604           	bnes 43326 <rtems_blkdev_imfs_write+0x68>   
   43322:	b487           	cmpl %d7,%d2                                
   43324:	6c56           	bges 4337c <rtems_blkdev_imfs_write+0xbe>   
       sc = rtems_bdbuf_get(dd, block, &bd);                          
    } else {                                                          
       sc = rtems_bdbuf_read(dd, block, &bd);                         
   43326:	2f05           	movel %d5,%sp@-                             
   43328:	2f06           	movel %d6,%sp@-                             
   4332a:	2f0a           	movel %a2,%sp@-                             
   4332c:	4eb9 0004 f2fa 	jsr 4f2fa <rtems_bdbuf_read>                
   43332:	4fef 000c      	lea %sp@(12),%sp                            
    }                                                                 
                                                                      
    if (sc == RTEMS_SUCCESSFUL) {                                     
   43336:	4a80           	tstl %d0                                    
   43338:	6600 008a      	bnew 433c4 <rtems_blkdev_imfs_write+0x106>  
      ssize_t copy = block_size - block_offset;                       
   4333c:	2a47           	moveal %d7,%a5                              
   4333e:	9bc3           	subal %d3,%a5                               
   43340:	b48d           	cmpl %a5,%d2                                
   43342:	6c02           	bges 43346 <rtems_blkdev_imfs_write+0x88>   
   43344:	2a42           	moveal %d2,%a5                              
                                                                      
      if (copy > remaining) {                                         
        copy = remaining;                                             
      }                                                               
                                                                      
      memcpy((char *) bd->buffer + block_offset, src, (size_t) copy); 
   43346:	2f0d           	movel %a5,%sp@-                             
   43348:	206e fffc      	moveal %fp@(-4),%a0                         
   4334c:	2f04           	movel %d4,%sp@-                             
   4334e:	d6a8 001a      	addl %a0@(26),%d3                           
   43352:	2f03           	movel %d3,%sp@-                             
   43354:	4eb9 0005 3964 	jsr 53964 <memcpy>                          
                                                                      
      sc = rtems_bdbuf_release_modified(bd);                          
   4335a:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   4335e:	4eb9 0004 f586 	jsr 4f586 <rtems_bdbuf_release_modified>    
      if (sc == RTEMS_SUCCESSFUL) {                                   
   43364:	4fef 0010      	lea %sp@(16),%sp                            
   43368:	4a80           	tstl %d0                                    
   4336a:	6658           	bnes 433c4 <rtems_blkdev_imfs_write+0x106>  <== NEVER TAKEN
        block_offset = 0;                                             
        remaining -= copy;                                            
   4336c:	948d           	subl %a5,%d2                                
        src += copy;                                                  
   4336e:	d88d           	addl %a5,%d4                                
        ++block;                                                      
   43370:	5286           	addql #1,%d6                                
                                                                      
      memcpy((char *) bd->buffer + block_offset, src, (size_t) copy); 
                                                                      
      sc = rtems_bdbuf_release_modified(bd);                          
      if (sc == RTEMS_SUCCESSFUL) {                                   
        block_offset = 0;                                             
   43372:	4283           	clrl %d3                                    
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
  ssize_t block_offset = (ssize_t) (offset % block_size);             
  const char *src = buffer;                                           
                                                                      
  while (remaining > 0) {                                             
   43374:	4a82           	tstl %d2                                    
   43376:	6f1c           	bles 43394 <rtems_blkdev_imfs_write+0xd6>   
    rtems_status_code sc;                                             
    rtems_bdbuf_buffer *bd;                                           
                                                                      
    if (block_offset == 0 && remaining >= block_size) {               
   43378:	b487           	cmpl %d7,%d2                                
   4337a:	6daa           	blts 43326 <rtems_blkdev_imfs_write+0x68>   
       sc = rtems_bdbuf_get(dd, block, &bd);                          
   4337c:	2f05           	movel %d5,%sp@-                             
   4337e:	2f06           	movel %d6,%sp@-                             
   43380:	2f0a           	movel %a2,%sp@-                             
   43382:	4eb9 0004 f1f8 	jsr 4f1f8 <rtems_bdbuf_get>                 
   43388:	4fef 000c      	lea %sp@(12),%sp                            
    } else {                                                          
       sc = rtems_bdbuf_read(dd, block, &bd);                         
    }                                                                 
                                                                      
    if (sc == RTEMS_SUCCESSFUL) {                                     
   4338c:	4a80           	tstl %d0                                    
   4338e:	6634           	bnes 433c4 <rtems_blkdev_imfs_write+0x106>  <== NEVER TAKEN
   43390:	60aa           	bras 4333c <rtems_blkdev_imfs_write+0x7e>   
  ssize_t block_size = (ssize_t) rtems_disk_get_block_size(dd);       
  rtems_blkdev_bnum block = (rtems_blkdev_bnum) (offset / block_size);
  ssize_t block_offset = (ssize_t) (offset % block_size);             
  const char *src = buffer;                                           
                                                                      
  while (remaining > 0) {                                             
   43392:	240b           	movel %a3,%d2                               <== NOT EXECUTED
    } else {                                                          
      remaining = -1;                                                 
    }                                                                 
  }                                                                   
                                                                      
  if (remaining >= 0) {                                               
   43394:	4a82           	tstl %d2                                    
   43396:	662c           	bnes 433c4 <rtems_blkdev_imfs_write+0x106>  <== NEVER TAKEN
    iop->offset += count;                                             
   43398:	91c8           	subal %a0,%a0                               
   4339a:	200b           	movel %a3,%d0                               
   4339c:	2d4b fff8      	movel %a3,%fp@(-8)                          
   433a0:	2d48 fff4      	movel %a0,%fp@(-12)                         
   433a4:	242e fff4      	movel %fp@(-12),%d2                         
   433a8:	262e fff8      	movel %fp@(-8),%d3                          
   433ac:	d7ac 0008      	addl %d3,%a4@(8)                            
   433b0:	222c 0004      	movel %a4@(4),%d1                           
   433b4:	d382           	addxl %d2,%d1                               
   433b6:	2941 0004      	movel %d1,%a4@(4)                           
    errno = EIO;                                                      
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   433ba:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            
   433c0:	4e5e           	unlk %fp                                    
   433c2:	4e75           	rts                                         
                                                                      
  if (remaining >= 0) {                                               
    iop->offset += count;                                             
    rv = (ssize_t) count;                                             
  } else {                                                            
    errno = EIO;                                                      
   433c4:	4eb9 0005 30b4 	jsr 530b4 <__errno>                         <== NOT EXECUTED
   433ca:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   433cc:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    rv = -1;                                                          
   433ce:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   433d0:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
                                                                      
  if (remaining >= 0) {                                               
    iop->offset += count;                                             
    rv = (ssize_t) count;                                             
  } else {                                                            
    errno = EIO;                                                      
   433d6:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    rv = -1;                                                          
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   433d8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004eecc <rtems_blkdev_ioctl>: #include <rtems/blkdev.h> #include <rtems/bdbuf.h> int rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp) {
   4eecc:	4e56 0000      	linkw %fp,#0                                
   4eed0:	202e 000c      	movel %fp@(12),%d0                          
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
                                                                      
    switch (req)                                                      
   4eed4:	0c80 4004 4203 	cmpil #1074020867,%d0                       
   4eeda:	6700 0112      	beqw 4efee <rtems_blkdev_ioctl+0x122>       
   4eede:	6332           	blss 4ef12 <rtems_blkdev_ioctl+0x46>        
   4eee0:	0c80 4004 4209 	cmpil #1074020873,%d0                       
   4eee6:	6700 00d4      	beqw 4efbc <rtems_blkdev_ioctl+0xf0>        
   4eeea:	6356           	blss 4ef42 <rtems_blkdev_ioctl+0x76>        
   4eeec:	0c80 4004 420b 	cmpil #1074020875,%d0                       
   4eef2:	6700 00b2      	beqw 4efa6 <rtems_blkdev_ioctl+0xda>        
   4eef6:	0c80 8004 4204 	cmpil #-2147204604,%d0                      
   4eefc:	6700 0088      	beqw 4ef86 <rtems_blkdev_ioctl+0xba>        
        case RTEMS_BLKIO_RESETDEVSTATS:                               
            rtems_bdbuf_reset_device_stats(dd);                       
            break;                                                    
                                                                      
        default:                                                      
            errno = EINVAL;                                           
   4ef00:	4eb9 0005 29b4 	jsr 529b4 <__errno>                         
   4ef06:	7216           	moveq #22,%d1                               
   4ef08:	2040           	moveal %d0,%a0                              
            rc = -1;                                                  
   4ef0a:	70ff           	moveq #-1,%d0                               
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4ef0c:	4e5e           	unlk %fp                                    
        case RTEMS_BLKIO_RESETDEVSTATS:                               
            rtems_bdbuf_reset_device_stats(dd);                       
            break;                                                    
                                                                      
        default:                                                      
            errno = EINVAL;                                           
   4ef0e:	2081           	movel %d1,%a0@                              
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4ef10:	4e75           	rts                                         
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
                                                                      
    switch (req)                                                      
   4ef12:	0c80 2000 420a 	cmpil #536887818,%d0                        
   4ef18:	6700 00c2      	beqw 4efdc <rtems_blkdev_ioctl+0x110>       
   4ef1c:	633e           	blss 4ef5c <rtems_blkdev_ioctl+0x90>        
   4ef1e:	0c80 2000 420c 	cmpil #536887820,%d0                        
   4ef24:	6700 00a4      	beqw 4efca <rtems_blkdev_ioctl+0xfe>        
   4ef28:	0c80 4004 4202 	cmpil #1074020866,%d0                       
   4ef2e:	66d0           	bnes 4ef00 <rtems_blkdev_ioctl+0x34>        <== NEVER TAKEN
    {                                                                 
        case RTEMS_BLKIO_GETMEDIABLKSIZE:                             
            *(uint32_t *) argp = dd->media_block_size;                
   4ef30:	206e 0010      	moveal %fp@(16),%a0                         
                                                                      
int                                                                   
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
   4ef34:	4280           	clrl %d0                                    
                                                                      
    switch (req)                                                      
    {                                                                 
        case RTEMS_BLKIO_GETMEDIABLKSIZE:                             
            *(uint32_t *) argp = dd->media_block_size;                
   4ef36:	226e 0008      	moveal %fp@(8),%a1                          
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4ef3a:	4e5e           	unlk %fp                                    
    int                rc = 0;                                        
                                                                      
    switch (req)                                                      
    {                                                                 
        case RTEMS_BLKIO_GETMEDIABLKSIZE:                             
            *(uint32_t *) argp = dd->media_block_size;                
   4ef3c:	20a9 0020      	movel %a1@(32),%a0@                         
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4ef40:	4e75           	rts                                         
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
                                                                      
    switch (req)                                                      
   4ef42:	0c80 4004 4205 	cmpil #1074020869,%d0                       
   4ef48:	66b6           	bnes 4ef00 <rtems_blkdev_ioctl+0x34>        <== NEVER TAKEN
                rc = -1;                                              
            }                                                         
            break;                                                    
                                                                      
        case RTEMS_BLKIO_GETSIZE:                                     
            *(rtems_blkdev_bnum *) argp = dd->size;                   
   4ef4a:	226e 0010      	moveal %fp@(16),%a1                         
   4ef4e:	206e 0008      	moveal %fp@(8),%a0                          
   4ef52:	22a8 001c      	movel %a0@(28),%a1@                         
                                                                      
int                                                                   
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
   4ef56:	4280           	clrl %d0                                    
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4ef58:	4e5e           	unlk %fp                                    
   4ef5a:	4e75           	rts                                         
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
                                                                      
    switch (req)                                                      
   4ef5c:	0c80 2000 4206 	cmpil #536887814,%d0                        
   4ef62:	669c           	bnes 4ef00 <rtems_blkdev_ioctl+0x34>        
        case RTEMS_BLKIO_GETSIZE:                                     
            *(rtems_blkdev_bnum *) argp = dd->size;                   
            break;                                                    
                                                                      
        case RTEMS_BLKIO_SYNCDEV:                                     
            sc = rtems_bdbuf_syncdev(dd);                             
   4ef64:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4ef68:	4eb9 0004 eb3c 	jsr 4eb3c <rtems_bdbuf_syncdev>             
            if (sc != RTEMS_SUCCESSFUL) {                             
   4ef6e:	588f           	addql #4,%sp                                
   4ef70:	4a80           	tstl %d0                                    
   4ef72:	67e2           	beqs 4ef56 <rtems_blkdev_ioctl+0x8a>        <== ALWAYS TAKEN
                errno = EIO;                                          
   4ef74:	4eb9 0005 29b4 	jsr 529b4 <__errno>                         <== NOT EXECUTED
   4ef7a:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   4ef7c:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
                rc = -1;                                              
   4ef7e:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4ef80:	4e5e           	unlk %fp                                    <== NOT EXECUTED
            break;                                                    
                                                                      
        case RTEMS_BLKIO_SYNCDEV:                                     
            sc = rtems_bdbuf_syncdev(dd);                             
            if (sc != RTEMS_SUCCESSFUL) {                             
                errno = EIO;                                          
   4ef82:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4ef84:	4e75           	rts                                         <== NOT EXECUTED
        case RTEMS_BLKIO_GETBLKSIZE:                                  
            *(uint32_t *) argp = dd->block_size;                      
            break;                                                    
                                                                      
        case RTEMS_BLKIO_SETBLKSIZE:                                  
            sc = rtems_bdbuf_set_block_size(dd, *(uint32_t *) argp, true);
   4ef86:	4878 0001      	pea 1 <ADD>                                 
   4ef8a:	206e 0010      	moveal %fp@(16),%a0                         
   4ef8e:	2f10           	movel %a0@,%sp@-                            
   4ef90:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4ef94:	4eb9 0004 ed6e 	jsr 4ed6e <rtems_bdbuf_set_block_size>      
            if (sc != RTEMS_SUCCESSFUL) {                             
   4ef9a:	4fef 000c      	lea %sp@(12),%sp                            
   4ef9e:	4a80           	tstl %d0                                    
   4efa0:	66d2           	bnes 4ef74 <rtems_blkdev_ioctl+0xa8>        <== NEVER TAKEN
                                                                      
int                                                                   
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
   4efa2:	4280           	clrl %d0                                    
   4efa4:	60b2           	bras 4ef58 <rtems_blkdev_ioctl+0x8c>        
        case RTEMS_BLKIO_PURGEDEV:                                    
            rtems_bdbuf_purge_dev(dd);                                
            break;                                                    
                                                                      
        case RTEMS_BLKIO_GETDEVSTATS:                                 
            rtems_bdbuf_get_device_stats(dd, (rtems_blkdev_stats *) argp);
   4efa6:	2f2e 0010      	movel %fp@(16),%sp@-                        
   4efaa:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4efae:	4eb9 0004 ee4e 	jsr 4ee4e <rtems_bdbuf_get_device_stats>    
            break;                                                    
   4efb4:	508f           	addql #8,%sp                                
                                                                      
int                                                                   
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
   4efb6:	4280           	clrl %d0                                    
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4efb8:	4e5e           	unlk %fp                                    
   4efba:	4e75           	rts                                         
                rc = -1;                                              
            }                                                         
            break;                                                    
                                                                      
        case RTEMS_BLKIO_GETDISKDEV:                                  
            *(rtems_disk_device **) argp = dd;                        
   4efbc:	226e 0010      	moveal %fp@(16),%a1                         
                                                                      
int                                                                   
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
   4efc0:	4280           	clrl %d0                                    
                rc = -1;                                              
            }                                                         
            break;                                                    
                                                                      
        case RTEMS_BLKIO_GETDISKDEV:                                  
            *(rtems_disk_device **) argp = dd;                        
   4efc2:	22ae 0008      	movel %fp@(8),%a1@                          
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4efc6:	4e5e           	unlk %fp                                    
   4efc8:	4e75           	rts                                         
        case RTEMS_BLKIO_GETDEVSTATS:                                 
            rtems_bdbuf_get_device_stats(dd, (rtems_blkdev_stats *) argp);
            break;                                                    
                                                                      
        case RTEMS_BLKIO_RESETDEVSTATS:                               
            rtems_bdbuf_reset_device_stats(dd);                       
   4efca:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4efce:	4eb9 0004 ee92 	jsr 4ee92 <rtems_bdbuf_reset_device_stats>  
            break;                                                    
   4efd4:	588f           	addql #4,%sp                                
                                                                      
int                                                                   
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
   4efd6:	4280           	clrl %d0                                    
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4efd8:	4e5e           	unlk %fp                                    
   4efda:	4e75           	rts                                         
        case RTEMS_BLKIO_GETDISKDEV:                                  
            *(rtems_disk_device **) argp = dd;                        
            break;                                                    
                                                                      
        case RTEMS_BLKIO_PURGEDEV:                                    
            rtems_bdbuf_purge_dev(dd);                                
   4efdc:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4efe0:	4eb9 0004 eb94 	jsr 4eb94 <rtems_bdbuf_purge_dev>           
            break;                                                    
   4efe6:	588f           	addql #4,%sp                                
                                                                      
int                                                                   
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
   4efe8:	4280           	clrl %d0                                    
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4efea:	4e5e           	unlk %fp                                    
   4efec:	4e75           	rts                                         
        case RTEMS_BLKIO_GETMEDIABLKSIZE:                             
            *(uint32_t *) argp = dd->media_block_size;                
            break;                                                    
                                                                      
        case RTEMS_BLKIO_GETBLKSIZE:                                  
            *(uint32_t *) argp = dd->block_size;                      
   4efee:	206e 0010      	moveal %fp@(16),%a0                         
                                                                      
int                                                                   
rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)   
{                                                                     
    rtems_status_code  sc;                                            
    int                rc = 0;                                        
   4eff2:	4280           	clrl %d0                                    
        case RTEMS_BLKIO_GETMEDIABLKSIZE:                             
            *(uint32_t *) argp = dd->media_block_size;                
            break;                                                    
                                                                      
        case RTEMS_BLKIO_GETBLKSIZE:                                  
            *(uint32_t *) argp = dd->block_size;                      
   4eff4:	226e 0008      	moveal %fp@(8),%a1                          
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
   4eff8:	4e5e           	unlk %fp                                    
        case RTEMS_BLKIO_GETMEDIABLKSIZE:                             
            *(uint32_t *) argp = dd->media_block_size;                
            break;                                                    
                                                                      
        case RTEMS_BLKIO_GETBLKSIZE:                                  
            *(uint32_t *) argp = dd->block_size;                      
   4effa:	20a9 0024      	movel %a1@(36),%a0@                         
            rc = -1;                                                  
            break;                                                    
    }                                                                 
                                                                      
    return rc;                                                        
}                                                                     
                                                                      

00062980 <rtems_blkstats>: #include <fcntl.h> #include <unistd.h> #include <errno.h> void rtems_blkstats(FILE *output, const char *device, bool reset) {
   62980:	4e56 ff98      	linkw %fp,#-104                             <== NOT EXECUTED
   62984:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   62986:	162e 0013      	moveb %fp@(19),%d3                          <== NOT EXECUTED
   6298a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  int fd = open(device, O_RDONLY);                                    
   6298c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   6298e:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   62992:	4eb9 0004 3a74 	jsr 43a74 <open>                            <== NOT EXECUTED
                                                                      
  if (fd >= 0) {                                                      
   62998:	508f           	addql #8,%sp                                <== NOT EXECUTED
#include <unistd.h>                                                   
#include <errno.h>                                                    
                                                                      
void rtems_blkstats(FILE *output, const char *device, bool reset)     
{                                                                     
  int fd = open(device, O_RDONLY);                                    
   6299a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  if (fd >= 0) {                                                      
   6299c:	6d00 00e2      	bltw 62a80 <rtems_blkstats+0x100>           <== NOT EXECUTED
    struct stat st;                                                   
    int rv;                                                           
                                                                      
    rv = fstat(fd, &st);                                              
   629a0:	486e ffba      	pea %fp@(-70)                               <== NOT EXECUTED
   629a4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   629a6:	4eb9 0006 4484 	jsr 64484 <fstat>                           <== NOT EXECUTED
    if (rv == 0) {                                                    
   629ac:	508f           	addql #8,%sp                                <== NOT EXECUTED
   629ae:	4a80           	tstl %d0                                    <== NOT EXECUTED
   629b0:	6600 0100      	bnew 62ab2 <rtems_blkstats+0x132>           <== NOT EXECUTED
      if (S_ISBLK(st.st_mode)) {                                      
   629b4:	202e ffc6      	movel %fp@(-58),%d0                         <== NOT EXECUTED
   629b8:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   629be:	0c80 0000 6000 	cmpil #24576,%d0                            <== NOT EXECUTED
   629c4:	6768           	beqs 62a2e <rtems_blkstats+0xae>            <== NOT EXECUTED
          } else {                                                    
            fprintf(output, "error: get stats: %s\n", strerror(errno));
          }                                                           
        }                                                             
      } else {                                                        
        fprintf(output, "error: not a block device\n");               
   629c6:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   629ca:	4878 001a      	pea 1a <OPER2+0x6>                          <== NOT EXECUTED
   629ce:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   629d2:	4879 0009 67d9 	pea 967d9 <RTEMS_BDPART_MBR_MASTER_TYPE+0x3e><== NOT EXECUTED
   629d8:	4eb9 0007 936a 	jsr 7936a <fwrite>                          <== NOT EXECUTED
   629de:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      }                                                               
    } else {                                                          
      fprintf(output, "error: get file stats: %s\n", strerror(errno));
    }                                                                 
                                                                      
    rv = close(fd);                                                   
   629e2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   629e4:	4eb9 0006 429c 	jsr 6429c <close>                           <== NOT EXECUTED
    if (rv != 0) {                                                    
   629ea:	588f           	addql #4,%sp                                <== NOT EXECUTED
   629ec:	4a80           	tstl %d0                                    <== NOT EXECUTED
   629ee:	660c           	bnes 629fc <rtems_blkstats+0x7c>            <== NOT EXECUTED
      fprintf(output, "error: close device: %s\n", strerror(errno));  
    }                                                                 
  } else {                                                            
    fprintf(output, "error: open device: %s\n", strerror(errno));     
  }                                                                   
}                                                                     
   629f0:	242e ff90      	movel %fp@(-112),%d2                        <== NOT EXECUTED
   629f4:	262e ff94      	movel %fp@(-108),%d3                        <== NOT EXECUTED
   629f8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   629fa:	4e75           	rts                                         <== NOT EXECUTED
      fprintf(output, "error: get file stats: %s\n", strerror(errno));
    }                                                                 
                                                                      
    rv = close(fd);                                                   
    if (rv != 0) {                                                    
      fprintf(output, "error: close device: %s\n", strerror(errno));  
   629fc:	4eb9 0007 7798 	jsr 77798 <__errno>                         <== NOT EXECUTED
   62a02:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   62a04:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   62a06:	4eb9 0007 d81c 	jsr 7d81c <strerror>                        <== NOT EXECUTED
   62a0c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62a0e:	4879 0009 680f 	pea 9680f <RTEMS_BDPART_MBR_MASTER_TYPE+0x74><== NOT EXECUTED
   62a14:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   62a18:	4eb9 0007 81ae 	jsr 781ae <fprintf>                         <== NOT EXECUTED
    }                                                                 
  } else {                                                            
    fprintf(output, "error: open device: %s\n", strerror(errno));     
  }                                                                   
}                                                                     
   62a1e:	242e ff90      	movel %fp@(-112),%d2                        <== NOT EXECUTED
      fprintf(output, "error: get file stats: %s\n", strerror(errno));
    }                                                                 
                                                                      
    rv = close(fd);                                                   
    if (rv != 0) {                                                    
      fprintf(output, "error: close device: %s\n", strerror(errno));  
   62a22:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    }                                                                 
  } else {                                                            
    fprintf(output, "error: open device: %s\n", strerror(errno));     
  }                                                                   
}                                                                     
   62a26:	262e ff94      	movel %fp@(-108),%d3                        <== NOT EXECUTED
   62a2a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   62a2c:	4e75           	rts                                         <== NOT EXECUTED
    int rv;                                                           
                                                                      
    rv = fstat(fd, &st);                                              
    if (rv == 0) {                                                    
      if (S_ISBLK(st.st_mode)) {                                      
        if (reset) {                                                  
   62a2e:	4a03           	tstb %d3                                    <== NOT EXECUTED
   62a30:	6600 00ba      	bnew 62aec <rtems_blkstats+0x16c>           <== NOT EXECUTED
            fprintf(output, "error: reset stats: %s\n", strerror(errno));
          }                                                           
        } else {                                                      
          rtems_blkdev_stats stats;                                   
                                                                      
          rv = rtems_disk_fd_get_device_stats(fd, &stats);            
   62a34:	260e           	movel %fp,%d3                               <== NOT EXECUTED
   62a36:	0683 ffff ff9a 	addil #-102,%d3                             <== NOT EXECUTED
static inline int rtems_disk_fd_get_device_stats(                     
  int fd,                                                             
  rtems_blkdev_stats *stats                                           
)                                                                     
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_GETDEVSTATS, stats);                   
   62a3c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   62a3e:	2f3c 4004 420b 	movel #1074020875,%sp@-                     <== NOT EXECUTED
   62a44:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62a46:	4eb9 0006 4ea0 	jsr 64ea0 <ioctl>                           <== NOT EXECUTED
          if (rv == 0) {                                              
   62a4c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   62a50:	4a80           	tstl %d0                                    <== NOT EXECUTED
   62a52:	6600 00e8      	bnew 62b3c <rtems_blkstats+0x1bc>           <== NOT EXECUTED
            rtems_blkdev_print_stats(                                 
   62a56:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   62a5a:	4879 0007 81ae 	pea 781ae <fprintf>                         <== NOT EXECUTED
   62a60:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   62a62:	4eb9 0006 2b78 	jsr 62b78 <rtems_blkdev_print_stats>        <== NOT EXECUTED
   62a68:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
      }                                                               
    } else {                                                          
      fprintf(output, "error: get file stats: %s\n", strerror(errno));
    }                                                                 
                                                                      
    rv = close(fd);                                                   
   62a6c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62a6e:	4eb9 0006 429c 	jsr 6429c <close>                           <== NOT EXECUTED
    if (rv != 0) {                                                    
   62a74:	588f           	addql #4,%sp                                <== NOT EXECUTED
   62a76:	4a80           	tstl %d0                                    <== NOT EXECUTED
   62a78:	6700 ff76      	beqw 629f0 <rtems_blkstats+0x70>            <== NOT EXECUTED
   62a7c:	6000 ff7e      	braw 629fc <rtems_blkstats+0x7c>            <== NOT EXECUTED
      fprintf(output, "error: close device: %s\n", strerror(errno));  
    }                                                                 
  } else {                                                            
    fprintf(output, "error: open device: %s\n", strerror(errno));     
   62a80:	4eb9 0007 7798 	jsr 77798 <__errno>                         <== NOT EXECUTED
   62a86:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   62a88:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   62a8a:	4eb9 0007 d81c 	jsr 7d81c <strerror>                        <== NOT EXECUTED
   62a90:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62a92:	4879 0009 6828 	pea 96828 <RTEMS_BDPART_MBR_MASTER_TYPE+0x8d><== NOT EXECUTED
   62a98:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   62a9c:	4eb9 0007 81ae 	jsr 781ae <fprintf>                         <== NOT EXECUTED
  }                                                                   
}                                                                     
   62aa2:	242e ff90      	movel %fp@(-112),%d2                        <== NOT EXECUTED
    rv = close(fd);                                                   
    if (rv != 0) {                                                    
      fprintf(output, "error: close device: %s\n", strerror(errno));  
    }                                                                 
  } else {                                                            
    fprintf(output, "error: open device: %s\n", strerror(errno));     
   62aa6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
}                                                                     
   62aaa:	262e ff94      	movel %fp@(-108),%d3                        <== NOT EXECUTED
   62aae:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   62ab0:	4e75           	rts                                         <== NOT EXECUTED
        }                                                             
      } else {                                                        
        fprintf(output, "error: not a block device\n");               
      }                                                               
    } else {                                                          
      fprintf(output, "error: get file stats: %s\n", strerror(errno));
   62ab2:	4eb9 0007 7798 	jsr 77798 <__errno>                         <== NOT EXECUTED
   62ab8:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   62aba:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   62abc:	4eb9 0007 d81c 	jsr 7d81c <strerror>                        <== NOT EXECUTED
   62ac2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62ac4:	4879 0009 67f4 	pea 967f4 <RTEMS_BDPART_MBR_MASTER_TYPE+0x59><== NOT EXECUTED
   62aca:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   62ace:	4eb9 0007 81ae 	jsr 781ae <fprintf>                         <== NOT EXECUTED
   62ad4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    }                                                                 
                                                                      
    rv = close(fd);                                                   
   62ad8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62ada:	4eb9 0006 429c 	jsr 6429c <close>                           <== NOT EXECUTED
    if (rv != 0) {                                                    
   62ae0:	588f           	addql #4,%sp                                <== NOT EXECUTED
   62ae2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   62ae4:	6700 ff0a      	beqw 629f0 <rtems_blkstats+0x70>            <== NOT EXECUTED
   62ae8:	6000 ff12      	braw 629fc <rtems_blkstats+0x7c>            <== NOT EXECUTED
}                                                                     
                                                                      
static inline int rtems_disk_fd_reset_device_stats(int fd)            
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_RESETDEVSTATS);                        
   62aec:	2f3c 2000 420c 	movel #536887820,%sp@-                      <== NOT EXECUTED
   62af2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62af4:	4eb9 0006 4ea0 	jsr 64ea0 <ioctl>                           <== NOT EXECUTED
    rv = fstat(fd, &st);                                              
    if (rv == 0) {                                                    
      if (S_ISBLK(st.st_mode)) {                                      
        if (reset) {                                                  
          rv = rtems_disk_fd_reset_device_stats(fd);                  
          if (rv != 0) {                                              
   62afa:	508f           	addql #8,%sp                                <== NOT EXECUTED
   62afc:	4a80           	tstl %d0                                    <== NOT EXECUTED
   62afe:	6700 fee2      	beqw 629e2 <rtems_blkstats+0x62>            <== NOT EXECUTED
            fprintf(output, "error: reset stats: %s\n", strerror(errno));
   62b02:	4eb9 0007 7798 	jsr 77798 <__errno>                         <== NOT EXECUTED
   62b08:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   62b0a:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   62b0c:	4eb9 0007 d81c 	jsr 7d81c <strerror>                        <== NOT EXECUTED
   62b12:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62b14:	4879 0009 67ab 	pea 967ab <RTEMS_BDPART_MBR_MASTER_TYPE+0x10><== NOT EXECUTED
   62b1a:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   62b1e:	4eb9 0007 81ae 	jsr 781ae <fprintf>                         <== NOT EXECUTED
   62b24:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      }                                                               
    } else {                                                          
      fprintf(output, "error: get file stats: %s\n", strerror(errno));
    }                                                                 
                                                                      
    rv = close(fd);                                                   
   62b28:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62b2a:	4eb9 0006 429c 	jsr 6429c <close>                           <== NOT EXECUTED
    if (rv != 0) {                                                    
   62b30:	588f           	addql #4,%sp                                <== NOT EXECUTED
   62b32:	4a80           	tstl %d0                                    <== NOT EXECUTED
   62b34:	6700 feba      	beqw 629f0 <rtems_blkstats+0x70>            <== NOT EXECUTED
   62b38:	6000 fec2      	braw 629fc <rtems_blkstats+0x7c>            <== NOT EXECUTED
              &stats,                                                 
              (rtems_printk_plugin_t) fprintf,                        
              output                                                  
            );                                                        
          } else {                                                    
            fprintf(output, "error: get stats: %s\n", strerror(errno));
   62b3c:	4eb9 0007 7798 	jsr 77798 <__errno>                         <== NOT EXECUTED
   62b42:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   62b44:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   62b46:	4eb9 0007 d81c 	jsr 7d81c <strerror>                        <== NOT EXECUTED
   62b4c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62b4e:	4879 0009 67c3 	pea 967c3 <RTEMS_BDPART_MBR_MASTER_TYPE+0x28><== NOT EXECUTED
   62b54:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   62b58:	4eb9 0007 81ae 	jsr 781ae <fprintf>                         <== NOT EXECUTED
   62b5e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      }                                                               
    } else {                                                          
      fprintf(output, "error: get file stats: %s\n", strerror(errno));
    }                                                                 
                                                                      
    rv = close(fd);                                                   
   62b62:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62b64:	4eb9 0006 429c 	jsr 6429c <close>                           <== NOT EXECUTED
    if (rv != 0) {                                                    
   62b6a:	588f           	addql #4,%sp                                <== NOT EXECUTED
   62b6c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   62b6e:	6700 fe80      	beqw 629f0 <rtems_blkstats+0x70>            <== NOT EXECUTED
   62b72:	6000 fe88      	braw 629fc <rtems_blkstats+0x7c>            <== NOT EXECUTED
	...                                                                  
                                                                      

00042b48 <rtems_bsp_cmdline_get_param>: const char *rtems_bsp_cmdline_get_param( const char *name, char *value, size_t length ) {
   42b48:	4e56 ffe8      	linkw %fp,#-24                              
   42b4c:	202e 0008      	movel %fp@(8),%d0                           
   42b50:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
   42b54:	286e 000c      	moveal %fp@(12),%a4                         
   42b58:	262e 0010      	movel %fp@(16),%d3                          
  const char *p;                                                      
                                                                      
  if ( !name )                                                        
   42b5c:	4a80           	tstl %d0                                    
   42b5e:	676c           	beqs 42bcc <rtems_bsp_cmdline_get_param+0x84>
    return NULL;                                                      
                                                                      
  if ( !value )                                                       
   42b60:	4a8c           	tstl %a4                                    
   42b62:	6768           	beqs 42bcc <rtems_bsp_cmdline_get_param+0x84>
    return NULL;                                                      
                                                                      
  if ( !length )                                                      
   42b64:	4a83           	tstl %d3                                    
   42b66:	6764           	beqs 42bcc <rtems_bsp_cmdline_get_param+0x84>
    return NULL;                                                      
                                                                      
  value[0] = '\0';                                                    
   42b68:	4214           	clrb %a4@                                   
                                                                      
  p = rtems_bsp_cmdline_get_param_raw( name );                        
   42b6a:	2f00           	movel %d0,%sp@-                             
   42b6c:	4eb9 0004 2bdc 	jsr 42bdc <rtems_bsp_cmdline_get_param_raw> 
                                                                      
  if ( !p )                                                           
   42b72:	588f           	addql #4,%sp                                
   42b74:	4a80           	tstl %d0                                    
   42b76:	6754           	beqs 42bcc <rtems_bsp_cmdline_get_param+0x84>
  int         i;                                                      
  int         quotes;                                                 
  const char *p = start;                                              
                                                                      
  quotes=0;                                                           
  for (i=0 ; *p && i<length-1; ) {                                    
   42b78:	2040           	moveal %d0,%a0                              
   42b7a:	1210           	moveb %a0@,%d1                              
   42b7c:	673e           	beqs 42bbc <rtems_bsp_cmdline_get_param+0x74><== NEVER TAKEN
   42b7e:	7401           	moveq #1,%d2                                
   42b80:	b483           	cmpl %d3,%d2                                
   42b82:	6738           	beqs 42bbc <rtems_bsp_cmdline_get_param+0x74><== NEVER TAKEN
    value[i] = '\0';                                                  
  }                                                                   
                                                                      
}                                                                     
                                                                      
const char *rtems_bsp_cmdline_get_param(                              
   42b84:	2440           	moveal %d0,%a2                              
   42b86:	47ec 0001      	lea %a4@(1),%a3                             
   42b8a:	528a           	addql #1,%a2                                
   42b8c:	5383           	subql #1,%d3                                
   42b8e:	91c8           	subal %a0,%a0                               
  int         i;                                                      
  int         quotes;                                                 
  const char *p = start;                                              
                                                                      
  quotes=0;                                                           
  for (i=0 ; *p && i<length-1; ) {                                    
   42b90:	93c9           	subal %a1,%a1                               
    value[i] = '\0';                                                  
  }                                                                   
                                                                      
}                                                                     
                                                                      
const char *rtems_bsp_cmdline_get_param(                              
   42b92:	4280           	clrl %d0                                    
  int         quotes;                                                 
  const char *p = start;                                              
                                                                      
  quotes=0;                                                           
  for (i=0 ; *p && i<length-1; ) {                                    
    if ( *p == '\"' ) {                                               
   42b94:	7822           	moveq #34,%d4                               
   42b96:	1401           	moveb %d1,%d2                               
   42b98:	49c2           	extbl %d2                                   
   42b9a:	b882           	cmpl %d2,%d4                                
   42b9c:	672a           	beqs 42bc8 <rtems_bsp_cmdline_get_param+0x80>
      quotes++;                                                       
    } else if ( ((quotes % 2) == 0) && *p == ' ' )                    
   42b9e:	0800 0000      	btst #0,%d0                                 
   42ba2:	6606           	bnes 42baa <rtems_bsp_cmdline_get_param+0x62>
   42ba4:	7820           	moveq #32,%d4                               
   42ba6:	b882           	cmpl %d2,%d4                                
   42ba8:	6712           	beqs 42bbc <rtems_bsp_cmdline_get_param+0x74>
      break;                                                          
    value[i++] = *p++;                                                
   42baa:	5288           	addql #1,%a0                                
   42bac:	1981 9800      	moveb %d1,%a4@(00000000,%a1:l)              
    value[i] = '\0';                                                  
   42bb0:	421b           	clrb %a3@+                                  
   42bb2:	2248           	moveal %a0,%a1                              
  int         i;                                                      
  int         quotes;                                                 
  const char *p = start;                                              
                                                                      
  quotes=0;                                                           
  for (i=0 ; *p && i<length-1; ) {                                    
   42bb4:	121a           	moveb %a2@+,%d1                             
   42bb6:	6704           	beqs 42bbc <rtems_bsp_cmdline_get_param+0x74>
   42bb8:	b688           	cmpl %a0,%d3                                
   42bba:	66d8           	bnes 42b94 <rtems_bsp_cmdline_get_param+0x4c>
    return NULL;                                                      
                                                                      
  copy_string( p, value, length );                                    
                                                                      
  return value;                                                       
}                                                                     
   42bbc:	200c           	movel %a4,%d0                               
   42bbe:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   42bc4:	4e5e           	unlk %fp                                    
   42bc6:	4e75           	rts                                         
  const char *p = start;                                              
                                                                      
  quotes=0;                                                           
  for (i=0 ; *p && i<length-1; ) {                                    
    if ( *p == '\"' ) {                                               
      quotes++;                                                       
   42bc8:	5280           	addql #1,%d0                                
   42bca:	60de           	bras 42baa <rtems_bsp_cmdline_get_param+0x62>
)                                                                     
{                                                                     
  const char *p;                                                      
                                                                      
  if ( !name )                                                        
    return NULL;                                                      
   42bcc:	99cc           	subal %a4,%a4                               
    return NULL;                                                      
                                                                      
  copy_string( p, value, length );                                    
                                                                      
  return value;                                                       
}                                                                     
   42bce:	200c           	movel %a4,%d0                               
   42bd0:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   42bd6:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00042c04 <rtems_bsp_cmdline_get_param_rhs>: const char *rtems_bsp_cmdline_get_param_rhs( const char *name, char *value, size_t length ) {
   42c04:	4e56 fff4      	linkw %fp,#-12                              
   42c08:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  const char *p;                                                      
  const char *rhs;                                                    
  char       *d;                                                      
                                                                      
  p = rtems_bsp_cmdline_get_param( name, value, length );             
   42c0c:	2f2e 0010      	movel %fp@(16),%sp@-                        
const char *rtems_bsp_cmdline_get_param_rhs(                          
  const char *name,                                                   
  char       *value,                                                  
  size_t      length                                                  
)                                                                     
{                                                                     
   42c10:	266e 000c      	moveal %fp@(12),%a3                         
   42c14:	242e 0008      	movel %fp@(8),%d2                           
  const char *p;                                                      
  const char *rhs;                                                    
  char       *d;                                                      
                                                                      
  p = rtems_bsp_cmdline_get_param( name, value, length );             
   42c18:	2f0b           	movel %a3,%sp@-                             
   42c1a:	2f02           	movel %d2,%sp@-                             
   42c1c:	4eb9 0004 2b48 	jsr 42b48 <rtems_bsp_cmdline_get_param>     
  if ( !p )                                                           
   42c22:	4fef 000c      	lea %sp@(12),%sp                            
{                                                                     
  const char *p;                                                      
  const char *rhs;                                                    
  char       *d;                                                      
                                                                      
  p = rtems_bsp_cmdline_get_param( name, value, length );             
   42c26:	2440           	moveal %d0,%a2                              
  if ( !p )                                                           
   42c28:	4a80           	tstl %d0                                    
   42c2a:	6762           	beqs 42c8e <rtems_bsp_cmdline_get_param_rhs+0x8a>
    return NULL;                                                      
                                                                      
  rhs = &p[strlen(name)];                                             
   42c2c:	2f02           	movel %d2,%sp@-                             
   42c2e:	4eb9 0004 f9a8 	jsr 4f9a8 <strlen>                          
   42c34:	588f           	addql #4,%sp                                
  if ( *rhs != '=' )                                                  
   42c36:	723d           	moveq #61,%d1                               
                                                                      
  p = rtems_bsp_cmdline_get_param( name, value, length );             
  if ( !p )                                                           
    return NULL;                                                      
                                                                      
  rhs = &p[strlen(name)];                                             
   42c38:	41f2 0800      	lea %a2@(00000000,%d0:l),%a0                
  if ( *rhs != '=' )                                                  
   42c3c:	1010           	moveb %a0@,%d0                              
   42c3e:	49c0           	extbl %d0                                   
   42c40:	b280           	cmpl %d0,%d1                                
   42c42:	664a           	bnes 42c8e <rtems_bsp_cmdline_get_param_rhs+0x8a>
    return NULL;                                                      
                                                                      
  rhs++;                                                              
  if ( *rhs == '\"' )                                                 
   42c44:	123c 0022      	moveb #34,%d1                               
   42c48:	1428 0001      	moveb %a0@(1),%d2                           
   42c4c:	1002           	moveb %d2,%d0                               
   42c4e:	49c0           	extbl %d0                                   
   42c50:	b280           	cmpl %d0,%d1                                
   42c52:	6748           	beqs 42c9c <rtems_bsp_cmdline_get_param_rhs+0x98>
                                                                      
  rhs = &p[strlen(name)];                                             
  if ( *rhs != '=' )                                                  
    return NULL;                                                      
                                                                      
  rhs++;                                                              
   42c54:	43e8 0001      	lea %a0@(1),%a1                             
  if ( *rhs == '\"' )                                                 
    rhs++;                                                            
  for ( d=value ; *rhs ; )                                            
   42c58:	4a02           	tstb %d2                                    
   42c5a:	674a           	beqs 42ca6 <rtems_bsp_cmdline_get_param_rhs+0xa2>
   42c5c:	204b           	moveal %a3,%a0                              
                                                                      
#include <string.h>                                                   
                                                                      
#include <rtems/bspcmdline.h>                                         
                                                                      
const char *rtems_bsp_cmdline_get_param_rhs(                          
   42c5e:	5289           	addql #1,%a1                                
                                                                      
  rhs++;                                                              
  if ( *rhs == '\"' )                                                 
    rhs++;                                                            
  for ( d=value ; *rhs ; )                                            
    *d++ = *rhs++;                                                    
   42c60:	10c2           	moveb %d2,%a0@+                             
    return NULL;                                                      
                                                                      
  rhs++;                                                              
  if ( *rhs == '\"' )                                                 
    rhs++;                                                            
  for ( d=value ; *rhs ; )                                            
   42c62:	1219           	moveb %a1@+,%d1                             
    *d++ = *rhs++;                                                    
   42c64:	2448           	moveal %a0,%a2                              
    return NULL;                                                      
                                                                      
  rhs++;                                                              
  if ( *rhs == '\"' )                                                 
    rhs++;                                                            
  for ( d=value ; *rhs ; )                                            
   42c66:	670a           	beqs 42c72 <rtems_bsp_cmdline_get_param_rhs+0x6e><== NEVER TAKEN
   42c68:	1401           	moveb %d1,%d2                               
    *d++ = *rhs++;                                                    
   42c6a:	10c2           	moveb %d2,%a0@+                             
    return NULL;                                                      
                                                                      
  rhs++;                                                              
  if ( *rhs == '\"' )                                                 
    rhs++;                                                            
  for ( d=value ; *rhs ; )                                            
   42c6c:	1219           	moveb %a1@+,%d1                             
    *d++ = *rhs++;                                                    
   42c6e:	2448           	moveal %a0,%a2                              
    return NULL;                                                      
                                                                      
  rhs++;                                                              
  if ( *rhs == '\"' )                                                 
    rhs++;                                                            
  for ( d=value ; *rhs ; )                                            
   42c70:	66f6           	bnes 42c68 <rtems_bsp_cmdline_get_param_rhs+0x64>
    *d++ = *rhs++;                                                    
  if ( *(d-1) == '\"' )                                               
   42c72:	49c2           	extbl %d2                                   
   42c74:	7022           	moveq #34,%d0                               
   42c76:	b082           	cmpl %d2,%d0                                
   42c78:	670e           	beqs 42c88 <rtems_bsp_cmdline_get_param_rhs+0x84>
    d--;                                                              
  *d = '\0';                                                          
   42c7a:	4212           	clrb %a2@                                   
                                                                      
  return value;                                                       
}                                                                     
   42c7c:	200b           	movel %a3,%d0                               
   42c7e:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   42c84:	4e5e           	unlk %fp                                    
   42c86:	4e75           	rts                                         
  if ( *rhs == '\"' )                                                 
    rhs++;                                                            
  for ( d=value ; *rhs ; )                                            
    *d++ = *rhs++;                                                    
  if ( *(d-1) == '\"' )                                               
    d--;                                                              
   42c88:	538a           	subql #1,%a2                                
  *d = '\0';                                                          
   42c8a:	4212           	clrb %a2@                                   
   42c8c:	60ee           	bras 42c7c <rtems_bsp_cmdline_get_param_rhs+0x78>
  const char *rhs;                                                    
  char       *d;                                                      
                                                                      
  p = rtems_bsp_cmdline_get_param( name, value, length );             
  if ( !p )                                                           
    return NULL;                                                      
   42c8e:	97cb           	subal %a3,%a3                               
  if ( *(d-1) == '\"' )                                               
    d--;                                                              
  *d = '\0';                                                          
                                                                      
  return value;                                                       
}                                                                     
   42c90:	200b           	movel %a3,%d0                               
   42c92:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   42c98:	4e5e           	unlk %fp                                    
   42c9a:	4e75           	rts                                         
  if ( *rhs != '=' )                                                  
    return NULL;                                                      
                                                                      
  rhs++;                                                              
  if ( *rhs == '\"' )                                                 
    rhs++;                                                            
   42c9c:	43e8 0002      	lea %a0@(2),%a1                             
   42ca0:	1428 0002      	moveb %a0@(2),%d2                           
   42ca4:	60b2           	bras 42c58 <rtems_bsp_cmdline_get_param_rhs+0x54>
  for ( d=value ; *rhs ; )                                            
   42ca6:	244b           	moveal %a3,%a2                              
    *d++ = *rhs++;                                                    
  if ( *(d-1) == '\"' )                                               
   42ca8:	7022           	moveq #34,%d0                               
   42caa:	142b ffff      	moveb %a3@(-1),%d2                          
   42cae:	49c2           	extbl %d2                                   
   42cb0:	b082           	cmpl %d2,%d0                                
   42cb2:	66c6           	bnes 42c7a <rtems_bsp_cmdline_get_param_rhs+0x76><== ALWAYS TAKEN
   42cb4:	60d2           	bras 42c88 <rtems_bsp_cmdline_get_param_rhs+0x84><== NOT EXECUTED
	...                                                                  
                                                                      

00047ee0 <rtems_chain_append_with_notification>: rtems_chain_control *chain, rtems_chain_node *node, rtems_id task, rtems_event_set events ) {
   47ee0:	4e56 0000      	linkw %fp,#0                                
   47ee4:	2f03           	movel %d3,%sp@-                             
   47ee6:	262e 0014      	movel %fp@(20),%d3                          
   47eea:	2f02           	movel %d2,%sp@-                             
RTEMS_INLINE_ROUTINE bool rtems_chain_append_with_empty_check(        
  rtems_chain_control *chain,                                         
  rtems_chain_node *node                                              
)                                                                     
{                                                                     
  return _Chain_Append_with_empty_check( chain, node );               
   47eec:	2f2e 000c      	movel %fp@(12),%sp@-                        
   47ef0:	2f2e 0008      	movel %fp@(8),%sp@-                         
   47ef4:	242e 0010      	movel %fp@(16),%d2                          
   47ef8:	4eb9 0004 8498 	jsr 48498 <_Chain_Append_with_empty_check>  
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool was_empty = rtems_chain_append_with_empty_check( chain, node );
                                                                      
  if ( was_empty ) {                                                  
   47efe:	508f           	addql #8,%sp                                
   47f00:	4a00           	tstb %d0                                    
   47f02:	660e           	bnes 47f12 <rtems_chain_append_with_notification+0x32>
    sc = rtems_event_send( task, events );                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   47f04:	242e fff8      	movel %fp@(-8),%d2                          
   47f08:	4280           	clrl %d0                                    
   47f0a:	262e fffc      	movel %fp@(-4),%d3                          
   47f0e:	4e5e           	unlk %fp                                    
   47f10:	4e75           	rts                                         
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool was_empty = rtems_chain_append_with_empty_check( chain, node );
                                                                      
  if ( was_empty ) {                                                  
    sc = rtems_event_send( task, events );                            
   47f12:	2d43 000c      	movel %d3,%fp@(12)                          
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   47f16:	262e fffc      	movel %fp@(-4),%d3                          
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool was_empty = rtems_chain_append_with_empty_check( chain, node );
                                                                      
  if ( was_empty ) {                                                  
    sc = rtems_event_send( task, events );                            
   47f1a:	2d42 0008      	movel %d2,%fp@(8)                           
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   47f1e:	242e fff8      	movel %fp@(-8),%d2                          
   47f22:	4e5e           	unlk %fp                                    
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool was_empty = rtems_chain_append_with_empty_check( chain, node );
                                                                      
  if ( was_empty ) {                                                  
    sc = rtems_event_send( task, events );                            
   47f24:	4ef9 0004 73ac 	jmp 473ac <rtems_event_send>                
	...                                                                  
                                                                      

00047f2c <rtems_chain_get_with_notification>: rtems_chain_control *chain, rtems_id task, rtems_event_set events, rtems_chain_node **node ) {
   47f2c:	4e56 0000      	linkw %fp,#0                                
   47f30:	2f03           	movel %d3,%sp@-                             
   47f32:	262e 0010      	movel %fp@(16),%d3                          
   47f36:	2f02           	movel %d2,%sp@-                             
RTEMS_INLINE_ROUTINE bool rtems_chain_get_with_empty_check(           
  rtems_chain_control *chain,                                         
  rtems_chain_node **node                                             
)                                                                     
{                                                                     
  return _Chain_Get_with_empty_check( chain, node );                  
   47f38:	2f2e 0014      	movel %fp@(20),%sp@-                        
   47f3c:	2f2e 0008      	movel %fp@(8),%sp@-                         
   47f40:	242e 000c      	movel %fp@(12),%d2                          
   47f44:	4eb9 0004 8510 	jsr 48510 <_Chain_Get_with_empty_check>     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool is_empty = rtems_chain_get_with_empty_check( chain, node );    
                                                                      
  if ( is_empty ) {                                                   
   47f4a:	508f           	addql #8,%sp                                
   47f4c:	4a00           	tstb %d0                                    
   47f4e:	660e           	bnes 47f5e <rtems_chain_get_with_notification+0x32>
    sc = rtems_event_send( task, events );                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   47f50:	242e fff8      	movel %fp@(-8),%d2                          
   47f54:	4280           	clrl %d0                                    
   47f56:	262e fffc      	movel %fp@(-4),%d3                          
   47f5a:	4e5e           	unlk %fp                                    
   47f5c:	4e75           	rts                                         
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool is_empty = rtems_chain_get_with_empty_check( chain, node );    
                                                                      
  if ( is_empty ) {                                                   
    sc = rtems_event_send( task, events );                            
   47f5e:	2d43 000c      	movel %d3,%fp@(12)                          
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   47f62:	262e fffc      	movel %fp@(-4),%d3                          
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool is_empty = rtems_chain_get_with_empty_check( chain, node );    
                                                                      
  if ( is_empty ) {                                                   
    sc = rtems_event_send( task, events );                            
   47f66:	2d42 0008      	movel %d2,%fp@(8)                           
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   47f6a:	242e fff8      	movel %fp@(-8),%d2                          
   47f6e:	4e5e           	unlk %fp                                    
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool is_empty = rtems_chain_get_with_empty_check( chain, node );    
                                                                      
  if ( is_empty ) {                                                   
    sc = rtems_event_send( task, events );                            
   47f70:	4ef9 0004 73ac 	jmp 473ac <rtems_event_send>                
	...                                                                  
                                                                      

00047f78 <rtems_chain_get_with_wait>: rtems_chain_control *chain, rtems_event_set events, rtems_interval timeout, rtems_chain_node **node_ptr ) {
   47f78:	4e56 ffe0      	linkw %fp,#-32                              
   47f7c:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 
  while (                                                             
    sc == RTEMS_SUCCESSFUL                                            
      && (node = rtems_chain_get( chain )) == NULL                    
  ) {                                                                 
    rtems_event_set out;                                              
    sc = rtems_event_receive(                                         
   47f80:	2c0e           	movel %fp,%d6                               
   47f82:	45f9 0004 855c 	lea 4855c <_Chain_Get>,%a2                  
   47f88:	5986           	subql #4,%d6                                
   47f8a:	47f9 0004 7200 	lea 47200 <rtems_event_receive>,%a3         
  rtems_chain_control *chain,                                         
  rtems_event_set events,                                             
  rtems_interval timeout,                                             
  rtems_chain_node **node_ptr                                         
)                                                                     
{                                                                     
   47f90:	262e 0008      	movel %fp@(8),%d3                           
   47f94:	2a2e 000c      	movel %fp@(12),%d5                          
   47f98:	282e 0010      	movel %fp@(16),%d4                          
 */                                                                   
RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get(               
  rtems_chain_control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Get( the_chain );                                     
   47f9c:	2f03           	movel %d3,%sp@-                             
   47f9e:	4e92           	jsr %a2@                                    
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_chain_node *node = NULL;                                      
                                                                      
  while (                                                             
    sc == RTEMS_SUCCESSFUL                                            
      && (node = rtems_chain_get( chain )) == NULL                    
   47fa0:	588f           	addql #4,%sp                                
   47fa2:	2400           	movel %d0,%d2                               
   47fa4:	6622           	bnes 47fc8 <rtems_chain_get_with_wait+0x50> 
  ) {                                                                 
    rtems_event_set out;                                              
    sc = rtems_event_receive(                                         
   47fa6:	2f06           	movel %d6,%sp@-                             
   47fa8:	2f04           	movel %d4,%sp@-                             
   47faa:	42a7           	clrl %sp@-                                  
   47fac:	2f05           	movel %d5,%sp@-                             
   47fae:	4e93           	jsr %a3@                                    
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_chain_node *node = NULL;                                      
                                                                      
  while (                                                             
   47fb0:	4fef 0010      	lea %sp@(16),%sp                            
   47fb4:	4a80           	tstl %d0                                    
   47fb6:	67e4           	beqs 47f9c <rtems_chain_get_with_wait+0x24> <== NEVER TAKEN
      timeout,                                                        
      &out                                                            
    );                                                                
  }                                                                   
                                                                      
  *node_ptr = node;                                                   
   47fb8:	206e 0014      	moveal %fp@(20),%a0                         
   47fbc:	2082           	movel %d2,%a0@                              
                                                                      
  return sc;                                                          
}                                                                     
   47fbe:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            
   47fc4:	4e5e           	unlk %fp                                    
   47fc6:	4e75           	rts                                         
      timeout,                                                        
      &out                                                            
    );                                                                
  }                                                                   
                                                                      
  *node_ptr = node;                                                   
   47fc8:	206e 0014      	moveal %fp@(20),%a0                         
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_chain_node *node = NULL;                                      
                                                                      
  while (                                                             
    sc == RTEMS_SUCCESSFUL                                            
      && (node = rtems_chain_get( chain )) == NULL                    
   47fcc:	4280           	clrl %d0                                    
      timeout,                                                        
      &out                                                            
    );                                                                
  }                                                                   
                                                                      
  *node_ptr = node;                                                   
   47fce:	2082           	movel %d2,%a0@                              
                                                                      
  return sc;                                                          
}                                                                     
   47fd0:	4cee 0c7c ffe0 	moveml %fp@(-32),%d2-%d6/%a2-%a3            
   47fd6:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00047fdc <rtems_chain_prepend_with_notification>: rtems_chain_control *chain, rtems_chain_node *node, rtems_id task, rtems_event_set events ) {
   47fdc:	4e56 0000      	linkw %fp,#0                                
   47fe0:	2f03           	movel %d3,%sp@-                             
   47fe2:	262e 0014      	movel %fp@(20),%d3                          
   47fe6:	2f02           	movel %d2,%sp@-                             
RTEMS_INLINE_ROUTINE bool rtems_chain_prepend_with_empty_check(       
  rtems_chain_control *chain,                                         
  rtems_chain_node *node                                              
)                                                                     
{                                                                     
  return _Chain_Prepend_with_empty_check( chain, node );              
   47fe8:	2f2e 000c      	movel %fp@(12),%sp@-                        
   47fec:	2f2e 0008      	movel %fp@(8),%sp@-                         
   47ff0:	242e 0010      	movel %fp@(16),%d2                          
   47ff4:	4eb9 0004 8630 	jsr 48630 <_Chain_Prepend_with_empty_check> 
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool was_empty = rtems_chain_prepend_with_empty_check( chain, node );
                                                                      
  if (was_empty) {                                                    
   47ffa:	508f           	addql #8,%sp                                
   47ffc:	4a00           	tstb %d0                                    
   47ffe:	660e           	bnes 4800e <rtems_chain_prepend_with_notification+0x32>
    sc = rtems_event_send( task, events );                            
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   48000:	242e fff8      	movel %fp@(-8),%d2                          
   48004:	4280           	clrl %d0                                    
   48006:	262e fffc      	movel %fp@(-4),%d3                          
   4800a:	4e5e           	unlk %fp                                    
   4800c:	4e75           	rts                                         
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool was_empty = rtems_chain_prepend_with_empty_check( chain, node );
                                                                      
  if (was_empty) {                                                    
    sc = rtems_event_send( task, events );                            
   4800e:	2d43 000c      	movel %d3,%fp@(12)                          
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   48012:	262e fffc      	movel %fp@(-4),%d3                          
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool was_empty = rtems_chain_prepend_with_empty_check( chain, node );
                                                                      
  if (was_empty) {                                                    
    sc = rtems_event_send( task, events );                            
   48016:	2d42 0008      	movel %d2,%fp@(8)                           
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4801a:	242e fff8      	movel %fp@(-8),%d2                          
   4801e:	4e5e           	unlk %fp                                    
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  bool was_empty = rtems_chain_prepend_with_empty_check( chain, node );
                                                                      
  if (was_empty) {                                                    
    sc = rtems_event_send( task, events );                            
   48020:	4ef9 0004 73ac 	jmp 473ac <rtems_event_send>                
	...                                                                  
                                                                      

0004e0c0 <rtems_deviceio_errno>: }; int rtems_deviceio_errno(rtems_status_code sc) { if (sc == RTEMS_SUCCESSFUL) { return 0;
   4e0c0:	4280           	clrl %d0                                    
  [RTEMS_IO_ERROR]                 = EIO,                             
  [RTEMS_PROXY_BLOCKING]           = EIO                              
};                                                                    
                                                                      
int rtems_deviceio_errno(rtems_status_code sc)                        
{                                                                     
   4e0c2:	4e56 0000      	linkw %fp,#0                                
   4e0c6:	2f02           	movel %d2,%sp@-                             
  if (sc == RTEMS_SUCCESSFUL) {                                       
   4e0c8:	4aae 0008      	tstl %fp@(8)                                
   4e0cc:	6608           	bnes 4e0d6 <rtems_deviceio_errno+0x16>      
                                                                      
    errno = eno;                                                      
                                                                      
    return -1;                                                        
  }                                                                   
}                                                                     
   4e0ce:	242e fffc      	movel %fp@(-4),%d2                          
   4e0d2:	4e5e           	unlk %fp                                    
   4e0d4:	4e75           	rts                                         
  if (sc == RTEMS_SUCCESSFUL) {                                       
    return 0;                                                         
  } else {                                                            
    int eno = EINVAL;                                                 
                                                                      
    if ((unsigned) sc <= RTEMS_STATUS_CODES_LAST) {                   
   4e0d6:	103c 001c      	moveb #28,%d0                               
   4e0da:	b0ae 0008      	cmpl %fp@(8),%d0                            
   4e0de:	6522           	bcss 4e102 <rtems_deviceio_errno+0x42>      <== NEVER TAKEN
      eno = status_code_to_errno [sc];                                
   4e0e0:	202e 0008      	movel %fp@(8),%d0                           
   4e0e4:	41f9 0005 d85c 	lea 5d85c <status_code_to_errno>,%a0        
   4e0ea:	2430 0c00      	movel %a0@(00000000,%d0:l:4),%d2            
    }                                                                 
                                                                      
    errno = eno;                                                      
   4e0ee:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   4e0f4:	2040           	moveal %d0,%a0                              
                                                                      
    return -1;                                                        
   4e0f6:	70ff           	moveq #-1,%d0                               
                                                                      
    if ((unsigned) sc <= RTEMS_STATUS_CODES_LAST) {                   
      eno = status_code_to_errno [sc];                                
    }                                                                 
                                                                      
    errno = eno;                                                      
   4e0f8:	2082           	movel %d2,%a0@                              
                                                                      
    return -1;                                                        
  }                                                                   
}                                                                     
   4e0fa:	242e fffc      	movel %fp@(-4),%d2                          
   4e0fe:	4e5e           	unlk %fp                                    
   4e100:	4e75           	rts                                         
                                                                      
    if ((unsigned) sc <= RTEMS_STATUS_CODES_LAST) {                   
      eno = status_code_to_errno [sc];                                
    }                                                                 
                                                                      
    errno = eno;                                                      
   4e102:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
int rtems_deviceio_errno(rtems_status_code sc)                        
{                                                                     
  if (sc == RTEMS_SUCCESSFUL) {                                       
    return 0;                                                         
  } else {                                                            
    int eno = EINVAL;                                                 
   4e108:	7416           	moveq #22,%d2                               <== NOT EXECUTED
                                                                      
    if ((unsigned) sc <= RTEMS_STATUS_CODES_LAST) {                   
      eno = status_code_to_errno [sc];                                
    }                                                                 
                                                                      
    errno = eno;                                                      
   4e10a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
                                                                      
    return -1;                                                        
   4e10c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
    if ((unsigned) sc <= RTEMS_STATUS_CODES_LAST) {                   
      eno = status_code_to_errno [sc];                                
    }                                                                 
                                                                      
    errno = eno;                                                      
   4e10e:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   4e110:	60e8           	bras 4e0fa <rtems_deviceio_errno+0x3a>      <== NOT EXECUTED
	...                                                                  
                                                                      

0004362e <rtems_disk_create_log>: dev_t phys, rtems_blkdev_bnum block_begin, rtems_blkdev_bnum block_count, const char *name ) {
   4362e:	4e56 fff8      	linkw %fp,#-8                               
   43632:	2f0a           	movel %a2,%sp@-                             
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_disk_device *phys_dd = NULL;                                  
  rtems_disk_device *dd = NULL;                                       
   43634:	42ae fff8      	clrl %fp@(-8)                               
  dev_t phys,                                                         
  rtems_blkdev_bnum block_begin,                                      
  rtems_blkdev_bnum block_count,                                      
  const char *name                                                    
)                                                                     
{                                                                     
   43638:	2f02           	movel %d2,%sp@-                             
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_disk_device *phys_dd = NULL;                                  
  rtems_disk_device *dd = NULL;                                       
  char *alloc_name = NULL;                                            
   4363a:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
  sc = disk_lock();                                                   
   4363e:	4eba fc96      	jsr %pc@(432d6 <disk_lock>)                 
   43642:	2400           	movel %d0,%d2                               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43644:	670e           	beqs 43654 <rtems_disk_create_log+0x26>     <== ALWAYS TAKEN
  }                                                                   
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43646:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   43648:	242e fff0      	movel %fp@(-16),%d2                         <== NOT EXECUTED
   4364c:	246e fff4      	moveal %fp@(-12),%a2                        <== NOT EXECUTED
   43650:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43652:	4e75           	rts                                         <== NOT EXECUTED
  sc = disk_lock();                                                   
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  phys_dd = get_disk_entry(phys, true);                               
   43654:	4878 0001      	pea 1 <ADD>                                 
   43658:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4365c:	2f2e 0010      	movel %fp@(16),%sp@-                        
   43660:	4eba fbc2      	jsr %pc@(43224 <get_disk_entry>)            
  if (phys_dd == NULL) {                                              
   43664:	4fef 000c      	lea %sp@(12),%sp                            
  sc = disk_lock();                                                   
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  phys_dd = get_disk_entry(phys, true);                               
   43668:	2440           	moveal %d0,%a2                              
  if (phys_dd == NULL) {                                              
   4366a:	4a80           	tstl %d0                                    
   4366c:	6700 009a      	beqw 43708 <rtems_disk_create_log+0xda>     
    disk_unlock();                                                    
                                                                      
    return RTEMS_INVALID_ID;                                          
  }                                                                   
                                                                      
  sc = create_disk(dev, name, &dd, &alloc_name);                      
   43670:	486e fffc      	pea %fp@(-4)                                
   43674:	486e fff8      	pea %fp@(-8)                                
   43678:	2f2e 0020      	movel %fp@(32),%sp@-                        
   4367c:	2f2e 000c      	movel %fp@(12),%sp@-                        
   43680:	2f2e 0008      	movel %fp@(8),%sp@-                         
   43684:	4eba fcac      	jsr %pc@(43332 <create_disk>)               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43688:	4fef 0014      	lea %sp@(20),%sp                            
    disk_unlock();                                                    
                                                                      
    return RTEMS_INVALID_ID;                                          
  }                                                                   
                                                                      
  sc = create_disk(dev, name, &dd, &alloc_name);                      
   4368c:	2400           	movel %d0,%d2                               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4368e:	6666           	bnes 436f6 <rtems_disk_create_log+0xc8>     
    disk_unlock();                                                    
                                                                      
    return sc;                                                        
  }                                                                   
                                                                      
  sc = rtems_disk_init_log(                                           
   43690:	2f2e 001c      	movel %fp@(28),%sp@-                        
   43694:	2f2e 0018      	movel %fp@(24),%sp@-                        
   43698:	2f0a           	movel %a2,%sp@-                             
   4369a:	2f2e fff8      	movel %fp@(-8),%sp@-                        
   4369e:	4eb9 0004 f418 	jsr 4f418 <rtems_disk_init_log>             
    phys_dd,                                                          
    block_begin,                                                      
    block_count                                                       
  );                                                                  
                                                                      
  dd->dev = dev;                                                      
   436a4:	206e fff8      	moveal %fp@(-8),%a0                         
    disk_unlock();                                                    
                                                                      
    return sc;                                                        
  }                                                                   
                                                                      
  sc = rtems_disk_init_log(                                           
   436a8:	2400           	movel %d0,%d2                               
  );                                                                  
                                                                      
  dd->dev = dev;                                                      
  dd->name = alloc_name;                                              
                                                                      
  ++phys_dd->uses;                                                    
   436aa:	52aa 0014      	addql #1,%a2@(20)                           
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   436ae:	4fef 0010      	lea %sp@(16),%sp                            
    block_begin,                                                      
    block_count                                                       
  );                                                                  
                                                                      
  dd->dev = dev;                                                      
  dd->name = alloc_name;                                              
   436b2:	216e fffc 0010 	movel %fp@(-4),%a0@(16)                     
    phys_dd,                                                          
    block_begin,                                                      
    block_count                                                       
  );                                                                  
                                                                      
  dd->dev = dev;                                                      
   436b8:	202e 0008      	movel %fp@(8),%d0                           
   436bc:	222e 000c      	movel %fp@(12),%d1                          
   436c0:	2080           	movel %d0,%a0@                              
   436c2:	2141 0004      	movel %d1,%a0@(4)                           
  dd->name = alloc_name;                                              
                                                                      
  ++phys_dd->uses;                                                    
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   436c6:	4a82           	tstl %d2                                    
   436c8:	672c           	beqs 436f6 <rtems_disk_create_log+0xc8>     
    dd->ioctl = null_handler;                                         
   436ca:	223c 0004 327c 	movel #275068,%d1                           
   436d0:	2141 0038      	movel %d1,%a0@(56)                          
    rtems_disk_delete(dev);                                           
   436d4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   436d8:	2f2e 0008      	movel %fp@(8),%sp@-                         
   436dc:	4eb9 0004 34d2 	jsr 434d2 <rtems_disk_delete>               
    disk_unlock();                                                    
   436e2:	4eba fc20      	jsr %pc@(43304 <disk_unlock>)               
  }                                                                   
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   436e6:	246e fff4      	moveal %fp@(-12),%a2                        
   436ea:	2002           	movel %d2,%d0                               
  ++phys_dd->uses;                                                    
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
    dd->ioctl = null_handler;                                         
    rtems_disk_delete(dev);                                           
    disk_unlock();                                                    
   436ec:	508f           	addql #8,%sp                                
  }                                                                   
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   436ee:	242e fff0      	movel %fp@(-16),%d2                         
   436f2:	4e5e           	unlk %fp                                    
   436f4:	4e75           	rts                                         
    disk_unlock();                                                    
                                                                      
    return sc;                                                        
  }                                                                   
                                                                      
  disk_unlock();                                                      
   436f6:	4eba fc0c      	jsr %pc@(43304 <disk_unlock>)               
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   436fa:	246e fff4      	moveal %fp@(-12),%a2                        
   436fe:	2002           	movel %d2,%d0                               
   43700:	242e fff0      	movel %fp@(-16),%d2                         
   43704:	4e5e           	unlk %fp                                    
   43706:	4e75           	rts                                         
    return sc;                                                        
  }                                                                   
                                                                      
  phys_dd = get_disk_entry(phys, true);                               
  if (phys_dd == NULL) {                                              
    disk_unlock();                                                    
   43708:	4eba fbfa      	jsr %pc@(43304 <disk_unlock>)               
                                                                      
    return RTEMS_INVALID_ID;                                          
   4370c:	143c 0004      	moveb #4,%d2                                
  }                                                                   
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43710:	2002           	movel %d2,%d0                               
   43712:	242e fff0      	movel %fp@(-16),%d2                         
   43716:	246e fff4      	moveal %fp@(-12),%a2                        
   4371a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004371e <rtems_disk_create_phys>: rtems_blkdev_bnum block_count, rtems_block_device_ioctl handler, void *driver_data, const char *name ) {
   4371e:	4e56 fff8      	linkw %fp,#-8                               
   43722:	2f02           	movel %d2,%sp@-                             
  rtems_disk_device *dd = NULL;                                       
   43724:	42ae fff8      	clrl %fp@(-8)                               
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  char *alloc_name = NULL;                                            
   43728:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
  if (handler == NULL) {                                              
   4372c:	4aae 0018      	tstl %fp@(24)                               
   43730:	677c           	beqs 437ae <rtems_disk_create_phys+0x90>    
    return RTEMS_INVALID_ADDRESS;                                     
  }                                                                   
                                                                      
  sc = disk_lock();                                                   
   43732:	4eba fba2      	jsr %pc@(432d6 <disk_lock>)                 
   43736:	2400           	movel %d0,%d2                               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43738:	670a           	beqs 43744 <rtems_disk_create_phys+0x26>    <== ALWAYS TAKEN
  }                                                                   
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4373a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4373c:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   43740:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43742:	4e75           	rts                                         <== NOT EXECUTED
  sc = disk_lock();                                                   
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  sc = create_disk(dev, name, &dd, &alloc_name);                      
   43744:	486e fffc      	pea %fp@(-4)                                
   43748:	486e fff8      	pea %fp@(-8)                                
   4374c:	2f2e 0020      	movel %fp@(32),%sp@-                        
   43750:	2f2e 000c      	movel %fp@(12),%sp@-                        
   43754:	2f2e 0008      	movel %fp@(8),%sp@-                         
   43758:	4eba fbd8      	jsr %pc@(43332 <create_disk>)               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4375c:	4fef 0014      	lea %sp@(20),%sp                            
  sc = disk_lock();                                                   
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  sc = create_disk(dev, name, &dd, &alloc_name);                      
   43760:	2400           	movel %d0,%d2                               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43762:	663c           	bnes 437a0 <rtems_disk_create_phys+0x82>    
    disk_unlock();                                                    
                                                                      
    return sc;                                                        
  }                                                                   
                                                                      
  sc = rtems_disk_init_phys(                                          
   43764:	2f2e 001c      	movel %fp@(28),%sp@-                        
   43768:	2f2e 0018      	movel %fp@(24),%sp@-                        
   4376c:	2f2e 0014      	movel %fp@(20),%sp@-                        
   43770:	2f2e 0010      	movel %fp@(16),%sp@-                        
   43774:	2f2e fff8      	movel %fp@(-8),%sp@-                        
   43778:	4eb9 0004 f38c 	jsr 4f38c <rtems_disk_init_phys>            
    block_count,                                                      
    handler,                                                          
    driver_data                                                       
  );                                                                  
                                                                      
  dd->dev = dev;                                                      
   4377e:	206e fff8      	moveal %fp@(-8),%a0                         
    disk_unlock();                                                    
                                                                      
    return sc;                                                        
  }                                                                   
                                                                      
  sc = rtems_disk_init_phys(                                          
   43782:	2400           	movel %d0,%d2                               
  );                                                                  
                                                                      
  dd->dev = dev;                                                      
  dd->name = alloc_name;                                              
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   43784:	4fef 0014      	lea %sp@(20),%sp                            
    block_count,                                                      
    handler,                                                          
    driver_data                                                       
  );                                                                  
                                                                      
  dd->dev = dev;                                                      
   43788:	202e 0008      	movel %fp@(8),%d0                           
   4378c:	222e 000c      	movel %fp@(12),%d1                          
  dd->name = alloc_name;                                              
   43790:	216e fffc 0010 	movel %fp@(-4),%a0@(16)                     
    block_count,                                                      
    handler,                                                          
    driver_data                                                       
  );                                                                  
                                                                      
  dd->dev = dev;                                                      
   43796:	2080           	movel %d0,%a0@                              
   43798:	2141 0004      	movel %d1,%a0@(4)                           
  dd->name = alloc_name;                                              
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
   4379c:	4a82           	tstl %d2                                    
   4379e:	661a           	bnes 437ba <rtems_disk_create_phys+0x9c>    
    disk_unlock();                                                    
                                                                      
    return sc;                                                        
  }                                                                   
                                                                      
  disk_unlock();                                                      
   437a0:	4eba fb62      	jsr %pc@(43304 <disk_unlock>)               
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   437a4:	2002           	movel %d2,%d0                               
   437a6:	242e fff4      	movel %fp@(-12),%d2                         
   437aa:	4e5e           	unlk %fp                                    
   437ac:	4e75           	rts                                         
  rtems_disk_device *dd = NULL;                                       
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  char *alloc_name = NULL;                                            
                                                                      
  if (handler == NULL) {                                              
    return RTEMS_INVALID_ADDRESS;                                     
   437ae:	7409           	moveq #9,%d2                                
  }                                                                   
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   437b0:	2002           	movel %d2,%d0                               
   437b2:	242e fff4      	movel %fp@(-12),%d2                         
   437b6:	4e5e           	unlk %fp                                    
   437b8:	4e75           	rts                                         
                                                                      
  dd->dev = dev;                                                      
  dd->name = alloc_name;                                              
                                                                      
  if (sc != RTEMS_SUCCESSFUL) {                                       
    dd->ioctl = null_handler;                                         
   437ba:	223c 0004 327c 	movel #275068,%d1                           
   437c0:	2141 0038      	movel %d1,%a0@(56)                          
    rtems_disk_delete(dev);                                           
   437c4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   437c8:	2f2e 0008      	movel %fp@(8),%sp@-                         
   437cc:	4eb9 0004 34d2 	jsr 434d2 <rtems_disk_delete>               
    disk_unlock();                                                    
   437d2:	4eba fb30      	jsr %pc@(43304 <disk_unlock>)               
   437d6:	508f           	addql #8,%sp                                
  }                                                                   
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   437d8:	2002           	movel %d2,%d0                               
   437da:	242e fff4      	movel %fp@(-12),%d2                         
   437de:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000434d2 <rtems_disk_delete>: } } rtems_status_code rtems_disk_delete(dev_t dev) {
   434d2:	4e56 ffd8      	linkw %fp,#-40                              
   434d6:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_disk_device *dd = NULL;                                       
                                                                      
  sc = disk_lock();                                                   
   434da:	4eba fdfa      	jsr %pc@(432d6 <disk_lock>)                 
   434de:	2a00           	movel %d0,%d5                               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   434e0:	670c           	beqs 434ee <rtems_disk_delete+0x1c>         <== ALWAYS TAKEN
  rtems_disk_cleanup(dd);                                             
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   434e2:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   434e4:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   434ea:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   434ec:	4e75           	rts                                         <== NOT EXECUTED
  sc = disk_lock();                                                   
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  dd = get_disk_entry(dev, true);                                     
   434ee:	4878 0001      	pea 1 <ADD>                                 
   434f2:	2f2e 000c      	movel %fp@(12),%sp@-                        
   434f6:	2f2e 0008      	movel %fp@(8),%sp@-                         
   434fa:	4eba fd28      	jsr %pc@(43224 <get_disk_entry>)            
  if (dd == NULL) {                                                   
   434fe:	4fef 000c      	lea %sp@(12),%sp                            
  sc = disk_lock();                                                   
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
                                                                      
  dd = get_disk_entry(dev, true);                                     
   43502:	2040           	moveal %d0,%a0                              
  if (dd == NULL) {                                                   
   43504:	4a80           	tstl %d0                                    
   43506:	6700 00ec      	beqw 435f4 <rtems_disk_delete+0x122>        
}                                                                     
                                                                      
static void                                                           
rtems_disk_cleanup(rtems_disk_device *disk_to_remove)                 
{                                                                     
  rtems_disk_device *const physical_disk = disk_to_remove->phys_dev;  
   4350a:	2a68 0008      	moveal %a0@(8),%a5                          
    disk_unlock();                                                    
                                                                      
    return RTEMS_INVALID_ID;                                          
  }                                                                   
                                                                      
  dd->deleted = true;                                                 
   4350e:	7001           	moveq #1,%d0                                
   43510:	1140 0040      	moveb %d0,%a0@(64)                          
{                                                                     
  rtems_disk_device *const physical_disk = disk_to_remove->phys_dev;  
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  if (physical_disk->deleted) {                                       
   43514:	4a2d 0040      	tstb %a5@(64)                               
   43518:	6778           	beqs 43592 <rtems_disk_delete+0xc0>         
    dev_t dev = physical_disk->dev;                                   
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
   4351a:	4286           	clrl %d6                                    
  rtems_disk_device *const physical_disk = disk_to_remove->phys_dev;  
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  if (physical_disk->deleted) {                                       
    dev_t dev = physical_disk->dev;                                   
   4351c:	2415           	movel %a5@,%d2                              
   4351e:	262d 0004      	movel %a5@(4),%d3                           
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
   43522:	4ab9 0006 3636 	tstl 63636 <disktab_size>                   
   43528:	674a           	beqs 43574 <rtems_disk_delete+0xa2>         <== NEVER TAKEN
   4352a:	4287           	clrl %d7                                    
                                                                      
        if (dd != NULL && dd->phys_dev->dev == dev && dd != physical_disk) {
          if (dd->uses == 0) {                                        
            ++deleted_count;                                          
            dtab->minor [minor] = NULL;                               
            free_disk_device(dd);                                     
   4352c:	49fa fd58      	lea %pc@(43286 <free_disk_device>),%a4      
    }                                                                 
  }                                                                   
}                                                                     
                                                                      
rtems_status_code                                                     
rtems_disk_delete(dev_t dev)                                          
   43530:	2007           	movel %d7,%d0                               
   43532:	e788           	lsll #3,%d0                                 
  if (physical_disk->deleted) {                                       
    dev_t dev = physical_disk->dev;                                   
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
      rtems_disk_device_table *dtab = disktab + major;                
   43534:	2479 0006 363a 	moveal 6363a <disktab>,%a2                  
   4353a:	d5c0           	addal %d0,%a2                               
                                                                      
      for (minor = 0; minor < dtab->size; ++minor) {                  
   4353c:	4aaa 0004      	tstl %a2@(4)                                
   43540:	6728           	beqs 4356a <rtems_disk_delete+0x98>         
   43542:	4284           	clrl %d4                                    
    }                                                                 
  }                                                                   
}                                                                     
                                                                      
rtems_status_code                                                     
rtems_disk_delete(dev_t dev)                                          
   43544:	2004           	movel %d4,%d0                               
   43546:	e588           	lsll #2,%d0                                 
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
      rtems_disk_device_table *dtab = disktab + major;                
                                                                      
      for (minor = 0; minor < dtab->size; ++minor) {                  
        rtems_disk_device *dd = dtab->minor [minor];                  
   43548:	2652           	moveal %a2@,%a3                             
   4354a:	d7c0           	addal %d0,%a3                               
   4354c:	2053           	moveal %a3@,%a0                             
                                                                      
        if (dd != NULL && dd->phys_dev->dev == dev && dd != physical_disk) {
   4354e:	4a88           	tstl %a0                                    
   43550:	6710           	beqs 43562 <rtems_disk_delete+0x90>         
   43552:	2268 0008      	moveal %a0@(8),%a1                          
   43556:	2011           	movel %a1@,%d0                              
   43558:	2229 0004      	movel %a1@(4),%d1                           
   4355c:	9283           	subl %d3,%d1                                
   4355e:	9182           	subxl %d2,%d0                               
   43560:	675e           	beqs 435c0 <rtems_disk_delete+0xee>         <== ALWAYS TAKEN
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
      rtems_disk_device_table *dtab = disktab + major;                
                                                                      
      for (minor = 0; minor < dtab->size; ++minor) {                  
   43562:	5284           	addql #1,%d4                                
   43564:	b8aa 0004      	cmpl %a2@(4),%d4                            
   43568:	65da           	bcss 43544 <rtems_disk_delete+0x72>         
                                                                      
  if (physical_disk->deleted) {                                       
    dev_t dev = physical_disk->dev;                                   
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
   4356a:	5287           	addql #1,%d7                                
   4356c:	beb9 0006 3636 	cmpl 63636 <disktab_size>,%d7               
   43572:	65bc           	bcss 43530 <rtems_disk_delete+0x5e>         
          }                                                           
        }                                                             
      }                                                               
    }                                                                 
                                                                      
    physical_disk->uses -= deleted_count;                             
   43574:	202d 0014      	movel %a5@(20),%d0                          
   43578:	9086           	subl %d6,%d0                                
   4357a:	2b40 0014      	movel %d0,%a5@(20)                          
    if (physical_disk->uses == 0) {                                   
   4357e:	6700 0088      	beqw 43608 <rtems_disk_delete+0x136>        
  }                                                                   
                                                                      
  dd->deleted = true;                                                 
  rtems_disk_cleanup(dd);                                             
                                                                      
  disk_unlock();                                                      
   43582:	4eba fd80      	jsr %pc@(43304 <disk_unlock>)               
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43586:	2005           	movel %d5,%d0                               
   43588:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            
   4358e:	4e5e           	unlk %fp                                    
   43590:	4e75           	rts                                         
      rtems_filesystem_split_dev_t(physical_disk->dev, major, minor); 
      disktab [major].minor [minor] = NULL;                           
      free_disk_device(physical_disk);                                
    }                                                                 
  } else {                                                            
    if (disk_to_remove->uses == 0) {                                  
   43592:	4aa8 0014      	tstl %a0@(20)                               
   43596:	66ea           	bnes 43582 <rtems_disk_delete+0xb0>         <== NEVER TAKEN
      --physical_disk->uses;                                          
      rtems_filesystem_split_dev_t(disk_to_remove->dev, major, minor);
   43598:	2010           	movel %a0@,%d0                              
      disktab [major].minor [minor] = NULL;                           
      free_disk_device(physical_disk);                                
    }                                                                 
  } else {                                                            
    if (disk_to_remove->uses == 0) {                                  
      --physical_disk->uses;                                          
   4359a:	53ad 0014      	subql #1,%a5@(20)                           
      rtems_filesystem_split_dev_t(disk_to_remove->dev, major, minor);
      disktab [major].minor [minor] = NULL;                           
   4359e:	2279 0006 363a 	moveal 6363a <disktab>,%a1                  
   435a4:	e788           	lsll #3,%d0                                 
      free_disk_device(physical_disk);                                
    }                                                                 
  } else {                                                            
    if (disk_to_remove->uses == 0) {                                  
      --physical_disk->uses;                                          
      rtems_filesystem_split_dev_t(disk_to_remove->dev, major, minor);
   435a6:	2228 0004      	movel %a0@(4),%d1                           
      disktab [major].minor [minor] = NULL;                           
   435aa:	2271 0800      	moveal %a1@(00000000,%d0:l),%a1             
   435ae:	42b1 1c00      	clrl %a1@(00000000,%d1:l:4)                 
      free_disk_device(disk_to_remove);                               
   435b2:	2f08           	movel %a0,%sp@-                             
   435b4:	4eba fcd0      	jsr %pc@(43286 <free_disk_device>)          
   435b8:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  dd->deleted = true;                                                 
  rtems_disk_cleanup(dd);                                             
                                                                      
  disk_unlock();                                                      
   435ba:	4eba fd48      	jsr %pc@(43304 <disk_unlock>)               
   435be:	60c6           	bras 43586 <rtems_disk_delete+0xb4>         
      rtems_disk_device_table *dtab = disktab + major;                
                                                                      
      for (minor = 0; minor < dtab->size; ++minor) {                  
        rtems_disk_device *dd = dtab->minor [minor];                  
                                                                      
        if (dd != NULL && dd->phys_dev->dev == dev && dd != physical_disk) {
   435c0:	b1cd           	cmpal %a5,%a0                               
   435c2:	679e           	beqs 43562 <rtems_disk_delete+0x90>         
          if (dd->uses == 0) {                                        
   435c4:	4aa8 0014      	tstl %a0@(20)                               
   435c8:	6712           	beqs 435dc <rtems_disk_delete+0x10a>        
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
      rtems_disk_device_table *dtab = disktab + major;                
                                                                      
      for (minor = 0; minor < dtab->size; ++minor) {                  
   435ca:	5284           	addql #1,%d4                                
          if (dd->uses == 0) {                                        
            ++deleted_count;                                          
            dtab->minor [minor] = NULL;                               
            free_disk_device(dd);                                     
          } else {                                                    
            dd->deleted = true;                                       
   435cc:	7201           	moveq #1,%d1                                
   435ce:	1141 0040      	moveb %d1,%a0@(64)                          
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
      rtems_disk_device_table *dtab = disktab + major;                
                                                                      
      for (minor = 0; minor < dtab->size; ++minor) {                  
   435d2:	b8aa 0004      	cmpl %a2@(4),%d4                            
   435d6:	6500 ff6c      	bcsw 43544 <rtems_disk_delete+0x72>         
   435da:	608e           	bras 4356a <rtems_disk_delete+0x98>         <== NOT EXECUTED
        rtems_disk_device *dd = dtab->minor [minor];                  
                                                                      
        if (dd != NULL && dd->phys_dev->dev == dev && dd != physical_disk) {
          if (dd->uses == 0) {                                        
            ++deleted_count;                                          
            dtab->minor [minor] = NULL;                               
   435dc:	4293           	clrl %a3@                                   
      for (minor = 0; minor < dtab->size; ++minor) {                  
        rtems_disk_device *dd = dtab->minor [minor];                  
                                                                      
        if (dd != NULL && dd->phys_dev->dev == dev && dd != physical_disk) {
          if (dd->uses == 0) {                                        
            ++deleted_count;                                          
   435de:	5286           	addql #1,%d6                                
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
      rtems_disk_device_table *dtab = disktab + major;                
                                                                      
      for (minor = 0; minor < dtab->size; ++minor) {                  
   435e0:	5284           	addql #1,%d4                                
                                                                      
        if (dd != NULL && dd->phys_dev->dev == dev && dd != physical_disk) {
          if (dd->uses == 0) {                                        
            ++deleted_count;                                          
            dtab->minor [minor] = NULL;                               
            free_disk_device(dd);                                     
   435e2:	2f08           	movel %a0,%sp@-                             
   435e4:	4e94           	jsr %a4@                                    
   435e6:	588f           	addql #4,%sp                                
    unsigned deleted_count = 0;                                       
                                                                      
    for (major = 0; major < disktab_size; ++major) {                  
      rtems_disk_device_table *dtab = disktab + major;                
                                                                      
      for (minor = 0; minor < dtab->size; ++minor) {                  
   435e8:	b8aa 0004      	cmpl %a2@(4),%d4                            
   435ec:	6500 ff56      	bcsw 43544 <rtems_disk_delete+0x72>         
   435f0:	6000 ff78      	braw 4356a <rtems_disk_delete+0x98>         <== NOT EXECUTED
    return sc;                                                        
  }                                                                   
                                                                      
  dd = get_disk_entry(dev, true);                                     
  if (dd == NULL) {                                                   
    disk_unlock();                                                    
   435f4:	4eba fd0e      	jsr %pc@(43304 <disk_unlock>)               <== NOT EXECUTED
                                                                      
    return RTEMS_INVALID_ID;                                          
   435f8:	1a3c 0004      	moveb #4,%d5                                <== NOT EXECUTED
  rtems_disk_cleanup(dd);                                             
                                                                      
  disk_unlock();                                                      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   435fc:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   435fe:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   43604:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   43606:	4e75           	rts                                         <== NOT EXECUTED
      }                                                               
    }                                                                 
                                                                      
    physical_disk->uses -= deleted_count;                             
    if (physical_disk->uses == 0) {                                   
      rtems_filesystem_split_dev_t(physical_disk->dev, major, minor); 
   43608:	2015           	movel %a5@,%d0                              
      disktab [major].minor [minor] = NULL;                           
   4360a:	2079 0006 363a 	moveal 6363a <disktab>,%a0                  
   43610:	e788           	lsll #3,%d0                                 
      }                                                               
    }                                                                 
                                                                      
    physical_disk->uses -= deleted_count;                             
    if (physical_disk->uses == 0) {                                   
      rtems_filesystem_split_dev_t(physical_disk->dev, major, minor); 
   43612:	222d 0004      	movel %a5@(4),%d1                           
      disktab [major].minor [minor] = NULL;                           
   43616:	2070 0800      	moveal %a0@(00000000,%d0:l),%a0             
   4361a:	42b0 1c00      	clrl %a0@(00000000,%d1:l:4)                 
      free_disk_device(physical_disk);                                
   4361e:	2f0d           	movel %a5,%sp@-                             
   43620:	4eba fc64      	jsr %pc@(43286 <free_disk_device>)          
   43624:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  dd->deleted = true;                                                 
  rtems_disk_cleanup(dd);                                             
                                                                      
  disk_unlock();                                                      
   43626:	4eba fcdc      	jsr %pc@(43304 <disk_unlock>)               
   4362a:	6000 ff5a      	braw 43586 <rtems_disk_delete+0xb4>         
                                                                      

000439fc <rtems_disk_io_done>: rtems_status_code rtems_disk_io_done(void) {
   439fc:	4e56 ffec      	linkw %fp,#-20                              
   43a00:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 
   43a04:	2439 0006 363a 	movel 6363a <disktab>,%d2                   
   43a0a:	49f9 0004 4528 	lea 44528 <free>,%a4                        
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
   43a10:	4ab9 0006 3636 	tstl 63636 <disktab_size>                   
   43a16:	674c           	beqs 43a64 <rtems_disk_io_done+0x68>        <== NEVER TAKEN
   43a18:	4283           	clrl %d3                                    
   43a1a:	49f9 0004 4528 	lea 44528 <free>,%a4                        
                                                                      
    for (minor = 0; minor < dtab->size; ++minor) {                    
      rtems_disk_device *dd = dtab->minor [minor];                    
                                                                      
      if (dd != NULL) {                                               
        free_disk_device(dd);                                         
   43a20:	47fa f864      	lea %pc@(43286 <free_disk_device>),%a3      
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code                                                     
rtems_disk_io_done(void)                                              
   43a24:	2003           	movel %d3,%d0                               
{                                                                     
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
    rtems_disk_device_table *dtab = disktab + major;                  
   43a26:	2442           	moveal %d2,%a2                              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_status_code                                                     
rtems_disk_io_done(void)                                              
   43a28:	e788           	lsll #3,%d0                                 
{                                                                     
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
    rtems_disk_device_table *dtab = disktab + major;                  
   43a2a:	d5c0           	addal %d0,%a2                               
                                                                      
    for (minor = 0; minor < dtab->size; ++minor) {                    
   43a2c:	4aaa 0004      	tstl %a2@(4)                                
   43a30:	6760           	beqs 43a92 <rtems_disk_io_done+0x96>        
   43a32:	2052           	moveal %a2@,%a0                             
   43a34:	4282           	clrl %d2                                    
      rtems_disk_device *dd = dtab->minor [minor];                    
   43a36:	2030 2c00      	movel %a0@(00000000,%d2:l:4),%d0            
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
    rtems_disk_device_table *dtab = disktab + major;                  
                                                                      
    for (minor = 0; minor < dtab->size; ++minor) {                    
   43a3a:	5282           	addql #1,%d2                                
      rtems_disk_device *dd = dtab->minor [minor];                    
                                                                      
      if (dd != NULL) {                                               
   43a3c:	4a80           	tstl %d0                                    
   43a3e:	6708           	beqs 43a48 <rtems_disk_io_done+0x4c>        <== ALWAYS TAKEN
        free_disk_device(dd);                                         
   43a40:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   43a42:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   43a44:	2052           	moveal %a2@,%a0                             <== NOT EXECUTED
   43a46:	588f           	addql #4,%sp                                <== NOT EXECUTED
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
    rtems_disk_device_table *dtab = disktab + major;                  
                                                                      
    for (minor = 0; minor < dtab->size; ++minor) {                    
   43a48:	b4aa 0004      	cmpl %a2@(4),%d2                            
   43a4c:	65e8           	bcss 43a36 <rtems_disk_io_done+0x3a>        
                                                                      
      if (dd != NULL) {                                               
        free_disk_device(dd);                                         
      }                                                               
    }                                                                 
    free(dtab->minor);                                                
   43a4e:	2f08           	movel %a0,%sp@-                             
   43a50:	2439 0006 363a 	movel 6363a <disktab>,%d2                   
rtems_disk_io_done(void)                                              
{                                                                     
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
   43a56:	5283           	addql #1,%d3                                
                                                                      
      if (dd != NULL) {                                               
        free_disk_device(dd);                                         
      }                                                               
    }                                                                 
    free(dtab->minor);                                                
   43a58:	4e94           	jsr %a4@                                    
rtems_disk_io_done(void)                                              
{                                                                     
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
   43a5a:	588f           	addql #4,%sp                                
   43a5c:	b6b9 0006 3636 	cmpl 63636 <disktab_size>,%d3               
   43a62:	65c0           	bcss 43a24 <rtems_disk_io_done+0x28>        <== ALWAYS TAKEN
        free_disk_device(dd);                                         
      }                                                               
    }                                                                 
    free(dtab->minor);                                                
  }                                                                   
  free(disktab);                                                      
   43a64:	2f02           	movel %d2,%sp@-                             
   43a66:	4e94           	jsr %a4@                                    
                                                                      
  rtems_semaphore_delete(diskdevs_mutex);                             
   43a68:	2f39 0006 3632 	movel 63632 <diskdevs_mutex>,%sp@-          
   43a6e:	4eb9 0004 8b70 	jsr 48b70 <rtems_semaphore_delete>          
  diskdevs_mutex = RTEMS_ID_NONE;                                     
  disktab = NULL;                                                     
  disktab_size = 0;                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43a74:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   43a7a:	4280           	clrl %d0                                    
   43a7c:	4e5e           	unlk %fp                                    
  }                                                                   
  free(disktab);                                                      
                                                                      
  rtems_semaphore_delete(diskdevs_mutex);                             
                                                                      
  diskdevs_mutex = RTEMS_ID_NONE;                                     
   43a7e:	42b9 0006 3632 	clrl 63632 <diskdevs_mutex>                 
  disktab = NULL;                                                     
   43a84:	42b9 0006 363a 	clrl 6363a <disktab>                        
  disktab_size = 0;                                                   
   43a8a:	42b9 0006 3636 	clrl 63636 <disktab_size>                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43a90:	4e75           	rts                                         
   43a92:	2052           	moveal %a2@,%a0                             
rtems_disk_io_done(void)                                              
{                                                                     
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
   43a94:	5283           	addql #1,%d3                                
                                                                      
      if (dd != NULL) {                                               
        free_disk_device(dd);                                         
      }                                                               
    }                                                                 
    free(dtab->minor);                                                
   43a96:	2f08           	movel %a0,%sp@-                             
   43a98:	4e94           	jsr %a4@                                    
rtems_disk_io_done(void)                                              
{                                                                     
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  for (major = 0; major < disktab_size; ++major) {                    
   43a9a:	588f           	addql #4,%sp                                
   43a9c:	b6b9 0006 3636 	cmpl 63636 <disktab_size>,%d3               
   43aa2:	6580           	bcss 43a24 <rtems_disk_io_done+0x28>        
   43aa4:	60be           	bras 43a64 <rtems_disk_io_done+0x68>        
	...                                                                  
                                                                      

00043954 <rtems_disk_io_initialize>: } } rtems_status_code rtems_disk_io_initialize(void) {
   43954:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_device_major_number size = DISKTAB_INITIAL_SIZE;              
                                                                      
  if (disktab_size > 0) {                                             
   43958:	4ab9 0006 3636 	tstl 63636 <disktab_size>                   
   4395e:	6706           	beqs 43966 <rtems_disk_io_initialize+0x12>  
    return RTEMS_SUCCESSFUL;                                          
   43960:	4280           	clrl %d0                                    
  }                                                                   
                                                                      
  disktab_size = size;                                                
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   43962:	4e5e           	unlk %fp                                    
   43964:	4e75           	rts                                         
                                                                      
  if (disktab_size > 0) {                                             
    return RTEMS_SUCCESSFUL;                                          
  }                                                                   
                                                                      
  disktab = calloc(size, sizeof(rtems_disk_device_table));            
   43966:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   4396a:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   4396e:	4eb9 0004 4208 	jsr 44208 <calloc>                          
  if (disktab == NULL) {                                              
   43974:	508f           	addql #8,%sp                                
                                                                      
  if (disktab_size > 0) {                                             
    return RTEMS_SUCCESSFUL;                                          
  }                                                                   
                                                                      
  disktab = calloc(size, sizeof(rtems_disk_device_table));            
   43976:	23c0 0006 363a 	movel %d0,6363a <disktab>                   
  if (disktab == NULL) {                                              
   4397c:	6758           	beqs 439d6 <rtems_disk_io_initialize+0x82>  <== NEVER TAKEN
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  diskdevs_protected = false;                                         
  sc = rtems_semaphore_create(                                        
   4397e:	4879 0006 3632 	pea 63632 <diskdevs_mutex>                  
  disktab = calloc(size, sizeof(rtems_disk_device_table));            
  if (disktab == NULL) {                                              
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  diskdevs_protected = false;                                         
   43984:	4200           	clrb %d0                                    
  sc = rtems_semaphore_create(                                        
   43986:	42a7           	clrl %sp@-                                  
   43988:	4878 0010      	pea 10 <INVALID_OPERATION>                  
   4398c:	4878 0001      	pea 1 <ADD>                                 
  disktab = calloc(size, sizeof(rtems_disk_device_table));            
  if (disktab == NULL) {                                              
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  diskdevs_protected = false;                                         
   43990:	13c0 0006 3630 	moveb %d0,63630 <diskdevs_protected>        
  sc = rtems_semaphore_create(                                        
   43996:	2f3c 4444 4556 	movel #1145324886,%sp@-                     
   4399c:	4eb9 0004 8984 	jsr 48984 <rtems_semaphore_create>          
    RTEMS_FIFO | RTEMS_BINARY_SEMAPHORE | RTEMS_NO_INHERIT_PRIORITY   
      | RTEMS_NO_PRIORITY_CEILING | RTEMS_LOCAL,                      
    0,                                                                
    &diskdevs_mutex                                                   
  );                                                                  
  if (sc != RTEMS_SUCCESSFUL) {                                       
   439a2:	4fef 0014      	lea %sp@(20),%sp                            
   439a6:	4a80           	tstl %d0                                    
   439a8:	6714           	beqs 439be <rtems_disk_io_initialize+0x6a>  <== ALWAYS TAKEN
    free(disktab);                                                    
   439aa:	2f39 0006 363a 	movel 6363a <disktab>,%sp@-                 <== NOT EXECUTED
   439b0:	4eb9 0004 4528 	jsr 44528 <free>                            <== NOT EXECUTED
                                                                      
    return RTEMS_NO_MEMORY;                                           
   439b6:	588f           	addql #4,%sp                                <== NOT EXECUTED
   439b8:	701a           	moveq #26,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  disktab_size = size;                                                
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   439ba:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   439bc:	4e75           	rts                                         <== NOT EXECUTED
    free(disktab);                                                    
                                                                      
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  sc = rtems_bdbuf_init();                                            
   439be:	4eb9 0004 e1b6 	jsr 4e1b6 <rtems_bdbuf_init>                
  if (sc != RTEMS_SUCCESSFUL) {                                       
   439c4:	4a80           	tstl %d0                                    
   439c6:	6614           	bnes 439dc <rtems_disk_io_initialize+0x88>  <== NEVER TAKEN
    free(disktab);                                                    
                                                                      
    return RTEMS_UNSATISFIED;                                         
  }                                                                   
                                                                      
  disktab_size = size;                                                
   439c8:	7008           	moveq #8,%d0                                
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   439ca:	4e5e           	unlk %fp                                    
    free(disktab);                                                    
                                                                      
    return RTEMS_UNSATISFIED;                                         
  }                                                                   
                                                                      
  disktab_size = size;                                                
   439cc:	23c0 0006 3636 	movel %d0,63636 <disktab_size>              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   439d2:	4200           	clrb %d0                                    
}                                                                     
   439d4:	4e75           	rts                                         
    return RTEMS_SUCCESSFUL;                                          
  }                                                                   
                                                                      
  disktab = calloc(size, sizeof(rtems_disk_device_table));            
  if (disktab == NULL) {                                              
    return RTEMS_NO_MEMORY;                                           
   439d6:	701a           	moveq #26,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  disktab_size = size;                                                
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   439d8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   439da:	4e75           	rts                                         <== NOT EXECUTED
    return RTEMS_NO_MEMORY;                                           
  }                                                                   
                                                                      
  sc = rtems_bdbuf_init();                                            
  if (sc != RTEMS_SUCCESSFUL) {                                       
    rtems_semaphore_delete(diskdevs_mutex);                           
   439dc:	2f39 0006 3632 	movel 63632 <diskdevs_mutex>,%sp@-          <== NOT EXECUTED
   439e2:	4eb9 0004 8b70 	jsr 48b70 <rtems_semaphore_delete>          <== NOT EXECUTED
    free(disktab);                                                    
   439e8:	2f39 0006 363a 	movel 6363a <disktab>,%sp@-                 <== NOT EXECUTED
   439ee:	4eb9 0004 4528 	jsr 44528 <free>                            <== NOT EXECUTED
                                                                      
    return RTEMS_UNSATISFIED;                                         
   439f4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   439f6:	700d           	moveq #13,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  disktab_size = size;                                                
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   439f8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000438b0 <rtems_disk_next>: rtems_disk_device * rtems_disk_next(dev_t dev) {
   438b0:	4e56 ffec      	linkw %fp,#-20                              
   438b4:	202e 0008      	movel %fp@(8),%d0                           
   438b8:	222e 000c      	movel %fp@(12),%d1                          
   438bc:	48d7 043c      	moveml %d2-%d5/%a2,%sp@                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_disk_device_table *dtab = NULL;                               
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
                                                                      
  if (dev != (dev_t) -1) {                                            
   438c0:	74ff           	moveq #-1,%d2                               
   438c2:	76ff           	moveq #-1,%d3                               
   438c4:	9681           	subl %d1,%d3                                
   438c6:	9580           	subxl %d0,%d2                               
   438c8:	6700 0084      	beqw 4394e <rtems_disk_next+0x9e>           
    rtems_filesystem_split_dev_t(dev, major, minor);                  
                                                                      
    /* If minor wraps around */                                       
    if ((minor + 1) < minor) {                                        
   438cc:	2401           	movel %d1,%d2                               
)                                                                     
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.device = device;                                               
  return temp.__overlay.major;                                        
   438ce:	2600           	movel %d0,%d3                               
   438d0:	5282           	addql #1,%d2                                
   438d2:	78ff           	moveq #-1,%d4                               
   438d4:	b881           	cmpl %d1,%d4                                
   438d6:	636a           	blss 43942 <rtems_disk_next+0x92>           <== NEVER TAKEN
    } else {                                                          
      ++minor;                                                        
    }                                                                 
  }                                                                   
                                                                      
  sc = disk_lock();                                                   
   438d8:	4eba f9fc      	jsr %pc@(432d6 <disk_lock>)                 
  if (sc != RTEMS_SUCCESSFUL) {                                       
   438dc:	4a80           	tstl %d0                                    
   438de:	6656           	bnes 43936 <rtems_disk_next+0x86>           <== NEVER TAKEN
    return NULL;                                                      
  }                                                                   
                                                                      
  if (major >= disktab_size) {                                        
   438e0:	2239 0006 3636 	movel 63636 <disktab_size>,%d1              
   438e6:	b283           	cmpl %d3,%d1                                
   438e8:	6348           	blss 43932 <rtems_disk_next+0x82>           <== NEVER TAKEN
    disk_unlock();                                                    
                                                                      
    return NULL;                                                      
  }                                                                   
                                                                      
  dtab = disktab + major;                                             
   438ea:	2a39 0006 363a 	movel 6363a <disktab>,%d5                   
   438f0:	2003           	movel %d3,%d0                               
   438f2:	2445           	moveal %d5,%a2                              
   438f4:	e788           	lsll #3,%d0                                 
   438f6:	d5c0           	addal %d0,%a2                               
   438f8:	2052           	moveal %a2@,%a0                             
  while (true) {                                                      
    if (dtab->minor == NULL || minor >= dtab->size) {                 
   438fa:	4a88           	tstl %a0                                    
   438fc:	672c           	beqs 4392a <rtems_disk_next+0x7a>           <== NEVER TAKEN
   438fe:	b4aa 0004      	cmpl %a2@(4),%d2                            
   43902:	6426           	bccs 4392a <rtems_disk_next+0x7a>           <== NEVER TAKEN
         disk_unlock();                                               
                                                                      
         return NULL;                                                 
       }                                                              
       dtab = disktab + major;                                        
    } else if (dtab->minor [minor] == NULL) {                         
   43904:	2802           	movel %d2,%d4                               
      ++minor;                                                        
   43906:	5282           	addql #1,%d2                                
         disk_unlock();                                               
                                                                      
         return NULL;                                                 
       }                                                              
       dtab = disktab + major;                                        
    } else if (dtab->minor [minor] == NULL) {                         
   43908:	e58c           	lsll #2,%d4                                 
   4390a:	2270 4800      	moveal %a0@(00000000,%d4:l),%a1             
   4390e:	4a89           	tstl %a1                                    
   43910:	67e8           	beqs 438fa <rtems_disk_next+0x4a>           
      ++minor;                                                        
    } else {                                                          
      ++dtab->minor [minor]->uses;                                    
   43912:	52a9 0014      	addql #1,%a1@(20)                           
      disk_unlock();                                                  
   43916:	4eba f9ec      	jsr %pc@(43304 <disk_unlock>)               
                                                                      
      return dtab->minor [minor];                                     
   4391a:	2052           	moveal %a2@,%a0                             
   4391c:	2030 4800      	movel %a0@(00000000,%d4:l),%d0              
    }                                                                 
  }                                                                   
}                                                                     
   43920:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                
   43926:	4e5e           	unlk %fp                                    
   43928:	4e75           	rts                                         
                                                                      
  dtab = disktab + major;                                             
  while (true) {                                                      
    if (dtab->minor == NULL || minor >= dtab->size) {                 
       minor = 0;                                                     
       ++major;                                                       
   4392a:	5283           	addql #1,%d3                                
  }                                                                   
                                                                      
  dtab = disktab + major;                                             
  while (true) {                                                      
    if (dtab->minor == NULL || minor >= dtab->size) {                 
       minor = 0;                                                     
   4392c:	4282           	clrl %d2                                    
       ++major;                                                       
       if (major >= disktab_size) {                                   
   4392e:	b681           	cmpl %d1,%d3                                
   43930:	65be           	bcss 438f0 <rtems_disk_next+0x40>           <== NEVER TAKEN
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return NULL;                                                      
  }                                                                   
                                                                      
  if (major >= disktab_size) {                                        
    disk_unlock();                                                    
   43932:	4eba f9d0      	jsr %pc@(43304 <disk_unlock>)               
                                                                      
    return NULL;                                                      
   43936:	4280           	clrl %d0                                    
      disk_unlock();                                                  
                                                                      
      return dtab->minor [minor];                                     
    }                                                                 
  }                                                                   
}                                                                     
   43938:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                
   4393e:	4e5e           	unlk %fp                                    
   43940:	4e75           	rts                                         
    rtems_filesystem_split_dev_t(dev, major, minor);                  
                                                                      
    /* If minor wraps around */                                       
    if ((minor + 1) < minor) {                                        
      /* If major wraps around */                                     
      if ((major + 1) < major) {                                      
   43942:	5280           	addql #1,%d0                                <== NOT EXECUTED
   43944:	b680           	cmpl %d0,%d3                                <== NOT EXECUTED
   43946:	62ee           	bhis 43936 <rtems_disk_next+0x86>           <== NOT EXECUTED
   43948:	2600           	movel %d0,%d3                               <== NOT EXECUTED
        return NULL;                                                  
      }                                                               
      ++major;                                                        
      minor = 0;                                                      
   4394a:	4282           	clrl %d2                                    <== NOT EXECUTED
   4394c:	608a           	bras 438d8 <rtems_disk_next+0x28>           <== NOT EXECUTED
rtems_disk_next(dev_t dev)                                            
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_disk_device_table *dtab = NULL;                               
  rtems_device_major_number major = 0;                                
  rtems_device_minor_number minor = 0;                                
   4394e:	4282           	clrl %d2                                    
rtems_disk_device *                                                   
rtems_disk_next(dev_t dev)                                            
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_disk_device_table *dtab = NULL;                               
  rtems_device_major_number major = 0;                                
   43950:	4283           	clrl %d3                                    
   43952:	6084           	bras 438d8 <rtems_disk_next+0x28>           
                                                                      

000437e2 <rtems_disk_obtain>: { rtems_status_code sc = RTEMS_SUCCESSFUL; rtems_disk_device *dd = NULL; rtems_interrupt_level level; rtems_interrupt_disable(level);
   437e2:	203c 0000 0700 	movel #1792,%d0                             
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
                                                                      
rtems_disk_device *                                                   
rtems_disk_obtain(dev_t dev)                                          
{                                                                     
   437e8:	4e56 fffc      	linkw %fp,#-4                               
   437ec:	2f02           	movel %d2,%sp@-                             
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_disk_device *dd = NULL;                                       
  rtems_interrupt_level level;                                        
                                                                      
  rtems_interrupt_disable(level);                                     
   437ee:	40c2           	movew %sr,%d2                               
   437f0:	8082           	orl %d2,%d0                                 
   437f2:	46c0           	movew %d0,%sr                               
  if (!diskdevs_protected) {                                          
   437f4:	1039 0006 3630 	moveb 63630 <diskdevs_protected>,%d0        
   437fa:	6730           	beqs 4382c <rtems_disk_obtain+0x4a>         <== ALWAYS TAKEN
    /* Frequent and quickest case */                                  
    dd = get_disk_entry(dev, false);                                  
    rtems_interrupt_enable(level);                                    
  } else {                                                            
    rtems_interrupt_enable(level);                                    
   437fc:	46c2           	movew %d2,%sr                               <== NOT EXECUTED
                                                                      
    sc = disk_lock();                                                 
   437fe:	4eba fad6      	jsr %pc@(432d6 <disk_lock>)                 <== NOT EXECUTED
    if (sc == RTEMS_SUCCESSFUL) {                                     
   43802:	4a80           	tstl %d0                                    <== NOT EXECUTED
   43804:	6642           	bnes 43848 <rtems_disk_obtain+0x66>         <== NOT EXECUTED
      dd = get_disk_entry(dev, false);                                
   43806:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   43808:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   4380c:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   43810:	4eba fa12      	jsr %pc@(43224 <get_disk_entry>)            <== NOT EXECUTED
      disk_unlock();                                                  
   43814:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
   43818:	4eba faea      	jsr %pc@(43304 <disk_unlock>)               <== NOT EXECUTED
   4381c:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
   43820:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  return dd;                                                          
}                                                                     
   43824:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   43828:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4382a:	4e75           	rts                                         <== NOT EXECUTED
  rtems_interrupt_level level;                                        
                                                                      
  rtems_interrupt_disable(level);                                     
  if (!diskdevs_protected) {                                          
    /* Frequent and quickest case */                                  
    dd = get_disk_entry(dev, false);                                  
   4382c:	42a7           	clrl %sp@-                                  
   4382e:	2f2e 000c      	movel %fp@(12),%sp@-                        
   43832:	2f2e 0008      	movel %fp@(8),%sp@-                         
   43836:	4eba f9ec      	jsr %pc@(43224 <get_disk_entry>)            
    rtems_interrupt_enable(level);                                    
   4383a:	46c2           	movew %d2,%sr                               
   4383c:	4fef 000c      	lea %sp@(12),%sp                            
      disk_unlock();                                                  
    }                                                                 
  }                                                                   
                                                                      
  return dd;                                                          
}                                                                     
   43840:	242e fff8      	movel %fp@(-8),%d2                          
   43844:	4e5e           	unlk %fp                                    
   43846:	4e75           	rts                                         
   43848:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
                                                                      
rtems_disk_device *                                                   
rtems_disk_obtain(dev_t dev)                                          
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_disk_device *dd = NULL;                                       
   4384c:	4280           	clrl %d0                                    <== NOT EXECUTED
      disk_unlock();                                                  
    }                                                                 
  }                                                                   
                                                                      
  return dd;                                                          
}                                                                     
   4384e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00050878 <rtems_event_system_receive>: rtems_event_set event_in, rtems_option option_set, rtems_interval ticks, rtems_event_set *event_out ) {
   50878:	4e56 0000      	linkw %fp,#0                                
   5087c:	206e 0014      	moveal %fp@(20),%a0                         
   50880:	2f0a           	movel %a2,%sp@-                             
  rtems_status_code sc;                                               
                                                                      
  if ( event_out != NULL ) {                                          
   50882:	4a88           	tstl %a0                                    
   50884:	671e           	beqs 508a4 <rtems_event_system_receive+0x2c><== NEVER TAKEN
    Thread_Control    *executing = _Thread_Executing;                 
   50886:	2479 0006 4162 	moveal 64162 <_Per_CPU_Information+0xe>,%a2 
    RTEMS_API_Control *api = executing->API_Extensions[ THREAD_API_RTEMS ];
   5088c:	226a 00f8      	moveal %a2@(248),%a1                        
    Event_Control     *event = &api->System_event;                    
                                                                      
    if ( !_Event_sets_Is_empty( event_in ) ) {                        
   50890:	4aae 0008      	tstl %fp@(8)                                
   50894:	6618           	bnes 508ae <rtems_event_system_receive+0x36><== ALWAYS TAKEN
  } else {                                                            
    sc = RTEMS_INVALID_ADDRESS;                                       
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   50896:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
      _Thread_Enable_dispatch();                                      
                                                                      
      sc = executing->Wait.return_code;                               
    } else {                                                          
      *event_out = event->pending_events;                             
      sc = RTEMS_SUCCESSFUL;                                          
   5089a:	4280           	clrl %d0                                    <== NOT EXECUTED
  } else {                                                            
    sc = RTEMS_INVALID_ADDRESS;                                       
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   5089c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      );                                                              
      _Thread_Enable_dispatch();                                      
                                                                      
      sc = executing->Wait.return_code;                               
    } else {                                                          
      *event_out = event->pending_events;                             
   5089e:	20a9 0004      	movel %a1@(4),%a0@                          <== NOT EXECUTED
  } else {                                                            
    sc = RTEMS_INVALID_ADDRESS;                                       
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   508a2:	4e75           	rts                                         <== NOT EXECUTED
   508a4:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
    } else {                                                          
      *event_out = event->pending_events;                             
      sc = RTEMS_SUCCESSFUL;                                          
    }                                                                 
  } else {                                                            
    sc = RTEMS_INVALID_ADDRESS;                                       
   508a8:	7009           	moveq #9,%d0                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   508aa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   508ac:	4e75           	rts                                         <== NOT EXECUTED
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   508ae:	2039 0006 3fea 	movel 63fea <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   508b4:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   508b6:	23c0 0006 3fea 	movel %d0,63fea <_Thread_Dispatch_disable_level>
    RTEMS_API_Control *api = executing->API_Extensions[ THREAD_API_RTEMS ];
    Event_Control     *event = &api->System_event;                    
                                                                      
    if ( !_Event_sets_Is_empty( event_in ) ) {                        
      _Thread_Disable_dispatch();                                     
      _Event_Seize(                                                   
   508bc:	2f3c 0004 0000 	movel #262144,%sp@-                         
   508c2:	4879 0006 419c 	pea 6419c <_System_event_Sync_state>        
   508c8:	4869 0004      	pea %a1@(4)                                 
   508cc:	2f0a           	movel %a2,%sp@-                             
   508ce:	2f08           	movel %a0,%sp@-                             
   508d0:	2f2e 0010      	movel %fp@(16),%sp@-                        
   508d4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   508d8:	2f2e 0008      	movel %fp@(8),%sp@-                         
   508dc:	4eb9 0004 861c 	jsr 4861c <_Event_Seize>                    
        executing,                                                    
        event,                                                        
        &_System_event_Sync_state,                                    
        STATES_WAITING_FOR_SYSTEM_EVENT                               
      );                                                              
      _Thread_Enable_dispatch();                                      
   508e2:	4fef 0020      	lea %sp@(32),%sp                            
   508e6:	4eb9 0004 b5b0 	jsr 4b5b0 <_Thread_Enable_dispatch>         
                                                                      
      sc = executing->Wait.return_code;                               
   508ec:	202a 0034      	movel %a2@(52),%d0                          
  } else {                                                            
    sc = RTEMS_INVALID_ADDRESS;                                       
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   508f0:	246e fffc      	moveal %fp@(-4),%a2                         
   508f4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00047670 <rtems_event_system_send>: rtems_status_code rtems_event_system_send( rtems_id id, rtems_event_set event_in ) {
   47670:	4e56 fffc      	linkw %fp,#-4                               
  rtems_status_code  sc;                                              
  Thread_Control    *thread;                                          
  Objects_Locations  location;                                        
  RTEMS_API_Control *api;                                             
                                                                      
  thread = _Thread_Get( id, &location );                              
   47674:	486e fffc      	pea %fp@(-4)                                
   47678:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4767c:	4eb9 0004 9c64 	jsr 49c64 <_Thread_Get>                     
  switch ( location ) {                                               
   47682:	508f           	addql #8,%sp                                
   47684:	4aae fffc      	tstl %fp@(-4)                               
   47688:	6632           	bnes 476bc <rtems_event_system_send+0x4c>   <== NEVER TAKEN
    case OBJECTS_LOCAL:                                               
      api = thread->API_Extensions[ THREAD_API_RTEMS ];               
      _Event_Surrender(                                               
   4768a:	2040           	moveal %d0,%a0                              
   4768c:	2f3c 0004 0000 	movel #262144,%sp@-                         
   47692:	4879 0005 fbb8 	pea 5fbb8 <_System_event_Sync_state>        
   47698:	2228 00f8      	movel %a0@(248),%d1                         
   4769c:	5881           	addql #4,%d1                                
   4769e:	2f01           	movel %d1,%sp@-                             
   476a0:	2f2e 000c      	movel %fp@(12),%sp@-                        
   476a4:	2f00           	movel %d0,%sp@-                             
   476a6:	4eb9 0004 6fa8 	jsr 46fa8 <_Event_Surrender>                
        event_in,                                                     
        &api->System_event,                                           
        &_System_event_Sync_state,                                    
        STATES_WAITING_FOR_SYSTEM_EVENT                               
      );                                                              
      _Thread_Enable_dispatch();                                      
   476ac:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
      sc = RTEMS_SUCCESSFUL;                                          
      break;                                                          
   476b2:	4fef 0014      	lea %sp@(20),%sp                            
        &api->System_event,                                           
        &_System_event_Sync_state,                                    
        STATES_WAITING_FOR_SYSTEM_EVENT                               
      );                                                              
      _Thread_Enable_dispatch();                                      
      sc = RTEMS_SUCCESSFUL;                                          
   476b6:	4280           	clrl %d0                                    
      sc = RTEMS_INVALID_ID;                                          
      break;                                                          
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   476b8:	4e5e           	unlk %fp                                    
   476ba:	4e75           	rts                                         
    case OBJECTS_REMOTE:                                              
      sc = RTEMS_ILLEGAL_ON_REMOTE_OBJECT;                            
      break;                                                          
#endif                                                                
    default:                                                          
      sc = RTEMS_INVALID_ID;                                          
   476bc:	7004           	moveq #4,%d0                                <== NOT EXECUTED
      break;                                                          
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   476be:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

0004672e <rtems_fdisk_abort.constprop.16>: * * @param format The format string. See printf for details. * @param ... The arguments for the format text. */ static void rtems_fdisk_abort (const char *format, ...)
   4672e:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
{                                                                     
  va_list args;                                                       
  va_start (args, format);                                            
  fprintf (stderr, "fdisk:abort:");                                   
   46732:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   46738:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   4673c:	4878 000c      	pea c <OPER1>                               <== NOT EXECUTED
   46740:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   46744:	4879 0006 ff19 	pea 6ff19 <map.6766+0x363>                  <== NOT EXECUTED
   4674a:	4eb9 0006 123e 	jsr 6123e <fwrite>                          <== NOT EXECUTED
  vfprintf (stderr, format, args);                                    
   46750:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   46756:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   4675a:	4879 0006 ff26 	pea 6ff26 <map.6766+0x370>                  <== NOT EXECUTED
   46760:	4eb9 0006 0c96 	jsr 60c96 <fputs>                           <== NOT EXECUTED
  fprintf (stderr, "\n");                                             
   46766:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   4676c:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   46770:	4878 000a      	pea a <LASTO>                               <== NOT EXECUTED
   46774:	4eb9 0006 0bc0 	jsr 60bc0 <fputc>                           <== NOT EXECUTED
  fflush (stderr);                                                    
   4677a:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   46780:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
   46784:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   46788:	4eb9 0006 0792 	jsr 60792 <fflush>                          <== NOT EXECUTED
  va_end (args);                                                      
  exit (1);                                                           
   4678e:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   46792:	4eb9 0006 0424 	jsr 60424 <exit>                            <== NOT EXECUTED
                                                                      

00044cfa <rtems_fdisk_compact>: * used segments that will fit. The used queue is sorted on the least * number of active pages. */ static int rtems_fdisk_compact (rtems_flashdisk* fd) {
   44cfa:	4e56 ffd4      	linkw %fp,#-44                              
   44cfe:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   44d02:	266e 0008      	moveal %fp@(8),%a3                          
static bool                                                           
rtems_fdisk_is_erased_blocks_starvation (rtems_flashdisk* fd)         
{                                                                     
  bool starvation = fd->erased_blocks < fd->starvation_threshold;     
                                                                      
  if (starvation)                                                     
   44d06:	202b 0024      	movel %a3@(36),%d0                          
   44d0a:	b0ab 0028      	cmpl %a3@(40),%d0                           
   44d0e:	6356           	blss 44d66 <rtems_fdisk_compact+0x6c>       <== ALWAYS TAKEN
  uint32_t pages;                                                     
                                                                      
  if (rtems_fdisk_is_erased_blocks_starvation (fd))                   
  {                                                                   
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_printf (fd, " resolve starvation");                   
   44d10:	4879 0006 fe3e 	pea 6fe3e <map.6766+0x288>                  <== NOT EXECUTED
rtems_fdisk_is_erased_blocks_starvation (rtems_flashdisk* fd)         
{                                                                     
  bool starvation = fd->erased_blocks < fd->starvation_threshold;     
                                                                      
  if (starvation)                                                     
    fd->starvations++;                                                
   44d16:	52ab 0070      	addql #1,%a3@(112)                          <== NOT EXECUTED
  uint32_t pages;                                                     
                                                                      
  if (rtems_fdisk_is_erased_blocks_starvation (fd))                   
  {                                                                   
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_printf (fd, " resolve starvation");                   
   44d1a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   44d1c:	4eba f42e      	jsr %pc@(4414c <rtems_fdisk_printf>)        <== NOT EXECUTED
 * Pop the head of the segment control queue.                         
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_segment_queue_pop_head (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  if (queue->head)                                                    
   44d20:	246b 0040      	moveal %a3@(64),%a2                         <== NOT EXECUTED
   44d24:	508f           	addql #8,%sp                                <== NOT EXECUTED
   44d26:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   44d28:	6700 01b4      	beqw 44ede <rtems_fdisk_compact+0x1e4>      <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
   44d2c:	2012           	movel %a2@,%d0                              <== NOT EXECUTED
   44d2e:	2740 0040      	movel %d0,%a3@(64)                          <== NOT EXECUTED
    if (!queue->head)                                                 
   44d32:	6700 0200      	beqw 44f34 <rtems_fdisk_compact+0x23a>      <== NOT EXECUTED
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   44d36:	53ab 0048      	subql #1,%a3@(72)                           <== NOT EXECUTED
   44d3a:	202b 0034      	movel %a3@(52),%d0                          <== NOT EXECUTED
                                                                      
    sc->next = 0;                                                     
   44d3e:	4292           	clrl %a2@                                   <== NOT EXECUTED
    if (!ssc)                                                         
      ssc = rtems_fdisk_segment_queue_pop_head (&fd->available);      
                                                                      
    if (ssc)                                                          
    {                                                                 
      dsc = rtems_fdisk_seg_most_available (&fd->available);          
   44d40:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44d42:	4eba f9ec      	jsr %pc@(44730 <rtems_fdisk_seg_most_available.isra.12>)<== NOT EXECUTED
   44d46:	588f           	addql #4,%sp                                <== NOT EXECUTED
      if (dsc)                                                        
   44d48:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44d4a:	6700 01d0      	beqw 44f1c <rtems_fdisk_compact+0x222>      <== NOT EXECUTED
      {                                                               
        ret = rtems_fdisk_recycle_segment (fd, ssc, dsc, &pages);     
   44d4e:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   44d52:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44d54:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   44d56:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   44d58:	4eba fbf8      	jsr %pc@(44952 <rtems_fdisk_recycle_segment>)<== NOT EXECUTED
        if (ret)                                                      
   44d5c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   44d60:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44d62:	6600 00d4      	bnew 44e38 <rtems_fdisk_compact+0x13e>      <== NOT EXECUTED
    rtems_fdisk_printf (fd, " ssc scan: %d-%d: p=%ld, seg=%ld",       
                        ssc->device, ssc->segment,                    
                        pages, segments);                             
#endif                                                                
                                                                      
    rtems_fdisk_segment_queue_remove (&fd->available, dsc);           
   44d66:	280b           	movel %a3,%d4                               
                                                                      
    while (ssc &&                                                     
           ((pages + ssc->pages_active) < dst_pages) &&               
           ((compacted_segs + segments) < fd->compact_segs))          
    {                                                                 
      pages += ssc->pages_active;                                     
   44d68:	4285           	clrl %d5                                    
  {                                                                   
    uint32_t                 dst_pages;                               
    uint32_t                 segments;                                
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_printf (fd, " compacting");                           
   44d6a:	4bfa f3e0      	lea %pc@(4414c <rtems_fdisk_printf>),%a5    
#endif                                                                
                                                                      
    dsc = rtems_fdisk_seg_most_available (&fd->available);            
   44d6e:	263c 0004 4730 	movel #280368,%d3                           
    rtems_fdisk_printf (fd, " ssc scan: %d-%d: p=%ld, seg=%ld",       
                        ssc->device, ssc->segment,                    
                        pages, segments);                             
#endif                                                                
                                                                      
    rtems_fdisk_segment_queue_remove (&fd->available, dsc);           
   44d74:	0684 0000 0034 	addil #52,%d4                               
   44d7a:	2c3c 0004 3fa4 	movel #278436,%d6                           
   44d80:	206b 0040      	moveal %a3@(64),%a0                         
      rtems_fdisk_error ("compacting: nothing to recycle");           
      return EIO;                                                     
    }                                                                 
  }                                                                   
                                                                      
  while (fd->used.head)                                               
   44d84:	4a88           	tstl %a0                                    
   44d86:	6700 0170      	beqw 44ef8 <rtems_fdisk_compact+0x1fe>      
  {                                                                   
    uint32_t                 dst_pages;                               
    uint32_t                 segments;                                
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_printf (fd, " compacting");                           
   44d8a:	4879 0006 fe69 	pea 6fe69 <map.6766+0x2b3>                  <== NOT EXECUTED
   44d90:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   44d92:	4e95           	jsr %a5@                                    <== NOT EXECUTED
#endif                                                                
                                                                      
    dsc = rtems_fdisk_seg_most_available (&fd->available);            
   44d94:	2f2b 0034      	movel %a3@(52),%sp@-                        <== NOT EXECUTED
   44d98:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   44d9a:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                                                      
    if (dsc == 0)                                                     
   44d9c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_printf (fd, " compacting");                           
#endif                                                                
                                                                      
    dsc = rtems_fdisk_seg_most_available (&fd->available);            
   44da0:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
                                                                      
    if (dsc == 0)                                                     
   44da2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44da4:	6700 015e      	beqw 44f04 <rtems_fdisk_compact+0x20a>      <== NOT EXECUTED
 * with the most available number of pages and see if we have         
 * used segments that will fit. The used queue is sorted on the least 
 * number of active pages.                                            
 */                                                                   
static int                                                            
rtems_fdisk_compact (rtems_flashdisk* fd)                             
   44da8:	2e2c 0020      	movel %a4@(32),%d7                          <== NOT EXECUTED
   44dac:	deac 0024      	addl %a4@(36),%d7                           <== NOT EXECUTED
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   44db0:	202c 0014      	movel %a4@(20),%d0                          <== NOT EXECUTED
   44db4:	9087           	subl %d7,%d0                                <== NOT EXECUTED
   44db6:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
   44db8:	9eac 001c      	subl %a4@(28),%d7                           <== NOT EXECUTED
    dst_pages = rtems_fdisk_seg_pages_available (dsc);                
    segments = 0;                                                     
    pages = 0;                                                        
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_printf (fd, " dsc:%02d-%03d: most available",         
   44dbc:	2f2c 000c      	movel %a4@(12),%sp@-                        <== NOT EXECUTED
   44dc0:	2f2c 0008      	movel %a4@(8),%sp@-                         <== NOT EXECUTED
   44dc4:	4879 0006 fea6 	pea 6fea6 <map.6766+0x2f0>                  <== NOT EXECUTED
    {                                                                 
      rtems_fdisk_error ("compacting: no available segments to compact too");
      return EIO;                                                     
    }                                                                 
                                                                      
    ssc = fd->used.head;                                              
   44dca:	246b 0040      	moveal %a3@(64),%a2                         <== NOT EXECUTED
    dst_pages = rtems_fdisk_seg_pages_available (dsc);                
    segments = 0;                                                     
    pages = 0;                                                        
   44dce:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_printf (fd, " dsc:%02d-%03d: most available",         
   44dd2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   44dd4:	4eba f376      	jsr %pc@(4414c <rtems_fdisk_printf>)        <== NOT EXECUTED
     * we handle during one compaction. A lower number means less aggressive
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
   44dd8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   44ddc:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   44dde:	6748           	beqs 44e28 <rtems_fdisk_compact+0x12e>      <== NOT EXECUTED
           ((pages + ssc->pages_active) < dst_pages) &&               
   44de0:	222e fffc      	movel %fp@(-4),%d1                          <== NOT EXECUTED
   44de4:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
   44de6:	d3ea 001c      	addal %a2@(28),%a1                          <== NOT EXECUTED
     * we handle during one compaction. A lower number means less aggressive
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
   44dea:	b3c7           	cmpal %d7,%a1                               <== NOT EXECUTED
   44dec:	6400 00c6      	bccw 44eb4 <rtems_fdisk_compact+0x1ba>      <== NOT EXECUTED
           ((pages + ssc->pages_active) < dst_pages) &&               
           ((compacted_segs + segments) < fd->compact_segs))          
   44df0:	202b 000c      	movel %a3@(12),%d0                          <== NOT EXECUTED
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
           ((pages + ssc->pages_active) < dst_pages) &&               
   44df4:	b085           	cmpl %d5,%d0                                <== NOT EXECUTED
   44df6:	6300 00bc      	blsw 44eb4 <rtems_fdisk_compact+0x1ba>      <== NOT EXECUTED
   44dfa:	4281           	clrl %d1                                    <== NOT EXECUTED
           ((compacted_segs + segments) < fd->compact_segs))          
    {                                                                 
      pages += ssc->pages_active;                                     
      segments++;                                                     
   44dfc:	5281           	addql #1,%d1                                <== NOT EXECUTED
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
           ((pages + ssc->pages_active) < dst_pages) &&               
   44dfe:	2405           	movel %d5,%d2                               <== NOT EXECUTED
   44e00:	d481           	addl %d1,%d2                                <== NOT EXECUTED
           ((compacted_segs + segments) < fd->compact_segs))          
    {                                                                 
      pages += ssc->pages_active;                                     
      segments++;                                                     
      ssc = ssc->next;                                                
   44e02:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
     * we handle during one compaction. A lower number means less aggressive
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
   44e04:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   44e06:	671c           	beqs 44e24 <rtems_fdisk_compact+0x12a>      <== NOT EXECUTED
           ((pages + ssc->pages_active) < dst_pages) &&               
   44e08:	2049           	moveal %a1,%a0                              <== NOT EXECUTED
   44e0a:	d1ea 001c      	addal %a2@(28),%a0                          <== NOT EXECUTED
     * we handle during one compaction. A lower number means less aggressive
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
   44e0e:	be88           	cmpl %a0,%d7                                <== NOT EXECUTED
   44e10:	6330           	blss 44e42 <rtems_fdisk_compact+0x148>      <== NOT EXECUTED
           ((pages + ssc->pages_active) < dst_pages) &&               
   44e12:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   44e14:	632c           	blss 44e42 <rtems_fdisk_compact+0x148>      <== NOT EXECUTED
           ((compacted_segs + segments) < fd->compact_segs))          
    {                                                                 
      pages += ssc->pages_active;                                     
      segments++;                                                     
   44e16:	5281           	addql #1,%d1                                <== NOT EXECUTED
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
           ((pages + ssc->pages_active) < dst_pages) &&               
   44e18:	2405           	movel %d5,%d2                               <== NOT EXECUTED
   44e1a:	2248           	moveal %a0,%a1                              <== NOT EXECUTED
   44e1c:	d481           	addl %d1,%d2                                <== NOT EXECUTED
           ((compacted_segs + segments) < fd->compact_segs))          
    {                                                                 
      pages += ssc->pages_active;                                     
      segments++;                                                     
      ssc = ssc->next;                                                
   44e1e:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
     * we handle during one compaction. A lower number means less aggressive
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
   44e20:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   44e22:	66e4           	bnes 44e08 <rtems_fdisk_compact+0x10e>      <== NOT EXECUTED
   44e24:	2d49 fffc      	movel %a1,%fp@(-4)                          <== NOT EXECUTED
     */                                                               
                                                                      
    if (!ssc || (pages == 0) || ((compacted_segs + segments) == 1))   
    {                                                                 
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_printf (fd, " nothing to compact");                 
   44e28:	4879 0006 fec5 	pea 6fec5 <map.6766+0x30f>                  <== NOT EXECUTED
   44e2e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   44e30:	4eba f31a      	jsr %pc@(4414c <rtems_fdisk_printf>)        <== NOT EXECUTED
#endif                                                                
      break;                                                          
   44e34:	508f           	addql #8,%sp                                <== NOT EXECUTED
    }                                                                 
                                                                      
    compacted_segs += segments;                                       
  }                                                                   
                                                                      
  return 0;                                                           
   44e36:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   44e38:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44e3e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44e40:	4e75           	rts                                         <== NOT EXECUTED
   44e42:	2d49 fffc      	movel %a1,%fp@(-4)                          <== NOT EXECUTED
     * We need a source segment and have pages to copy and            
     * compacting one segment to another is silly. Compaction needs   
     * to free at least one more segment.                             
     */                                                               
                                                                      
    if (!ssc || (pages == 0) || ((compacted_segs + segments) == 1))   
   44e46:	4a89           	tstl %a1                                    <== NOT EXECUTED
   44e48:	67de           	beqs 44e28 <rtems_fdisk_compact+0x12e>      <== NOT EXECUTED
   44e4a:	da81           	addl %d1,%d5                                <== NOT EXECUTED
   44e4c:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   44e4e:	b085           	cmpl %d5,%d0                                <== NOT EXECUTED
   44e50:	67d6           	beqs 44e28 <rtems_fdisk_compact+0x12e>      <== NOT EXECUTED
#endif                                                                
      break;                                                          
    }                                                                 
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_printf (fd, " ssc scan: %d-%d: p=%ld, seg=%ld",       
   44e52:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   44e54:	2f09           	movel %a1,%sp@-                             <== NOT EXECUTED
   44e56:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   44e5a:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   44e5e:	4879 0006 fed9 	pea 6fed9 <map.6766+0x323>                  <== NOT EXECUTED
   44e64:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   44e66:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                        ssc->device, ssc->segment,                    
                        pages, segments);                             
#endif                                                                
                                                                      
    rtems_fdisk_segment_queue_remove (&fd->available, dsc);           
   44e68:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
   44e6a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44e6c:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   44e6e:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   44e70:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
                                                                      
    /*                                                                
     * We now copy the pages to the new segment.                      
     */                                                               
                                                                      
    while (pages)                                                     
   44e74:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
   44e78:	206b 0040      	moveal %a3@(64),%a0                         <== NOT EXECUTED
   44e7c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44e7e:	6700 ff04      	beqw 44d84 <rtems_fdisk_compact+0x8a>       <== NOT EXECUTED
 * Pop the head of the segment control queue.                         
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_segment_queue_pop_head (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  if (queue->head)                                                    
   44e82:	4a88           	tstl %a0                                    <== NOT EXECUTED
   44e84:	67f6           	beqs 44e7c <rtems_fdisk_compact+0x182>      <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
   44e86:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
   44e88:	2740 0040      	movel %d0,%a3@(64)                          <== NOT EXECUTED
    if (!queue->head)                                                 
   44e8c:	672c           	beqs 44eba <rtems_fdisk_compact+0x1c0>      <== NOT EXECUTED
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   44e8e:	53ab 0048      	subql #1,%a3@(72)                           <== NOT EXECUTED
                                                                      
    sc->next = 0;                                                     
   44e92:	4290           	clrl %a0@                                   <== NOT EXECUTED
    {                                                                 
      ssc = rtems_fdisk_segment_queue_pop_head (&fd->used);           
                                                                      
      if (ssc)                                                        
      {                                                               
        ret = rtems_fdisk_recycle_segment (fd, ssc, dsc, &pages);     
   44e94:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   44e98:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44e9a:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   44e9c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   44e9e:	4eba fab2      	jsr %pc@(44952 <rtems_fdisk_recycle_segment>)<== NOT EXECUTED
        if (ret)                                                      
   44ea2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   44ea6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44ea8:	668e           	bnes 44e38 <rtems_fdisk_compact+0x13e>      <== NOT EXECUTED
   44eaa:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
   44eae:	206b 0040      	moveal %a3@(64),%a0                         <== NOT EXECUTED
   44eb2:	60c8           	bras 44e7c <rtems_fdisk_compact+0x182>      <== NOT EXECUTED
     * compaction or less delay when compacting but it may mean the disk
     * will fill.                                                     
     */                                                               
                                                                      
    while (ssc &&                                                     
           ((pages + ssc->pages_active) < dst_pages) &&               
   44eb4:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
      return EIO;                                                     
    }                                                                 
                                                                      
    ssc = fd->used.head;                                              
    dst_pages = rtems_fdisk_seg_pages_available (dsc);                
    segments = 0;                                                     
   44eb6:	4281           	clrl %d1                                    <== NOT EXECUTED
   44eb8:	608c           	bras 44e46 <rtems_fdisk_compact+0x14c>      <== NOT EXECUTED
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   44eba:	53ab 0048      	subql #1,%a3@(72)                           <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
   44ebe:	42ab 0044      	clrl %a3@(68)                               <== NOT EXECUTED
                                                                      
    queue->count--;                                                   
                                                                      
    sc->next = 0;                                                     
   44ec2:	4290           	clrl %a0@                                   <== NOT EXECUTED
    {                                                                 
      ssc = rtems_fdisk_segment_queue_pop_head (&fd->used);           
                                                                      
      if (ssc)                                                        
      {                                                               
        ret = rtems_fdisk_recycle_segment (fd, ssc, dsc, &pages);     
   44ec4:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   44ec8:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44eca:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   44ecc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   44ece:	4eba fa82      	jsr %pc@(44952 <rtems_fdisk_recycle_segment>)<== NOT EXECUTED
        if (ret)                                                      
   44ed2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   44ed6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44ed8:	67d0           	beqs 44eaa <rtems_fdisk_compact+0x1b0>      <== NOT EXECUTED
   44eda:	6000 ff5c      	braw 44e38 <rtems_fdisk_compact+0x13e>      <== NOT EXECUTED
 * Pop the head of the segment control queue.                         
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_segment_queue_pop_head (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  if (queue->head)                                                    
   44ede:	246b 0034      	moveal %a3@(52),%a2                         <== NOT EXECUTED
   44ee2:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   44ee4:	6760           	beqs 44f46 <rtems_fdisk_compact+0x24c>      <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
   44ee6:	2012           	movel %a2@,%d0                              <== NOT EXECUTED
   44ee8:	2740 0034      	movel %d0,%a3@(52)                          <== NOT EXECUTED
    if (!queue->head)                                                 
   44eec:	6770           	beqs 44f5e <rtems_fdisk_compact+0x264>      <== NOT EXECUTED
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   44eee:	53ab 003c      	subql #1,%a3@(60)                           <== NOT EXECUTED
                                                                      
    sc->next = 0;                                                     
   44ef2:	4292           	clrl %a2@                                   <== NOT EXECUTED
   44ef4:	6000 fe4a      	braw 44d40 <rtems_fdisk_compact+0x46>       <== NOT EXECUTED
    }                                                                 
                                                                      
    compacted_segs += segments;                                       
  }                                                                   
                                                                      
  return 0;                                                           
   44ef8:	4280           	clrl %d0                                    
}                                                                     
   44efa:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   44f00:	4e5e           	unlk %fp                                    
   44f02:	4e75           	rts                                         
                                                                      
    dsc = rtems_fdisk_seg_most_available (&fd->available);            
                                                                      
    if (dsc == 0)                                                     
    {                                                                 
      rtems_fdisk_error ("compacting: no available segments to compact too");
   44f04:	4879 0006 fe75 	pea 6fe75 <map.6766+0x2bf>                  <== NOT EXECUTED
   44f0a:	4eba f3da      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   44f0e:	588f           	addql #4,%sp                                <== NOT EXECUTED
      return EIO;                                                     
   44f10:	7005           	moveq #5,%d0                                <== NOT EXECUTED
                                                                      
    compacted_segs += segments;                                       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   44f12:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44f18:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44f1a:	4e75           	rts                                         <== NOT EXECUTED
        if (ret)                                                      
          return ret;                                                 
      }                                                               
      else                                                            
      {                                                               
        rtems_fdisk_error ("compacting: starvation");                 
   44f1c:	4879 0006 fe52 	pea 6fe52 <map.6766+0x29c>                  <== NOT EXECUTED
   44f22:	4eba f3c2      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   44f26:	588f           	addql #4,%sp                                <== NOT EXECUTED
        return EIO;                                                   
   44f28:	7005           	moveq #5,%d0                                <== NOT EXECUTED
                                                                      
    compacted_segs += segments;                                       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   44f2a:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44f30:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44f32:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   44f34:	53ab 0048      	subql #1,%a3@(72)                           <== NOT EXECUTED
   44f38:	202b 0034      	movel %a3@(52),%d0                          <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
   44f3c:	42ab 0044      	clrl %a3@(68)                               <== NOT EXECUTED
                                                                      
    queue->count--;                                                   
                                                                      
    sc->next = 0;                                                     
   44f40:	4292           	clrl %a2@                                   <== NOT EXECUTED
   44f42:	6000 fdfc      	braw 44d40 <rtems_fdisk_compact+0x46>       <== NOT EXECUTED
        return EIO;                                                   
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      rtems_fdisk_error ("compacting: nothing to recycle");           
   44f46:	4879 0006 fefa 	pea 6fefa <map.6766+0x344>                  <== NOT EXECUTED
   44f4c:	4eba f398      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   44f50:	588f           	addql #4,%sp                                <== NOT EXECUTED
      return EIO;                                                     
   44f52:	7005           	moveq #5,%d0                                <== NOT EXECUTED
                                                                      
    compacted_segs += segments;                                       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   44f54:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44f5a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44f5c:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   44f5e:	53ab 003c      	subql #1,%a3@(60)                           <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
   44f62:	42ab 0038      	clrl %a3@(56)                               <== NOT EXECUTED
                                                                      
    queue->count--;                                                   
                                                                      
    sc->next = 0;                                                     
   44f66:	4292           	clrl %a2@                                   <== NOT EXECUTED
   44f68:	6000 fdd6      	braw 44d40 <rtems_fdisk_compact+0x46>       <== NOT EXECUTED
                                                                      

00044356 <rtems_fdisk_erase_segment>: /** * Erase the segment. */ static int rtems_fdisk_erase_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc) {
   44356:	4e56 fff4      	linkw %fp,#-12                              <== NOT EXECUTED
   4435a:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     <== NOT EXECUTED
   4435e:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  int                                ret;                             
  uint32_t                           device;                          
  uint32_t                           segment;                         
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
   44362:	222a 0008      	movel %a2@(8),%d1                           <== NOT EXECUTED
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   44366:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   44368:	2001           	movel %d1,%d0                               <== NOT EXECUTED
/**                                                                   
 * Erase the segment.                                                 
 */                                                                   
static int                                                            
rtems_fdisk_erase_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc)
{                                                                     
   4436a:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   4436e:	e58a           	lsll #2,%d2                                 <== NOT EXECUTED
   44370:	e988           	lsll #4,%d0                                 <== NOT EXECUTED
   44372:	206b 002c      	moveal %a3@(44),%a0                         <== NOT EXECUTED
   44376:	9082           	subl %d2,%d0                                <== NOT EXECUTED
   44378:	d1c0           	addal %d0,%a0                               <== NOT EXECUTED
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
  sd = rtems_fdisk_seg_descriptor (fd, device, segment);              
  ops = fd->devices[device].descriptor->flash_ops;                    
   4437a:	2268 0008      	moveal %a0@(8),%a1                          <== NOT EXECUTED
  uint32_t                           device;                          
  uint32_t                           segment;                         
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
   4437e:	202a 000c      	movel %a2@(12),%d0                          <== NOT EXECUTED
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   44382:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
  sd = rtems_fdisk_seg_descriptor (fd, device, segment);              
  ops = fd->devices[device].descriptor->flash_ops;                    
  ret = ops->erase (sd, device, segment);                             
   44384:	2269 0008      	moveal %a1@(8),%a1                          <== NOT EXECUTED
   44388:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   4438a:	e98a           	lsll #4,%d2                                 <== NOT EXECUTED
   4438c:	ed88           	lsll #6,%d0                                 <== NOT EXECUTED
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
  sd = rtems_fdisk_seg_descriptor (fd, device, segment);              
  ops = fd->devices[device].descriptor->flash_ops;                    
  ret = ops->erase (sd, device, segment);                             
   4438e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   44390:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
   44392:	9082           	subl %d2,%d0                                <== NOT EXECUTED
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
  sd = rtems_fdisk_seg_descriptor (fd, device, segment);              
  ops = fd->devices[device].descriptor->flash_ops;                    
  ret = ops->erase (sd, device, segment);                             
   44394:	2f30 0804      	movel %a0@(00000004,%d0:l),%sp@-            <== NOT EXECUTED
   44398:	2069 0010      	moveal %a1@(16),%a0                         <== NOT EXECUTED
   4439c:	4e90           	jsr %a0@                                    <== NOT EXECUTED
  if (ret)                                                            
   4439e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
  sd = rtems_fdisk_seg_descriptor (fd, device, segment);              
  ops = fd->devices[device].descriptor->flash_ops;                    
  ret = ops->erase (sd, device, segment);                             
   443a2:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (ret)                                                            
   443a4:	6758           	beqs 443fe <rtems_fdisk_erase_segment+0xa8> <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_error (" erase-segment:%02d-%03d: "      \            
   443a6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   443a8:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   443ae:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   443b0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   443b2:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   443b6:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   443ba:	4879 0006 fc0e 	pea 6fc0e <map.6766+0x58>                   <== NOT EXECUTED
   443c0:	4eba ff24      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   443c4:	206b 0058      	moveal %a3@(88),%a0                         <== NOT EXECUTED
  if (ret)                                                            
  {                                                                   
    rtems_fdisk_error (" erase-segment:%02d-%03d: "      \            
                       "segment erase failed: %s (%d)",               
                       sc->device, sc->segment, strerror (ret), ret); 
    sc->failed = true;                                                
   443c8:	7001           	moveq #1,%d0                                <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   443ca:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
  if (ret)                                                            
  {                                                                   
    rtems_fdisk_error (" erase-segment:%02d-%03d: "      \            
                       "segment erase failed: %s (%d)",               
                       sc->device, sc->segment, strerror (ret), ret); 
    sc->failed = true;                                                
   443ce:	2540 0028      	movel %d0,%a2@(40)                          <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   443d2:	4a88           	tstl %a0                                    <== NOT EXECUTED
   443d4:	6700 0094      	beqw 4446a <rtems_fdisk_erase_segment+0x114><== NOT EXECUTED
  {                                                                   
    if (it == sc)                                                     
   443d8:	b1ca           	cmpal %a2,%a0                               <== NOT EXECUTED
   443da:	6716           	beqs 443f2 <rtems_fdisk_erase_segment+0x9c> <== NOT EXECUTED
      return true;                                                    
    it = it->next;                                                    
   443dc:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   443de:	4a88           	tstl %a0                                    <== NOT EXECUTED
   443e0:	66f6           	bnes 443d8 <rtems_fdisk_erase_segment+0x82> <== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   443e2:	4292           	clrl %a2@                                   <== NOT EXECUTED
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
   443e4:	206b 005c      	moveal %a3@(92),%a0                         <== NOT EXECUTED
   443e8:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   443ea:	52ab 0060      	addql #1,%a3@(96)                           <== NOT EXECUTED
    sc->next = 0;                                                     
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
   443ee:	274a 005c      	movel %a2,%a3@(92)                          <== NOT EXECUTED
   * segment will now get a go.                                       
   */                                                                 
  rtems_fdisk_segment_queue_push_tail (&fd->available, sc);           
                                                                      
  return 0;                                                           
}                                                                     
   443f2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   443f4:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   443fa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   443fc:	4e75           	rts                                         <== NOT EXECUTED
  }                                                                   
                                                                      
  fd->erased_blocks += sc->pages;                                     
  sc->erased++;                                                       
                                                                      
  memset (sc->page_descriptors, 0xff, sc->pages_desc * fd->block_size);
   443fe:	202b 0014      	movel %a3@(20),%d0                          <== NOT EXECUTED
   44402:	41ea 0018      	lea %a2@(24),%a0                            <== NOT EXECUTED
   44406:	4c10 0800      	mulsl %a0@,%d0                              <== NOT EXECUTED
   4440a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
    if (!rtems_fdisk_segment_queue_present (&fd->failed, sc))         
      rtems_fdisk_segment_queue_push_tail (&fd->failed, sc);          
    return ret;                                                       
  }                                                                   
                                                                      
  fd->erased_blocks += sc->pages;                                     
   4440c:	202a 0014      	movel %a2@(20),%d0                          <== NOT EXECUTED
   44410:	d1ab 0028      	addl %d0,%a3@(40)                           <== NOT EXECUTED
  sc->erased++;                                                       
   44414:	52aa 002c      	addql #1,%a2@(44)                           <== NOT EXECUTED
                                                                      
  memset (sc->page_descriptors, 0xff, sc->pages_desc * fd->block_size);
   44418:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  <== NOT EXECUTED
   4441c:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   44420:	4eb9 0006 159c 	jsr 6159c <memset>                          <== NOT EXECUTED
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
                                                                      
    if (queue->head)                                                  
   44426:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  fd->erased_blocks += sc->pages;                                     
  sc->erased++;                                                       
                                                                      
  memset (sc->page_descriptors, 0xff, sc->pages_desc * fd->block_size);
                                                                      
  sc->pages_active = 0;                                               
   4442a:	42aa 001c      	clrl %a2@(28)                               <== NOT EXECUTED
  sc->pages_used   = 0;                                               
   4442e:	42aa 0020      	clrl %a2@(32)                               <== NOT EXECUTED
  sc->pages_bad    = 0;                                               
   44432:	42aa 0024      	clrl %a2@(36)                               <== NOT EXECUTED
                                                                      
  sc->failed = false;                                                 
   44436:	42aa 0028      	clrl %a2@(40)                               <== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   4443a:	4292           	clrl %a2@                                   <== NOT EXECUTED
                                                                      
    if (queue->head)                                                  
   4443c:	4aab 0034      	tstl %a3@(52)                               <== NOT EXECUTED
   44440:	671a           	beqs 4445c <rtems_fdisk_erase_segment+0x106><== NOT EXECUTED
    {                                                                 
      queue->tail->next = sc;                                         
   44442:	206b 0038      	moveal %a3@(56),%a0                         <== NOT EXECUTED
   44446:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   44448:	52ab 003c      	addql #1,%a3@(60)                           <== NOT EXECUTED
    sc->next = 0;                                                     
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
   4444c:	274a 0038      	movel %a2,%a3@(56)                          <== NOT EXECUTED
   * segment will now get a go.                                       
   */                                                                 
  rtems_fdisk_segment_queue_push_tail (&fd->available, sc);           
                                                                      
  return 0;                                                           
}                                                                     
   44450:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   44452:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   44458:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4445a:	4e75           	rts                                         <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   4445c:	52ab 003c      	addql #1,%a3@(60)                           <== NOT EXECUTED
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
    }                                                                 
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
   44460:	274a 0038      	movel %a2,%a3@(56)                          <== NOT EXECUTED
   44464:	274a 0034      	movel %a2,%a3@(52)                          <== NOT EXECUTED
   44468:	60e6           	bras 44450 <rtems_fdisk_erase_segment+0xfa> <== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   4446a:	4292           	clrl %a2@                                   <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   4446c:	52ab 0060      	addql #1,%a3@(96)                           <== NOT EXECUTED
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
    }                                                                 
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
   44470:	274a 005c      	movel %a2,%a3@(92)                          <== NOT EXECUTED
   44474:	274a 0058      	movel %a2,%a3@(88)                          <== NOT EXECUTED
   44478:	6000 ff78      	braw 443f2 <rtems_fdisk_erase_segment+0x9c> <== NOT EXECUTED
                                                                      

000442e6 <rtems_fdisk_error>: * @param ... The arguments for the format text. * @return int The number of bytes written to the output. */ static int rtems_fdisk_error (const char *format, ...) {
   442e6:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  int ret;                                                            
  va_list args;                                                       
  va_start (args, format);                                            
  fprintf (stderr, "fdisk:error:");                                   
   442ea:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
 * @param ... The arguments for the format text.                      
 * @return int The number of bytes written to the output.             
 */                                                                   
static int                                                            
rtems_fdisk_error (const char *format, ...)                           
{                                                                     
   442f0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  int ret;                                                            
  va_list args;                                                       
  va_start (args, format);                                            
  fprintf (stderr, "fdisk:error:");                                   
   442f2:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   442f6:	4878 000c      	pea c <OPER1>                               <== NOT EXECUTED
   442fa:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   442fe:	4879 0006 fc01 	pea 6fc01 <map.6766+0x4b>                   <== NOT EXECUTED
   44304:	4eb9 0006 123e 	jsr 6123e <fwrite>                          <== NOT EXECUTED
  ret =  vfprintf (stderr, format, args);                             
   4430a:	486e 000c      	pea %fp@(12)                                <== NOT EXECUTED
   4430e:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   44314:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   44318:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   4431c:	4eb9 0006 86e0 	jsr 686e0 <vfprintf>                        <== NOT EXECUTED
  fprintf (stderr, "\n");                                             
   44322:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
{                                                                     
  int ret;                                                            
  va_list args;                                                       
  va_start (args, format);                                            
  fprintf (stderr, "fdisk:error:");                                   
  ret =  vfprintf (stderr, format, args);                             
   44328:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  fprintf (stderr, "\n");                                             
   4432a:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   4432e:	4878 000a      	pea a <LASTO>                               <== NOT EXECUTED
   44332:	4eb9 0006 0bc0 	jsr 60bc0 <fputc>                           <== NOT EXECUTED
  fflush (stderr);                                                    
   44338:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   4433e:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   44342:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   44346:	4eb9 0006 0792 	jsr 60792 <fflush>                          <== NOT EXECUTED
  va_end (args);                                                      
  return ret;                                                         
}                                                                     
   4434c:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   4434e:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   44352:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000440c2 <rtems_fdisk_info>: */ static int rtems_fdisk_info (const rtems_flashdisk* fd, const char *format, ...) { int ret = 0; if (fd->info_level >= 2)
   440c2:	7001           	moveq #1,%d0                                
 * @param ... The arguments for the format text.                      
 * @return int The number of bytes written to the output.             
 */                                                                   
static int                                                            
rtems_fdisk_info (const rtems_flashdisk* fd, const char *format, ...) 
{                                                                     
   440c4:	4e56 0000      	linkw %fp,#0                                
   440c8:	206e 0008      	moveal %fp@(8),%a0                          
   440cc:	2f02           	movel %d2,%sp@-                             
  int ret = 0;                                                        
  if (fd->info_level >= 2)                                            
   440ce:	b0a8 006c      	cmpl %a0@(108),%d0                          
   440d2:	646c           	bccs 44140 <rtems_fdisk_info+0x7e>          <== ALWAYS TAKEN
  {                                                                   
    va_list args;                                                     
    va_start (args, format);                                          
    fprintf (stdout, "fdisk:");                                       
   440d4:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   440da:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   440de:	4878 0006      	pea 6 <EXTENDSFDF>                          <== NOT EXECUTED
   440e2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   440e6:	4879 0006 fbc7 	pea 6fbc7 <map.6766+0x11>                   <== NOT EXECUTED
   440ec:	4eb9 0006 123e 	jsr 6123e <fwrite>                          <== NOT EXECUTED
    ret =  vfprintf (stdout, format, args);                           
   440f2:	486e 0010      	pea %fp@(16)                                <== NOT EXECUTED
   440f6:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   440fc:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   44100:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   44104:	4eb9 0006 86e0 	jsr 686e0 <vfprintf>                        <== NOT EXECUTED
    fprintf (stdout, "\n");                                           
   4410a:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
  if (fd->info_level >= 2)                                            
  {                                                                   
    va_list args;                                                     
    va_start (args, format);                                          
    fprintf (stdout, "fdisk:");                                       
    ret =  vfprintf (stdout, format, args);                           
   44110:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    fprintf (stdout, "\n");                                           
   44112:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   44116:	4878 000a      	pea a <LASTO>                               <== NOT EXECUTED
   4411a:	4eb9 0006 0bc0 	jsr 60bc0 <fputc>                           <== NOT EXECUTED
    fflush (stdout);                                                  
   44120:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   44126:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   4412a:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   4412e:	4eb9 0006 0792 	jsr 60792 <fflush>                          <== NOT EXECUTED
    va_end (args);                                                    
   44134:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
  return ret;                                                         
}                                                                     
   44136:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   44138:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   4413c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4413e:	4e75           	rts                                         <== NOT EXECUTED
 * @return int The number of bytes written to the output.             
 */                                                                   
static int                                                            
rtems_fdisk_info (const rtems_flashdisk* fd, const char *format, ...) 
{                                                                     
  int ret = 0;                                                        
   44140:	4282           	clrl %d2                                    
    fprintf (stdout, "\n");                                           
    fflush (stdout);                                                  
    va_end (args);                                                    
  }                                                                   
  return ret;                                                         
}                                                                     
   44142:	2002           	movel %d2,%d0                               
   44144:	242e fffc      	movel %fp@(-4),%d2                          
   44148:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004623c <rtems_fdisk_initialize>: */ rtems_device_driver rtems_fdisk_initialize (rtems_device_major_number major, rtems_device_minor_number minor, void* arg __attribute__((unused))) {
   4623c:	4e56 ffb4      	linkw %fp,#-76                              
   46240:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  const rtems_flashdisk_config* c = rtems_flashdisk_configuration;    
  rtems_flashdisk*              fd;                                   
  rtems_status_code             sc;                                   
                                                                      
  sc = rtems_disk_io_initialize ();                                   
   46244:	4eb9 0004 3e50 	jsr 43e50 <rtems_disk_io_initialize>        
  if (sc != RTEMS_SUCCESSFUL)                                         
   4624a:	4a80           	tstl %d0                                    
   4624c:	670a           	beqs 46258 <rtems_fdisk_initialize+0x1c>    <== ALWAYS TAKEN
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4624e:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   46254:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   46256:	4e75           	rts                                         <== NOT EXECUTED
static rtems_status_code                                              
rtems_fdisk_crc16_gen_factors (uint16_t pattern)                      
{                                                                     
  uint32_t b;                                                         
                                                                      
  rtems_fdisk_crc16_factor = malloc (sizeof (uint16_t) * 256);        
   46258:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                
   4625c:	4eb9 0004 794c 	jsr 4794c <malloc>                          
  if (!rtems_fdisk_crc16_factor)                                      
   46262:	588f           	addql #4,%sp                                
static rtems_status_code                                              
rtems_fdisk_crc16_gen_factors (uint16_t pattern)                      
{                                                                     
  uint32_t b;                                                         
                                                                      
  rtems_fdisk_crc16_factor = malloc (sizeof (uint16_t) * 256);        
   46264:	23c0 0008 4fa0 	movel %d0,84fa0 <rtems_fdisk_crc16_factor>  
  if (!rtems_fdisk_crc16_factor)                                      
   4626a:	6700 02ec      	beqw 46558 <rtems_fdisk_initialize+0x31c>   
   4626e:	2440           	moveal %d0,%a2                              
   46270:	93c9           	subal %a1,%a1                               
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (b = 0; b < 256; b++)                                           
  {                                                                   
    uint32_t i;                                                       
    uint16_t v = b;                                                   
   46272:	307c 0008      	moveaw #8,%a0                               
   46276:	3009           	movew %a1,%d0                               
    for (i = 8; i--;)                                                 
      v = v & 1 ? (v >> 1) ^ pattern : v >> 1;                        
   46278:	4281           	clrl %d1                                    
   4627a:	3200           	movew %d0,%d1                               
   4627c:	2401           	movel %d1,%d2                               
   4627e:	e289           	lsrl #1,%d1                                 
   46280:	0800 0000      	btst #0,%d0                                 
   46284:	6700 02c2      	beqw 46548 <rtems_fdisk_initialize+0x30c>   
   46288:	2001           	movel %d1,%d0                               
   4628a:	5388           	subql #1,%a0                                
   4628c:	0a80 ffff 8408 	eoril #-31736,%d0                           
                                                                      
  for (b = 0; b < 256; b++)                                           
  {                                                                   
    uint32_t i;                                                       
    uint16_t v = b;                                                   
    for (i = 8; i--;)                                                 
   46292:	4a88           	tstl %a0                                    
   46294:	66e2           	bnes 46278 <rtems_fdisk_initialize+0x3c>    
                                                                      
  rtems_fdisk_crc16_factor = malloc (sizeof (uint16_t) * 256);        
  if (!rtems_fdisk_crc16_factor)                                      
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (b = 0; b < 256; b++)                                           
   46296:	5289           	addql #1,%a1                                
  {                                                                   
    uint32_t i;                                                       
    uint16_t v = b;                                                   
    for (i = 8; i--;)                                                 
      v = v & 1 ? (v >> 1) ^ pattern : v >> 1;                        
    rtems_fdisk_crc16_factor[b] = v & 0xffff;                         
   46298:	34c0           	movew %d0,%a2@+                             
                                                                      
  rtems_fdisk_crc16_factor = malloc (sizeof (uint16_t) * 256);        
  if (!rtems_fdisk_crc16_factor)                                      
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (b = 0; b < 256; b++)                                           
   4629a:	b3fc 0000 0100 	cmpal #256,%a1                              
   462a0:	66d0           	bnes 46272 <rtems_fdisk_initialize+0x36>    
                                                                      
  sc = rtems_fdisk_crc16_gen_factors (0x8408);                        
  if (sc != RTEMS_SUCCESSFUL)                                         
      return sc;                                                      
                                                                      
  rtems_flashdisks = calloc (rtems_flashdisk_configuration_size,      
   462a2:	4878 0074      	pea 74 <DBL_MANT_DIG+0x3f>                  
   462a6:	2439 0007 40e8 	movel 740e8 <rtems_flashdisk_configuration_size>,%d2
   462ac:	2f02           	movel %d2,%sp@-                             
   462ae:	4eb9 0004 6f64 	jsr 46f64 <calloc>                          
                             sizeof (rtems_flashdisk));               
                                                                      
  if (!rtems_flashdisks)                                              
   462b4:	508f           	addql #8,%sp                                
                                                                      
  sc = rtems_fdisk_crc16_gen_factors (0x8408);                        
  if (sc != RTEMS_SUCCESSFUL)                                         
      return sc;                                                      
                                                                      
  rtems_flashdisks = calloc (rtems_flashdisk_configuration_size,      
   462b6:	23c0 0008 4f98 	movel %d0,84f98 <rtems_flashdisks>          
                             sizeof (rtems_flashdisk));               
                                                                      
  if (!rtems_flashdisks)                                              
   462bc:	6700 029a      	beqw 46558 <rtems_fdisk_initialize+0x31c>   
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (minor = 0; minor < rtems_flashdisk_configuration_size; minor++, c++)
   462c0:	4a82           	tstl %d2                                    
   462c2:	6700 03a8      	beqw 4666c <rtems_fdisk_initialize+0x430>   
   462c6:	41f9 0006 f218 	lea 6f218 <rtems_flashdisk_configuration+0x4>,%a0
   462cc:	47f9 0006 f214 	lea 6f214 <rtems_flashdisk_configuration>,%a3
   462d2:	2d48 ffe4      	movel %a0,%fp@(-28)                         
   462d6:	41f9 0006 f21c 	lea 6f21c <rtems_flashdisk_configuration+0x8>,%a0
   462dc:	42ae ffdc      	clrl %fp@(-36)                              
   462e0:	2d48 ffe0      	movel %a0,%fp@(-32)                         
   462e4:	42ae ffe8      	clrl %fp@(-24)                              
    dev_t    dev = rtems_filesystem_make_dev_t (major, minor);        
    uint32_t device;                                                  
    uint32_t blocks = 0;                                              
    int      ret;                                                     
                                                                      
    fd = &rtems_flashdisks[minor];                                    
   462e8:	246e ffdc      	moveal %fp@(-36),%a2                        
   462ec:	d5c0           	addal %d0,%a2                               
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.__overlay.major = _major;                                      
  temp.__overlay.minor = _minor;                                      
  return temp.device;                                                 
   462ee:	202e 0008      	movel %fp@(8),%d0                           
   462f2:	2d40 ffec      	movel %d0,%fp@(-20)                         
   462f6:	202e ffe8      	movel %fp@(-24),%d0                         
  if (!rtems_flashdisks)                                              
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (minor = 0; minor < rtems_flashdisk_configuration_size; minor++, c++)
  {                                                                   
    char     name[] = RTEMS_FLASHDISK_DEVICE_BASE_NAME "a";           
   462fa:	307c 6100      	moveaw #24832,%a0                           
   462fe:	2d40 fff0      	movel %d0,%fp@(-16)                         
    uint32_t blocks = 0;                                              
    int      ret;                                                     
                                                                      
    fd = &rtems_flashdisks[minor];                                    
                                                                      
    name [sizeof(RTEMS_FLASHDISK_DEVICE_BASE_NAME)] += minor;         
   46302:	102e ffeb      	moveb %fp@(-21),%d0                         
  if (!rtems_flashdisks)                                              
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (minor = 0; minor < rtems_flashdisk_configuration_size; minor++, c++)
  {                                                                   
    char     name[] = RTEMS_FLASHDISK_DEVICE_BASE_NAME "a";           
   46306:	3d48 fffe      	movew %a0,%fp@(-2)                          
   4630a:	207c 2f64 6576 	moveal #795108726,%a0                       
    uint32_t blocks = 0;                                              
    int      ret;                                                     
                                                                      
    fd = &rtems_flashdisks[minor];                                    
                                                                      
    name [sizeof(RTEMS_FLASHDISK_DEVICE_BASE_NAME)] += minor;         
   46310:	1d40 ffff      	moveb %d0,%fp@(-1)                          
  if (!rtems_flashdisks)                                              
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (minor = 0; minor < rtems_flashdisk_configuration_size; minor++, c++)
  {                                                                   
    char     name[] = RTEMS_FLASHDISK_DEVICE_BASE_NAME "a";           
   46314:	203c 2f66 6464 	movel #795239524,%d0                        
   4631a:	2d48 fff6      	movel %a0,%fp@(-10)                         
    fd->avail_compact_segs = c->avail_compact_segs;                   
    fd->block_size         = c->block_size;                           
    fd->unavail_blocks     = c->unavail_blocks;                       
    fd->info_level         = c->info_level;                           
                                                                      
    for (device = 0; device < c->device_count; device++)              
   4631e:	206e ffe4      	moveal %fp@(-28),%a0                        
  if (!rtems_flashdisks)                                              
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (minor = 0; minor < rtems_flashdisk_configuration_size; minor++, c++)
  {                                                                   
    char     name[] = RTEMS_FLASHDISK_DEVICE_BASE_NAME "a";           
   46322:	2d40 fffa      	movel %d0,%fp@(-6)                          
                                                                      
    name [sizeof(RTEMS_FLASHDISK_DEVICE_BASE_NAME)] += minor;         
                                                                      
    fd->major              = major;                                   
    fd->minor              = minor;                                   
    fd->flags              = c->flags;                                
   46326:	256b 000c 0008 	movel %a3@(12),%a2@(8)                      
    fd->compact_segs       = c->compact_segs;                         
    fd->avail_compact_segs = c->avail_compact_segs;                   
    fd->block_size         = c->block_size;                           
   4632c:	2413           	movel %a3@,%d2                              
    name [sizeof(RTEMS_FLASHDISK_DEVICE_BASE_NAME)] += minor;         
                                                                      
    fd->major              = major;                                   
    fd->minor              = minor;                                   
    fd->flags              = c->flags;                                
    fd->compact_segs       = c->compact_segs;                         
   4632e:	256b 0014 000c 	movel %a3@(20),%a2@(12)                     
    fd->avail_compact_segs = c->avail_compact_segs;                   
   46334:	256b 0018 0010 	movel %a3@(24),%a2@(16)                     
    fd->block_size         = c->block_size;                           
    fd->unavail_blocks     = c->unavail_blocks;                       
    fd->info_level         = c->info_level;                           
                                                                      
    for (device = 0; device < c->device_count; device++)              
   4633a:	2c10           	movel %a0@,%d6                              
    fd->minor              = minor;                                   
    fd->flags              = c->flags;                                
    fd->compact_segs       = c->compact_segs;                         
    fd->avail_compact_segs = c->avail_compact_segs;                   
    fd->block_size         = c->block_size;                           
    fd->unavail_blocks     = c->unavail_blocks;                       
   4633c:	256b 0010 0020 	movel %a3@(16),%a2@(32)                     
    fd->info_level         = c->info_level;                           
   46342:	256b 001c 006c 	movel %a3@(28),%a2@(108)                    
    fd = &rtems_flashdisks[minor];                                    
                                                                      
    name [sizeof(RTEMS_FLASHDISK_DEVICE_BASE_NAME)] += minor;         
                                                                      
    fd->major              = major;                                   
    fd->minor              = minor;                                   
   46348:	202e ffe8      	movel %fp@(-24),%d0                         
                                                                      
    fd = &rtems_flashdisks[minor];                                    
                                                                      
    name [sizeof(RTEMS_FLASHDISK_DEVICE_BASE_NAME)] += minor;         
                                                                      
    fd->major              = major;                                   
   4634c:	24ae 0008      	movel %fp@(8),%a2@                          
    fd->minor              = minor;                                   
   46350:	2540 0004      	movel %d0,%a2@(4)                           
    fd->flags              = c->flags;                                
    fd->compact_segs       = c->compact_segs;                         
    fd->avail_compact_segs = c->avail_compact_segs;                   
    fd->block_size         = c->block_size;                           
   46354:	2542 0014      	movel %d2,%a2@(20)                          
    fd->unavail_blocks     = c->unavail_blocks;                       
    fd->info_level         = c->info_level;                           
                                                                      
    for (device = 0; device < c->device_count; device++)              
   46358:	4a86           	tstl %d6                                    
   4635a:	6700 021a      	beqw 46576 <rtems_fdisk_initialize+0x33a>   
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   4635e:	2206           	movel %d6,%d1                               
   46360:	2006           	movel %d6,%d0                               
  for (minor = 0; minor < rtems_flashdisk_configuration_size; minor++, c++)
  {                                                                   
    char     name[] = RTEMS_FLASHDISK_DEVICE_BASE_NAME "a";           
    dev_t    dev = rtems_filesystem_make_dev_t (major, minor);        
    uint32_t device;                                                  
    uint32_t blocks = 0;                                              
   46362:	4287           	clrl %d7                                    
   46364:	206e ffe0      	moveal %fp@(-32),%a0                        
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   46368:	e589           	lsll #2,%d1                                 
   4636a:	e988           	lsll #4,%d0                                 
   4636c:	2850           	moveal %a0@,%a4                             
   4636e:	9081           	subl %d1,%d0                                
   46370:	4bf4 0800      	lea %a4@(00000000,%d0:l),%a5                
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   46374:	2814           	movel %a4@,%d4                              
rtems_fdisk_blocks_in_device (const rtems_fdisk_device_desc* dd,      
                              uint32_t                       page_size)
{                                                                     
  uint32_t count = 0;                                                 
  uint32_t s;                                                         
  for (s = 0; s < dd->segment_count; s++)                             
   46376:	6700 01ec      	beqw 46564 <rtems_fdisk_initialize+0x328>   
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   4637a:	2004           	movel %d4,%d0                               
 */                                                                   
static uint32_t                                                       
rtems_fdisk_blocks_in_device (const rtems_fdisk_device_desc* dd,      
                              uint32_t                       page_size)
{                                                                     
  uint32_t count = 0;                                                 
   4637c:	93c9           	subal %a1,%a1                               
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   4637e:	e588           	lsll #2,%d0                                 
   46380:	e98c           	lsll #4,%d4                                 
   46382:	206c 0004      	moveal %a4@(4),%a0                          
   46386:	9880           	subl %d0,%d4                                
   46388:	d888           	addl %a0,%d4                                
 */                                                                   
static uint32_t                                                       
rtems_fdisk_pages_in_segment (const rtems_fdisk_segment_desc* sd,     
                              uint32_t                        page_size)
{                                                                     
  return sd->size / page_size;                                        
   4638a:	2228 0008      	movel %a0@(8),%d1                           
  for (s = 0; s < dd->segment_count; s++)                             
  {                                                                   
    const rtems_fdisk_segment_desc* sd = &dd->segments[s];            
    count +=                                                          
      (rtems_fdisk_pages_in_segment (sd, page_size) -                 
       rtems_fdisk_page_desc_pages (sd, page_size)) * sd->count;      
   4638e:	4283           	clrl %d3                                    
 */                                                                   
static uint32_t                                                       
rtems_fdisk_pages_in_segment (const rtems_fdisk_segment_desc* sd,     
                              uint32_t                        page_size)
{                                                                     
  return sd->size / page_size;                                        
   46390:	4c42 1001      	remul %d2,%d1,%d1                           
  for (s = 0; s < dd->segment_count; s++)                             
  {                                                                   
    const rtems_fdisk_segment_desc* sd = &dd->segments[s];            
    count +=                                                          
      (rtems_fdisk_pages_in_segment (sd, page_size) -                 
       rtems_fdisk_page_desc_pages (sd, page_size)) * sd->count;      
   46394:	3610           	movew %a0@,%d3                              
   46396:	41e8 000c      	lea %a0@(12),%a0                            
rtems_fdisk_page_desc_pages (const rtems_fdisk_segment_desc* sd,      
                             uint32_t                        page_size)
{                                                                     
  uint32_t pages = rtems_fdisk_pages_in_segment (sd, page_size);      
  uint32_t bytes = pages * sizeof (rtems_fdisk_page_desc);            
  return ((bytes - 1) / page_size) + 1;                               
   4639a:	2001           	movel %d1,%d0                               
   4639c:	5380           	subql #1,%d0                                
static uint32_t                                                       
rtems_fdisk_page_desc_pages (const rtems_fdisk_segment_desc* sd,      
                             uint32_t                        page_size)
{                                                                     
  uint32_t pages = rtems_fdisk_pages_in_segment (sd, page_size);      
  uint32_t bytes = pages * sizeof (rtems_fdisk_page_desc);            
   4639e:	e789           	lsll #3,%d1                                 
  return ((bytes - 1) / page_size) + 1;                               
   463a0:	5381           	subql #1,%d1                                
   463a2:	4c42 1001      	remul %d2,%d1,%d1                           
  uint32_t s;                                                         
  for (s = 0; s < dd->segment_count; s++)                             
  {                                                                   
    const rtems_fdisk_segment_desc* sd = &dd->segments[s];            
    count +=                                                          
      (rtems_fdisk_pages_in_segment (sd, page_size) -                 
   463a6:	9081           	subl %d1,%d0                                
       rtems_fdisk_page_desc_pages (sd, page_size)) * sd->count;      
   463a8:	4c03 0800      	mulsl %d3,%d0                               
  uint32_t count = 0;                                                 
  uint32_t s;                                                         
  for (s = 0; s < dd->segment_count; s++)                             
  {                                                                   
    const rtems_fdisk_segment_desc* sd = &dd->segments[s];            
    count +=                                                          
   463ac:	d3c0           	addal %d0,%a1                               
rtems_fdisk_blocks_in_device (const rtems_fdisk_device_desc* dd,      
                              uint32_t                       page_size)
{                                                                     
  uint32_t count = 0;                                                 
  uint32_t s;                                                         
  for (s = 0; s < dd->segment_count; s++)                             
   463ae:	b888           	cmpl %a0,%d4                                
   463b0:	66d8           	bnes 4638a <rtems_fdisk_initialize+0x14e>   <== NEVER TAKEN
    fd->block_size         = c->block_size;                           
    fd->unavail_blocks     = c->unavail_blocks;                       
    fd->info_level         = c->info_level;                           
                                                                      
    for (device = 0; device < c->device_count; device++)              
      blocks += rtems_fdisk_blocks_in_device (&c->devices[device],    
   463b2:	de89           	addl %a1,%d7                                
   463b4:	49ec 000c      	lea %a4@(12),%a4                            
    fd->avail_compact_segs = c->avail_compact_segs;                   
    fd->block_size         = c->block_size;                           
    fd->unavail_blocks     = c->unavail_blocks;                       
    fd->info_level         = c->info_level;                           
                                                                      
    for (device = 0; device < c->device_count; device++)              
   463b8:	bbcc           	cmpal %a4,%a5                               
   463ba:	66b8           	bnes 46374 <rtems_fdisk_initialize+0x138>   <== NEVER TAKEN
                                              c->block_size);         
                                                                      
    /*                                                                
     * One copy buffer of a page size.                                
     */                                                               
    fd->copy_buffer = malloc (c->block_size);                         
   463bc:	2f02           	movel %d2,%sp@-                             
   463be:	4eb9 0004 794c 	jsr 4794c <malloc>                          
    if (!fd->copy_buffer)                                             
   463c4:	588f           	addql #4,%sp                                
                                              c->block_size);         
                                                                      
    /*                                                                
     * One copy buffer of a page size.                                
     */                                                               
    fd->copy_buffer = malloc (c->block_size);                         
   463c6:	2540 0068      	movel %d0,%a2@(104)                         
    if (!fd->copy_buffer)                                             
   463ca:	6700 018c      	beqw 46558 <rtems_fdisk_initialize+0x31c>   
      return RTEMS_NO_MEMORY;                                         
                                                                      
    fd->blocks = calloc (blocks, sizeof (rtems_fdisk_block_ctl));     
   463ce:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   463d2:	2f07           	movel %d7,%sp@-                             
   463d4:	4eb9 0004 6f64 	jsr 46f64 <calloc>                          
    if (!fd->blocks)                                                  
   463da:	508f           	addql #8,%sp                                
     */                                                               
    fd->copy_buffer = malloc (c->block_size);                         
    if (!fd->copy_buffer)                                             
      return RTEMS_NO_MEMORY;                                         
                                                                      
    fd->blocks = calloc (blocks, sizeof (rtems_fdisk_block_ctl));     
   463dc:	2540 0018      	movel %d0,%a2@(24)                          
    if (!fd->blocks)                                                  
   463e0:	6700 0176      	beqw 46558 <rtems_fdisk_initialize+0x31c>   
      return RTEMS_NO_MEMORY;                                         
                                                                      
    fd->block_count = blocks;                                         
   463e4:	2547 001c      	movel %d7,%a2@(28)                          
                                                                      
    fd->devices = calloc (c->device_count, sizeof (rtems_fdisk_device_ctl));
   463e8:	4878 000c      	pea c <OPER1>                               
   463ec:	2f06           	movel %d6,%sp@-                             
   463ee:	4eb9 0004 6f64 	jsr 46f64 <calloc>                          
    if (!fd->devices)                                                 
   463f4:	508f           	addql #8,%sp                                
    if (!fd->blocks)                                                  
      return RTEMS_NO_MEMORY;                                         
                                                                      
    fd->block_count = blocks;                                         
                                                                      
    fd->devices = calloc (c->device_count, sizeof (rtems_fdisk_device_ctl));
   463f6:	2540 002c      	movel %d0,%a2@(44)                          
    if (!fd->devices)                                                 
   463fa:	6700 015c      	beqw 46558 <rtems_fdisk_initialize+0x31c>   
      return RTEMS_NO_MEMORY;                                         
                                                                      
    sc = rtems_semaphore_create (rtems_build_name ('F', 'D', 'S', 'K'), 1,
   463fe:	486a 0064      	pea %a2@(100)                               
   46402:	42a7           	clrl %sp@-                                  
   46404:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
   46408:	4878 0001      	pea 1 <ADD>                                 
   4640c:	2f3c 4644 534b 	movel #1178882891,%sp@-                     
   46412:	4eb9 0004 befc 	jsr 4befc <rtems_semaphore_create>          
                                 RTEMS_PRIORITY | RTEMS_BINARY_SEMAPHORE |
                                 RTEMS_INHERIT_PRIORITY, 0, &fd->lock);
    if (sc != RTEMS_SUCCESSFUL)                                       
   46418:	4fef 0014      	lea %sp@(20),%sp                            
   4641c:	4a80           	tstl %d0                                    
   4641e:	6600 0218      	bnew 46638 <rtems_fdisk_initialize+0x3fc>   
      free (fd->blocks);                                              
      free (fd->devices);                                             
      return sc;                                                      
    }                                                                 
                                                                      
    sc = rtems_disk_create_phys(dev, c->block_size,                   
   46422:	486e fff6      	pea %fp@(-10)                               
   46426:	42a7           	clrl %sp@-                                  
   46428:	487a ee42      	pea %pc@(4526c <rtems_fdisk_ioctl>)         
   4642c:	9eaa 0020      	subl %a2@(32),%d7                           
   46430:	2f07           	movel %d7,%sp@-                             
   46432:	2f13           	movel %a3@,%sp@-                            
   46434:	2f2e fff0      	movel %fp@(-16),%sp@-                       
   46438:	2f2e ffec      	movel %fp@(-20),%sp@-                       
   4643c:	4eb9 0004 3c1a 	jsr 43c1a <rtems_disk_create_phys>          
                                blocks - fd->unavail_blocks,          
                                rtems_fdisk_ioctl, NULL, name);       
    if (sc != RTEMS_SUCCESSFUL)                                       
   46442:	4fef 001c      	lea %sp@(28),%sp                            
   46446:	4a80           	tstl %d0                                    
   46448:	6600 01a2      	bnew 465ec <rtems_fdisk_initialize+0x3b0>   
      free (fd->devices);                                             
      rtems_fdisk_error ("disk create phy failed");                   
      return sc;                                                      
    }                                                                 
                                                                      
    for (device = 0; device < c->device_count; device++)              
   4644c:	206e ffe4      	moveal %fp@(-28),%a0                        
   46450:	2a10           	movel %a0@,%d5                              
   46452:	6700 00a2      	beqw 464f6 <rtems_fdisk_initialize+0x2ba>   
   46456:	206e ffe0      	moveal %fp@(-32),%a0                        
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   4645a:	4283           	clrl %d3                                    
   4645c:	2850           	moveal %a0@,%a4                             
   4645e:	2a6a 002c      	moveal %a2@(44),%a5                         
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   46462:	2c14           	movel %a4@,%d6                              
static uint32_t                                                       
rtems_fdisk_count_segments (const rtems_fdisk_device_desc* dd)        
{                                                                     
  uint32_t count = 0;                                                 
  uint32_t segment;                                                   
  for (segment = 0; segment < dd->segment_count; segment++)           
   46464:	6700 0156      	beqw 465bc <rtems_fdisk_initialize+0x380>   
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   46468:	2406           	movel %d6,%d2                               
 * Count the segments for a device.                                   
 */                                                                   
static uint32_t                                                       
rtems_fdisk_count_segments (const rtems_fdisk_device_desc* dd)        
{                                                                     
  uint32_t count = 0;                                                 
   4646a:	4284           	clrl %d4                                    
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   4646c:	e98e           	lsll #4,%d6                                 
   4646e:	e58a           	lsll #2,%d2                                 
   46470:	206c 0004      	moveal %a4@(4),%a0                          
   46474:	2206           	movel %d6,%d1                               
   46476:	9282           	subl %d2,%d1                                
   46478:	d288           	addl %a0,%d1                                
rtems_fdisk_count_segments (const rtems_fdisk_device_desc* dd)        
{                                                                     
  uint32_t count = 0;                                                 
  uint32_t segment;                                                   
  for (segment = 0; segment < dd->segment_count; segment++)           
    count += dd->segments[segment].count;                             
   4647a:	4280           	clrl %d0                                    
   4647c:	3010           	movew %a0@,%d0                              
   4647e:	41e8 000c      	lea %a0@(12),%a0                            
   46482:	d880           	addl %d0,%d4                                
static uint32_t                                                       
rtems_fdisk_count_segments (const rtems_fdisk_device_desc* dd)        
{                                                                     
  uint32_t count = 0;                                                 
  uint32_t segment;                                                   
  for (segment = 0; segment < dd->segment_count; segment++)           
   46484:	b288           	cmpl %a0,%d1                                
   46486:	66f2           	bnes 4647a <rtems_fdisk_initialize+0x23e>   <== NEVER TAKEN
      uint32_t                 segment_count;                         
      uint32_t                 segment;                               
                                                                      
      segment_count = rtems_fdisk_count_segments (&c->devices[device]);
                                                                      
      fd->devices[device].segments = calloc (segment_count,           
   46488:	4878 0030      	pea 30 <OPER2+0x1c>                         
   4648c:	2f04           	movel %d4,%sp@-                             
   4648e:	4eb9 0004 6f64 	jsr 46f64 <calloc>                          
                                             sizeof (rtems_fdisk_segment_ctl));
      if (!fd->devices[device].segments)                              
   46494:	508f           	addql #8,%sp                                
      uint32_t                 segment_count;                         
      uint32_t                 segment;                               
                                                                      
      segment_count = rtems_fdisk_count_segments (&c->devices[device]);
                                                                      
      fd->devices[device].segments = calloc (segment_count,           
   46496:	2a80           	movel %d0,%a5@                              
                                             sizeof (rtems_fdisk_segment_ctl));
      if (!fd->devices[device].segments)                              
   46498:	6700 00e2      	beqw 4657c <rtems_fdisk_initialize+0x340>   
   4649c:	226c 0004      	moveal %a4@(4),%a1                          
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   464a0:	9c82           	subl %d2,%d6                                
   464a2:	dc89           	addl %a1,%d6                                
        const rtems_fdisk_segment_desc* sd;                           
        uint32_t                        seg_segment;                  
                                                                      
        sd = &c->devices[device].segments[segment];                   
                                                                      
        for (seg_segment = 0; seg_segment < sd->count; seg_segment++, sc++)
   464a4:	3411           	movew %a1@,%d2                              
   464a6:	672e           	beqs 464d6 <rtems_fdisk_initialize+0x29a>   <== NEVER TAKEN
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   464a8:	2040           	moveal %d0,%a0                              
   464aa:	5888           	addql #4,%a0                                
        const rtems_fdisk_segment_desc* sd;                           
        uint32_t                        seg_segment;                  
                                                                      
        sd = &c->devices[device].segments[segment];                   
                                                                      
        for (seg_segment = 0; seg_segment < sd->count; seg_segment++, sc++)
   464ac:	4281           	clrl %d1                                    
   464ae:	0282 0000 ffff 	andil #65535,%d2                            
        {                                                             
          sc->descriptor = sd;                                        
          sc->device     = device;                                    
          sc->segment    = seg_segment;                               
   464b4:	2141 0008      	movel %d1,%a0@(8)                           
        const rtems_fdisk_segment_desc* sd;                           
        uint32_t                        seg_segment;                  
                                                                      
        sd = &c->devices[device].segments[segment];                   
                                                                      
        for (seg_segment = 0; seg_segment < sd->count; seg_segment++, sc++)
   464b8:	5281           	addql #1,%d1                                
        {                                                             
          sc->descriptor = sd;                                        
   464ba:	2089           	movel %a1,%a0@                              
          sc->device     = device;                                    
   464bc:	2143 0004      	movel %d3,%a0@(4)                           
          sc->segment    = seg_segment;                               
          sc->erased     = 0;                                         
   464c0:	42a8 0028      	clrl %a0@(40)                               
   464c4:	41e8 0030      	lea %a0@(48),%a0                            
        const rtems_fdisk_segment_desc* sd;                           
        uint32_t                        seg_segment;                  
                                                                      
        sd = &c->devices[device].segments[segment];                   
                                                                      
        for (seg_segment = 0; seg_segment < sd->count; seg_segment++, sc++)
   464c8:	b481           	cmpl %d1,%d2                                
   464ca:	62e8           	bhis 464b4 <rtems_fdisk_initialize+0x278>   
 * @param major Flash disk major device number.                       
 * @param minor Minor device number, not applicable.                  
 * @param arg Initialization argument, not applicable.                
 */                                                                   
rtems_device_driver                                                   
rtems_fdisk_initialize (rtems_device_major_number major,              
   464cc:	2202           	movel %d2,%d1                               
   464ce:	ed8a           	lsll #6,%d2                                 
   464d0:	e989           	lsll #4,%d1                                 
   464d2:	9481           	subl %d1,%d2                                
   464d4:	d082           	addl %d2,%d0                                
   464d6:	43e9 000c      	lea %a1@(12),%a1                            
        return RTEMS_NO_MEMORY;                                       
      }                                                               
                                                                      
      sc = fd->devices[device].segments;                              
                                                                      
      for (segment = 0; segment < c->devices[device].segment_count; segment++)
   464da:	bc89           	cmpl %a1,%d6                                
   464dc:	66c6           	bnes 464a4 <rtems_fdisk_initialize+0x268>   <== NEVER TAKEN
          sc->erased     = 0;                                         
        }                                                             
      }                                                               
                                                                      
      fd->devices[device].segment_count = segment_count;              
      fd->devices[device].descriptor    = &c->devices[device];        
   464de:	2b4c 0008      	movel %a4,%a5@(8)                           
      free (fd->devices);                                             
      rtems_fdisk_error ("disk create phy failed");                   
      return sc;                                                      
    }                                                                 
                                                                      
    for (device = 0; device < c->device_count; device++)              
   464e2:	5283           	addql #1,%d3                                
          sc->segment    = seg_segment;                               
          sc->erased     = 0;                                         
        }                                                             
      }                                                               
                                                                      
      fd->devices[device].segment_count = segment_count;              
   464e4:	2b44 0004      	movel %d4,%a5@(4)                           
   464e8:	49ec 000c      	lea %a4@(12),%a4                            
   464ec:	4bed 000c      	lea %a5@(12),%a5                            
      free (fd->devices);                                             
      rtems_fdisk_error ("disk create phy failed");                   
      return sc;                                                      
    }                                                                 
                                                                      
    for (device = 0; device < c->device_count; device++)              
   464f0:	ba83           	cmpl %d3,%d5                                
   464f2:	6600 ff6e      	bnew 46462 <rtems_fdisk_initialize+0x226>   
                                                                      
      fd->devices[device].segment_count = segment_count;              
      fd->devices[device].descriptor    = &c->devices[device];        
    }                                                                 
                                                                      
    fd->device_count = c->device_count;                               
   464f6:	2545 0030      	movel %d5,%a2@(48)                          
                                                                      
    ret = rtems_fdisk_recover_block_mappings (fd);                    
   464fa:	2f0a           	movel %a2,%sp@-                             
   464fc:	4eba ea6e      	jsr %pc@(44f6c <rtems_fdisk_recover_block_mappings>)
    if (ret)                                                          
   46500:	588f           	addql #4,%sp                                
   46502:	4a80           	tstl %d0                                    
   46504:	6600 01d0      	bnew 466d6 <rtems_fdisk_initialize+0x49a>   
      rtems_fdisk_error ("recovery of disk failed: %s (%d)",          
                         strerror (ret), ret);                        
      return ret;                                                     
    }                                                                 
                                                                      
    ret = rtems_fdisk_compact (fd);                                   
   46508:	2f0a           	movel %a2,%sp@-                             
   4650a:	4eba e7ee      	jsr %pc@(44cfa <rtems_fdisk_compact>)       
    if (ret)                                                          
   4650e:	588f           	addql #4,%sp                                
   46510:	4a80           	tstl %d0                                    
   46512:	6600 016a      	bnew 4667e <rtems_fdisk_initialize+0x442>   
   46516:	7074           	moveq #116,%d0                              
   46518:	d1ae ffdc      	addl %d0,%fp@(-36)                          
   4651c:	103c 0020      	moveb #32,%d0                               
                             sizeof (rtems_flashdisk));               
                                                                      
  if (!rtems_flashdisks)                                              
    return RTEMS_NO_MEMORY;                                           
                                                                      
  for (minor = 0; minor < rtems_flashdisk_configuration_size; minor++, c++)
   46520:	52ae ffe8      	addql #1,%fp@(-24)                          
   46524:	47eb 0020      	lea %a3@(32),%a3                            
   46528:	2439 0007 40e8 	movel 740e8 <rtems_flashdisk_configuration_size>,%d2
   4652e:	d1ae ffe4      	addl %d0,%fp@(-28)                          
   46532:	d1ae ffe0      	addl %d0,%fp@(-32)                          
   46536:	b4ae ffe8      	cmpl %fp@(-24),%d2                          
   4653a:	6300 0130      	blsw 4666c <rtems_fdisk_initialize+0x430>   
   4653e:	2039 0008 4f98 	movel 84f98 <rtems_flashdisks>,%d0          <== NOT EXECUTED
   46544:	6000 fda2      	braw 462e8 <rtems_fdisk_initialize+0xac>    <== NOT EXECUTED
  for (b = 0; b < 256; b++)                                           
  {                                                                   
    uint32_t i;                                                       
    uint16_t v = b;                                                   
    for (i = 8; i--;)                                                 
      v = v & 1 ? (v >> 1) ^ pattern : v >> 1;                        
   46548:	2002           	movel %d2,%d0                               
   4654a:	e288           	lsrl #1,%d0                                 
   4654c:	5388           	subql #1,%a0                                
                                                                      
  for (b = 0; b < 256; b++)                                           
  {                                                                   
    uint32_t i;                                                       
    uint16_t v = b;                                                   
    for (i = 8; i--;)                                                 
   4654e:	4a88           	tstl %a0                                    
   46550:	6600 fd26      	bnew 46278 <rtems_fdisk_initialize+0x3c>    
   46554:	6000 fd40      	braw 46296 <rtems_fdisk_initialize+0x5a>    
                                                                      
  rtems_flashdisks = calloc (rtems_flashdisk_configuration_size,      
                             sizeof (rtems_flashdisk));               
                                                                      
  if (!rtems_flashdisks)                                              
    return RTEMS_NO_MEMORY;                                           
   46558:	701a           	moveq #26,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4655a:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   46560:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   46562:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static uint32_t                                                       
rtems_fdisk_blocks_in_device (const rtems_fdisk_device_desc* dd,      
                              uint32_t                       page_size)
{                                                                     
  uint32_t count = 0;                                                 
   46564:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
    fd->block_size         = c->block_size;                           
    fd->unavail_blocks     = c->unavail_blocks;                       
    fd->info_level         = c->info_level;                           
                                                                      
    for (device = 0; device < c->device_count; device++)              
      blocks += rtems_fdisk_blocks_in_device (&c->devices[device],    
   46566:	de89           	addl %a1,%d7                                <== NOT EXECUTED
   46568:	49ec 000c      	lea %a4@(12),%a4                            <== NOT EXECUTED
    fd->avail_compact_segs = c->avail_compact_segs;                   
    fd->block_size         = c->block_size;                           
    fd->unavail_blocks     = c->unavail_blocks;                       
    fd->info_level         = c->info_level;                           
                                                                      
    for (device = 0; device < c->device_count; device++)              
   4656c:	bbcc           	cmpal %a4,%a5                               <== NOT EXECUTED
   4656e:	6600 fe04      	bnew 46374 <rtems_fdisk_initialize+0x138>   <== NOT EXECUTED
   46572:	6000 fe48      	braw 463bc <rtems_fdisk_initialize+0x180>   <== NOT EXECUTED
  for (minor = 0; minor < rtems_flashdisk_configuration_size; minor++, c++)
  {                                                                   
    char     name[] = RTEMS_FLASHDISK_DEVICE_BASE_NAME "a";           
    dev_t    dev = rtems_filesystem_make_dev_t (major, minor);        
    uint32_t device;                                                  
    uint32_t blocks = 0;                                              
   46576:	4287           	clrl %d7                                    <== NOT EXECUTED
   46578:	6000 fe42      	braw 463bc <rtems_fdisk_initialize+0x180>   <== NOT EXECUTED
                                                                      
      fd->devices[device].segments = calloc (segment_count,           
                                             sizeof (rtems_fdisk_segment_ctl));
      if (!fd->devices[device].segments)                              
      {                                                               
        rtems_disk_delete (dev);                                      
   4657c:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
        rtems_semaphore_delete (fd->lock);                            
        free (fd->copy_buffer);                                       
   46580:	47f9 0004 7344 	lea 47344 <free>,%a3                        <== NOT EXECUTED
                                                                      
      fd->devices[device].segments = calloc (segment_count,           
                                             sizeof (rtems_fdisk_segment_ctl));
      if (!fd->devices[device].segments)                              
      {                                                               
        rtems_disk_delete (dev);                                      
   46586:	2f2e ffec      	movel %fp@(-20),%sp@-                       <== NOT EXECUTED
   4658a:	4eb9 0004 39ce 	jsr 439ce <rtems_disk_delete>               <== NOT EXECUTED
        rtems_semaphore_delete (fd->lock);                            
   46590:	2f2a 0064      	movel %a2@(100),%sp@-                       <== NOT EXECUTED
   46594:	4eb9 0004 c0e8 	jsr 4c0e8 <rtems_semaphore_delete>          <== NOT EXECUTED
        free (fd->copy_buffer);                                       
   4659a:	2f2a 0068      	movel %a2@(104),%sp@-                       <== NOT EXECUTED
   4659e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        free (fd->blocks);                                            
   465a0:	2f2a 0018      	movel %a2@(24),%sp@-                        <== NOT EXECUTED
   465a4:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        free (fd->devices);                                           
   465a6:	2f2a 002c      	movel %a2@(44),%sp@-                        <== NOT EXECUTED
   465aa:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   465ac:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
        return RTEMS_NO_MEMORY;                                       
   465b0:	701a           	moveq #26,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   465b2:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   465b8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   465ba:	4e75           	rts                                         <== NOT EXECUTED
      uint32_t                 segment_count;                         
      uint32_t                 segment;                               
                                                                      
      segment_count = rtems_fdisk_count_segments (&c->devices[device]);
                                                                      
      fd->devices[device].segments = calloc (segment_count,           
   465bc:	4878 0030      	pea 30 <OPER2+0x1c>                         <== NOT EXECUTED
   465c0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   465c2:	4eb9 0004 6f64 	jsr 46f64 <calloc>                          <== NOT EXECUTED
                                             sizeof (rtems_fdisk_segment_ctl));
      if (!fd->devices[device].segments)                              
   465c8:	508f           	addql #8,%sp                                <== NOT EXECUTED
      uint32_t                 segment_count;                         
      uint32_t                 segment;                               
                                                                      
      segment_count = rtems_fdisk_count_segments (&c->devices[device]);
                                                                      
      fd->devices[device].segments = calloc (segment_count,           
   465ca:	2a80           	movel %d0,%a5@                              <== NOT EXECUTED
                                             sizeof (rtems_fdisk_segment_ctl));
      if (!fd->devices[device].segments)                              
   465cc:	67ae           	beqs 4657c <rtems_fdisk_initialize+0x340>   <== NOT EXECUTED
 * Count the segments for a device.                                   
 */                                                                   
static uint32_t                                                       
rtems_fdisk_count_segments (const rtems_fdisk_device_desc* dd)        
{                                                                     
  uint32_t count = 0;                                                 
   465ce:	4284           	clrl %d4                                    <== NOT EXECUTED
      free (fd->devices);                                             
      rtems_fdisk_error ("disk create phy failed");                   
      return sc;                                                      
    }                                                                 
                                                                      
    for (device = 0; device < c->device_count; device++)              
   465d0:	5283           	addql #1,%d3                                <== NOT EXECUTED
          sc->erased     = 0;                                         
        }                                                             
      }                                                               
                                                                      
      fd->devices[device].segment_count = segment_count;              
      fd->devices[device].descriptor    = &c->devices[device];        
   465d2:	2b4c 0008      	movel %a4,%a5@(8)                           <== NOT EXECUTED
   465d6:	49ec 000c      	lea %a4@(12),%a4                            <== NOT EXECUTED
          sc->segment    = seg_segment;                               
          sc->erased     = 0;                                         
        }                                                             
      }                                                               
                                                                      
      fd->devices[device].segment_count = segment_count;              
   465da:	2b44 0004      	movel %d4,%a5@(4)                           <== NOT EXECUTED
   465de:	4bed 000c      	lea %a5@(12),%a5                            <== NOT EXECUTED
      free (fd->devices);                                             
      rtems_fdisk_error ("disk create phy failed");                   
      return sc;                                                      
    }                                                                 
                                                                      
    for (device = 0; device < c->device_count; device++)              
   465e2:	ba83           	cmpl %d3,%d5                                <== NOT EXECUTED
   465e4:	6600 fe7c      	bnew 46462 <rtems_fdisk_initialize+0x226>   <== NOT EXECUTED
   465e8:	6000 ff0c      	braw 464f6 <rtems_fdisk_initialize+0x2ba>   <== NOT EXECUTED
    sc = rtems_disk_create_phys(dev, c->block_size,                   
                                blocks - fd->unavail_blocks,          
                                rtems_fdisk_ioctl, NULL, name);       
    if (sc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
      rtems_semaphore_delete (fd->lock);                              
   465ec:	2f2a 0064      	movel %a2@(100),%sp@-                       <== NOT EXECUTED
   465f0:	2400           	movel %d0,%d2                               <== NOT EXECUTED
      rtems_disk_delete (dev);                                        
      free (fd->copy_buffer);                                         
   465f2:	47f9 0004 7344 	lea 47344 <free>,%a3                        <== NOT EXECUTED
    sc = rtems_disk_create_phys(dev, c->block_size,                   
                                blocks - fd->unavail_blocks,          
                                rtems_fdisk_ioctl, NULL, name);       
    if (sc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
      rtems_semaphore_delete (fd->lock);                              
   465f8:	4eb9 0004 c0e8 	jsr 4c0e8 <rtems_semaphore_delete>          <== NOT EXECUTED
      rtems_disk_delete (dev);                                        
   465fe:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   46602:	2f2e ffec      	movel %fp@(-20),%sp@-                       <== NOT EXECUTED
   46606:	4eb9 0004 39ce 	jsr 439ce <rtems_disk_delete>               <== NOT EXECUTED
      free (fd->copy_buffer);                                         
   4660c:	2f2a 0068      	movel %a2@(104),%sp@-                       <== NOT EXECUTED
   46610:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      free (fd->blocks);                                              
   46612:	2f2a 0018      	movel %a2@(24),%sp@-                        <== NOT EXECUTED
   46616:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      free (fd->devices);                                             
   46618:	2f2a 002c      	movel %a2@(44),%sp@-                        <== NOT EXECUTED
   4661c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      rtems_fdisk_error ("disk create phy failed");                   
   4661e:	4879 0007 05ff 	pea 705ff <map.6766+0xa49>                  <== NOT EXECUTED
   46624:	4eba dcc0      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   46628:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
      free (fd->blocks);                                              
      free (fd->devices);                                             
      return sc;                                                      
    }                                                                 
                                                                      
    sc = rtems_disk_create_phys(dev, c->block_size,                   
   4662c:	2002           	movel %d2,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4662e:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   46634:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   46636:	4e75           	rts                                         <== NOT EXECUTED
    sc = rtems_semaphore_create (rtems_build_name ('F', 'D', 'S', 'K'), 1,
                                 RTEMS_PRIORITY | RTEMS_BINARY_SEMAPHORE |
                                 RTEMS_INHERIT_PRIORITY, 0, &fd->lock);
    if (sc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
      rtems_fdisk_error ("disk lock create failed");                  
   46638:	4879 0007 05e7 	pea 705e7 <map.6766+0xa31>                  <== NOT EXECUTED
   4663e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
      free (fd->copy_buffer);                                         
   46640:	47f9 0004 7344 	lea 47344 <free>,%a3                        <== NOT EXECUTED
    sc = rtems_semaphore_create (rtems_build_name ('F', 'D', 'S', 'K'), 1,
                                 RTEMS_PRIORITY | RTEMS_BINARY_SEMAPHORE |
                                 RTEMS_INHERIT_PRIORITY, 0, &fd->lock);
    if (sc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
      rtems_fdisk_error ("disk lock create failed");                  
   46646:	4eba dc9e      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
      free (fd->copy_buffer);                                         
   4664a:	2f2a 0068      	movel %a2@(104),%sp@-                       <== NOT EXECUTED
   4664e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      free (fd->blocks);                                              
   46650:	2f2a 0018      	movel %a2@(24),%sp@-                        <== NOT EXECUTED
   46654:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      free (fd->devices);                                             
   46656:	2f2a 002c      	movel %a2@(44),%sp@-                        <== NOT EXECUTED
   4665a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   4665c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
    fd->devices = calloc (c->device_count, sizeof (rtems_fdisk_device_ctl));
    if (!fd->devices)                                                 
      return RTEMS_NO_MEMORY;                                         
                                                                      
    sc = rtems_semaphore_create (rtems_build_name ('F', 'D', 'S', 'K'), 1,
   46660:	2002           	movel %d2,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   46662:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   46668:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4666a:	4e75           	rts                                         <== NOT EXECUTED
                         strerror (ret), ret);                        
      return ret;                                                     
    }                                                                 
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
   4666c:	23c2 0008 4f9c 	movel %d2,84f9c <rtems_flashdisk_count>     
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   46672:	4280           	clrl %d0                                    
}                                                                     
   46674:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            
   4667a:	4e5e           	unlk %fp                                    
   4667c:	4e75           	rts                                         
    }                                                                 
                                                                      
    ret = rtems_fdisk_compact (fd);                                   
    if (ret)                                                          
    {                                                                 
      rtems_disk_delete (dev);                                        
   4667e:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   46682:	2400           	movel %d0,%d2                               <== NOT EXECUTED
      rtems_semaphore_delete (fd->lock);                              
      free (fd->copy_buffer);                                         
   46684:	47f9 0004 7344 	lea 47344 <free>,%a3                        <== NOT EXECUTED
    }                                                                 
                                                                      
    ret = rtems_fdisk_compact (fd);                                   
    if (ret)                                                          
    {                                                                 
      rtems_disk_delete (dev);                                        
   4668a:	2f2e ffec      	movel %fp@(-20),%sp@-                       <== NOT EXECUTED
   4668e:	4eb9 0004 39ce 	jsr 439ce <rtems_disk_delete>               <== NOT EXECUTED
      rtems_semaphore_delete (fd->lock);                              
   46694:	2f2a 0064      	movel %a2@(100),%sp@-                       <== NOT EXECUTED
   46698:	4eb9 0004 c0e8 	jsr 4c0e8 <rtems_semaphore_delete>          <== NOT EXECUTED
      free (fd->copy_buffer);                                         
   4669e:	2f2a 0068      	movel %a2@(104),%sp@-                       <== NOT EXECUTED
   466a2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      free (fd->blocks);                                              
   466a4:	2f2a 0018      	movel %a2@(24),%sp@-                        <== NOT EXECUTED
   466a8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      free (fd->devices);                                             
   466aa:	2f2a 002c      	movel %a2@(44),%sp@-                        <== NOT EXECUTED
   466ae:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      rtems_fdisk_error ("compacting of disk failed: %s (%d)",        
   466b0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   466b2:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   466b8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   466ba:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   466bc:	4879 0007 0637 	pea 70637 <map.6766+0xa81>                  <== NOT EXECUTED
   466c2:	4eba dc22      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
                         strerror (ret), ret);                        
      return ret;                                                     
   466c6:	4fef 0028      	lea %sp@(40),%sp                            <== NOT EXECUTED
   466ca:	2002           	movel %d2,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   466cc:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   466d2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   466d4:	4e75           	rts                                         <== NOT EXECUTED
    fd->device_count = c->device_count;                               
                                                                      
    ret = rtems_fdisk_recover_block_mappings (fd);                    
    if (ret)                                                          
    {                                                                 
      rtems_disk_delete (dev);                                        
   466d6:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   466da:	2400           	movel %d0,%d2                               <== NOT EXECUTED
      rtems_semaphore_delete (fd->lock);                              
      free (fd->copy_buffer);                                         
   466dc:	47f9 0004 7344 	lea 47344 <free>,%a3                        <== NOT EXECUTED
    fd->device_count = c->device_count;                               
                                                                      
    ret = rtems_fdisk_recover_block_mappings (fd);                    
    if (ret)                                                          
    {                                                                 
      rtems_disk_delete (dev);                                        
   466e2:	2f2e ffec      	movel %fp@(-20),%sp@-                       <== NOT EXECUTED
   466e6:	4eb9 0004 39ce 	jsr 439ce <rtems_disk_delete>               <== NOT EXECUTED
      rtems_semaphore_delete (fd->lock);                              
   466ec:	2f2a 0064      	movel %a2@(100),%sp@-                       <== NOT EXECUTED
   466f0:	4eb9 0004 c0e8 	jsr 4c0e8 <rtems_semaphore_delete>          <== NOT EXECUTED
      free (fd->copy_buffer);                                         
   466f6:	2f2a 0068      	movel %a2@(104),%sp@-                       <== NOT EXECUTED
   466fa:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      free (fd->blocks);                                              
   466fc:	2f2a 0018      	movel %a2@(24),%sp@-                        <== NOT EXECUTED
   46700:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      free (fd->devices);                                             
   46702:	2f2a 002c      	movel %a2@(44),%sp@-                        <== NOT EXECUTED
   46706:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      rtems_fdisk_error ("recovery of disk failed: %s (%d)",          
   46708:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4670a:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   46710:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   46712:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   46714:	4879 0007 0616 	pea 70616 <map.6766+0xa60>                  <== NOT EXECUTED
   4671a:	4eba dbca      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
                         strerror (ret), ret);                        
      return ret;                                                     
   4671e:	4fef 0028      	lea %sp@(40),%sp                            <== NOT EXECUTED
   46722:	2002           	movel %d2,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   46724:	4cee 3cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4672a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004526c <rtems_fdisk_ioctl>: rtems_blkdev_request* r = argp; rtems_status_code sc; errno = 0; sc = rtems_semaphore_obtain (rtems_flashdisks[minor].lock, RTEMS_WAIT, 0);
   4526c:	7274           	moveq #116,%d1                              
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
{                                                                     
   4526e:	4e56 ffac      	linkw %fp,#-84                              
   45272:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   45276:	246e 0008      	moveal %fp@(8),%a2                          
  dev_t device                                                        
)                                                                     
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.device = device;                                               
   4527a:	262a 0004      	movel %a2@(4),%d3                           
  rtems_blkdev_request*     r = argp;                                 
  rtems_status_code         sc;                                       
                                                                      
  errno = 0;                                                          
                                                                      
  sc = rtems_semaphore_obtain (rtems_flashdisks[minor].lock, RTEMS_WAIT, 0);
   4527e:	4c03 1800      	mulsl %d3,%d1                               
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
{                                                                     
   45282:	242e 000c      	movel %fp@(12),%d2                          
  rtems_blkdev_request*     r = argp;                                 
  rtems_status_code         sc;                                       
                                                                      
  errno = 0;                                                          
                                                                      
  sc = rtems_semaphore_obtain (rtems_flashdisks[minor].lock, RTEMS_WAIT, 0);
   45286:	2d41 ffec      	movel %d1,%fp@(-20)                         
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
{                                                                     
   4528a:	2a6e 0010      	moveal %fp@(16),%a5                         
  dev_t                     dev = rtems_disk_get_device_identifier (dd);
  rtems_device_minor_number minor = rtems_filesystem_dev_minor_t (dev);
  rtems_blkdev_request*     r = argp;                                 
  rtems_status_code         sc;                                       
                                                                      
  errno = 0;                                                          
   4528e:	4eb9 0006 0414 	jsr 60414 <__errno>                         
                                                                      
  sc = rtems_semaphore_obtain (rtems_flashdisks[minor].lock, RTEMS_WAIT, 0);
   45294:	226e ffec      	moveal %fp@(-20),%a1                        
  dev_t                     dev = rtems_disk_get_device_identifier (dd);
  rtems_device_minor_number minor = rtems_filesystem_dev_minor_t (dev);
  rtems_blkdev_request*     r = argp;                                 
  rtems_status_code         sc;                                       
                                                                      
  errno = 0;                                                          
   45298:	2040           	moveal %d0,%a0                              
   4529a:	4290           	clrl %a0@                                   
                                                                      
  sc = rtems_semaphore_obtain (rtems_flashdisks[minor].lock, RTEMS_WAIT, 0);
   4529c:	2079 0008 4f98 	moveal 84f98 <rtems_flashdisks>,%a0         
   452a2:	42a7           	clrl %sp@-                                  
   452a4:	42a7           	clrl %sp@-                                  
   452a6:	2f30 9864      	movel %a0@(00000064,%a1:l),%sp@-            
   452aa:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          
  if (sc != RTEMS_SUCCESSFUL)                                         
   452b0:	4fef 000c      	lea %sp@(12),%sp                            
   452b4:	4a80           	tstl %d0                                    
   452b6:	6724           	beqs 452dc <rtems_fdisk_ioctl+0x70>         <== ALWAYS TAKEN
    errno = EIO;                                                      
   452b8:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   452be:	7605           	moveq #5,%d3                                <== NOT EXECUTED
   452c0:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   452c2:	2483           	movel %d3,%a2@                              <== NOT EXECUTED
    sc = rtems_semaphore_release (rtems_flashdisks[minor].lock);      
    if (sc != RTEMS_SUCCESSFUL)                                       
      errno = EIO;                                                    
  }                                                                   
                                                                      
  return errno == 0 ? 0 : -1;                                         
   452c4:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   452ca:	2440           	moveal %d0,%a2                              
   452cc:	4a92           	tstl %a2@                                   
   452ce:	56c0           	sne %d0                                     
}                                                                     
   452d0:	4cee 3cfc ffac 	moveml %fp@(-84),%d2-%d7/%a2-%a5            
   452d6:	4e5e           	unlk %fp                                    
    sc = rtems_semaphore_release (rtems_flashdisks[minor].lock);      
    if (sc != RTEMS_SUCCESSFUL)                                       
      errno = EIO;                                                    
  }                                                                   
                                                                      
  return errno == 0 ? 0 : -1;                                         
   452d8:	49c0           	extbl %d0                                   
}                                                                     
   452da:	4e75           	rts                                         
  sc = rtems_semaphore_obtain (rtems_flashdisks[minor].lock, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
    errno = EIO;                                                      
  else                                                                
  {                                                                   
    errno = 0;                                                        
   452dc:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   452e2:	2040           	moveal %d0,%a0                              
   452e4:	4290           	clrl %a0@                                   
    switch (req)                                                      
   452e6:	0c82 2000 4283 	cmpil #536887939,%d2                        
   452ec:	6700 00fc      	beqw 453ea <rtems_fdisk_ioctl+0x17e>        
   452f0:	6200 009c      	bhiw 4538e <rtems_fdisk_ioctl+0x122>        
   452f4:	0c82 2000 4281 	cmpil #536887937,%d2                        
   452fa:	6700 0270      	beqw 4556c <rtems_fdisk_ioctl+0x300>        
   452fe:	6300 022c      	blsw 4552c <rtems_fdisk_ioctl+0x2c0>        
      case RTEMS_FDISK_IOCTL_COMPACT:                                 
        errno = rtems_fdisk_compact (&rtems_flashdisks[minor]);       
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_ERASE_USED:                              
        errno = rtems_fdisk_erase_used (&rtems_flashdisks[minor]);    
   45302:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   45308:	246e ffec      	moveal %fp@(-20),%a2                        <== NOT EXECUTED
   4530c:	d5f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a2          <== NOT EXECUTED
   45312:	2640           	moveal %d0,%a3                              <== NOT EXECUTED
 */                                                                   
static int                                                            
rtems_fdisk_erase_used (rtems_flashdisk* fd)                          
{                                                                     
  rtems_fdisk_segment_ctl* sc;                                        
  int                      latched_ret = 0;                           
   45314:	4282           	clrl %d2                                    <== NOT EXECUTED
  {                                                                   
    /*                                                                
     * The segment will either end up on the available queue or       
     * the failed queue.                                              
     */                                                               
    int ret = rtems_fdisk_erase_segment (fd, sc);                     
   45316:	49fa f03e      	lea %pc@(44356 <rtems_fdisk_erase_segment>),%a4<== NOT EXECUTED
 * Pop the head of the segment control queue.                         
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_segment_queue_pop_head (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  if (queue->head)                                                    
   4531a:	206a 004c      	moveal %a2@(76),%a0                         <== NOT EXECUTED
   4531e:	4a88           	tstl %a0                                    <== NOT EXECUTED
   45320:	672a           	beqs 4534c <rtems_fdisk_ioctl+0xe0>         <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
   45322:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
   45324:	2540 004c      	movel %d0,%a2@(76)                          <== NOT EXECUTED
    if (!queue->head)                                                 
   45328:	6700 0228      	beqw 45552 <rtems_fdisk_ioctl+0x2e6>        <== NOT EXECUTED
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   4532c:	53aa 0054      	subql #1,%a2@(84)                           <== NOT EXECUTED
                                                                      
    sc->next = 0;                                                     
   45330:	4290           	clrl %a0@                                   <== NOT EXECUTED
  {                                                                   
    /*                                                                
     * The segment will either end up on the available queue or       
     * the failed queue.                                              
     */                                                               
    int ret = rtems_fdisk_erase_segment (fd, sc);                     
   45332:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   45334:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   45336:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (ret && !latched_ret)                                          
   45338:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4533a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4533c:	67dc           	beqs 4531a <rtems_fdisk_ioctl+0xae>         <== NOT EXECUTED
   4533e:	4a82           	tstl %d2                                    <== NOT EXECUTED
   45340:	66d8           	bnes 4531a <rtems_fdisk_ioctl+0xae>         <== NOT EXECUTED
 * Pop the head of the segment control queue.                         
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_segment_queue_pop_head (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  if (queue->head)                                                    
   45342:	206a 004c      	moveal %a2@(76),%a0                         <== NOT EXECUTED
    /*                                                                
     * The segment will either end up on the available queue or       
     * the failed queue.                                              
     */                                                               
    int ret = rtems_fdisk_erase_segment (fd, sc);                     
    if (ret && !latched_ret)                                          
   45346:	2400           	movel %d0,%d2                               <== NOT EXECUTED
 * Pop the head of the segment control queue.                         
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_segment_queue_pop_head (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  if (queue->head)                                                    
   45348:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4534a:	66d6           	bnes 45322 <rtems_fdisk_ioctl+0xb6>         <== NOT EXECUTED
   4534c:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
   45350:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_COMPACT:                                 
        errno = rtems_fdisk_compact (&rtems_flashdisks[minor]);       
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_ERASE_USED:                              
        errno = rtems_fdisk_erase_used (&rtems_flashdisks[minor]);    
   45356:	2682           	movel %d2,%a3@                              <== NOT EXECUTED
      default:                                                        
        rtems_blkdev_ioctl (dd, req, argp);                           
        break;                                                        
    }                                                                 
                                                                      
    sc = rtems_semaphore_release (rtems_flashdisks[minor].lock);      
   45358:	2f29 0064      	movel %a1@(100),%sp@-                       
   4535c:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         
    if (sc != RTEMS_SUCCESSFUL)                                       
   45362:	588f           	addql #4,%sp                                
   45364:	4a80           	tstl %d0                                    
   45366:	6700 ff5c      	beqw 452c4 <rtems_fdisk_ioctl+0x58>         
      errno = EIO;                                                    
   4536a:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   45370:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   45372:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   45374:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return errno == 0 ? 0 : -1;                                         
   45376:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   4537c:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   4537e:	4a92           	tstl %a2@                                   <== NOT EXECUTED
   45380:	56c0           	sne %d0                                     <== NOT EXECUTED
}                                                                     
   45382:	4cee 3cfc ffac 	moveml %fp@(-84),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   45388:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    sc = rtems_semaphore_release (rtems_flashdisks[minor].lock);      
    if (sc != RTEMS_SUCCESSFUL)                                       
      errno = EIO;                                                    
  }                                                                   
                                                                      
  return errno == 0 ? 0 : -1;                                         
   4538a:	49c0           	extbl %d0                                   <== NOT EXECUTED
}                                                                     
   4538c:	4e75           	rts                                         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
    errno = EIO;                                                      
  else                                                                
  {                                                                   
    errno = 0;                                                        
    switch (req)                                                      
   4538e:	0c82 2000 4285 	cmpil #536887941,%d2                        
   45394:	6700 02cc      	beqw 45662 <rtems_fdisk_ioctl+0x3f6>        
   45398:	6500 01c0      	bcsw 4555a <rtems_fdisk_ioctl+0x2ee>        
   4539c:	0c82 c018 4201 	cmpil #-1072152063,%d2                      
   453a2:	6600 0190      	bnew 45534 <rtems_fdisk_ioctl+0x2c8>        
    {                                                                 
      case RTEMS_BLKIO_REQUEST:                                       
        if ((minor >= rtems_flashdisk_count) ||                       
   453a6:	b6b9 0008 4f9c 	cmpl 84f9c <rtems_flashdisk_count>,%d3      
   453ac:	6400 0696      	bccw 45a44 <rtems_fdisk_ioctl+0x7d8>        
            (rtems_flashdisks[minor].device_count == 0))              
   453b0:	2079 0008 4f98 	moveal 84f98 <rtems_flashdisks>,%a0         
  {                                                                   
    errno = 0;                                                        
    switch (req)                                                      
    {                                                                 
      case RTEMS_BLKIO_REQUEST:                                       
        if ((minor >= rtems_flashdisk_count) ||                       
   453b6:	226e ffec      	moveal %fp@(-20),%a1                        
   453ba:	4ab0 9830      	tstl %a0@(00000030,%a1:l)                   
   453be:	6700 0684      	beqw 45a44 <rtems_fdisk_ioctl+0x7d8>        
        {                                                             
          errno = ENODEV;                                             
        }                                                             
        else                                                          
        {                                                             
          switch (r->req)                                             
   453c2:	2015           	movel %a5@,%d0                              
   453c4:	6700 0698      	beqw 45a5e <rtems_fdisk_ioctl+0x7f2>        
   453c8:	7201           	moveq #1,%d1                                
   453ca:	b280           	cmpl %d0,%d1                                
   453cc:	6700 0930      	beqw 45cfe <rtems_fdisk_ioctl+0xa92>        
            case RTEMS_BLKDEV_REQ_WRITE:                              
              errno = rtems_fdisk_write (&rtems_flashdisks[minor], r);
              break;                                                  
                                                                      
            default:                                                  
              errno = EINVAL;                                         
   453d0:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   453d6:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
   453da:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   453dc:	7216           	moveq #22,%d1                               <== NOT EXECUTED
   453de:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
   453e4:	2481           	movel %d1,%a2@                              <== NOT EXECUTED
              break;                                                  
   453e6:	6000 ff70      	braw 45358 <rtems_fdisk_ioctl+0xec>         <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_ERASE_USED:                              
        errno = rtems_fdisk_erase_used (&rtems_flashdisks[minor]);    
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_MONITORING:                              
        errno = rtems_fdisk_monitoring_data (&rtems_flashdisks[minor],
   453ea:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   453f0:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
   453f4:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
                             rtems_fdisk_monitor_data* data)          
{                                                                     
  uint32_t i;                                                         
  uint32_t j;                                                         
                                                                      
  data->block_size     = fd->block_size;                              
   453fa:	2aa9 0014      	movel %a1@(20),%a5@                         <== NOT EXECUTED
  data->block_count    = fd->block_count;                             
   453fe:	2429 001c      	movel %a1@(28),%d2                          <== NOT EXECUTED
  data->unavail_blocks = fd->unavail_blocks;                          
   45402:	2b69 0020 0008 	movel %a1@(32),%a5@(8)                      <== NOT EXECUTED
  data->device_count   = fd->device_count;                            
   45408:	2229 0030      	movel %a1@(48),%d1                          <== NOT EXECUTED
{                                                                     
  uint32_t i;                                                         
  uint32_t j;                                                         
                                                                      
  data->block_size     = fd->block_size;                              
  data->block_count    = fd->block_count;                             
   4540c:	2b42 0004      	movel %d2,%a5@(4)                           <== NOT EXECUTED
  data->unavail_blocks = fd->unavail_blocks;                          
  data->device_count   = fd->device_count;                            
   45410:	2b41 000c      	movel %d1,%a5@(12)                          <== NOT EXECUTED
                                                                      
  data->blocks_used = 0;                                              
   45414:	42ad 0018      	clrl %a5@(24)                               <== NOT EXECUTED
  for (i = 0; i < fd->block_count; i++)                               
   45418:	4a82           	tstl %d2                                    <== NOT EXECUTED
   4541a:	6716           	beqs 45432 <rtems_fdisk_ioctl+0x1c6>        <== NOT EXECUTED
   4541c:	2069 0018      	moveal %a1@(24),%a0                         <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   45420:	e78a           	lsll #3,%d2                                 <== NOT EXECUTED
   45422:	d488           	addl %a0,%d2                                <== NOT EXECUTED
  data->unavail_blocks = fd->unavail_blocks;                          
  data->device_count   = fd->device_count;                            
                                                                      
  data->blocks_used = 0;                                              
  for (i = 0; i < fd->block_count; i++)                               
    if (fd->blocks[i].segment)                                        
   45424:	4a90           	tstl %a0@                                   <== NOT EXECUTED
   45426:	6704           	beqs 4542c <rtems_fdisk_ioctl+0x1c0>        <== NOT EXECUTED
      data->blocks_used++;                                            
   45428:	52ad 0018      	addql #1,%a5@(24)                           <== NOT EXECUTED
   4542c:	5088           	addql #8,%a0                                <== NOT EXECUTED
  data->block_count    = fd->block_count;                             
  data->unavail_blocks = fd->unavail_blocks;                          
  data->device_count   = fd->device_count;                            
                                                                      
  data->blocks_used = 0;                                              
  for (i = 0; i < fd->block_count; i++)                               
   4542e:	b488           	cmpl %a0,%d2                                <== NOT EXECUTED
   45430:	66f2           	bnes 45424 <rtems_fdisk_ioctl+0x1b8>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   45432:	2469 0034      	moveal %a1@(52),%a2                         <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45436:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   45438:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   4543a:	6708           	beqs 45444 <rtems_fdisk_ioctl+0x1d8>        <== NOT EXECUTED
  {                                                                   
    count++;                                                          
    sc = sc->next;                                                    
   4543c:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
  {                                                                   
    count++;                                                          
   4543e:	5288           	addql #1,%a0                                <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45440:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   45442:	66f8           	bnes 4543c <rtems_fdisk_ioctl+0x1d0>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   45444:	2469 0040      	moveal %a1@(64),%a2                         <== NOT EXECUTED
  data->blocks_used = 0;                                              
  for (i = 0; i < fd->block_count; i++)                               
    if (fd->blocks[i].segment)                                        
      data->blocks_used++;                                            
                                                                      
  data->segs_available = rtems_fdisk_segment_count_queue (&fd->available);
   45448:	2b48 001c      	movel %a0,%a5@(28)                          <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   4544c:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   4544e:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   45450:	6708           	beqs 4545a <rtems_fdisk_ioctl+0x1ee>        <== NOT EXECUTED
  {                                                                   
    count++;                                                          
    sc = sc->next;                                                    
   45452:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
  {                                                                   
    count++;                                                          
   45454:	5288           	addql #1,%a0                                <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45456:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   45458:	66f8           	bnes 45452 <rtems_fdisk_ioctl+0x1e6>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4545a:	2469 0058      	moveal %a1@(88),%a2                         <== NOT EXECUTED
  for (i = 0; i < fd->block_count; i++)                               
    if (fd->blocks[i].segment)                                        
      data->blocks_used++;                                            
                                                                      
  data->segs_available = rtems_fdisk_segment_count_queue (&fd->available);
  data->segs_used      = rtems_fdisk_segment_count_queue (&fd->used); 
   4545e:	2b48 0020      	movel %a0,%a5@(32)                          <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45462:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   45464:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   45466:	6708           	beqs 45470 <rtems_fdisk_ioctl+0x204>        <== NOT EXECUTED
  {                                                                   
    count++;                                                          
    sc = sc->next;                                                    
   45468:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
  {                                                                   
    count++;                                                          
   4546a:	5288           	addql #1,%a0                                <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   4546c:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   4546e:	66f8           	bnes 45468 <rtems_fdisk_ioctl+0x1fc>        <== NOT EXECUTED
    if (fd->blocks[i].segment)                                        
      data->blocks_used++;                                            
                                                                      
  data->segs_available = rtems_fdisk_segment_count_queue (&fd->available);
  data->segs_used      = rtems_fdisk_segment_count_queue (&fd->used); 
  data->segs_failed    = rtems_fdisk_segment_count_queue (&fd->failed);
   45470:	2b48 0024      	movel %a0,%a5@(36)                          <== NOT EXECUTED
                                                                      
  data->segment_count = 0;                                            
   45474:	42ad 0010      	clrl %a5@(16)                               <== NOT EXECUTED
  data->page_count    = 0;                                            
   45478:	42ad 0014      	clrl %a5@(20)                               <== NOT EXECUTED
  data->pages_desc    = 0;                                            
   4547c:	42ad 002c      	clrl %a5@(44)                               <== NOT EXECUTED
  data->pages_active  = 0;                                            
   45480:	42ad 0030      	clrl %a5@(48)                               <== NOT EXECUTED
  data->pages_used    = 0;                                            
   45484:	42ad 0034      	clrl %a5@(52)                               <== NOT EXECUTED
  data->pages_bad     = 0;                                            
   45488:	42ad 0038      	clrl %a5@(56)                               <== NOT EXECUTED
  data->seg_erases    = 0;                                            
   4548c:	42ad 0028      	clrl %a5@(40)                               <== NOT EXECUTED
                                                                      
  for (i = 0; i < fd->device_count; i++)                              
   45490:	4a81           	tstl %d1                                    <== NOT EXECUTED
   45492:	6700 008a      	beqw 4551e <rtems_fdisk_ioctl+0x2b2>        <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   45496:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   45498:	4287           	clrl %d7                                    <== NOT EXECUTED
   4549a:	e58a           	lsll #2,%d2                                 <== NOT EXECUTED
   4549c:	e989           	lsll #4,%d1                                 <== NOT EXECUTED
   4549e:	2669 002c      	moveal %a1@(44),%a3                         <== NOT EXECUTED
   454a2:	9282           	subl %d2,%d1                                <== NOT EXECUTED
   454a4:	49f3 1800      	lea %a3@(00000000,%d1:l),%a4                <== NOT EXECUTED
  data->pages_bad     = 0;                                            
  data->seg_erases    = 0;                                            
                                                                      
  for (i = 0; i < fd->device_count; i++)                              
  {                                                                   
    data->segment_count += fd->devices[i].segment_count;              
   454a8:	222b 0004      	movel %a3@(4),%d1                           <== NOT EXECUTED
   454ac:	de81           	addl %d1,%d7                                <== NOT EXECUTED
                                                                      
    for (j = 0; j < fd->devices[i].segment_count; j++)                
   454ae:	4a81           	tstl %d1                                    <== NOT EXECUTED
   454b0:	6760           	beqs 45512 <rtems_fdisk_ioctl+0x2a6>        <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   454b2:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   454b4:	ed89           	lsll #6,%d1                                 <== NOT EXECUTED
   454b6:	e98a           	lsll #4,%d2                                 <== NOT EXECUTED
   454b8:	2453           	moveal %a3@,%a2                             <== NOT EXECUTED
   454ba:	9282           	subl %d2,%d1                                <== NOT EXECUTED
   454bc:	41ea 0014      	lea %a2@(20),%a0                            <== NOT EXECUTED
   454c0:	45f2 1814      	lea %a2@(00000014,%d1:l),%a2                <== NOT EXECUTED
   454c4:	2c2d 0014      	movel %a5@(20),%d6                          <== NOT EXECUTED
   454c8:	2a2d 002c      	movel %a5@(44),%d5                          <== NOT EXECUTED
   454cc:	282d 0030      	movel %a5@(48),%d4                          <== NOT EXECUTED
   454d0:	262d 0034      	movel %a5@(52),%d3                          <== NOT EXECUTED
   454d4:	242d 0038      	movel %a5@(56),%d2                          <== NOT EXECUTED
   454d8:	222d 0028      	movel %a5@(40),%d1                          <== NOT EXECUTED
                                                                      
    for (j = 0; j < fd->devices[i].segment_count; j++)                
    {                                                                 
      rtems_fdisk_segment_ctl* sc = &fd->devices[i].segments[j];      
                                                                      
      data->page_count   += sc->pages;                                
   454dc:	dc90           	addl %a0@,%d6                               <== NOT EXECUTED
      data->pages_desc   += sc->pages_desc;                           
   454de:	daa8 0004      	addl %a0@(4),%d5                            <== NOT EXECUTED
      data->pages_active += sc->pages_active;                         
   454e2:	d8a8 0008      	addl %a0@(8),%d4                            <== NOT EXECUTED
      data->pages_used   += sc->pages_used;                           
   454e6:	d6a8 000c      	addl %a0@(12),%d3                           <== NOT EXECUTED
      data->pages_bad    += sc->pages_bad;                            
   454ea:	d4a8 0010      	addl %a0@(16),%d2                           <== NOT EXECUTED
      data->seg_erases   += sc->erased;                               
   454ee:	d2a8 0018      	addl %a0@(24),%d1                           <== NOT EXECUTED
   454f2:	41e8 0030      	lea %a0@(48),%a0                            <== NOT EXECUTED
                                                                      
  for (i = 0; i < fd->device_count; i++)                              
  {                                                                   
    data->segment_count += fd->devices[i].segment_count;              
                                                                      
    for (j = 0; j < fd->devices[i].segment_count; j++)                
   454f6:	b5c8           	cmpal %a0,%a2                               <== NOT EXECUTED
   454f8:	66e2           	bnes 454dc <rtems_fdisk_ioctl+0x270>        <== NOT EXECUTED
   454fa:	2b46 0014      	movel %d6,%a5@(20)                          <== NOT EXECUTED
   454fe:	2b45 002c      	movel %d5,%a5@(44)                          <== NOT EXECUTED
   45502:	2b44 0030      	movel %d4,%a5@(48)                          <== NOT EXECUTED
   45506:	2b43 0034      	movel %d3,%a5@(52)                          <== NOT EXECUTED
   4550a:	2b42 0038      	movel %d2,%a5@(56)                          <== NOT EXECUTED
   4550e:	2b41 0028      	movel %d1,%a5@(40)                          <== NOT EXECUTED
   45512:	47eb 000c      	lea %a3@(12),%a3                            <== NOT EXECUTED
  data->pages_active  = 0;                                            
  data->pages_used    = 0;                                            
  data->pages_bad     = 0;                                            
  data->seg_erases    = 0;                                            
                                                                      
  for (i = 0; i < fd->device_count; i++)                              
   45516:	b9cb           	cmpal %a3,%a4                               <== NOT EXECUTED
   45518:	668e           	bnes 454a8 <rtems_fdisk_ioctl+0x23c>        <== NOT EXECUTED
   4551a:	2b47 0010      	movel %d7,%a5@(16)                          <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_ERASE_USED:                              
        errno = rtems_fdisk_erase_used (&rtems_flashdisks[minor]);    
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_MONITORING:                              
        errno = rtems_fdisk_monitoring_data (&rtems_flashdisks[minor],
   4551e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
      data->pages_bad    += sc->pages_bad;                            
      data->seg_erases   += sc->erased;                               
    }                                                                 
  }                                                                   
                                                                      
  data->info_level = fd->info_level;                                  
   45520:	2b69 006c 003c 	movel %a1@(108),%a5@(60)                    <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_ERASE_USED:                              
        errno = rtems_fdisk_erase_used (&rtems_flashdisks[minor]);    
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_MONITORING:                              
        errno = rtems_fdisk_monitoring_data (&rtems_flashdisks[minor],
   45526:	4290           	clrl %a0@                                   <== NOT EXECUTED
                                             (rtems_fdisk_monitor_data*) argp);
        break;                                                        
   45528:	6000 fe2e      	braw 45358 <rtems_fdisk_ioctl+0xec>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
    errno = EIO;                                                      
  else                                                                
  {                                                                   
    errno = 0;                                                        
    switch (req)                                                      
   4552c:	0c82 2000 4280 	cmpil #536887936,%d2                        
   45532:	6762           	beqs 45596 <rtems_fdisk_ioctl+0x32a>        <== NEVER TAKEN
      case RTEMS_FDISK_IOCTL_PRINT_STATUS:                            
        errno = rtems_fdisk_print_status (&rtems_flashdisks[minor]);  
        break;                                                        
                                                                      
      default:                                                        
        rtems_blkdev_ioctl (dd, req, argp);                           
   45534:	2f0d           	movel %a5,%sp@-                             
   45536:	2f02           	movel %d2,%sp@-                             
   45538:	2f0a           	movel %a2,%sp@-                             
   4553a:	4eb9 0005 56d0 	jsr 556d0 <rtems_blkdev_ioctl>              
   45540:	226e ffec      	moveal %fp@(-20),%a1                        
   45544:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          
        break;                                                        
   4554a:	4fef 000c      	lea %sp@(12),%sp                            
   4554e:	6000 fe08      	braw 45358 <rtems_fdisk_ioctl+0xec>         
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
   45552:	42aa 0050      	clrl %a2@(80)                               <== NOT EXECUTED
   45556:	6000 fdd4      	braw 4532c <rtems_fdisk_ioctl+0xc0>         <== NOT EXECUTED
        errno = rtems_fdisk_monitoring_data (&rtems_flashdisks[minor],
                                             (rtems_fdisk_monitor_data*) argp);
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_INFO_LEVEL:                              
        rtems_flashdisks[minor].info_level = (uintptr_t) argp;        
   4555a:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
   4555e:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
   45564:	234d 006c      	movel %a5,%a1@(108)                         <== NOT EXECUTED
        break;                                                        
   45568:	6000 fdee      	braw 45358 <rtems_fdisk_ioctl+0xec>         <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_ERASE_DISK:                              
        errno = rtems_fdisk_erase_disk (&rtems_flashdisks[minor]);    
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_COMPACT:                                 
        errno = rtems_fdisk_compact (&rtems_flashdisks[minor]);       
   4556c:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   45572:	222e ffec      	movel %fp@(-20),%d1                         <== NOT EXECUTED
   45576:	d2b9 0008 4f98 	addl 84f98 <rtems_flashdisks>,%d1           <== NOT EXECUTED
   4557c:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   4557e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   45580:	4eba f778      	jsr %pc@(44cfa <rtems_fdisk_compact>)       <== NOT EXECUTED
   45584:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
   45588:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
        break;                                                        
   4558e:	588f           	addql #4,%sp                                <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_ERASE_DISK:                              
        errno = rtems_fdisk_erase_disk (&rtems_flashdisks[minor]);    
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_COMPACT:                                 
        errno = rtems_fdisk_compact (&rtems_flashdisks[minor]);       
   45590:	2480           	movel %d0,%a2@                              <== NOT EXECUTED
        break;                                                        
   45592:	6000 fdc4      	braw 45358 <rtems_fdisk_ioctl+0xec>         <== NOT EXECUTED
          }                                                           
        }                                                             
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_ERASE_DISK:                              
        errno = rtems_fdisk_erase_disk (&rtems_flashdisks[minor]);    
   45596:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   4559c:	246e ffec      	moveal %fp@(-20),%a2                        <== NOT EXECUTED
   455a0:	d5f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a2          <== NOT EXECUTED
{                                                                     
  uint32_t device;                                                    
  int      ret;                                                       
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd, "erase-disk");                                
   455a6:	4879 0007 03fa 	pea 703fa <map.6766+0x844>                  <== NOT EXECUTED
          }                                                           
        }                                                             
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_ERASE_DISK:                              
        errno = rtems_fdisk_erase_disk (&rtems_flashdisks[minor]);    
   455ac:	2640           	moveal %d0,%a3                              <== NOT EXECUTED
{                                                                     
  uint32_t device;                                                    
  int      ret;                                                       
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd, "erase-disk");                                
   455ae:	4bfa eb12      	lea %pc@(440c2 <rtems_fdisk_info>),%a5      <== NOT EXECUTED
   455b2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   455b4:	4e95           	jsr %a5@                                    <== NOT EXECUTED
 */                                                                   
static int                                                            
rtems_fdisk_erase_flash (const rtems_flashdisk* fd)                   
{                                                                     
  uint32_t device;                                                    
  for (device = 0; device < fd->device_count; device++)               
   455b6:	508f           	addql #8,%sp                                <== NOT EXECUTED
   455b8:	4aaa 0030      	tstl %a2@(48)                               <== NOT EXECUTED
   455bc:	6700 072e      	beqw 45cec <rtems_fdisk_ioctl+0xa80>        <== NOT EXECUTED
   455c0:	4283           	clrl %d3                                    <== NOT EXECUTED
   455c2:	4282           	clrl %d2                                    <== NOT EXECUTED
   455c4:	49fa eb86      	lea %pc@(4414c <rtems_fdisk_printf>),%a4    <== NOT EXECUTED
  {                                                                   
    int ret;                                                          
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_info (fd, " erase-flash:%02d", device);               
   455c8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   455ca:	4879 0007 0405 	pea 70405 <map.6766+0x84f>                  <== NOT EXECUTED
   455d0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   455d2:	4e95           	jsr %a5@                                    <== NOT EXECUTED
 */                                                                   
static int                                                            
rtems_fdisk_device_erase (const rtems_flashdisk* fd, uint32_t device) 
{                                                                     
  const rtems_fdisk_driver_handlers* ops;                             
  ops = fd->devices[device].descriptor->flash_ops;                    
   455d4:	206a 002c      	moveal %a2@(44),%a0                         <== NOT EXECUTED
   455d8:	2070 3808      	moveal %a0@(00000008,%d3:l),%a0             <== NOT EXECUTED
   455dc:	2828 0008      	movel %a0@(8),%d4                           <== NOT EXECUTED
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_printf (fd, " device-erase: %02d", device);             
   455e0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   455e2:	4879 0007 0417 	pea 70417 <map.6766+0x861>                  <== NOT EXECUTED
   455e8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   455ea:	4e94           	jsr %a4@                                    <== NOT EXECUTED
#endif                                                                
  return ops->erase_device (fd->devices[device].descriptor, device);  
   455ec:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   455ee:	206a 002c      	moveal %a2@(44),%a0                         <== NOT EXECUTED
 */                                                                   
static int                                                            
rtems_fdisk_erase_flash (const rtems_flashdisk* fd)                   
{                                                                     
  uint32_t device;                                                    
  for (device = 0; device < fd->device_count; device++)               
   455f2:	5282           	addql #1,%d2                                <== NOT EXECUTED
  const rtems_fdisk_driver_handlers* ops;                             
  ops = fd->devices[device].descriptor->flash_ops;                    
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_printf (fd, " device-erase: %02d", device);             
#endif                                                                
  return ops->erase_device (fd->devices[device].descriptor, device);  
   455f4:	2f30 3808      	movel %a0@(00000008,%d3:l),%sp@-            <== NOT EXECUTED
   455f8:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   455fa:	0683 0000 000c 	addil #12,%d3                               <== NOT EXECUTED
   45600:	2028 0014      	movel %a0@(20),%d0                          <== NOT EXECUTED
   45604:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   45606:	4e91           	jsr %a1@                                    <== NOT EXECUTED
    rtems_fdisk_info (fd, " erase-flash:%02d", device);               
#endif                                                                
                                                                      
    ret = rtems_fdisk_device_erase (fd, device);                      
                                                                      
    if (ret != 0)                                                     
   45608:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
   4560c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4560e:	6642           	bnes 45652 <rtems_fdisk_ioctl+0x3e6>        <== NOT EXECUTED
 */                                                                   
static int                                                            
rtems_fdisk_erase_flash (const rtems_flashdisk* fd)                   
{                                                                     
  uint32_t device;                                                    
  for (device = 0; device < fd->device_count; device++)               
   45610:	222a 0030      	movel %a2@(48),%d1                          <== NOT EXECUTED
   45614:	b282           	cmpl %d2,%d1                                <== NOT EXECUTED
   45616:	62b0           	bhis 455c8 <rtems_fdisk_ioctl+0x35c>        <== NOT EXECUTED
                                                                      
  ret = rtems_fdisk_erase_flash (fd);                                 
                                                                      
  if (ret == 0)                                                       
  {                                                                   
    for (device = 0; device < fd->device_count; device++)             
   45618:	4a81           	tstl %d1                                    <== NOT EXECUTED
   4561a:	6736           	beqs 45652 <rtems_fdisk_ioctl+0x3e6>        <== NOT EXECUTED
    {                                                                 
      if (!fd->devices[device].segments)                              
   4561c:	206a 002c      	moveal %a2@(44),%a0                         <== NOT EXECUTED
   45620:	4a90           	tstl %a0@                                   <== NOT EXECUTED
   45622:	672c           	beqs 45650 <rtems_fdisk_ioctl+0x3e4>        <== NOT EXECUTED
   45624:	760c           	moveq #12,%d3                               <== NOT EXECUTED
   45626:	4282           	clrl %d2                                    <== NOT EXECUTED
   45628:	49fa f942      	lea %pc@(44f6c <rtems_fdisk_recover_block_mappings>),%a4<== NOT EXECUTED
        return ENOMEM;                                                
                                                                      
      ret = rtems_fdisk_recover_block_mappings (fd);                  
   4562c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
                                                                      
  ret = rtems_fdisk_erase_flash (fd);                                 
                                                                      
  if (ret == 0)                                                       
  {                                                                   
    for (device = 0; device < fd->device_count; device++)             
   4562e:	5282           	addql #1,%d2                                <== NOT EXECUTED
    {                                                                 
      if (!fd->devices[device].segments)                              
        return ENOMEM;                                                
                                                                      
      ret = rtems_fdisk_recover_block_mappings (fd);                  
   45630:	4e94           	jsr %a4@                                    <== NOT EXECUTED
      if (ret)                                                        
   45632:	588f           	addql #4,%sp                                <== NOT EXECUTED
   45634:	4a80           	tstl %d0                                    <== NOT EXECUTED
   45636:	661a           	bnes 45652 <rtems_fdisk_ioctl+0x3e6>        <== NOT EXECUTED
                                                                      
  ret = rtems_fdisk_erase_flash (fd);                                 
                                                                      
  if (ret == 0)                                                       
  {                                                                   
    for (device = 0; device < fd->device_count; device++)             
   45638:	b4aa 0030      	cmpl %a2@(48),%d2                           <== NOT EXECUTED
   4563c:	6414           	bccs 45652 <rtems_fdisk_ioctl+0x3e6>        <== NOT EXECUTED
    {                                                                 
      if (!fd->devices[device].segments)                              
   4563e:	206a 002c      	moveal %a2@(44),%a0                         <== NOT EXECUTED
   45642:	2030 3800      	movel %a0@(00000000,%d3:l),%d0              <== NOT EXECUTED
   45646:	0683 0000 000c 	addil #12,%d3                               <== NOT EXECUTED
   4564c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4564e:	66dc           	bnes 4562c <rtems_fdisk_ioctl+0x3c0>        <== NOT EXECUTED
        return ENOMEM;                                                
   45650:	700c           	moveq #12,%d0                               <== NOT EXECUTED
   45652:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
   45656:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
          }                                                           
        }                                                             
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_ERASE_DISK:                              
        errno = rtems_fdisk_erase_disk (&rtems_flashdisks[minor]);    
   4565c:	2680           	movel %d0,%a3@                              <== NOT EXECUTED
        break;                                                        
   4565e:	6000 fcf8      	braw 45358 <rtems_fdisk_ioctl+0xec>         <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_INFO_LEVEL:                              
        rtems_flashdisks[minor].info_level = (uintptr_t) argp;        
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_PRINT_STATUS:                            
        errno = rtems_fdisk_print_status (&rtems_flashdisks[minor]);  
   45662:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   45668:	266e ffec      	moveal %fp@(-20),%a3                        <== NOT EXECUTED
   4566c:	d7f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a3          <== NOT EXECUTED
  uint32_t count;                                                     
  uint32_t device;                                                    
                                                                      
  fd->info_level = 3;                                                 
                                                                      
  rtems_fdisk_printf (fd,                                             
   45672:	49fa ead8      	lea %pc@(4414c <rtems_fdisk_printf>),%a4    <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45676:	4282           	clrl %d2                                    <== NOT EXECUTED
 */                                                                   
static int                                                            
rtems_fdisk_print_status (rtems_flashdisk* fd)                        
{                                                                     
#if RTEMS_FDISK_TRACE                                                 
  uint32_t current_info_level = fd->info_level;                       
   45678:	226b 006c      	moveal %a3@(108),%a1                        <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_INFO_LEVEL:                              
        rtems_flashdisks[minor].info_level = (uintptr_t) argp;        
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_PRINT_STATUS:                            
        errno = rtems_fdisk_print_status (&rtems_flashdisks[minor]);  
   4567c:	2d40 ffdc      	movel %d0,%fp@(-36)                         <== NOT EXECUTED
  uint32_t current_info_level = fd->info_level;                       
  uint32_t total;                                                     
  uint32_t count;                                                     
  uint32_t device;                                                    
                                                                      
  fd->info_level = 3;                                                 
   45680:	7003           	moveq #3,%d0                                <== NOT EXECUTED
   45682:	2740 006c      	movel %d0,%a3@(108)                         <== NOT EXECUTED
                                                                      
  rtems_fdisk_printf (fd,                                             
   45686:	2f2b 0004      	movel %a3@(4),%sp@-                         <== NOT EXECUTED
   4568a:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   4568c:	4879 0007 042b 	pea 7042b <map.6766+0x875>                  <== NOT EXECUTED
 */                                                                   
static int                                                            
rtems_fdisk_print_status (rtems_flashdisk* fd)                        
{                                                                     
#if RTEMS_FDISK_TRACE                                                 
  uint32_t current_info_level = fd->info_level;                       
   45692:	2d49 ffe4      	movel %a1,%fp@(-28)                         <== NOT EXECUTED
  uint32_t count;                                                     
  uint32_t device;                                                    
                                                                      
  fd->info_level = 3;                                                 
                                                                      
  rtems_fdisk_printf (fd,                                             
   45696:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   45698:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                      "Flash Disk Driver Status : %d.%d", fd->major, fd->minor);
                                                                      
  rtems_fdisk_printf (fd, "Block count\t%d", fd->block_count);        
   4569a:	2f2b 001c      	movel %a3@(28),%sp@-                        <== NOT EXECUTED
   4569e:	4879 0007 044c 	pea 7044c <map.6766+0x896>                  <== NOT EXECUTED
   456a4:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   456a6:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Unavail blocks\t%d", fd->unavail_blocks);  
   456a8:	2f2b 0020      	movel %a3@(32),%sp@-                        <== NOT EXECUTED
   456ac:	4879 0007 045b 	pea 7045b <map.6766+0x8a5>                  <== NOT EXECUTED
   456b2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   456b4:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Starvation threshold\t%d", fd->starvation_threshold);
   456b6:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   456ba:	2eab 0024      	movel %a3@(36),%sp@                         <== NOT EXECUTED
   456be:	4879 0007 046d 	pea 7046d <map.6766+0x8b7>                  <== NOT EXECUTED
   456c4:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   456c6:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Starvations\t%d", fd->starvations);        
   456c8:	2f2b 0070      	movel %a3@(112),%sp@-                       <== NOT EXECUTED
   456cc:	4879 0007 0485 	pea 70485 <map.6766+0x8cf>                  <== NOT EXECUTED
   456d2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   456d4:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   456d6:	206b 0034      	moveal %a3@(52),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   456da:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   456de:	4a88           	tstl %a0                                    <== NOT EXECUTED
   456e0:	6708           	beqs 456ea <rtems_fdisk_ioctl+0x47e>        <== NOT EXECUTED
  {                                                                   
    count++;                                                          
    sc = sc->next;                                                    
   456e2:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
  {                                                                   
    count++;                                                          
   456e4:	5282           	addql #1,%d2                                <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   456e6:	4a88           	tstl %a0                                    <== NOT EXECUTED
   456e8:	66f8           	bnes 456e2 <rtems_fdisk_ioctl+0x476>        <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Unavail blocks\t%d", fd->unavail_blocks);  
  rtems_fdisk_printf (fd, "Starvation threshold\t%d", fd->starvation_threshold);
  rtems_fdisk_printf (fd, "Starvations\t%d", fd->starvations);        
  count = rtems_fdisk_segment_count_queue (&fd->available);           
  total = count;                                                      
  rtems_fdisk_printf (fd, "Available queue\t%ld (%ld)",               
   456ea:	2f2b 003c      	movel %a3@(60),%sp@-                        <== NOT EXECUTED
   456ee:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   456f0:	4879 0007 0494 	pea 70494 <map.6766+0x8de>                  <== NOT EXECUTED
   456f6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   456f8:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   456fa:	206b 0040      	moveal %a3@(64),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   456fe:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   45702:	4280           	clrl %d0                                    <== NOT EXECUTED
   45704:	4a88           	tstl %a0                                    <== NOT EXECUTED
   45706:	6708           	beqs 45710 <rtems_fdisk_ioctl+0x4a4>        <== NOT EXECUTED
  {                                                                   
    count++;                                                          
    sc = sc->next;                                                    
   45708:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
  {                                                                   
    count++;                                                          
   4570a:	5280           	addql #1,%d0                                <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   4570c:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4570e:	66f8           	bnes 45708 <rtems_fdisk_ioctl+0x49c>        <== NOT EXECUTED
  total = count;                                                      
  rtems_fdisk_printf (fd, "Available queue\t%ld (%ld)",               
                      count, rtems_fdisk_segment_queue_count (&fd->available));
  count = rtems_fdisk_segment_count_queue (&fd->used);                
  total += count;                                                     
  rtems_fdisk_printf (fd, "Used queue\t%ld (%ld)",                    
   45710:	2f2b 0048      	movel %a3@(72),%sp@-                        <== NOT EXECUTED
  count = rtems_fdisk_segment_count_queue (&fd->available);           
  total = count;                                                      
  rtems_fdisk_printf (fd, "Available queue\t%ld (%ld)",               
                      count, rtems_fdisk_segment_queue_count (&fd->available));
  count = rtems_fdisk_segment_count_queue (&fd->used);                
  total += count;                                                     
   45714:	d480           	addl %d0,%d2                                <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Used queue\t%ld (%ld)",                    
   45716:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45718:	4879 0007 04ae 	pea 704ae <map.6766+0x8f8>                  <== NOT EXECUTED
   4571e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   45720:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   45722:	206b 004c      	moveal %a3@(76),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45726:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4572a:	4280           	clrl %d0                                    <== NOT EXECUTED
   4572c:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4572e:	6708           	beqs 45738 <rtems_fdisk_ioctl+0x4cc>        <== NOT EXECUTED
  {                                                                   
    count++;                                                          
    sc = sc->next;                                                    
   45730:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
  {                                                                   
    count++;                                                          
   45732:	5280           	addql #1,%d0                                <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45734:	4a88           	tstl %a0                                    <== NOT EXECUTED
   45736:	66f8           	bnes 45730 <rtems_fdisk_ioctl+0x4c4>        <== NOT EXECUTED
  total += count;                                                     
  rtems_fdisk_printf (fd, "Used queue\t%ld (%ld)",                    
                      count, rtems_fdisk_segment_queue_count (&fd->used));
  count = rtems_fdisk_segment_count_queue (&fd->erase);               
  total += count;                                                     
  rtems_fdisk_printf (fd, "Erase queue\t%ld (%ld)",                   
   45738:	2f2b 0054      	movel %a3@(84),%sp@-                        <== NOT EXECUTED
  count = rtems_fdisk_segment_count_queue (&fd->used);                
  total += count;                                                     
  rtems_fdisk_printf (fd, "Used queue\t%ld (%ld)",                    
                      count, rtems_fdisk_segment_queue_count (&fd->used));
  count = rtems_fdisk_segment_count_queue (&fd->erase);               
  total += count;                                                     
   4573c:	d480           	addl %d0,%d2                                <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Erase queue\t%ld (%ld)",                   
   4573e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45740:	4879 0007 04c3 	pea 704c3 <map.6766+0x90d>                  <== NOT EXECUTED
   45746:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   45748:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4574a:	206b 0058      	moveal %a3@(88),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   4574e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   45752:	4280           	clrl %d0                                    <== NOT EXECUTED
   45754:	4a88           	tstl %a0                                    <== NOT EXECUTED
   45756:	6708           	beqs 45760 <rtems_fdisk_ioctl+0x4f4>        <== NOT EXECUTED
  {                                                                   
    count++;                                                          
    sc = sc->next;                                                    
   45758:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
  {                                                                   
    count++;                                                          
   4575a:	5280           	addql #1,%d0                                <== NOT EXECUTED
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   4575c:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4575e:	66f8           	bnes 45758 <rtems_fdisk_ioctl+0x4ec>        <== NOT EXECUTED
  total += count;                                                     
  rtems_fdisk_printf (fd, "Erase queue\t%ld (%ld)",                   
                      count, rtems_fdisk_segment_queue_count (&fd->erase));
  count = rtems_fdisk_segment_count_queue (&fd->failed);              
  total += count;                                                     
  rtems_fdisk_printf (fd, "Failed queue\t%ld (%ld)",                  
   45760:	2f2b 0060      	movel %a3@(96),%sp@-                        <== NOT EXECUTED
  count = rtems_fdisk_segment_count_queue (&fd->erase);               
  total += count;                                                     
  rtems_fdisk_printf (fd, "Erase queue\t%ld (%ld)",                   
                      count, rtems_fdisk_segment_queue_count (&fd->erase));
  count = rtems_fdisk_segment_count_queue (&fd->failed);              
  total += count;                                                     
   45764:	d480           	addl %d0,%d2                                <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Failed queue\t%ld (%ld)",                  
   45766:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45768:	4879 0007 04d9 	pea 704d9 <map.6766+0x923>                  <== NOT EXECUTED
   4576e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   45770:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                      count, rtems_fdisk_segment_queue_count (&fd->failed));
                                                                      
  count = 0;                                                          
  for (device = 0; device < fd->device_count; device++)               
   45772:	222b 0030      	movel %a3@(48),%d1                          <== NOT EXECUTED
   45776:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4577a:	6700 0560      	beqw 45cdc <rtems_fdisk_ioctl+0xa70>        <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   4577e:	2601           	movel %d1,%d3                               <== NOT EXECUTED
  count = rtems_fdisk_segment_count_queue (&fd->failed);              
  total += count;                                                     
  rtems_fdisk_printf (fd, "Failed queue\t%ld (%ld)",                  
                      count, rtems_fdisk_segment_queue_count (&fd->failed));
                                                                      
  count = 0;                                                          
   45780:	4280           	clrl %d0                                    <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   45782:	e58b           	lsll #2,%d3                                 <== NOT EXECUTED
   45784:	e989           	lsll #4,%d1                                 <== NOT EXECUTED
   45786:	226b 002c      	moveal %a3@(44),%a1                         <== NOT EXECUTED
   4578a:	9283           	subl %d3,%d1                                <== NOT EXECUTED
   4578c:	41e9 0004      	lea %a1@(4),%a0                             <== NOT EXECUTED
   45790:	43f1 1804      	lea %a1@(00000004,%d1:l),%a1                <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Failed queue\t%ld (%ld)",                  
                      count, rtems_fdisk_segment_queue_count (&fd->failed));
                                                                      
  count = 0;                                                          
  for (device = 0; device < fd->device_count; device++)               
    count += fd->devices[device].segment_count;                       
   45794:	d090           	addl %a0@,%d0                               <== NOT EXECUTED
   45796:	41e8 000c      	lea %a0@(12),%a0                            <== NOT EXECUTED
  total += count;                                                     
  rtems_fdisk_printf (fd, "Failed queue\t%ld (%ld)",                  
                      count, rtems_fdisk_segment_queue_count (&fd->failed));
                                                                      
  count = 0;                                                          
  for (device = 0; device < fd->device_count; device++)               
   4579a:	b3c8           	cmpal %a0,%a1                               <== NOT EXECUTED
   4579c:	66f6           	bnes 45794 <rtems_fdisk_ioctl+0x528>        <== NOT EXECUTED
    count += fd->devices[device].segment_count;                       
                                                                      
  rtems_fdisk_printf (fd, "Queue total\t%ld of %ld, %s", total, count,
   4579e:	223c 0007 0042 	movel #458818,%d1                           <== NOT EXECUTED
   457a4:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   457a6:	6700 052a      	beqw 45cd2 <rtems_fdisk_ioctl+0xa66>        <== NOT EXECUTED
   457aa:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   457ac:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   457ae:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   457b0:	4879 0007 04f0 	pea 704f0 <map.6766+0x93a>                  <== NOT EXECUTED
   457b6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   457b8:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                      total == count ? "ok" : "MISSING");             
                                                                      
  rtems_fdisk_printf (fd, "Device count\t%d", fd->device_count);      
   457ba:	2f2b 0030      	movel %a3@(48),%sp@-                        <== NOT EXECUTED
   457be:	4879 0007 050b 	pea 7050b <map.6766+0x955>                  <== NOT EXECUTED
   457c4:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   457c6:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                                                      
  for (device = 0; device < fd->device_count; device++)               
   457c8:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
   457cc:	4aab 0030      	tstl %a3@(48)                               <== NOT EXECUTED
   457d0:	6700 015c      	beqw 4592e <rtems_fdisk_ioctl+0x6c2>        <== NOT EXECUTED
   457d4:	42ae ffe8      	clrl %fp@(-24)                              <== NOT EXECUTED
   457d8:	42ae ffe0      	clrl %fp@(-32)                              <== NOT EXECUTED
  {                                                                   
    uint32_t block;                                                   
    uint32_t seg;                                                     
                                                                      
    rtems_fdisk_printf (fd, " Device\t\t%ld", device);                
   457dc:	2f2e ffe0      	movel %fp@(-32),%sp@-                       <== NOT EXECUTED
   457e0:	4879 0007 051b 	pea 7051b <map.6766+0x965>                  <== NOT EXECUTED
   457e6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   457e8:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    rtems_fdisk_printf (fd, "  Segment count\t%ld",                   
   457ea:	206b 002c      	moveal %a3@(44),%a0                         <== NOT EXECUTED
   457ee:	222e ffe8      	movel %fp@(-24),%d1                         <== NOT EXECUTED
   457f2:	2f30 1804      	movel %a0@(00000004,%d1:l),%sp@-            <== NOT EXECUTED
   457f6:	4879 0007 0528 	pea 70528 <map.6766+0x972>                  <== NOT EXECUTED
   457fc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   457fe:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                        fd->devices[device].segment_count);           
                                                                      
    for (seg = 0; seg < fd->devices[device].segment_count; seg++)     
   45800:	206e ffe8      	moveal %fp@(-24),%a0                        <== NOT EXECUTED
   45804:	d1eb 002c      	addal %a3@(44),%a0                          <== NOT EXECUTED
   45808:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   4580c:	4aa8 0004      	tstl %a0@(4)                                <== NOT EXECUTED
   45810:	6700 0106      	beqw 45918 <rtems_fdisk_ioctl+0x6ac>        <== NOT EXECUTED
   45814:	42ae fff4      	clrl %fp@(-12)                              <== NOT EXECUTED
   45818:	4285           	clrl %d5                                    <== NOT EXECUTED
   4581a:	2d4c fff0      	movel %a4,%fp@(-16)                         <== NOT EXECUTED
    {                                                                 
      rtems_fdisk_segment_ctl* sc = &fd->devices[device].segments[seg];
   4581e:	246e fff4      	moveal %fp@(-12),%a2                        <== NOT EXECUTED
   45822:	d5d0           	addal %a0@,%a2                              <== NOT EXECUTED
      uint32_t                 active = 0;                            
      uint32_t                 used = 0;                              
      bool                     is_active = false;                     
      char                     queues[5];                             
                                                                      
      rtems_fdisk_queue_status (fd, sc, queues);                      
   45824:	486e fffb      	pea %fp@(-5)                                <== NOT EXECUTED
   45828:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4582a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   4582c:	4eba e7d4      	jsr %pc@(44002 <rtems_fdisk_queue_status>)  <== NOT EXECUTED
                                                                      
      for (page = 0; page < sc->pages; page++)                        
   45830:	242a 0014      	movel %a2@(20),%d2                          <== NOT EXECUTED
   45834:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   45838:	6700 01fc      	beqw 45a36 <rtems_fdisk_ioctl+0x7ca>        <== NOT EXECUTED
   4583c:	202b 001c      	movel %a3@(28),%d0                          <== NOT EXECUTED
    for (seg = 0; seg < fd->devices[device].segment_count; seg++)     
    {                                                                 
      rtems_fdisk_segment_ctl* sc = &fd->devices[device].segments[seg];
      uint32_t                 page;                                  
      uint32_t                 erased = 0;                            
      uint32_t                 active = 0;                            
   45840:	4287           	clrl %d7                                    <== NOT EXECUTED
      uint32_t                 used = 0;                              
   45842:	9bcd           	subal %a5,%a5                               <== NOT EXECUTED
                                                                      
    for (seg = 0; seg < fd->devices[device].segment_count; seg++)     
    {                                                                 
      rtems_fdisk_segment_ctl* sc = &fd->devices[device].segments[seg];
      uint32_t                 page;                                  
      uint32_t                 erased = 0;                            
   45844:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
      bool                     is_active = false;                     
      char                     queues[5];                             
                                                                      
      rtems_fdisk_queue_status (fd, sc, queues);                      
                                                                      
      for (page = 0; page < sc->pages; page++)                        
   45846:	4283           	clrl %d3                                    <== NOT EXECUTED
      rtems_fdisk_segment_ctl* sc = &fd->devices[device].segments[seg];
      uint32_t                 page;                                  
      uint32_t                 erased = 0;                            
      uint32_t                 active = 0;                            
      uint32_t                 used = 0;                              
      bool                     is_active = false;                     
   45848:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   4584a:	4204           	clrb %d4                                    <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   4584c:	2c03           	movel %d3,%d6                               <== NOT EXECUTED
   4584e:	e78e           	lsll #3,%d6                                 <== NOT EXECUTED
                                                                      
      rtems_fdisk_queue_status (fd, sc, queues);                      
                                                                      
      for (page = 0; page < sc->pages; page++)                        
      {                                                               
        if (rtems_fdisk_page_desc_erased (&sc->page_descriptors[page]))
   45850:	206a 0010      	moveal %a2@(16),%a0                         <== NOT EXECUTED
   45854:	d1c6           	addal %d6,%a0                               <== NOT EXECUTED
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   45856:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
   45858:	bc90           	cmpl %a0@,%d6                               <== NOT EXECUTED
   4585a:	6700 0128      	beqw 45984 <rtems_fdisk_ioctl+0x718>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4585e:	3068 0002      	moveaw %a0@(2),%a0                          <== NOT EXECUTED
                                                                      
      for (page = 0; page < sc->pages; page++)                        
      {                                                               
        if (rtems_fdisk_page_desc_erased (&sc->page_descriptors[page]))
          erased++;                                                   
        else if (rtems_fdisk_page_desc_flags_set (&sc->page_descriptors[page],
   45862:	2208           	movel %a0,%d1                               <== NOT EXECUTED
   45864:	0801 0000      	btst #0,%d1                                 <== NOT EXECUTED
   45868:	660e           	bnes 45878 <rtems_fdisk_ioctl+0x60c>        <== NOT EXECUTED
                                                  RTEMS_FDISK_PAGE_ACTIVE))
        {                                                             
          if (rtems_fdisk_page_desc_flags_set (&sc->page_descriptors[page],
   4586a:	2208           	movel %a0,%d1                               <== NOT EXECUTED
   4586c:	7c02           	moveq #2,%d6                                <== NOT EXECUTED
   4586e:	c286           	andl %d6,%d1                                <== NOT EXECUTED
   45870:	4a41           	tstw %d1                                    <== NOT EXECUTED
   45872:	6600 0160      	bnew 459d4 <rtems_fdisk_ioctl+0x768>        <== NOT EXECUTED
                                               RTEMS_FDISK_PAGE_USED))
            used++;                                                   
   45876:	528d           	addql #1,%a5                                <== NOT EXECUTED
            active++;                                                 
            is_active = true;                                         
          }                                                           
        }                                                             
                                                                      
        for (block = 0; block < fd->block_count; block++)             
   45878:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4587a:	671e           	beqs 4589a <rtems_fdisk_ioctl+0x62e>        <== NOT EXECUTED
   4587c:	4282           	clrl %d2                                    <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   4587e:	2202           	movel %d2,%d1                               <== NOT EXECUTED
   45880:	e789           	lsll #3,%d1                                 <== NOT EXECUTED
          }                                                           
        }                                                             
                                                                      
        for (block = 0; block < fd->block_count; block++)             
        {                                                             
          if ((fd->blocks[block].segment == sc) &&                    
   45882:	206b 0018      	moveal %a3@(24),%a0                         <== NOT EXECUTED
   45886:	d1c1           	addal %d1,%a0                               <== NOT EXECUTED
   45888:	b5d0           	cmpal %a0@,%a2                              <== NOT EXECUTED
   4588a:	6700 0106      	beqw 45992 <rtems_fdisk_ioctl+0x726>        <== NOT EXECUTED
            active++;                                                 
            is_active = true;                                         
          }                                                           
        }                                                             
                                                                      
        for (block = 0; block < fd->block_count; block++)             
   4588e:	5282           	addql #1,%d2                                <== NOT EXECUTED
   45890:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   45892:	62ea           	bhis 4587e <rtems_fdisk_ioctl+0x612>        <== NOT EXECUTED
   45894:	242a 0014      	movel %a2@(20),%d2                          <== NOT EXECUTED
   45898:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
      bool                     is_active = false;                     
      char                     queues[5];                             
                                                                      
      rtems_fdisk_queue_status (fd, sc, queues);                      
                                                                      
      for (page = 0; page < sc->pages; page++)                        
   4589a:	5283           	addql #1,%d3                                <== NOT EXECUTED
   4589c:	b483           	cmpl %d3,%d2                                <== NOT EXECUTED
   4589e:	62ac           	bhis 4584c <rtems_fdisk_ioctl+0x5e0>        <== NOT EXECUTED
   458a0:	2209           	movel %a1,%d1                               <== NOT EXECUTED
                                page, block);                         
        }                                                             
      }                                                               
                                                                      
      count = 0;                                                      
      for (block = 0; block < fd->block_count; block++)               
   458a2:	4a81           	tstl %d1                                    <== NOT EXECUTED
   458a4:	6700 0136      	beqw 459dc <rtems_fdisk_ioctl+0x770>        <== NOT EXECUTED
   458a8:	226b 0018      	moveal %a3@(24),%a1                         <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   458ac:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   458ae:	4283           	clrl %d3                                    <== NOT EXECUTED
   458b0:	e789           	lsll #3,%d1                                 <== NOT EXECUTED
   458b2:	d081           	addl %d1,%d0                                <== NOT EXECUTED
      }                                                               
                                                                      
      count = 0;                                                      
      for (block = 0; block < fd->block_count; block++)               
      {                                                               
        if (fd->blocks[block].segment == sc)                          
   458b4:	b5d1           	cmpal %a1@,%a2                              <== NOT EXECUTED
   458b6:	6700 010e      	beqw 459c6 <rtems_fdisk_ioctl+0x75a>        <== NOT EXECUTED
   458ba:	5089           	addql #8,%a1                                <== NOT EXECUTED
                                page, block);                         
        }                                                             
      }                                                               
                                                                      
      count = 0;                                                      
      for (block = 0; block < fd->block_count; block++)               
   458bc:	b089           	cmpl %a1,%d0                                <== NOT EXECUTED
   458be:	66f4           	bnes 458b4 <rtems_fdisk_ioctl+0x648>        <== NOT EXECUTED
   458c0:	7230           	moveq #48,%d1                               <== NOT EXECUTED
   458c2:	d3ae fff4      	addl %d1,%fp@(-12)                          <== NOT EXECUTED
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
                          " u:%3ld/%3ld e:%3ld/%3ld br:%ld",          
                          seg, queues,                                
                          sc->pages, sc->pages_active, active,        
                          sc->pages_used, used, erased,               
                          sc->pages - (sc->pages_active +             
   458c6:	202a 001c      	movel %a2@(28),%d0                          <== NOT EXECUTED
                                       sc->pages_used + sc->pages_bad),
   458ca:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   458ce:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
      }                                                               
                                                                      
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
   458d0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   458d2:	d3ea 0024      	addal %a2@(36),%a1                          <== NOT EXECUTED
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
      }                                                               
                                                                      
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
   458d6:	2602           	movel %d2,%d3                               <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   458d8:	d3c0           	addal %d0,%a1                               <== NOT EXECUTED
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
      }                                                               
                                                                      
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
   458da:	9689           	subl %a1,%d3                                <== NOT EXECUTED
   458dc:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   458de:	206e fff0      	moveal %fp@(-16),%a0                        <== NOT EXECUTED
   458e2:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   458e4:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   458e6:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   458e8:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   458ea:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   458ec:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   458ee:	486e fffb      	pea %fp@(-5)                                <== NOT EXECUTED
   458f2:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   458f4:	4879 0007 0569 	pea 70569 <map.6766+0x9b3>                  <== NOT EXECUTED
                                                                      
    rtems_fdisk_printf (fd, " Device\t\t%ld", device);                
    rtems_fdisk_printf (fd, "  Segment count\t%ld",                   
                        fd->devices[device].segment_count);           
                                                                      
    for (seg = 0; seg < fd->devices[device].segment_count; seg++)     
   458fa:	5285           	addql #1,%d5                                <== NOT EXECUTED
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
      }                                                               
                                                                      
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
   458fc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   458fe:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                                                      
    rtems_fdisk_printf (fd, " Device\t\t%ld", device);                
    rtems_fdisk_printf (fd, "  Segment count\t%ld",                   
                        fd->devices[device].segment_count);           
                                                                      
    for (seg = 0; seg < fd->devices[device].segment_count; seg++)     
   45900:	206e ffe8      	moveal %fp@(-24),%a0                        <== NOT EXECUTED
   45904:	d1eb 002c      	addal %a3@(44),%a0                          <== NOT EXECUTED
   45908:	4fef 0030      	lea %sp@(48),%sp                            <== NOT EXECUTED
   4590c:	baa8 0004      	cmpl %a0@(4),%d5                            <== NOT EXECUTED
   45910:	6500 ff0c      	bcsw 4581e <rtems_fdisk_ioctl+0x5b2>        <== NOT EXECUTED
   45914:	286e fff0      	moveal %fp@(-16),%a4                        <== NOT EXECUTED
  rtems_fdisk_printf (fd, "Queue total\t%ld of %ld, %s", total, count,
                      total == count ? "ok" : "MISSING");             
                                                                      
  rtems_fdisk_printf (fd, "Device count\t%d", fd->device_count);      
                                                                      
  for (device = 0; device < fd->device_count; device++)               
   45918:	52ae ffe0      	addql #1,%fp@(-32)                          <== NOT EXECUTED
   4591c:	700c           	moveq #12,%d0                               <== NOT EXECUTED
   4591e:	d1ae ffe8      	addl %d0,%fp@(-24)                          <== NOT EXECUTED
   45922:	222e ffe0      	movel %fp@(-32),%d1                         <== NOT EXECUTED
   45926:	b2ab 0030      	cmpl %a3@(48),%d1                           <== NOT EXECUTED
   4592a:	6500 feb0      	bcsw 457dc <rtems_fdisk_ioctl+0x570>        <== NOT EXECUTED
                          count);                                     
    }                                                                 
  }                                                                   
                                                                      
  {                                                                   
    rtems_fdisk_segment_ctl* sc = fd->used.head;                      
   4592e:	246b 0040      	moveal %a3@(64),%a2                         <== NOT EXECUTED
    int count = 0;                                                    
    rtems_fdisk_printf (fd, "Used List:");                            
   45932:	4879 0007 05a5 	pea 705a5 <map.6766+0x9ef>                  <== NOT EXECUTED
   45938:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   4593a:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    while (sc)                                                        
   4593c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4593e:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   45940:	6726           	beqs 45968 <rtems_fdisk_ioctl+0x6fc>        <== NOT EXECUTED
   45942:	4282           	clrl %d2                                    <== NOT EXECUTED
    {                                                                 
      rtems_fdisk_printf (fd, "  %3d %02d:%03d u:%3ld",               
   45944:	2f2a 0020      	movel %a2@(32),%sp@-                        <== NOT EXECUTED
   45948:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   4594c:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   45950:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   45952:	4879 0007 05b0 	pea 705b0 <map.6766+0x9fa>                  <== NOT EXECUTED
                          count, sc->device, sc->segment, sc->pages_used);
      sc = sc->next;                                                  
      count++;                                                        
   45958:	5282           	addql #1,%d2                                <== NOT EXECUTED
    rtems_fdisk_segment_ctl* sc = fd->used.head;                      
    int count = 0;                                                    
    rtems_fdisk_printf (fd, "Used List:");                            
    while (sc)                                                        
    {                                                                 
      rtems_fdisk_printf (fd, "  %3d %02d:%03d u:%3ld",               
   4595a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   4595c:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                          count, sc->device, sc->segment, sc->pages_used);
      sc = sc->next;                                                  
   4595e:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
                                                                      
  {                                                                   
    rtems_fdisk_segment_ctl* sc = fd->used.head;                      
    int count = 0;                                                    
    rtems_fdisk_printf (fd, "Used List:");                            
    while (sc)                                                        
   45960:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   45964:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   45966:	66dc           	bnes 45944 <rtems_fdisk_ioctl+0x6d8>        <== NOT EXECUTED
                          count, sc->device, sc->segment, sc->pages_used);
      sc = sc->next;                                                  
      count++;                                                        
    }                                                                 
  }                                                                   
  fd->info_level = current_info_level;                                
   45968:	242e ffe4      	movel %fp@(-28),%d2                         <== NOT EXECUTED
   4596c:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
   45970:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
   45976:	2742 006c      	movel %d2,%a3@(108)                         <== NOT EXECUTED
      case RTEMS_FDISK_IOCTL_INFO_LEVEL:                              
        rtems_flashdisks[minor].info_level = (uintptr_t) argp;        
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_PRINT_STATUS:                            
        errno = rtems_fdisk_print_status (&rtems_flashdisks[minor]);  
   4597a:	206e ffdc      	moveal %fp@(-36),%a0                        <== NOT EXECUTED
   4597e:	4290           	clrl %a0@                                   <== NOT EXECUTED
        break;                                                        
   45980:	6000 f9d6      	braw 45358 <rtems_fdisk_ioctl+0xec>         <== NOT EXECUTED
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   45984:	bca8 0004      	cmpl %a0@(4),%d6                            <== NOT EXECUTED
   45988:	6600 fed4      	bnew 4585e <rtems_fdisk_ioctl+0x5f2>        <== NOT EXECUTED
      rtems_fdisk_queue_status (fd, sc, queues);                      
                                                                      
      for (page = 0; page < sc->pages; page++)                        
      {                                                               
        if (rtems_fdisk_page_desc_erased (&sc->page_descriptors[page]))
          erased++;                                                   
   4598c:	528c           	addql #1,%a4                                <== NOT EXECUTED
   4598e:	6000 fee8      	braw 45878 <rtems_fdisk_ioctl+0x60c>        <== NOT EXECUTED
          }                                                           
        }                                                             
                                                                      
        for (block = 0; block < fd->block_count; block++)             
        {                                                             
          if ((fd->blocks[block].segment == sc) &&                    
   45992:	b6a8 0004      	cmpl %a0@(4),%d3                            <== NOT EXECUTED
   45996:	6600 fef6      	bnew 4588e <rtems_fdisk_ioctl+0x622>        <== NOT EXECUTED
              (fd->blocks[block].page == page) && !is_active)         
   4599a:	4a04           	tstb %d4                                    <== NOT EXECUTED
   4599c:	6600 fef0      	bnew 4588e <rtems_fdisk_ioctl+0x622>        <== NOT EXECUTED
            rtems_fdisk_printf (fd,                                   
   459a0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   459a2:	206e fff0      	moveal %fp@(-16),%a0                        <== NOT EXECUTED
            active++;                                                 
            is_active = true;                                         
          }                                                           
        }                                                             
                                                                      
        for (block = 0; block < fd->block_count; block++)             
   459a6:	5282           	addql #1,%d2                                <== NOT EXECUTED
        {                                                             
          if ((fd->blocks[block].segment == sc) &&                    
              (fd->blocks[block].page == page) && !is_active)         
            rtems_fdisk_printf (fd,                                   
   459a8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   459aa:	4879 0007 053c 	pea 7053c <map.6766+0x986>                  <== NOT EXECUTED
   459b0:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   459b2:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   459b4:	202b 001c      	movel %a3@(28),%d0                          <== NOT EXECUTED
   459b8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            active++;                                                 
            is_active = true;                                         
          }                                                           
        }                                                             
                                                                      
        for (block = 0; block < fd->block_count; block++)             
   459bc:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   459be:	6200 febe      	bhiw 4587e <rtems_fdisk_ioctl+0x612>        <== NOT EXECUTED
   459c2:	6000 fed0      	braw 45894 <rtems_fdisk_ioctl+0x628>        <== NOT EXECUTED
                                                                      
      count = 0;                                                      
      for (block = 0; block < fd->block_count; block++)               
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
   459c6:	5283           	addql #1,%d3                                <== NOT EXECUTED
   459c8:	5089           	addql #8,%a1                                <== NOT EXECUTED
                                page, block);                         
        }                                                             
      }                                                               
                                                                      
      count = 0;                                                      
      for (block = 0; block < fd->block_count; block++)               
   459ca:	b089           	cmpl %a1,%d0                                <== NOT EXECUTED
   459cc:	6600 fee6      	bnew 458b4 <rtems_fdisk_ioctl+0x648>        <== NOT EXECUTED
   459d0:	6000 feee      	braw 458c0 <rtems_fdisk_ioctl+0x654>        <== NOT EXECUTED
          if (rtems_fdisk_page_desc_flags_set (&sc->page_descriptors[page],
                                               RTEMS_FDISK_PAGE_USED))
            used++;                                                   
          else                                                        
          {                                                           
            active++;                                                 
   459d4:	5287           	addql #1,%d7                                <== NOT EXECUTED
            is_active = true;                                         
   459d6:	7801           	moveq #1,%d4                                <== NOT EXECUTED
   459d8:	6000 fe9e      	braw 45878 <rtems_fdisk_ioctl+0x60c>        <== NOT EXECUTED
   459dc:	7230           	moveq #48,%d1                               <== NOT EXECUTED
   459de:	d3ae fff4      	addl %d1,%fp@(-12)                          <== NOT EXECUTED
                                page, block);                         
        }                                                             
      }                                                               
                                                                      
      count = 0;                                                      
      for (block = 0; block < fd->block_count; block++)               
   459e2:	4283           	clrl %d3                                    <== NOT EXECUTED
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
                          " u:%3ld/%3ld e:%3ld/%3ld br:%ld",          
                          seg, queues,                                
                          sc->pages, sc->pages_active, active,        
                          sc->pages_used, used, erased,               
                          sc->pages - (sc->pages_active +             
   459e4:	202a 001c      	movel %a2@(28),%d0                          <== NOT EXECUTED
                                       sc->pages_used + sc->pages_bad),
   459e8:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   459ec:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
      }                                                               
                                                                      
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
   459ee:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   459f0:	d3ea 0024      	addal %a2@(36),%a1                          <== NOT EXECUTED
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
      }                                                               
                                                                      
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
   459f4:	2602           	movel %d2,%d3                               <== NOT EXECUTED
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   459f6:	d3c0           	addal %d0,%a1                               <== NOT EXECUTED
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
      }                                                               
                                                                      
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
   459f8:	9689           	subl %a1,%d3                                <== NOT EXECUTED
   459fa:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   459fc:	206e fff0      	moveal %fp@(-16),%a0                        <== NOT EXECUTED
   45a00:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   45a02:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   45a04:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   45a06:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   45a08:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45a0a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   45a0c:	486e fffb      	pea %fp@(-5)                                <== NOT EXECUTED
   45a10:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   45a12:	4879 0007 0569 	pea 70569 <map.6766+0x9b3>                  <== NOT EXECUTED
                                                                      
    rtems_fdisk_printf (fd, " Device\t\t%ld", device);                
    rtems_fdisk_printf (fd, "  Segment count\t%ld",                   
                        fd->devices[device].segment_count);           
                                                                      
    for (seg = 0; seg < fd->devices[device].segment_count; seg++)     
   45a18:	5285           	addql #1,%d5                                <== NOT EXECUTED
      {                                                               
        if (fd->blocks[block].segment == sc)                          
          count++;                                                    
      }                                                               
                                                                      
      rtems_fdisk_printf (fd, "  %3ld %s p:%3ld a:%3ld/%3ld" \        
   45a1a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   45a1c:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                                                      
    rtems_fdisk_printf (fd, " Device\t\t%ld", device);                
    rtems_fdisk_printf (fd, "  Segment count\t%ld",                   
                        fd->devices[device].segment_count);           
                                                                      
    for (seg = 0; seg < fd->devices[device].segment_count; seg++)     
   45a1e:	206e ffe8      	moveal %fp@(-24),%a0                        <== NOT EXECUTED
   45a22:	d1eb 002c      	addal %a3@(44),%a0                          <== NOT EXECUTED
   45a26:	4fef 0030      	lea %sp@(48),%sp                            <== NOT EXECUTED
   45a2a:	baa8 0004      	cmpl %a0@(4),%d5                            <== NOT EXECUTED
   45a2e:	6500 fdee      	bcsw 4581e <rtems_fdisk_ioctl+0x5b2>        <== NOT EXECUTED
   45a32:	6000 fee0      	braw 45914 <rtems_fdisk_ioctl+0x6a8>        <== NOT EXECUTED
   45a36:	222b 001c      	movel %a3@(28),%d1                          <== NOT EXECUTED
    {                                                                 
      rtems_fdisk_segment_ctl* sc = &fd->devices[device].segments[seg];
      uint32_t                 page;                                  
      uint32_t                 erased = 0;                            
      uint32_t                 active = 0;                            
   45a3a:	4287           	clrl %d7                                    <== NOT EXECUTED
      uint32_t                 used = 0;                              
   45a3c:	9bcd           	subal %a5,%a5                               <== NOT EXECUTED
                                                                      
    for (seg = 0; seg < fd->devices[device].segment_count; seg++)     
    {                                                                 
      rtems_fdisk_segment_ctl* sc = &fd->devices[device].segments[seg];
      uint32_t                 page;                                  
      uint32_t                 erased = 0;                            
   45a3e:	99cc           	subal %a4,%a4                               <== NOT EXECUTED
   45a40:	6000 fe60      	braw 458a2 <rtems_fdisk_ioctl+0x636>        <== NOT EXECUTED
    {                                                                 
      case RTEMS_BLKIO_REQUEST:                                       
        if ((minor >= rtems_flashdisk_count) ||                       
            (rtems_flashdisks[minor].device_count == 0))              
        {                                                             
          errno = ENODEV;                                             
   45a44:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   45a4a:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
   45a4e:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   45a50:	7413           	moveq #19,%d2                               <== NOT EXECUTED
   45a52:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
   45a58:	2482           	movel %d2,%a2@                              <== NOT EXECUTED
   45a5a:	6000 f8fc      	braw 45358 <rtems_fdisk_ioctl+0xec>         <== NOT EXECUTED
        else                                                          
        {                                                             
          switch (r->req)                                             
          {                                                           
            case RTEMS_BLKDEV_REQ_READ:                               
              errno = rtems_fdisk_read (&rtems_flashdisks[minor], r); 
   45a5e:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   45a64:	266e ffec      	moveal %fp@(-20),%a3                        
 * @retval 0 Always.  The request done callback contains the status.  
 */                                                                   
static int                                                            
rtems_fdisk_read (rtems_flashdisk* fd, rtems_blkdev_request* req)     
{                                                                     
  rtems_blkdev_sg_buffer* sg = req->bufs;                             
   45a68:	280d           	movel %a5,%d4                               
   45a6a:	0684 0000 0018 	addil #24,%d4                               
        else                                                          
        {                                                             
          switch (r->req)                                             
          {                                                           
            case RTEMS_BLKDEV_REQ_READ:                               
              errno = rtems_fdisk_read (&rtems_flashdisks[minor], r); 
   45a70:	d7f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a3          
   45a76:	2844           	moveal %d4,%a4                              
   45a78:	280d           	movel %a5,%d4                               
   45a7a:	2d40 ffe8      	movel %d0,%fp@(-24)                         
   45a7e:	202d 0010      	movel %a5@(16),%d0                          
{                                                                     
  rtems_blkdev_sg_buffer* sg = req->bufs;                             
  uint32_t                buf;                                        
  int                     ret = 0;                                    
                                                                      
  for (buf = 0; (ret == 0) && (buf < req->bufnum); buf++, sg++)       
   45a82:	42ae fff4      	clrl %fp@(-12)                              
   45a86:	b0ae fff4      	cmpl %fp@(-12),%d0                          
   45a8a:	6300 023e      	blsw 45cca <rtems_fdisk_ioctl+0xa5e>        
  {                                                                   
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
   45a8e:	262c 0004      	movel %a4@(4),%d3                           
   45a92:	4c6b 3003 0014 	remul %a3@(20),%d3,%d3                      
    data = sg->buffer;                                                
   45a98:	242c 0008      	movel %a4@(8),%d2                           
  for (buf = 0; (ret == 0) && (buf < req->bufnum); buf++, sg++)       
  {                                                                   
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
   45a9c:	2d43 fff0      	movel %d3,%fp@(-16)                         
    data = sg->buffer;                                                
    for (b = 0; b < fb; b++, data += fd->block_size)                  
   45aa0:	6700 01e4      	beqw 45c86 <rtems_fdisk_ioctl+0xa1a>        
   45aa4:	4283           	clrl %d3                                    
    {                                                                 
      ret = rtems_fdisk_read_block (fd, sg->block + b, data);         
   45aa6:	2e03           	movel %d3,%d7                               
   45aa8:	de94           	addl %a4@,%d7                               
  rtems_fdisk_block_ctl*   bc;                                        
  rtems_fdisk_segment_ctl* sc;                                        
  rtems_fdisk_page_desc*   pd;                                        
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd, "read-block:%d", block);                      
   45aaa:	2f07           	movel %d7,%sp@-                             
   45aac:	4879 0007 004a 	pea 7004a <map.6766+0x494>                  
   45ab2:	2f0b           	movel %a3,%sp@-                             
   45ab4:	4eba e60c      	jsr %pc@(440c2 <rtems_fdisk_info>)          
                                                                      
  /*                                                                  
   * Broken out to allow info messages when testing.                  
   */                                                                 
                                                                      
  if (block >= (fd->block_count - fd->unavail_blocks))                
   45ab8:	202b 001c      	movel %a3@(28),%d0                          
   45abc:	90ab 0020      	subl %a3@(32),%d0                           
   45ac0:	4fef 000c      	lea %sp@(12),%sp                            
   45ac4:	b087           	cmpl %d7,%d0                                
   45ac6:	6300 0168      	blsw 45c30 <rtems_fdisk_ioctl+0x9c4>        
  {                                                                   
    rtems_fdisk_error ("read-block: block out of range: %d", block);  
    return EIO;                                                       
  }                                                                   
                                                                      
  bc = &fd->blocks[block];                                            
   45aca:	2c07           	movel %d7,%d6                               
   45acc:	e78e           	lsll #3,%d6                                 
   45ace:	dcab 0018      	addl %a3@(24),%d6                           
                                                                      
  if (!bc->segment)                                                   
   45ad2:	2046           	moveal %d6,%a0                              
   45ad4:	2450           	moveal %a0@,%a2                             
   45ad6:	4a8a           	tstl %a2                                    
   45ad8:	6700 0174      	beqw 45c4e <rtems_fdisk_ioctl+0x9e2>        
    memset (buffer, 0xff, fd->block_size);                            
    return 0;                                                         
  }                                                                   
                                                                      
  sc = fd->blocks[block].segment;                                     
  pd = &sc->page_descriptors[bc->page];                               
   45adc:	2028 0004      	movel %a0@(4),%d0                           
   45ae0:	2200           	movel %d0,%d1                               
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd,                                               
   45ae2:	4285           	clrl %d5                                    
    memset (buffer, 0xff, fd->block_size);                            
    return 0;                                                         
  }                                                                   
                                                                      
  sc = fd->blocks[block].segment;                                     
  pd = &sc->page_descriptors[bc->page];                               
   45ae4:	e789           	lsll #3,%d1                                 
   45ae6:	2a6a 0010      	moveal %a2@(16),%a5                         
   45aea:	dbc1           	addal %d1,%a5                               
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd,                                               
   45aec:	4281           	clrl %d1                                    
   45aee:	3215           	movew %a5@,%d1                              
   45af0:	226d 0004      	moveal %a5@(4),%a1                          
   45af4:	2041           	moveal %d1,%a0                              
   45af6:	3a2d 0002      	movew %a5@(2),%d5                           
   45afa:	4a92           	tstl %a2@                                   
   45afc:	6700 0146      	beqw 45c44 <rtems_fdisk_ioctl+0x9d8>        
   45b00:	223c 0007 1e92 	movel #466578,%d1                           
   45b06:	2f09           	movel %a1,%sp@-                             
   45b08:	2f08           	movel %a0,%sp@-                             
   45b0a:	2f05           	movel %d5,%sp@-                             
   45b0c:	2f01           	movel %d1,%sp@-                             
   45b0e:	2f2a 0024      	movel %a2@(36),%sp@-                        
   45b12:	2f2a 0020      	movel %a2@(32),%sp@-                        
   45b16:	2f2a 001c      	movel %a2@(28),%sp@-                        
   45b1a:	2f2a 0014      	movel %a2@(20),%sp@-                        
   45b1e:	2f00           	movel %d0,%sp@-                             
   45b20:	2f2a 000c      	movel %a2@(12),%sp@-                        
   45b24:	2f2a 0008      	movel %a2@(8),%sp@-                         
   45b28:	2f07           	movel %d7,%sp@-                             
   45b2a:	4879 0007 009e 	pea 7009e <map.6766+0x4e8>                  
   45b30:	2f0b           	movel %a3,%sp@-                             
   45b32:	4eba e58e      	jsr %pc@(440c2 <rtems_fdisk_info>)          
                    sc->pages, sc->pages_active, sc->pages_used, sc->pages_bad,
                    sc->next ? "set" : "null",                        
                    pd->flags, pd->crc, pd->block);                   
#endif                                                                
                                                                      
  if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_ACTIVE))  
   45b36:	4fef 0038      	lea %sp@(56),%sp                            
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   45b3a:	302d 0002      	movew %a5@(2),%d0                           
                    sc->pages, sc->pages_active, sc->pages_used, sc->pages_bad,
                    sc->next ? "set" : "null",                        
                    pd->flags, pd->crc, pd->block);                   
#endif                                                                
                                                                      
  if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_ACTIVE))  
   45b3e:	0800 0000      	btst #0,%d0                                 
   45b42:	6648           	bnes 45b8c <rtems_fdisk_ioctl+0x920>        <== NEVER TAKEN
  {                                                                   
    if (rtems_fdisk_page_desc_flags_clear (pd, RTEMS_FDISK_PAGE_USED))
   45b44:	0800 0001      	btst #1,%d0                                 
   45b48:	6664           	bnes 45bae <rtems_fdisk_ioctl+0x942>        <== ALWAYS TAKEN
      rtems_fdisk_error ("read-block: crc failure: %d: buffer:%04x page:%04x",
                         block, cs, pd->crc);                         
    }                                                                 
    else                                                              
    {                                                                 
      rtems_fdisk_error ("read-block: block points to used page: %d: %d-%d-%d",
   45b4a:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
   45b4c:	2a44           	moveal %d4,%a5                              <== NOT EXECUTED
   45b4e:	2f28 0004      	movel %a0@(4),%sp@-                         <== NOT EXECUTED
   45b52:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   45b56:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   45b5a:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   45b5c:	4879 0007 014d 	pea 7014d <map.6766+0x597>                  <== NOT EXECUTED
   45b62:	4eba e782      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   45b66:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
      if (ret)                                                        
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  rtems_blkdev_request_done (req, ret ? RTEMS_IO_ERROR : RTEMS_SUCCESSFUL);
   45b6a:	701b           	moveq #27,%d0                               <== NOT EXECUTED
static inline void rtems_blkdev_request_done(                         
  rtems_blkdev_request *req,                                          
  rtems_status_code status                                            
)                                                                     
{                                                                     
  (*req->done)(req, status);                                          
   45b6c:	2f00           	movel %d0,%sp@-                             
   45b6e:	206d 0004      	moveal %a5@(4),%a0                          
   45b72:	2f0d           	movel %a5,%sp@-                             
   45b74:	4e90           	jsr %a0@                                    
   45b76:	226e ffec      	moveal %fp@(-20),%a1                        
   45b7a:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          
        {                                                             
          switch (r->req)                                             
          {                                                           
            case RTEMS_BLKDEV_REQ_READ:                               
              errno = rtems_fdisk_read (&rtems_flashdisks[minor], r); 
              break;                                                  
   45b80:	508f           	addql #8,%sp                                
        else                                                          
        {                                                             
          switch (r->req)                                             
          {                                                           
            case RTEMS_BLKDEV_REQ_READ:                               
              errno = rtems_fdisk_read (&rtems_flashdisks[minor], r); 
   45b82:	246e ffe8      	moveal %fp@(-24),%a2                        
   45b86:	4292           	clrl %a2@                                   
              break;                                                  
   45b88:	6000 f7ce      	braw 45358 <rtems_fdisk_ioctl+0xec>         
                         block, sc->device, sc->segment, bc->page);   
    }                                                                 
  }                                                                   
  else                                                                
  {                                                                   
    rtems_fdisk_error ("read-block: block page not active: %d: %d-%d-%d",
   45b8c:	2246           	moveal %d6,%a1                              <== NOT EXECUTED
   45b8e:	2a44           	moveal %d4,%a5                              <== NOT EXECUTED
   45b90:	2f29 0004      	movel %a1@(4),%sp@-                         <== NOT EXECUTED
   45b94:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   45b98:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   45b9c:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   45b9e:	4879 0007 0181 	pea 70181 <map.6766+0x5cb>                  <== NOT EXECUTED
   45ba4:	4eba e740      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   45ba8:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   45bac:	60bc           	bras 45b6a <rtems_fdisk_ioctl+0x8fe>        <== NOT EXECUTED
                           rtems_fdisk_segment_ctl* sc,               
                           uint32_t                 page,             
                           void*                    buffer)           
{                                                                     
  return rtems_fdisk_seg_read (fd, sc,                                
                               page * fd->block_size, buffer, fd->block_size);
   45bae:	202b 0014      	movel %a3@(20),%d0                          
                                                                      
      /*                                                              
       * We use the segment page offset not the page number used in the
       * driver. This skips the page descriptors.                     
       */                                                             
      int ret = rtems_fdisk_seg_read_page (fd, sc,                    
   45bb2:	2046           	moveal %d6,%a0                              
rtems_fdisk_seg_read_page (const rtems_flashdisk*   fd,               
                           rtems_fdisk_segment_ctl* sc,               
                           uint32_t                 page,             
                           void*                    buffer)           
{                                                                     
  return rtems_fdisk_seg_read (fd, sc,                                
   45bb4:	2f00           	movel %d0,%sp@-                             
   45bb6:	2f02           	movel %d2,%sp@-                             
                                                                      
      /*                                                              
       * We use the segment page offset not the page number used in the
       * driver. This skips the page descriptors.                     
       */                                                             
      int ret = rtems_fdisk_seg_read_page (fd, sc,                    
   45bb8:	222a 0018      	movel %a2@(24),%d1                          
   45bbc:	d2a8 0004      	addl %a0@(4),%d1                            
rtems_fdisk_seg_read_page (const rtems_flashdisk*   fd,               
                           rtems_fdisk_segment_ctl* sc,               
                           uint32_t                 page,             
                           void*                    buffer)           
{                                                                     
  return rtems_fdisk_seg_read (fd, sc,                                
   45bc0:	4c00 1800      	mulsl %d0,%d1                               
   45bc4:	2f01           	movel %d1,%sp@-                             
   45bc6:	2f2a 000c      	movel %a2@(12),%sp@-                        
   45bca:	2f2a 0008      	movel %a2@(8),%sp@-                         
   45bce:	2f0b           	movel %a3,%sp@-                             
   45bd0:	4eba ebb4      	jsr %pc@(44786 <rtems_fdisk_seg_read.isra.14>)
       * driver. This skips the page descriptors.                     
       */                                                             
      int ret = rtems_fdisk_seg_read_page (fd, sc,                    
                                           bc->page + sc->pages_desc, buffer);
                                                                      
      if (ret)                                                        
   45bd4:	4fef 0018      	lea %sp@(24),%sp                            
   45bd8:	4a80           	tstl %d0                                    
   45bda:	6600 00bc      	bnew 45c98 <rtems_fdisk_ioctl+0xa2c>        
                          strerror (ret), ret);                       
#endif                                                                
        return ret;                                                   
      }                                                               
                                                                      
      cs = rtems_fdisk_page_checksum (buffer, fd->block_size);        
   45bde:	202b 0014      	movel %a3@(20),%d0                          
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
  uint32_t i;                                                         
                                                                      
  for (i = 0; i < page_size; i++, buffer++)                           
   45be2:	6700 00ae      	beqw 45c92 <rtems_fdisk_ioctl+0xa26>        
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   45be6:	2242           	moveal %d2,%a1                              
   45be8:	d3c0           	addal %d0,%a1                               
   45bea:	2042           	moveal %d2,%a0                              
 * Calculate the checksum of a page in a segment.                     
 */                                                                   
static uint16_t                                                       
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
   45bec:	72ff           	moveq #-1,%d1                               
   45bee:	2479 0008 4fa0 	moveal 84fa0 <rtems_fdisk_crc16_factor>,%a2 
  uint32_t i;                                                         
                                                                      
  for (i = 0; i < page_size; i++, buffer++)                           
    cs = rtems_fdisk_calc_crc16 (cs, *buffer);                        
   45bf4:	4285           	clrl %d5                                    
   45bf6:	1a18           	moveb %a0@+,%d5                             
   45bf8:	0281 0000 00ff 	andil #255,%d1                              
   45bfe:	bb81           	eorl %d5,%d1                                
   45c00:	3232 1a00      	movew %a2@(00000000,%d1:l:2),%d1            
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
  uint32_t i;                                                         
                                                                      
  for (i = 0; i < page_size; i++, buffer++)                           
   45c04:	b3c8           	cmpal %a0,%a1                               
   45c06:	66ec           	bnes 45bf4 <rtems_fdisk_ioctl+0x988>        
        return ret;                                                   
      }                                                               
                                                                      
      cs = rtems_fdisk_page_checksum (buffer, fd->block_size);        
                                                                      
      if (cs == pd->crc)                                              
   45c08:	4285           	clrl %d5                                    
   45c0a:	0281 0000 ffff 	andil #65535,%d1                            
   45c10:	3a15           	movew %a5@,%d5                              
   45c12:	ba81           	cmpl %d1,%d5                                
   45c14:	675e           	beqs 45c74 <rtems_fdisk_ioctl+0xa08>        <== ALWAYS TAKEN
        return 0;                                                     
                                                                      
      rtems_fdisk_error ("read-block: crc failure: %d: buffer:%04x page:%04x",
   45c16:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   45c18:	2a44           	moveal %d4,%a5                              <== NOT EXECUTED
   45c1a:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   45c1c:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   45c1e:	4879 0007 011a 	pea 7011a <map.6766+0x564>                  <== NOT EXECUTED
   45c24:	4eba e6c0      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   45c28:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   45c2c:	6000 ff3c      	braw 45b6a <rtems_fdisk_ioctl+0x8fe>        <== NOT EXECUTED
   * Broken out to allow info messages when testing.                  
   */                                                                 
                                                                      
  if (block >= (fd->block_count - fd->unavail_blocks))                
  {                                                                   
    rtems_fdisk_error ("read-block: block out of range: %d", block);  
   45c30:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   45c32:	4879 0007 0058 	pea 70058 <map.6766+0x4a2>                  <== NOT EXECUTED
   45c38:	2a44           	moveal %d4,%a5                              <== NOT EXECUTED
   45c3a:	4eba e6aa      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   45c3e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   45c40:	6000 ff28      	braw 45b6a <rtems_fdisk_ioctl+0x8fe>        <== NOT EXECUTED
                                                                      
  sc = fd->blocks[block].segment;                                     
  pd = &sc->page_descriptors[bc->page];                               
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd,                                               
   45c44:	223c 0006 fc46 	movel #457798,%d1                           <== NOT EXECUTED
   45c4a:	6000 feba      	braw 45b06 <rtems_fdisk_ioctl+0x89a>        <== NOT EXECUTED
  bc = &fd->blocks[block];                                            
                                                                      
  if (!bc->segment)                                                   
  {                                                                   
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_info (fd, "read-block: no segment mapping: %d", block);
   45c4e:	2f07           	movel %d7,%sp@-                             
   45c50:	4879 0007 007b 	pea 7007b <map.6766+0x4c5>                  
   45c56:	2f0b           	movel %a3,%sp@-                             
   45c58:	4eba e468      	jsr %pc@(440c2 <rtems_fdisk_info>)          
#endif                                                                
    memset (buffer, 0xff, fd->block_size);                            
   45c5c:	2f2b 0014      	movel %a3@(20),%sp@-                        
   45c60:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  
   45c64:	2f02           	movel %d2,%sp@-                             
   45c66:	4eb9 0006 159c 	jsr 6159c <memset>                          
   45c6c:	202b 0014      	movel %a3@(20),%d0                          
   45c70:	4fef 0018      	lea %sp@(24),%sp                            
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
    data = sg->buffer;                                                
    for (b = 0; b < fb; b++, data += fd->block_size)                  
   45c74:	5283           	addql #1,%d3                                
   45c76:	d480           	addl %d0,%d2                                
   45c78:	b6ae fff0      	cmpl %fp@(-16),%d3                          
   45c7c:	6600 fe28      	bnew 45aa6 <rtems_fdisk_ioctl+0x83a>        
   45c80:	2044           	moveal %d4,%a0                              
   45c82:	2028 0010      	movel %a0@(16),%d0                          
{                                                                     
  rtems_blkdev_sg_buffer* sg = req->bufs;                             
  uint32_t                buf;                                        
  int                     ret = 0;                                    
                                                                      
  for (buf = 0; (ret == 0) && (buf < req->bufnum); buf++, sg++)       
   45c86:	52ae fff4      	addql #1,%fp@(-12)                          
   45c8a:	49ec 0010      	lea %a4@(16),%a4                            
   45c8e:	6000 fdf6      	braw 45a86 <rtems_fdisk_ioctl+0x81a>        
 * Calculate the checksum of a page in a segment.                     
 */                                                                   
static uint16_t                                                       
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
   45c92:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   45c94:	6000 ff72      	braw 45c08 <rtems_fdisk_ioctl+0x99c>        <== NOT EXECUTED
                                           bc->page + sc->pages_desc, buffer);
                                                                      
      if (ret)                                                        
      {                                                               
#if RTEMS_FDISK_TRACE                                                 
        rtems_fdisk_info (fd,                                         
   45c98:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45c9a:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
   45c9c:	2a44           	moveal %d4,%a5                              <== NOT EXECUTED
   45c9e:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   45ca4:	2246           	moveal %d6,%a1                              <== NOT EXECUTED
   45ca6:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   45ca8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45caa:	2f29 0004      	movel %a1@(4),%sp@-                         <== NOT EXECUTED
   45cae:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   45cb2:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   45cb6:	4879 0007 00e5 	pea 700e5 <map.6766+0x52f>                  <== NOT EXECUTED
   45cbc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   45cbe:	4eba e402      	jsr %pc@(440c2 <rtems_fdisk_info>)          <== NOT EXECUTED
   45cc2:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
   45cc6:	6000 fea2      	braw 45b6a <rtems_fdisk_ioctl+0x8fe>        <== NOT EXECUTED
   45cca:	2a44           	moveal %d4,%a5                              
      if (ret)                                                        
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  rtems_blkdev_request_done (req, ret ? RTEMS_IO_ERROR : RTEMS_SUCCESSFUL);
   45ccc:	4280           	clrl %d0                                    
   45cce:	6000 fe9c      	braw 45b6c <rtems_fdisk_ioctl+0x900>        
                                                                      
  count = 0;                                                          
  for (device = 0; device < fd->device_count; device++)               
    count += fd->devices[device].segment_count;                       
                                                                      
  rtems_fdisk_printf (fd, "Queue total\t%ld of %ld, %s", total, count,
   45cd2:	223c 0007 003f 	movel #458815,%d1                           <== NOT EXECUTED
   45cd8:	6000 fad0      	braw 457aa <rtems_fdisk_ioctl+0x53e>        <== NOT EXECUTED
  count = rtems_fdisk_segment_count_queue (&fd->failed);              
  total += count;                                                     
  rtems_fdisk_printf (fd, "Failed queue\t%ld (%ld)",                  
                      count, rtems_fdisk_segment_queue_count (&fd->failed));
                                                                      
  count = 0;                                                          
   45cdc:	4280           	clrl %d0                                    <== NOT EXECUTED
  for (device = 0; device < fd->device_count; device++)               
    count += fd->devices[device].segment_count;                       
                                                                      
  rtems_fdisk_printf (fd, "Queue total\t%ld of %ld, %s", total, count,
   45cde:	223c 0007 0042 	movel #458818,%d1                           <== NOT EXECUTED
   45ce4:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   45ce6:	6600 fac2      	bnew 457aa <rtems_fdisk_ioctl+0x53e>        <== NOT EXECUTED
   45cea:	60e6           	bras 45cd2 <rtems_fdisk_ioctl+0xa66>        <== NOT EXECUTED
   45cec:	226e ffec      	moveal %fp@(-20),%a1                        <== NOT EXECUTED
 */                                                                   
static int                                                            
rtems_fdisk_erase_flash (const rtems_flashdisk* fd)                   
{                                                                     
  uint32_t device;                                                    
  for (device = 0; device < fd->device_count; device++)               
   45cf0:	4280           	clrl %d0                                    <== NOT EXECUTED
   45cf2:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          <== NOT EXECUTED
          }                                                           
        }                                                             
        break;                                                        
                                                                      
      case RTEMS_FDISK_IOCTL_ERASE_DISK:                              
        errno = rtems_fdisk_erase_disk (&rtems_flashdisks[minor]);    
   45cf8:	2680           	movel %d0,%a3@                              <== NOT EXECUTED
   45cfa:	6000 f65c      	braw 45358 <rtems_fdisk_ioctl+0xec>         <== NOT EXECUTED
            case RTEMS_BLKDEV_REQ_READ:                               
              errno = rtems_fdisk_read (&rtems_flashdisks[minor], r); 
              break;                                                  
                                                                      
            case RTEMS_BLKDEV_REQ_WRITE:                              
              errno = rtems_fdisk_write (&rtems_flashdisks[minor], r);
   45cfe:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   45d04:	246e ffec      	moveal %fp@(-20),%a2                        
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   45d08:	41ed 0028      	lea %a5@(40),%a0                            
   45d0c:	7201           	moveq #1,%d1                                
            case RTEMS_BLKDEV_REQ_READ:                               
              errno = rtems_fdisk_read (&rtems_flashdisks[minor], r); 
              break;                                                  
                                                                      
            case RTEMS_BLKDEV_REQ_WRITE:                              
              errno = rtems_fdisk_write (&rtems_flashdisks[minor], r);
   45d0e:	d5f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a2          
   45d14:	2d40 ffdc      	movel %d0,%fp@(-36)                         
   45d18:	202d 0010      	movel %a5@(16),%d0                          
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   45d1c:	2d48 fff0      	movel %a0,%fp@(-16)                         
   45d20:	2d41 ffe8      	movel %d1,%fp@(-24)                         
   45d24:	2d4d fff4      	movel %a5,%fp@(-12)                         
{                                                                     
  rtems_blkdev_sg_buffer* sg = req->bufs;                             
  uint32_t                buf;                                        
  int                     ret = 0;                                    
                                                                      
  for (buf = 0; (ret == 0) && (buf < req->bufnum); buf++, sg++)       
   45d28:	222e ffe8      	movel %fp@(-24),%d1                         
   45d2c:	5381           	subql #1,%d1                                
   45d2e:	b081           	cmpl %d1,%d0                                
   45d30:	6300 04ea      	blsw 4621c <rtems_fdisk_ioctl+0xfb0>        
  {                                                                   
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
    data = sg->buffer;                                                
   45d34:	206e fff0      	moveal %fp@(-16),%a0                        
  for (buf = 0; (ret == 0) && (buf < req->bufnum); buf++, sg++)       
  {                                                                   
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
   45d38:	2428 fff4      	movel %a0@(-12),%d2                         
   45d3c:	4c6a 2002 0014 	remul %a2@(20),%d2,%d2                      
    data = sg->buffer;                                                
   45d42:	2628 fff8      	movel %a0@(-8),%d3                          
  for (buf = 0; (ret == 0) && (buf < req->bufnum); buf++, sg++)       
  {                                                                   
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
   45d46:	2d42 ffe0      	movel %d2,%fp@(-32)                         
    data = sg->buffer;                                                
    for (b = 0; b < fb; b++, data += fd->block_size)                  
   45d4a:	6700 0364      	beqw 460b0 <rtems_fdisk_ioctl+0xe44>        
   45d4e:	4284           	clrl %d4                                    
    {                                                                 
      ret = rtems_fdisk_write_block (fd, sg->block + b, data);        
   45d50:	206e fff0      	moveal %fp@(-16),%a0                        
   45d54:	2a04           	movel %d4,%d5                               
   45d56:	daa8 fff0      	addl %a0@(-16),%d5                          
  rtems_fdisk_page_desc*   pd;                                        
  uint32_t                 page;                                      
  int                      ret;                                       
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd, "write-block:%d", block);                     
   45d5a:	2f05           	movel %d5,%sp@-                             
   45d5c:	4879 0007 01b1 	pea 701b1 <map.6766+0x5fb>                  
   45d62:	2f0a           	movel %a2,%sp@-                             
   45d64:	4eba e35c      	jsr %pc@(440c2 <rtems_fdisk_info>)          
                                                                      
  /*                                                                  
   * Broken out to allow info messages when testing.                  
   */                                                                 
                                                                      
  if (block >= (fd->block_count - fd->unavail_blocks))                
   45d68:	202a 001c      	movel %a2@(28),%d0                          
   45d6c:	90aa 0020      	subl %a2@(32),%d0                           
   45d70:	4fef 000c      	lea %sp@(12),%sp                            
   45d74:	b085           	cmpl %d5,%d0                                
   45d76:	6300 0208      	blsw 45f80 <rtems_fdisk_ioctl+0xd14>        
  {                                                                   
    rtems_fdisk_error ("write-block: block out of range: %d", block); 
    return EIO;                                                       
  }                                                                   
                                                                      
  bc = &fd->blocks[block];                                            
   45d7a:	2005           	movel %d5,%d0                               
   45d7c:	e788           	lsll #3,%d0                                 
   45d7e:	2a6a 0018      	moveal %a2@(24),%a5                         
   45d82:	dbc0           	addal %d0,%a5                               
                                                                      
  /*                                                                  
   * Does the page exist in flash ?                                   
   */                                                                 
  if (bc->segment)                                                    
   45d84:	2655           	moveal %a5@,%a3                             
   45d86:	4a8b           	tstl %a3                                    
   45d88:	6700 015a      	beqw 45ee4 <rtems_fdisk_ioctl+0xc78>        
  {                                                                   
    sc = bc->segment;                                                 
    pd = &sc->page_descriptors[bc->page];                             
   45d8c:	202d 0004      	movel %a5@(4),%d0                           
   45d90:	2200           	movel %d0,%d1                               
   45d92:	286b 0010      	moveal %a3@(16),%a4                         
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_info (fd, " write:%02d-%03d-%03d: flag used",         
   45d96:	2f00           	movel %d0,%sp@-                             
   45d98:	2f2b 000c      	movel %a3@(12),%sp@-                        
   45d9c:	2f2b 0008      	movel %a3@(8),%sp@-                         
   45da0:	4879 0007 01e4 	pea 701e4 <map.6766+0x62e>                  
   * Does the page exist in flash ?                                   
   */                                                                 
  if (bc->segment)                                                    
  {                                                                   
    sc = bc->segment;                                                 
    pd = &sc->page_descriptors[bc->page];                             
   45da6:	e789           	lsll #3,%d1                                 
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_info (fd, " write:%02d-%03d-%03d: flag used",         
   45da8:	2f0a           	movel %a2,%sp@-                             
   * Does the page exist in flash ?                                   
   */                                                                 
  if (bc->segment)                                                    
  {                                                                   
    sc = bc->segment;                                                 
    pd = &sc->page_descriptors[bc->page];                             
   45daa:	d9c1           	addal %d1,%a4                               
                                                                      
#if RTEMS_FDISK_TRACE                                                 
    rtems_fdisk_info (fd, " write:%02d-%03d-%03d: flag used",         
   45dac:	4eba e314      	jsr %pc@(440c2 <rtems_fdisk_info>)          
#endif                                                                
                                                                      
    /*                                                                
     * The page exists in flash so see if the page has been changed.  
     */                                                               
    if (rtems_fdisk_seg_verify_page (fd, sc->device, sc->segment,     
   45db0:	242b 0008      	movel %a3@(8),%d2                           
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   45db4:	2c02           	movel %d2,%d6                               
   45db6:	2002           	movel %d2,%d0                               
   45db8:	e58e           	lsll #2,%d6                                 
   45dba:	e988           	lsll #4,%d0                                 
   45dbc:	226a 002c      	moveal %a2@(44),%a1                         
   45dc0:	9086           	subl %d6,%d0                                
   45dc2:	d3c0           	addal %d0,%a1                               
#endif                                                                
                                                                      
    /*                                                                
     * The page exists in flash so see if the page has been changed.  
     */                                                               
    if (rtems_fdisk_seg_verify_page (fd, sc->device, sc->segment,     
   45dc4:	222b 000c      	movel %a3@(12),%d1                          
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   45dc8:	2c01           	movel %d1,%d6                               
   45dca:	2001           	movel %d1,%d0                               
                        uint32_t               size)                  
{                                                                     
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  sd  = rtems_fdisk_seg_descriptor (fd, device, segment);             
  ops = fd->devices[device].descriptor->flash_ops;                    
   45dcc:	2069 0008      	moveal %a1@(8),%a0                          
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   45dd0:	2d51 ffe4      	movel %a1@,%fp@(-28)                        
   45dd4:	226e ffe4      	moveal %fp@(-28),%a1                        
   45dd8:	e98e           	lsll #4,%d6                                 
   45dda:	ed88           	lsll #6,%d0                                 
#endif                                                                
                                                                      
    /*                                                                
     * The page exists in flash so see if the page has been changed.  
     */                                                               
    if (rtems_fdisk_seg_verify_page (fd, sc->device, sc->segment,     
   45ddc:	2e2b 0018      	movel %a3@(24),%d7                          
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   45de0:	9086           	subl %d6,%d0                                
#endif                                                                
                                                                      
    /*                                                                
     * The page exists in flash so see if the page has been changed.  
     */                                                               
    if (rtems_fdisk_seg_verify_page (fd, sc->device, sc->segment,     
   45de2:	dead 0004      	addl %a5@(4),%d7                            
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   45de6:	2031 0804      	movel %a1@(00000004,%d0:l),%d0              
                             uint32_t               segment,          
                             uint32_t               page,             
                             const void*            buffer)           
{                                                                     
  return rtems_fdisk_seg_verify (fd, device, segment,                 
                                 page * fd->block_size, buffer, fd->block_size);
   45dea:	226a 0014      	moveal %a2@(20),%a1                         
                        uint32_t               size)                  
{                                                                     
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  sd  = rtems_fdisk_seg_descriptor (fd, device, segment);             
  ops = fd->devices[device].descriptor->flash_ops;                    
   45dee:	2c28 0008      	movel %a0@(8),%d6                           
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   45df2:	2d40 ffe4      	movel %d0,%fp@(-28)                         
                             uint32_t               device,           
                             uint32_t               segment,          
                             uint32_t               page,             
                             const void*            buffer)           
{                                                                     
  return rtems_fdisk_seg_verify (fd, device, segment,                 
   45df6:	2009           	movel %a1,%d0                               
   45df8:	4c00 7800      	mulsl %d0,%d7                               
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  sd  = rtems_fdisk_seg_descriptor (fd, device, segment);             
  ops = fd->devices[device].descriptor->flash_ops;                    
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_printf (fd, "  seg-verify: %02d-%03d: o=%08x s=%d",     
   45dfc:	2f09           	movel %a1,%sp@-                             
   45dfe:	2f07           	movel %d7,%sp@-                             
   45e00:	2f01           	movel %d1,%sp@-                             
   45e02:	2f02           	movel %d2,%sp@-                             
   45e04:	4879 0007 0205 	pea 70205 <map.6766+0x64f>                  
   45e0a:	2d41 ffd8      	movel %d1,%fp@(-40)                         
   45e0e:	2f0a           	movel %a2,%sp@-                             
   45e10:	2d49 ffd4      	movel %a1,%fp@(-44)                         
   45e14:	4eba e336      	jsr %pc@(4414c <rtems_fdisk_printf>)        
                      device, segment, offset, size);                 
#endif                                                                
  return ops->verify (sd, device, segment, offset, buffer, size);     
   45e18:	226e ffd4      	moveal %fp@(-44),%a1                        
   45e1c:	4fef 002c      	lea %sp@(44),%sp                            
   45e20:	2046           	moveal %d6,%a0                              
   45e22:	2f09           	movel %a1,%sp@-                             
   45e24:	222e ffd8      	movel %fp@(-40),%d1                         
   45e28:	2f03           	movel %d3,%sp@-                             
   45e2a:	2f07           	movel %d7,%sp@-                             
   45e2c:	2f01           	movel %d1,%sp@-                             
   45e2e:	2f02           	movel %d2,%sp@-                             
   45e30:	2f2e ffe4      	movel %fp@(-28),%sp@-                       
   45e34:	2028 000c      	movel %a0@(12),%d0                          
   45e38:	2240           	moveal %d0,%a1                              
   45e3a:	4e91           	jsr %a1@                                    
#endif                                                                
                                                                      
    /*                                                                
     * The page exists in flash so see if the page has been changed.  
     */                                                               
    if (rtems_fdisk_seg_verify_page (fd, sc->device, sc->segment,     
   45e3c:	4fef 0018      	lea %sp@(24),%sp                            
   45e40:	4a80           	tstl %d0                                    
   45e42:	6700 0338      	beqw 4617c <rtems_fdisk_ioctl+0xf10>        
     * matches the flash device.                                      
     */                                                               
                                                                      
    rtems_fdisk_page_desc_set_flags (pd, RTEMS_FDISK_PAGE_USED);      
                                                                      
    ret = rtems_fdisk_seg_write_page_desc_flags (fd, sc, bc->page, pd);
   45e46:	2e2d 0004      	movel %a5@(4),%d7                           
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45e4a:	70fd           	moveq #-3,%d0                               
rtems_fdisk_seg_write_page_desc_flags (const rtems_flashdisk*       fd,
                                       rtems_fdisk_segment_ctl*     sc,
                                       uint32_t                     page,
                                       const rtems_fdisk_page_desc* page_desc)
{                                                                     
  uint32_t offset = ((page * sizeof (rtems_fdisk_page_desc)) +        
   45e4c:	2c07           	movel %d7,%d6                               
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45e4e:	322c 0002      	movew %a4@(2),%d1                           
rtems_fdisk_seg_write_page_desc_flags (const rtems_flashdisk*       fd,
                                       rtems_fdisk_segment_ctl*     sc,
                                       uint32_t                     page,
                                       const rtems_fdisk_page_desc* page_desc)
{                                                                     
  uint32_t offset = ((page * sizeof (rtems_fdisk_page_desc)) +        
   45e52:	e78e           	lsll #3,%d6                                 
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45e54:	c280           	andl %d0,%d1                                
                                       uint32_t                     page,
                                       const rtems_fdisk_page_desc* page_desc)
{                                                                     
  uint32_t offset = ((page * sizeof (rtems_fdisk_page_desc)) +        
                     ((uint8_t*) &page_desc->flags) - ((uint8_t*) page_desc));
  if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))             
   45e56:	7008           	moveq #8,%d0                                
                                       rtems_fdisk_segment_ctl*     sc,
                                       uint32_t                     page,
                                       const rtems_fdisk_page_desc* page_desc)
{                                                                     
  uint32_t offset = ((page * sizeof (rtems_fdisk_page_desc)) +        
                     ((uint8_t*) &page_desc->flags) - ((uint8_t*) page_desc));
   45e58:	5486           	addql #2,%d6                                
  if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))             
   45e5a:	c0aa 0008      	andl %a2@(8),%d0                            
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45e5e:	3941 0002      	movew %d1,%a4@(2)                           
                                       uint32_t                     page,
                                       const rtems_fdisk_page_desc* page_desc)
{                                                                     
  uint32_t offset = ((page * sizeof (rtems_fdisk_page_desc)) +        
                     ((uint8_t*) &page_desc->flags) - ((uint8_t*) page_desc));
  if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))             
   45e62:	4a80           	tstl %d0                                    
   45e64:	6700 02cc      	beqw 46132 <rtems_fdisk_ioctl+0xec6>        
  {                                                                   
    uint16_t flash_flags;                                             
    int      ret;                                                     
    ret = rtems_fdisk_seg_read (fd, sc, offset,                       
   45e68:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   45e6c:	486e fff8      	pea %fp@(-8)                                
   45e70:	2f06           	movel %d6,%sp@-                             
   45e72:	2f2b 000c      	movel %a3@(12),%sp@-                        
   45e76:	2f2b 0008      	movel %a3@(8),%sp@-                         
   45e7a:	2f0a           	movel %a2,%sp@-                             
   45e7c:	4eba e908      	jsr %pc@(44786 <rtems_fdisk_seg_read.isra.14>)
                                &flash_flags, sizeof (flash_flags));  
    if (ret)                                                          
   45e80:	4fef 0018      	lea %sp@(24),%sp                            
                     ((uint8_t*) &page_desc->flags) - ((uint8_t*) page_desc));
  if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))             
  {                                                                   
    uint16_t flash_flags;                                             
    int      ret;                                                     
    ret = rtems_fdisk_seg_read (fd, sc, offset,                       
   45e84:	2400           	movel %d0,%d2                               
                                &flash_flags, sizeof (flash_flags));  
    if (ret)                                                          
   45e86:	6600 02c2      	bnew 4614a <rtems_fdisk_ioctl+0xede>        
      return ret;                                                     
    if ((flash_flags & page_desc->flags) != page_desc->flags)         
   45e8a:	4282           	clrl %d2                                    
   45e8c:	342c 0002      	movew %a4@(2),%d2                           
   45e90:	302e fff8      	movew %fp@(-8),%d0                          
   45e94:	2202           	movel %d2,%d1                               
   45e96:	c480           	andl %d0,%d2                                
   45e98:	0282 0000 ffff 	andil #65535,%d2                            
   45e9e:	b481           	cmpl %d1,%d2                                
   45ea0:	6700 0290      	beqw 46132 <rtems_fdisk_ioctl+0xec6>        
    {                                                                 
      rtems_fdisk_error ("  seg-write-page-flags: %02d-%03d-%03d: "   
   45ea4:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   45ea6:	3f00           	movew %d0,%sp@-                             <== NOT EXECUTED
   45ea8:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   45eaa:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   45eac:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   45eb0:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   45eb4:	4879 0007 0258 	pea 70258 <map.6766+0x6a2>                  <== NOT EXECUTED
   45eba:	4eba e42a      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   45ebe:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                        strerror (ret), ret);                         
#endif                                                                
    }                                                                 
    else                                                              
    {                                                                 
      sc->pages_active--;                                             
   45ec2:	53ab 001c      	subql #1,%a3@(28)                           
      sc->pages_used++;                                               
   45ec6:	52ab 0020      	addql #1,%a3@(32)                           
    /*                                                                
     * If possible reuse this segment. This will mean the segment     
     * needs to be removed from the available list and placed         
     * back if space is still available.                              
     */                                                               
    rtems_fdisk_queue_segment (fd, sc);                               
   45eca:	2f0b           	movel %a3,%sp@-                             
   45ecc:	2f0a           	movel %a2,%sp@-                             
   45ece:	4eba e612      	jsr %pc@(444e2 <rtems_fdisk_queue_segment>) 
    /*                                                                
     * If no background compacting then compact in the forground.     
     * If we compact we ignore the error as there is little we        
     * can do from here. The write may will work.                     
     */                                                               
    if ((fd->flags & RTEMS_FDISK_BACKGROUND_COMPACT) == 0)            
   45ed2:	508f           	addql #8,%sp                                
   45ed4:	7002           	moveq #2,%d0                                
   45ed6:	c0aa 0008      	andl %a2@(8),%d0                            
   45eda:	6608           	bnes 45ee4 <rtems_fdisk_ioctl+0xc78>        <== NEVER TAKEN
      rtems_fdisk_compact (fd);                                       
   45edc:	2f0a           	movel %a2,%sp@-                             
   45ede:	4eba ee1a      	jsr %pc@(44cfa <rtems_fdisk_compact>)       
   45ee2:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   45ee4:	286a 0034      	moveal %a2@(52),%a4                         
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45ee8:	4a8c           	tstl %a4                                    
   45eea:	6700 0216      	beqw 46102 <rtems_fdisk_ioctl+0xe96>        
   45eee:	204c           	moveal %a4,%a0                              
   45ef0:	4280           	clrl %d0                                    
  {                                                                   
    count++;                                                          
    sc = sc->next;                                                    
   45ef2:	2050           	moveal %a0@,%a0                             
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
  {                                                                   
    count++;                                                          
   45ef4:	5280           	addql #1,%d0                                
rtems_fdisk_segment_count_queue (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc = queue->head;                          
  uint32_t                 count = 0;                                 
                                                                      
  while (sc)                                                          
   45ef6:	4a88           	tstl %a0                                    
   45ef8:	66f8           	bnes 45ef2 <rtems_fdisk_ioctl+0xc86>        
  /*                                                                  
   * Is it time to compact the disk ?                                 
   *                                                                  
   * We override the background compaction configruation.             
   */                                                                 
  if (rtems_fdisk_segment_count_queue (&fd->available) <=             
   45efa:	b0aa 0010      	cmpl %a2@(16),%d0                           
   45efe:	6300 0202      	blsw 46102 <rtems_fdisk_ioctl+0xe96>        
{                                                                     
  if (queue->head)                                                    
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
   45f02:	2014           	movel %a4@,%d0                              
   45f04:	2540 0034      	movel %d0,%a2@(52)                          
    if (!queue->head)                                                 
   45f08:	6700 01e2      	beqw 460ec <rtems_fdisk_ioctl+0xe80>        
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   45f0c:	53aa 003c      	subql #1,%a2@(60)                           
      return ENOSPC;                                                  
    }                                                                 
  }                                                                   
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  if (fd->info_level >= 3)                                            
   45f10:	7202           	moveq #2,%d1                                
    if (!queue->head)                                                 
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
                                                                      
    sc->next = 0;                                                     
   45f12:	4294           	clrl %a4@                                   
      return ENOSPC;                                                  
    }                                                                 
  }                                                                   
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  if (fd->info_level >= 3)                                            
   45f14:	b2aa 006c      	cmpl %a2@(108),%d1                          
   45f18:	6500 01a4      	bcsw 460be <rtems_fdisk_ioctl+0xe52>        
                                                                      
  /*                                                                  
   * Find the next avaliable page in the segment.                     
   */                                                                 
                                                                      
  pd = sc->page_descriptors;                                          
   45f1c:	266c 0010      	moveal %a4@(16),%a3                         
                                                                      
  for (page = 0; page < sc->pages; page++, pd++)                      
   45f20:	222c 0014      	movel %a4@(20),%d1                          
   45f24:	6710           	beqs 45f36 <rtems_fdisk_ioctl+0xcca>        <== NEVER TAKEN
   45f26:	4282           	clrl %d2                                    
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   45f28:	7cff           	moveq #-1,%d6                               
   45f2a:	bc93           	cmpl %a3@,%d6                               
   45f2c:	6766           	beqs 45f94 <rtems_fdisk_ioctl+0xd28>        
   * Find the next avaliable page in the segment.                     
   */                                                                 
                                                                      
  pd = sc->page_descriptors;                                          
                                                                      
  for (page = 0; page < sc->pages; page++, pd++)                      
   45f2e:	5282           	addql #1,%d2                                
   45f30:	508b           	addql #8,%a3                                
   45f32:	b282           	cmpl %d2,%d1                                
   45f34:	66f2           	bnes 45f28 <rtems_fdisk_ioctl+0xcbc>        <== ALWAYS TAKEN
                                                                      
      return ret;                                                     
    }                                                                 
  }                                                                   
                                                                      
  rtems_fdisk_error ("write-block: no erased page descs in segment: %d-%d",
   45f36:	2f2c 000c      	movel %a4@(12),%sp@-                        <== NOT EXECUTED
   45f3a:	2f2c 0008      	movel %a4@(8),%sp@-                         <== NOT EXECUTED
   45f3e:	4879 0007 03c6 	pea 703c6 <map.6766+0x810>                  <== NOT EXECUTED
   45f44:	2a6e fff4      	moveal %fp@(-12),%a5                        <== NOT EXECUTED
   45f48:	4eba e39c      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
                     sc->device, sc->segment);                        
                                                                      
  sc->failed = true;                                                  
   45f4c:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   45f4e:	2940 0028      	movel %d0,%a4@(40)                          <== NOT EXECUTED
  rtems_fdisk_queue_segment (fd, sc);                                 
   45f52:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   45f54:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   45f56:	4eba e58a      	jsr %pc@(444e2 <rtems_fdisk_queue_segment>) <== NOT EXECUTED
   45f5a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
      if (ret)                                                        
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  rtems_blkdev_request_done (req, ret ? RTEMS_IO_ERROR : RTEMS_SUCCESSFUL);
   45f5e:	701b           	moveq #27,%d0                               <== NOT EXECUTED
   45f60:	2f00           	movel %d0,%sp@-                             
   45f62:	206d 0004      	moveal %a5@(4),%a0                          
   45f66:	2f0d           	movel %a5,%sp@-                             
   45f68:	4e90           	jsr %a0@                                    
   45f6a:	226e ffec      	moveal %fp@(-20),%a1                        
   45f6e:	d3f9 0008 4f98 	addal 84f98 <rtems_flashdisks>,%a1          
              errno = rtems_fdisk_read (&rtems_flashdisks[minor], r); 
              break;                                                  
                                                                      
            case RTEMS_BLKDEV_REQ_WRITE:                              
              errno = rtems_fdisk_write (&rtems_flashdisks[minor], r);
              break;                                                  
   45f74:	508f           	addql #8,%sp                                
            case RTEMS_BLKDEV_REQ_READ:                               
              errno = rtems_fdisk_read (&rtems_flashdisks[minor], r); 
              break;                                                  
                                                                      
            case RTEMS_BLKDEV_REQ_WRITE:                              
              errno = rtems_fdisk_write (&rtems_flashdisks[minor], r);
   45f76:	206e ffdc      	moveal %fp@(-36),%a0                        
   45f7a:	4290           	clrl %a0@                                   
              break;                                                  
   45f7c:	6000 f3da      	braw 45358 <rtems_fdisk_ioctl+0xec>         
   * Broken out to allow info messages when testing.                  
   */                                                                 
                                                                      
  if (block >= (fd->block_count - fd->unavail_blocks))                
  {                                                                   
    rtems_fdisk_error ("write-block: block out of range: %d", block); 
   45f80:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   45f82:	4879 0007 01c0 	pea 701c0 <map.6766+0x60a>                  <== NOT EXECUTED
   45f88:	2a6e fff4      	moveal %fp@(-12),%a5                        <== NOT EXECUTED
   45f8c:	4eba e358      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   45f90:	508f           	addql #8,%sp                                <== NOT EXECUTED
   45f92:	60ca           	bras 45f5e <rtems_fdisk_ioctl+0xcf2>        <== NOT EXECUTED
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   45f94:	bcab 0004      	cmpl %a3@(4),%d6                            
   45f98:	6694           	bnes 45f2e <rtems_fdisk_ioctl+0xcc2>        <== NEVER TAKEN
                                                                      
  for (page = 0; page < sc->pages; page++, pd++)                      
  {                                                                   
    if (rtems_fdisk_page_desc_erased (pd))                            
    {                                                                 
      pd->crc   = rtems_fdisk_page_checksum (buffer, fd->block_size); 
   45f9a:	226a 0014      	moveal %a2@(20),%a1                         
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
  uint32_t i;                                                         
                                                                      
  for (i = 0; i < page_size; i++, buffer++)                           
   45f9e:	4a89           	tstl %a1                                    
   45fa0:	6700 028e      	beqw 46230 <rtems_fdisk_ioctl+0xfc4>        
   45fa4:	2c39 0008 4fa0 	movel 84fa0 <rtems_fdisk_crc16_factor>,%d6  
 * @param req IOCTL request code.                                     
 * @param argp IOCTL argument.                                        
 * @retval The IOCTL return value                                     
 */                                                                   
static int                                                            
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)   
   45faa:	43f1 3800      	lea %a1@(00000000,%d3:l),%a1                
   45fae:	2043           	moveal %d3,%a0                              
 * Calculate the checksum of a page in a segment.                     
 */                                                                   
static uint16_t                                                       
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
   45fb0:	70ff           	moveq #-1,%d0                               
   45fb2:	2d4a ffe4      	movel %a2,%fp@(-28)                         
  uint32_t i;                                                         
                                                                      
  for (i = 0; i < page_size; i++, buffer++)                           
    cs = rtems_fdisk_calc_crc16 (cs, *buffer);                        
   45fb6:	4287           	clrl %d7                                    
   45fb8:	1e18           	moveb %a0@+,%d7                             
   45fba:	2446           	moveal %d6,%a2                              
   45fbc:	0280 0000 00ff 	andil #255,%d0                              
   45fc2:	bf80           	eorl %d7,%d0                                
   45fc4:	3032 0a00      	movew %a2@(00000000,%d0:l:2),%d0            
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
  uint32_t i;                                                         
                                                                      
  for (i = 0; i < page_size; i++, buffer++)                           
   45fc8:	b3c8           	cmpal %a0,%a1                               
   45fca:	66ea           	bnes 45fb6 <rtems_fdisk_ioctl+0xd4a>        
   45fcc:	4286           	clrl %d6                                    
   45fce:	3c00           	movew %d0,%d6                               
   45fd0:	246e ffe4      	moveal %fp@(-28),%a2                        
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45fd4:	7efe           	moveq #-2,%d7                               
                                                                      
  for (page = 0; page < sc->pages; page++, pd++)                      
  {                                                                   
    if (rtems_fdisk_page_desc_erased (pd))                            
    {                                                                 
      pd->crc   = rtems_fdisk_page_checksum (buffer, fd->block_size); 
   45fd6:	3680           	movew %d0,%a3@                              
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45fd8:	302b 0002      	movew %a3@(2),%d0                           
  for (page = 0; page < sc->pages; page++, pd++)                      
  {                                                                   
    if (rtems_fdisk_page_desc_erased (pd))                            
    {                                                                 
      pd->crc   = rtems_fdisk_page_checksum (buffer, fd->block_size); 
      pd->block = block;                                              
   45fdc:	2745 0004      	movel %d5,%a3@(4)                           
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45fe0:	c087           	andl %d7,%d0                                
    if (rtems_fdisk_page_desc_erased (pd))                            
    {                                                                 
      pd->crc   = rtems_fdisk_page_checksum (buffer, fd->block_size); 
      pd->block = block;                                              
                                                                      
      bc->segment = sc;                                               
   45fe2:	2a8c           	movel %a4,%a5@                              
      bc->page    = page;                                             
                                                                      
      rtems_fdisk_page_desc_set_flags (pd, RTEMS_FDISK_PAGE_ACTIVE);  
                                                                      
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, " write:%d=>%02d-%03d-%03d: write: " \    
   45fe4:	2e00           	movel %d0,%d7                               
    {                                                                 
      pd->crc   = rtems_fdisk_page_checksum (buffer, fd->block_size); 
      pd->block = block;                                              
                                                                      
      bc->segment = sc;                                               
      bc->page    = page;                                             
   45fe6:	2b42 0004      	movel %d2,%a5@(4)                           
                                                                      
      rtems_fdisk_page_desc_set_flags (pd, RTEMS_FDISK_PAGE_ACTIVE);  
                                                                      
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, " write:%d=>%02d-%03d-%03d: write: " \    
   45fea:	0287 0000 fffe 	andil #65534,%d7                            
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45ff0:	3740 0002      	movew %d0,%a3@(2)                           
      bc->page    = page;                                             
                                                                      
      rtems_fdisk_page_desc_set_flags (pd, RTEMS_FDISK_PAGE_ACTIVE);  
                                                                      
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, " write:%d=>%02d-%03d-%03d: write: " \    
   45ff4:	4a94           	tstl %a4@                                   
   45ff6:	6700 022e      	beqw 46226 <rtems_fdisk_ioctl+0xfba>        
   45ffa:	203c 0007 1e92 	movel #466578,%d0                           <== NOT EXECUTED
   46000:	2f05           	movel %d5,%sp@-                             
   46002:	2f06           	movel %d6,%sp@-                             
   46004:	2f07           	movel %d7,%sp@-                             
   46006:	2f00           	movel %d0,%sp@-                             
   46008:	2f2c 0024      	movel %a4@(36),%sp@-                        
   4600c:	2f2c 0020      	movel %a4@(32),%sp@-                        
   46010:	2f2c 001c      	movel %a4@(28),%sp@-                        
   46014:	2f01           	movel %d1,%sp@-                             
   46016:	2f02           	movel %d2,%sp@-                             
   46018:	2f2c 000c      	movel %a4@(12),%sp@-                        
   4601c:	2f2c 0008      	movel %a4@(8),%sp@-                         
   46020:	2f05           	movel %d5,%sp@-                             
   46022:	4879 0007 0304 	pea 70304 <map.6766+0x74e>                  
   46028:	2f0a           	movel %a2,%sp@-                             
   4602a:	4eba e096      	jsr %pc@(440c2 <rtems_fdisk_info>)          
                                                                      
      /*                                                              
       * We use the segment page offset not the page number used in the
       * driver. This skips the page descriptors.                     
       */                                                             
      ret = rtems_fdisk_seg_write_page (fd, sc, page + sc->pages_desc, buffer);
   4602e:	4fef 0034      	lea %sp@(52),%sp                            
   46032:	2042           	moveal %d2,%a0                              
   46034:	2e83           	movel %d3,%sp@                              
   46036:	d1ec 0018      	addal %a4@(24),%a0                          
   4603a:	2f08           	movel %a0,%sp@-                             
   4603c:	2f0c           	movel %a4,%sp@-                             
   4603e:	2f0a           	movel %a2,%sp@-                             
   46040:	4eba e846      	jsr %pc@(44888 <rtems_fdisk_seg_write_page>)
      if (ret)                                                        
   46044:	4fef 0010      	lea %sp@(16),%sp                            
                                                                      
      /*                                                              
       * We use the segment page offset not the page number used in the
       * driver. This skips the page descriptors.                     
       */                                                             
      ret = rtems_fdisk_seg_write_page (fd, sc, page + sc->pages_desc, buffer);
   46048:	2a00           	movel %d0,%d5                               
      if (ret)                                                        
   4604a:	6700 0160      	beqw 461ac <rtems_fdisk_ioctl+0xf40>        
      {                                                               
#if RTEMS_FDISK_TRACE                                                 
        rtems_fdisk_info (fd, "write-block:%02d-%03d-%03d: write page failed: " \
   4604e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   46050:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   46056:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   46058:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4605a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4605c:	2f2c 000c      	movel %a4@(12),%sp@-                        <== NOT EXECUTED
   46060:	2f2c 0008      	movel %a4@(8),%sp@-                         <== NOT EXECUTED
   46064:	4879 0007 0353 	pea 70353 <map.6766+0x79d>                  <== NOT EXECUTED
   4606a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4606c:	4eba e054      	jsr %pc@(440c2 <rtems_fdisk_info>)          <== NOT EXECUTED
   46070:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
        {                                                             
          sc->pages_active++;                                         
        }                                                             
      }                                                               
                                                                      
      rtems_fdisk_queue_segment (fd, sc);                             
   46074:	2f0c           	movel %a4,%sp@-                             
   46076:	2f0a           	movel %a2,%sp@-                             
   46078:	4eba e468      	jsr %pc@(444e2 <rtems_fdisk_queue_segment>) 
static bool                                                           
rtems_fdisk_is_erased_blocks_starvation (rtems_flashdisk* fd)         
{                                                                     
  bool starvation = fd->erased_blocks < fd->starvation_threshold;     
                                                                      
  if (starvation)                                                     
   4607c:	226a 0024      	moveal %a2@(36),%a1                         
   46080:	508f           	addql #8,%sp                                
   46082:	b3ea 0028      	cmpal %a2@(40),%a1                          
   46086:	630c           	blss 46094 <rtems_fdisk_ioctl+0xe28>        <== ALWAYS TAKEN
    fd->starvations++;                                                
   46088:	52aa 0070      	addql #1,%a2@(112)                          <== NOT EXECUTED
      }                                                               
                                                                      
      rtems_fdisk_queue_segment (fd, sc);                             
                                                                      
      if (rtems_fdisk_is_erased_blocks_starvation (fd))               
        rtems_fdisk_compact (fd);                                     
   4608c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4608e:	4eba ec6a      	jsr %pc@(44cfa <rtems_fdisk_compact>)       <== NOT EXECUTED
   46092:	588f           	addql #4,%sp                                <== NOT EXECUTED
    fb = sg->length / fd->block_size;                                 
    data = sg->buffer;                                                
    for (b = 0; b < fb; b++, data += fd->block_size)                  
    {                                                                 
      ret = rtems_fdisk_write_block (fd, sg->block + b, data);        
      if (ret)                                                        
   46094:	4a85           	tstl %d5                                    
   46096:	6600 0130      	bnew 461c8 <rtems_fdisk_ioctl+0xf5c>        
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
    data = sg->buffer;                                                
    for (b = 0; b < fb; b++, data += fd->block_size)                  
   4609a:	5284           	addql #1,%d4                                
   4609c:	d6aa 0014      	addl %a2@(20),%d3                           
   460a0:	b8ae ffe0      	cmpl %fp@(-32),%d4                          
   460a4:	6600 fcaa      	bnew 45d50 <rtems_fdisk_ioctl+0xae4>        
   460a8:	206e fff4      	moveal %fp@(-12),%a0                        
   460ac:	2028 0010      	movel %a0@(16),%d0                          
   460b0:	7210           	moveq #16,%d1                               
   460b2:	d3ae fff0      	addl %d1,%fp@(-16)                          
   460b6:	52ae ffe8      	addql #1,%fp@(-24)                          
   460ba:	6000 fc6c      	braw 45d28 <rtems_fdisk_ioctl+0xabc>        
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  if (fd->info_level >= 3)                                            
  {                                                                   
    char queues[5];                                                   
    rtems_fdisk_queue_status (fd, sc, queues);                        
   460be:	486e fffb      	pea %fp@(-5)                                <== NOT EXECUTED
   460c2:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   460c4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   460c6:	4eba df3a      	jsr %pc@(44002 <rtems_fdisk_queue_status>)  <== NOT EXECUTED
    rtems_fdisk_info (fd, " write:%d=>%02d-%03d: queue check: %s",    
   460ca:	486e fffb      	pea %fp@(-5)                                <== NOT EXECUTED
   460ce:	2f2c 000c      	movel %a4@(12),%sp@-                        <== NOT EXECUTED
   460d2:	2f2c 0008      	movel %a4@(8),%sp@-                         <== NOT EXECUTED
   460d6:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   460d8:	4879 0007 02de 	pea 702de <map.6766+0x728>                  <== NOT EXECUTED
   460de:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   460e0:	4eba dfe0      	jsr %pc@(440c2 <rtems_fdisk_info>)          <== NOT EXECUTED
   460e4:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   460e8:	6000 fe32      	braw 45f1c <rtems_fdisk_ioctl+0xcb0>        <== NOT EXECUTED
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
                                                                      
    queue->count--;                                                   
   460ec:	53aa 003c      	subql #1,%a2@(60)                           <== NOT EXECUTED
      return ENOSPC;                                                  
    }                                                                 
  }                                                                   
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  if (fd->info_level >= 3)                                            
   460f0:	7202           	moveq #2,%d1                                <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
    if (!queue->head)                                                 
      queue->tail = 0;                                                
   460f2:	42aa 0038      	clrl %a2@(56)                               <== NOT EXECUTED
                                                                      
    queue->count--;                                                   
                                                                      
    sc->next = 0;                                                     
   460f6:	4294           	clrl %a4@                                   <== NOT EXECUTED
      return ENOSPC;                                                  
    }                                                                 
  }                                                                   
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  if (fd->info_level >= 3)                                            
   460f8:	b2aa 006c      	cmpl %a2@(108),%d1                          <== NOT EXECUTED
   460fc:	6400 fe1e      	bccw 45f1c <rtems_fdisk_ioctl+0xcb0>        <== NOT EXECUTED
   46100:	60bc           	bras 460be <rtems_fdisk_ioctl+0xe52>        <== NOT EXECUTED
   *                                                                  
   * We override the background compaction configruation.             
   */                                                                 
  if (rtems_fdisk_segment_count_queue (&fd->available) <=             
      fd->avail_compact_segs)                                         
    rtems_fdisk_compact (fd);                                         
   46102:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   46104:	4eba ebf4      	jsr %pc@(44cfa <rtems_fdisk_compact>)       <== NOT EXECUTED
   46108:	286a 0034      	moveal %a2@(52),%a4                         <== NOT EXECUTED
 * Pop the head of the segment control queue.                         
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_segment_queue_pop_head (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  if (queue->head)                                                    
   4610c:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4610e:	4a8c           	tstl %a4                                    <== NOT EXECUTED
   46110:	6600 fdf0      	bnew 45f02 <rtems_fdisk_ioctl+0xc96>        <== NOT EXECUTED
  {                                                                   
    /*                                                                
     * If compacting is configured for the background do it now       
     * to see if we can get some space back.                          
     */                                                               
    if ((fd->flags & RTEMS_FDISK_BACKGROUND_COMPACT))                 
   46114:	7002           	moveq #2,%d0                                <== NOT EXECUTED
   46116:	c0aa 0008      	andl %a2@(8),%d0                            <== NOT EXECUTED
   4611a:	6600 00b4      	bnew 461d0 <rtems_fdisk_ioctl+0xf64>        <== NOT EXECUTED
     */                                                               
    sc = rtems_fdisk_segment_queue_pop_head (&fd->available);         
                                                                      
    if (!sc)                                                          
    {                                                                 
      rtems_fdisk_error ("write-block: no available pages");          
   4611e:	4879 0007 05c7 	pea 705c7 <map.6766+0xa11>                  <== NOT EXECUTED
   46124:	2a6e fff4      	moveal %fp@(-12),%a5                        <== NOT EXECUTED
   46128:	4eba e1bc      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   4612c:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4612e:	6000 fe2e      	braw 45f5e <rtems_fdisk_ioctl+0xcf2>        <== NOT EXECUTED
                         sc->device, sc->segment, page,               
                         flash_flags, page_desc->flags);              
      return ret;                                                     
    }                                                                 
  }                                                                   
  return rtems_fdisk_seg_write (fd, sc, offset,                       
   46132:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   46136:	486c 0002      	pea %a4@(2)                                 
   4613a:	2f06           	movel %d6,%sp@-                             
   4613c:	2f0b           	movel %a3,%sp@-                             
   4613e:	2f0a           	movel %a2,%sp@-                             
   46140:	4eba e094      	jsr %pc@(441d6 <rtems_fdisk_seg_write>)     
   46144:	4fef 0014      	lea %sp@(20),%sp                            
   46148:	2400           	movel %d0,%d2                               
                                                                      
    rtems_fdisk_page_desc_set_flags (pd, RTEMS_FDISK_PAGE_USED);      
                                                                      
    ret = rtems_fdisk_seg_write_page_desc_flags (fd, sc, bc->page, pd);
                                                                      
    if (ret)                                                          
   4614a:	4a82           	tstl %d2                                    
   4614c:	6700 fd74      	beqw 45ec2 <rtems_fdisk_ioctl+0xc56>        
    {                                                                 
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, " write:%02d-%03d-%03d: "      \          
   46150:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   46152:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   46158:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4615a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4615c:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   46160:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   46164:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   46168:	4879 0007 02a2 	pea 702a2 <map.6766+0x6ec>                  <== NOT EXECUTED
   4616e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   46170:	4eba df50      	jsr %pc@(440c2 <rtems_fdisk_info>)          <== NOT EXECUTED
   46174:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
   46178:	6000 fd50      	braw 45eca <rtems_fdisk_ioctl+0xc5e>        <== NOT EXECUTED
     */                                                               
    if (rtems_fdisk_seg_verify_page (fd, sc->device, sc->segment,     
                                     bc->page + sc->pages_desc, buffer) == 0)
    {                                                                 
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, "write-block:%d=>%02d-%03d-%03d: page verified",
   4617c:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
    data = sg->buffer;                                                
    for (b = 0; b < fb; b++, data += fd->block_size)                  
   46180:	5284           	addql #1,%d4                                <== NOT EXECUTED
     */                                                               
    if (rtems_fdisk_seg_verify_page (fd, sc->device, sc->segment,     
                                     bc->page + sc->pages_desc, buffer) == 0)
    {                                                                 
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, "write-block:%d=>%02d-%03d-%03d: page verified",
   46182:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   46186:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   4618a:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   4618c:	4879 0007 022a 	pea 7022a <map.6766+0x674>                  <== NOT EXECUTED
   46192:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   46194:	4eba df2c      	jsr %pc@(440c2 <rtems_fdisk_info>)          <== NOT EXECUTED
   46198:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
    uint8_t* data;                                                    
    uint32_t fb;                                                      
    uint32_t b;                                                       
    fb = sg->length / fd->block_size;                                 
    data = sg->buffer;                                                
    for (b = 0; b < fb; b++, data += fd->block_size)                  
   4619c:	d6aa 0014      	addl %a2@(20),%d3                           <== NOT EXECUTED
   461a0:	b8ae ffe0      	cmpl %fp@(-32),%d4                          <== NOT EXECUTED
   461a4:	6600 fbaa      	bnew 45d50 <rtems_fdisk_ioctl+0xae4>        <== NOT EXECUTED
   461a8:	6000 fefe      	braw 460a8 <rtems_fdisk_ioctl+0xe3c>        <== NOT EXECUTED
                          strerror (ret), ret);                       
#endif                                                                
      }                                                               
      else                                                            
      {                                                               
        ret = rtems_fdisk_seg_write_page_desc (fd, sc, page, pd);     
   461ac:	2f0b           	movel %a3,%sp@-                             
   461ae:	2f02           	movel %d2,%sp@-                             
   461b0:	2f0c           	movel %a4,%sp@-                             
   461b2:	2f0a           	movel %a2,%sp@-                             
   461b4:	4eba e740      	jsr %pc@(448f6 <rtems_fdisk_seg_write_page_desc>)
        if (ret)                                                      
   461b8:	4fef 0010      	lea %sp@(16),%sp                            
                          strerror (ret), ret);                       
#endif                                                                
      }                                                               
      else                                                            
      {                                                               
        ret = rtems_fdisk_seg_write_page_desc (fd, sc, page, pd);     
   461bc:	2a00           	movel %d0,%d5                               
        if (ret)                                                      
   461be:	6630           	bnes 461f0 <rtems_fdisk_ioctl+0xf84>        <== NEVER TAKEN
                            strerror (ret), ret);                     
#endif                                                                
        }                                                             
        else                                                          
        {                                                             
          sc->pages_active++;                                         
   461c0:	52ac 001c      	addql #1,%a4@(28)                           
   461c4:	6000 feae      	braw 46074 <rtems_fdisk_ioctl+0xe08>        
   461c8:	2a6e fff4      	moveal %fp@(-12),%a5                        <== NOT EXECUTED
   461cc:	6000 fd90      	braw 45f5e <rtems_fdisk_ioctl+0xcf2>        <== NOT EXECUTED
    /*                                                                
     * If compacting is configured for the background do it now       
     * to see if we can get some space back.                          
     */                                                               
    if ((fd->flags & RTEMS_FDISK_BACKGROUND_COMPACT))                 
      rtems_fdisk_compact (fd);                                       
   461d0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   461d2:	4eba eb26      	jsr %pc@(44cfa <rtems_fdisk_compact>)       <== NOT EXECUTED
 * Pop the head of the segment control queue.                         
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_segment_queue_pop_head (rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  if (queue->head)                                                    
   461d6:	286a 0034      	moveal %a2@(52),%a4                         <== NOT EXECUTED
   461da:	588f           	addql #4,%sp                                <== NOT EXECUTED
   461dc:	4a8c           	tstl %a4                                    <== NOT EXECUTED
   461de:	6700 ff3e      	beqw 4611e <rtems_fdisk_ioctl+0xeb2>        <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_segment_ctl* sc = queue->head;                        
                                                                      
    queue->head = sc->next;                                           
   461e2:	2014           	movel %a4@,%d0                              <== NOT EXECUTED
   461e4:	2540 0034      	movel %d0,%a2@(52)                          <== NOT EXECUTED
    if (!queue->head)                                                 
   461e8:	6600 fd22      	bnew 45f0c <rtems_fdisk_ioctl+0xca0>        <== NOT EXECUTED
   461ec:	6000 fefe      	braw 460ec <rtems_fdisk_ioctl+0xe80>        <== NOT EXECUTED
      {                                                               
        ret = rtems_fdisk_seg_write_page_desc (fd, sc, page, pd);     
        if (ret)                                                      
        {                                                             
#if RTEMS_FDISK_TRACE                                                 
          rtems_fdisk_info (fd, "write-block:%02d-%03d-%03d: "  \     
   461f0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   461f2:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   461f8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   461fa:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   461fc:	2f2d 0004      	movel %a5@(4),%sp@-                         <== NOT EXECUTED
   46200:	2f2c 000c      	movel %a4@(12),%sp@-                        <== NOT EXECUTED
   46204:	2f2c 0008      	movel %a4@(8),%sp@-                         <== NOT EXECUTED
   46208:	4879 0007 038a 	pea 7038a <map.6766+0x7d4>                  <== NOT EXECUTED
   4620e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   46210:	4eba deb0      	jsr %pc@(440c2 <rtems_fdisk_info>)          <== NOT EXECUTED
   46214:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
   46218:	6000 fe5a      	braw 46074 <rtems_fdisk_ioctl+0xe08>        <== NOT EXECUTED
   4621c:	2a6e fff4      	moveal %fp@(-12),%a5                        
      if (ret)                                                        
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  rtems_blkdev_request_done (req, ret ? RTEMS_IO_ERROR : RTEMS_SUCCESSFUL);
   46220:	4280           	clrl %d0                                    
   46222:	6000 fd3c      	braw 45f60 <rtems_fdisk_ioctl+0xcf4>        
      bc->page    = page;                                             
                                                                      
      rtems_fdisk_page_desc_set_flags (pd, RTEMS_FDISK_PAGE_ACTIVE);  
                                                                      
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, " write:%d=>%02d-%03d-%03d: write: " \    
   46226:	203c 0006 fc46 	movel #457798,%d0                           
   4622c:	6000 fdd2      	braw 46000 <rtems_fdisk_ioctl+0xd94>        
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
  uint32_t i;                                                         
                                                                      
  for (i = 0; i < page_size; i++, buffer++)                           
   46230:	2c3c 0000 ffff 	movel #65535,%d6                            <== NOT EXECUTED
 * Calculate the checksum of a page in a segment.                     
 */                                                                   
static uint16_t                                                       
rtems_fdisk_page_checksum (const uint8_t* buffer, uint32_t page_size) 
{                                                                     
  uint16_t cs = 0xffff;                                               
   46236:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   46238:	6000 fd9a      	braw 45fd4 <rtems_fdisk_ioctl+0xd68>        <== NOT EXECUTED
                                                                      

0004414c <rtems_fdisk_printf>: */ static int rtems_fdisk_printf (const rtems_flashdisk* fd, const char *format, ...) { int ret = 0; if (fd->info_level >= 3)
   4414c:	7002           	moveq #2,%d0                                
 * @param ... The arguments for the format text.                      
 * @return int The number of bytes written to the output.             
 */                                                                   
static int                                                            
rtems_fdisk_printf (const rtems_flashdisk* fd, const char *format, ...)
{                                                                     
   4414e:	4e56 0000      	linkw %fp,#0                                
   44152:	206e 0008      	moveal %fp@(8),%a0                          
   44156:	2f02           	movel %d2,%sp@-                             
  int ret = 0;                                                        
  if (fd->info_level >= 3)                                            
   44158:	b0a8 006c      	cmpl %a0@(108),%d0                          
   4415c:	650c           	bcss 4416a <rtems_fdisk_printf+0x1e>        <== NEVER TAKEN
 * @return int The number of bytes written to the output.             
 */                                                                   
static int                                                            
rtems_fdisk_printf (const rtems_flashdisk* fd, const char *format, ...)
{                                                                     
  int ret = 0;                                                        
   4415e:	4282           	clrl %d2                                    
    fprintf (stdout, "\n");                                           
    fflush (stdout);                                                  
    va_end (args);                                                    
  }                                                                   
  return ret;                                                         
}                                                                     
   44160:	2002           	movel %d2,%d0                               
   44162:	242e fffc      	movel %fp@(-4),%d2                          
   44166:	4e5e           	unlk %fp                                    
   44168:	4e75           	rts                                         
  int ret = 0;                                                        
  if (fd->info_level >= 3)                                            
  {                                                                   
    va_list args;                                                     
    va_start (args, format);                                          
    fprintf (stdout, "fdisk:");                                       
   4416a:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   44170:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   44174:	4878 0006      	pea 6 <EXTENDSFDF>                          <== NOT EXECUTED
   44178:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   4417c:	4879 0006 fbc7 	pea 6fbc7 <map.6766+0x11>                   <== NOT EXECUTED
   44182:	4eb9 0006 123e 	jsr 6123e <fwrite>                          <== NOT EXECUTED
    ret =  vfprintf (stdout, format, args);                           
   44188:	486e 0010      	pea %fp@(16)                                <== NOT EXECUTED
   4418c:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   44192:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   44196:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   4419a:	4eb9 0006 86e0 	jsr 686e0 <vfprintf>                        <== NOT EXECUTED
    fprintf (stdout, "\n");                                           
   441a0:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
  if (fd->info_level >= 3)                                            
  {                                                                   
    va_list args;                                                     
    va_start (args, format);                                          
    fprintf (stdout, "fdisk:");                                       
    ret =  vfprintf (stdout, format, args);                           
   441a6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    fprintf (stdout, "\n");                                           
   441a8:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   441ac:	4878 000a      	pea a <LASTO>                               <== NOT EXECUTED
   441b0:	4eb9 0006 0bc0 	jsr 60bc0 <fputc>                           <== NOT EXECUTED
    fflush (stdout);                                                  
   441b6:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   441bc:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   441c0:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   441c4:	4eb9 0006 0792 	jsr 60792 <fflush>                          <== NOT EXECUTED
    va_end (args);                                                    
   441ca:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
  return ret;                                                         
}                                                                     
   441cc:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   441ce:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   441d2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000444e2 <rtems_fdisk_queue_segment>: * @param fd The flash disk control table. * @param sc The segment control table to be reallocated */ static void rtems_fdisk_queue_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc) {
   444e2:	4e56 ffec      	linkw %fp,#-20                              
   444e6:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 
   444ea:	266e 0008      	moveal %fp@(8),%a3                          
   444ee:	246e 000c      	moveal %fp@(12),%a2                         
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd, " queue-seg:%02d-%03d: p=%d a=%d u=%d b=%d f=%s n=%s",
   444f2:	4a92           	tstl %a2@                                   
   444f4:	6700 0140      	beqw 44636 <rtems_fdisk_queue_segment+0x154>
   444f8:	223c 0007 1e92 	movel #466578,%d1                           
   444fe:	4aaa 0028      	tstl %a2@(40)                               
   44502:	6766           	beqs 4456a <rtems_fdisk_queue_segment+0x88> <== ALWAYS TAKEN
   44504:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   44506:	203c 0006 fc4b 	movel #457803,%d0                           <== NOT EXECUTED
   4450c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4450e:	2f2a 0024      	movel %a2@(36),%sp@-                        <== NOT EXECUTED
   44512:	2f2a 0020      	movel %a2@(32),%sp@-                        <== NOT EXECUTED
   44516:	2f2a 001c      	movel %a2@(28),%sp@-                        <== NOT EXECUTED
   4451a:	2f2a 0014      	movel %a2@(20),%sp@-                        <== NOT EXECUTED
   4451e:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   44522:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   44526:	4879 0006 fc52 	pea 6fc52 <map.6766+0x9c>                   <== NOT EXECUTED
   4452c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   4452e:	4eba fb92      	jsr %pc@(440c2 <rtems_fdisk_info>)          <== NOT EXECUTED
                                                                      
  /*                                                                  
   * If the segment has failed then check the failed queue and append 
   * if not failed.                                                   
   */                                                                 
  if (sc->failed)                                                     
   44532:	4fef 0028      	lea %sp@(40),%sp                            <== NOT EXECUTED
   44536:	4aaa 0028      	tstl %a2@(40)                               <== NOT EXECUTED
   4453a:	6766           	beqs 445a2 <rtems_fdisk_queue_segment+0xc0> <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4453c:	206b 0058      	moveal %a3@(88),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   44540:	4a88           	tstl %a0                                    <== NOT EXECUTED
   44542:	6700 017a      	beqw 446be <rtems_fdisk_queue_segment+0x1dc><== NOT EXECUTED
  {                                                                   
    if (it == sc)                                                     
   44546:	b1ca           	cmpal %a2,%a0                               <== NOT EXECUTED
   44548:	6716           	beqs 44560 <rtems_fdisk_queue_segment+0x7e> <== NOT EXECUTED
      return true;                                                    
    it = it->next;                                                    
   4454a:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   4454c:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4454e:	66f6           	bnes 44546 <rtems_fdisk_queue_segment+0x64> <== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   44550:	4292           	clrl %a2@                                   <== NOT EXECUTED
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
   44552:	206b 005c      	moveal %a3@(92),%a0                         <== NOT EXECUTED
   44556:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   44558:	52ab 0060      	addql #1,%a3@(96)                           <== NOT EXECUTED
    sc->next = 0;                                                     
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
   4455c:	274a 005c      	movel %a2,%a3@(92)                          <== NOT EXECUTED
    if (seg)                                                          
      rtems_fdisk_segment_queue_insert_before (&fd->available, seg, sc);
    else                                                              
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
   44560:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   44566:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44568:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static void                                                           
rtems_fdisk_queue_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc)
{                                                                     
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd, " queue-seg:%02d-%03d: p=%d a=%d u=%d b=%d f=%s n=%s",
   4456a:	2f01           	movel %d1,%sp@-                             
   4456c:	203c 0007 1dff 	movel #466431,%d0                           
   44572:	2f00           	movel %d0,%sp@-                             
   44574:	2f2a 0024      	movel %a2@(36),%sp@-                        
   44578:	2f2a 0020      	movel %a2@(32),%sp@-                        
   4457c:	2f2a 001c      	movel %a2@(28),%sp@-                        
   44580:	2f2a 0014      	movel %a2@(20),%sp@-                        
   44584:	2f2a 000c      	movel %a2@(12),%sp@-                        
   44588:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4458c:	4879 0006 fc52 	pea 6fc52 <map.6766+0x9c>                   
   44592:	2f0b           	movel %a3,%sp@-                             
   44594:	4eba fb2c      	jsr %pc@(440c2 <rtems_fdisk_info>)          
                                                                      
  /*                                                                  
   * If the segment has failed then check the failed queue and append 
   * if not failed.                                                   
   */                                                                 
  if (sc->failed)                                                     
   44598:	4fef 0028      	lea %sp@(40),%sp                            
   4459c:	4aaa 0028      	tstl %a2@(40)                               
   445a0:	669a           	bnes 4453c <rtems_fdisk_queue_segment+0x5a> <== NEVER TAKEN
  }                                                                   
                                                                      
  /*                                                                  
   * Remove the queue from the available or used queue.               
   */                                                                 
  rtems_fdisk_segment_queue_remove (&fd->available, sc);              
   445a2:	2f0a           	movel %a2,%sp@-                             
   445a4:	240b           	movel %a3,%d2                               
   445a6:	0682 0000 0034 	addil #52,%d2                               
   445ac:	49fa f9f6      	lea %pc@(43fa4 <rtems_fdisk_segment_queue_remove>),%a4
  rtems_fdisk_segment_queue_remove (&fd->used, sc);                   
   445b0:	260b           	movel %a3,%d3                               
   445b2:	0683 0000 0040 	addil #64,%d3                               
  }                                                                   
                                                                      
  /*                                                                  
   * Remove the queue from the available or used queue.               
   */                                                                 
  rtems_fdisk_segment_queue_remove (&fd->available, sc);              
   445b8:	2f02           	movel %d2,%sp@-                             
   445ba:	4e94           	jsr %a4@                                    
  rtems_fdisk_segment_queue_remove (&fd->used, sc);                   
   445bc:	2f0a           	movel %a2,%sp@-                             
   445be:	2f03           	movel %d3,%sp@-                             
   445c0:	4e94           	jsr %a4@                                    
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   445c2:	226a 0020      	moveal %a2@(32),%a1                         
   445c6:	2009           	movel %a1,%d0                               
   * If they are and the driver has been configured to background     
   * erase place the segment on the used queue. If not configured     
   * to background erase perform the erase now.                       
   *                                                                  
   */                                                                 
  if (rtems_fdisk_seg_pages_available (sc) == 0)                      
   445c8:	4fef 0010      	lea %sp@(16),%sp                            
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   445cc:	206a 001c      	moveal %a2@(28),%a0                         
   445d0:	d088           	addl %a0,%d0                                
   445d2:	d0aa 0024      	addl %a2@(36),%d0                           
   445d6:	222a 0014      	movel %a2@(20),%d1                          
   * If they are and the driver has been configured to background     
   * erase place the segment on the used queue. If not configured     
   * to background erase perform the erase now.                       
   *                                                                  
   */                                                                 
  if (rtems_fdisk_seg_pages_available (sc) == 0)                      
   445da:	b081           	cmpl %d1,%d0                                
   445dc:	677c           	beqs 4465a <rtems_fdisk_queue_segment+0x178><== NEVER TAKEN
     * bit is cleared for that segment. When 32 erasers               
     * has occurred the page is re-written to the flash               
     * with all the counters updated with the number of               
     * bits cleared and all bits set back to 1.                       
     */                                                               
    rtems_fdisk_segment_ctl* seg = fd->available.head;                
   445de:	206b 0034      	moveal %a3@(52),%a0                         
                                                                      
    while (seg)                                                       
   445e2:	4a88           	tstl %a0                                    
   445e4:	6700 0104      	beqw 446ea <rtems_fdisk_queue_segment+0x208>
 *                                                                    
 * @param fd The flash disk control table.                            
 * @param sc The segment control table to be reallocated              
 */                                                                   
static void                                                           
rtems_fdisk_queue_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc)
   445e8:	2268 0020      	moveal %a0@(32),%a1                         
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   445ec:	9280           	subl %d0,%d1                                
 *                                                                    
 * @param fd The flash disk control table.                            
 * @param sc The segment control table to be reallocated              
 */                                                                   
static void                                                           
rtems_fdisk_queue_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc)
   445ee:	d3e8 0024      	addal %a0@(36),%a1                          
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   445f2:	2028 0014      	movel %a0@(20),%d0                          
   445f6:	9089           	subl %a1,%d0                                
   445f8:	90a8 001c      	subl %a0@(28),%d0                           
     */                                                               
    rtems_fdisk_segment_ctl* seg = fd->available.head;                
                                                                      
    while (seg)                                                       
    {                                                                 
      if (rtems_fdisk_seg_pages_available (sc) <                      
   445fc:	b081           	cmpl %d1,%d0                                
   445fe:	621e           	bhis 4461e <rtems_fdisk_queue_segment+0x13c>
          rtems_fdisk_seg_pages_available (seg))                      
        break;                                                        
      seg = seg->next;                                                
   44600:	2050           	moveal %a0@,%a0                             
     * with all the counters updated with the number of               
     * bits cleared and all bits set back to 1.                       
     */                                                               
    rtems_fdisk_segment_ctl* seg = fd->available.head;                
                                                                      
    while (seg)                                                       
   44602:	4a88           	tstl %a0                                    
   44604:	673a           	beqs 44640 <rtems_fdisk_queue_segment+0x15e>
 *                                                                    
 * @param fd The flash disk control table.                            
 * @param sc The segment control table to be reallocated              
 */                                                                   
static void                                                           
rtems_fdisk_queue_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc)
   44606:	2028 0024      	movel %a0@(36),%d0                          
   4460a:	d0a8 0020      	addl %a0@(32),%d0                           
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   4460e:	2628 0014      	movel %a0@(20),%d3                          
   44612:	9680           	subl %d0,%d3                                
   44614:	2003           	movel %d3,%d0                               
   44616:	90a8 001c      	subl %a0@(28),%d0                           
     */                                                               
    rtems_fdisk_segment_ctl* seg = fd->available.head;                
                                                                      
    while (seg)                                                       
    {                                                                 
      if (rtems_fdisk_seg_pages_available (sc) <                      
   4461a:	b081           	cmpl %d1,%d0                                
   4461c:	63e2           	blss 44600 <rtems_fdisk_queue_segment+0x11e><== ALWAYS TAKEN
        break;                                                        
      seg = seg->next;                                                
    }                                                                 
                                                                      
    if (seg)                                                          
      rtems_fdisk_segment_queue_insert_before (&fd->available, seg, sc);
   4461e:	2f0a           	movel %a2,%sp@-                             
   44620:	2f08           	movel %a0,%sp@-                             
   44622:	2f02           	movel %d2,%sp@-                             
   44624:	4eba fe56      	jsr %pc@(4447c <rtems_fdisk_segment_queue_insert_before>)
   44628:	4fef 000c      	lea %sp@(12),%sp                            
    else                                                              
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
   4462c:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   44632:	4e5e           	unlk %fp                                    
   44634:	4e75           	rts                                         
 */                                                                   
static void                                                           
rtems_fdisk_queue_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc)
{                                                                     
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_info (fd, " queue-seg:%02d-%03d: p=%d a=%d u=%d b=%d f=%s n=%s",
   44636:	223c 0006 fc46 	movel #457798,%d1                           
   4463c:	6000 fec0      	braw 444fe <rtems_fdisk_queue_segment+0x1c> 
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   44640:	4292           	clrl %a2@                                   
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
   44642:	206b 0038      	moveal %a3@(56),%a0                         
   44646:	208a           	movel %a2,%a0@                              
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   44648:	52ab 003c      	addql #1,%a3@(60)                           
    sc->next = 0;                                                     
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
   4464c:	274a 0038      	movel %a2,%a3@(56)                          
    if (seg)                                                          
      rtems_fdisk_segment_queue_insert_before (&fd->available, seg, sc);
    else                                                              
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
   44650:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   44656:	4e5e           	unlk %fp                                    
   44658:	4e75           	rts                                         
   * to background erase perform the erase now.                       
   *                                                                  
   */                                                                 
  if (rtems_fdisk_seg_pages_available (sc) == 0)                      
  {                                                                   
    if (sc->pages_active)                                             
   4465a:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4465c:	662c           	bnes 4468a <rtems_fdisk_queue_segment+0x1a8><== NOT EXECUTED
      else                                                            
        rtems_fdisk_segment_queue_push_tail (&fd->used, sc);          
    }                                                                 
    else                                                              
    {                                                                 
      if ((fd->flags & RTEMS_FDISK_BACKGROUND_ERASE))                 
   4465e:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   44660:	c0ab 0008      	andl %a3@(8),%d0                            <== NOT EXECUTED
   44664:	6700 0096      	beqw 446fc <rtems_fdisk_queue_segment+0x21a><== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   44668:	4292           	clrl %a2@                                   <== NOT EXECUTED
                                                                      
    if (queue->head)                                                  
   4466a:	4aab 004c      	tstl %a3@(76)                               <== NOT EXECUTED
   4466e:	6700 00a0      	beqw 44710 <rtems_fdisk_queue_segment+0x22e><== NOT EXECUTED
    {                                                                 
      queue->tail->next = sc;                                         
   44672:	206b 0050      	moveal %a3@(80),%a0                         <== NOT EXECUTED
   44676:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   44678:	52ab 0054      	addql #1,%a3@(84)                           <== NOT EXECUTED
    sc->next = 0;                                                     
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
   4467c:	274a 0050      	movel %a2,%a3@(80)                          <== NOT EXECUTED
    if (seg)                                                          
      rtems_fdisk_segment_queue_insert_before (&fd->available, seg, sc);
    else                                                              
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
   44680:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   44686:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44688:	4e75           	rts                                         <== NOT EXECUTED
      /*                                                              
       * Keep the used queue sorted by the most number of used        
       * pages. When we compact we want to move the pages into        
       * a new segment and cover more than one segment.               
       */                                                             
      rtems_fdisk_segment_ctl* seg = fd->used.head;                   
   4468a:	206b 0040      	moveal %a3@(64),%a0                         <== NOT EXECUTED
                                                                      
      while (seg)                                                     
   4468e:	4a88           	tstl %a0                                    <== NOT EXECUTED
   44690:	6700 008e      	beqw 44720 <rtems_fdisk_queue_segment+0x23e><== NOT EXECUTED
      {                                                               
        if (sc->pages_used > seg->pages_used)                         
   44694:	b3e8 0020      	cmpal %a0@(32),%a1                          <== NOT EXECUTED
   44698:	620c           	bhis 446a6 <rtems_fdisk_queue_segment+0x1c4><== NOT EXECUTED
          break;                                                      
        seg = seg->next;                                              
   4469a:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
       * pages. When we compact we want to move the pages into        
       * a new segment and cover more than one segment.               
       */                                                             
      rtems_fdisk_segment_ctl* seg = fd->used.head;                   
                                                                      
      while (seg)                                                     
   4469c:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4469e:	6730           	beqs 446d0 <rtems_fdisk_queue_segment+0x1ee><== NOT EXECUTED
      {                                                               
        if (sc->pages_used > seg->pages_used)                         
   446a0:	b3e8 0020      	cmpal %a0@(32),%a1                          <== NOT EXECUTED
   446a4:	63f4           	blss 4469a <rtems_fdisk_queue_segment+0x1b8><== NOT EXECUTED
          break;                                                      
        seg = seg->next;                                              
      }                                                               
                                                                      
      if (seg)                                                        
        rtems_fdisk_segment_queue_insert_before (&fd->used, seg, sc); 
   446a6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   446a8:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   446aa:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   446ac:	4eba fdce      	jsr %pc@(4447c <rtems_fdisk_segment_queue_insert_before>)<== NOT EXECUTED
   446b0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    if (seg)                                                          
      rtems_fdisk_segment_queue_insert_before (&fd->available, seg, sc);
    else                                                              
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
   446b4:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   446ba:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   446bc:	4e75           	rts                                         <== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   446be:	4292           	clrl %a2@                                   <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   446c0:	52ab 0060      	addql #1,%a3@(96)                           <== NOT EXECUTED
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
    }                                                                 
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
   446c4:	274a 005c      	movel %a2,%a3@(92)                          <== NOT EXECUTED
   446c8:	274a 0058      	movel %a2,%a3@(88)                          <== NOT EXECUTED
   446cc:	6000 fe92      	braw 44560 <rtems_fdisk_queue_segment+0x7e> <== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   446d0:	4292           	clrl %a2@                                   <== NOT EXECUTED
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
   446d2:	206b 0044      	moveal %a3@(68),%a0                         <== NOT EXECUTED
   446d6:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   446d8:	52ab 0048      	addql #1,%a3@(72)                           <== NOT EXECUTED
    sc->next = 0;                                                     
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
   446dc:	274a 0044      	movel %a2,%a3@(68)                          <== NOT EXECUTED
    if (seg)                                                          
      rtems_fdisk_segment_queue_insert_before (&fd->available, seg, sc);
    else                                                              
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
   446e0:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   446e6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   446e8:	4e75           	rts                                         <== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   446ea:	4292           	clrl %a2@                                   
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   446ec:	52ab 003c      	addql #1,%a3@(60)                           
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
    }                                                                 
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
   446f0:	274a 0038      	movel %a2,%a3@(56)                          
   446f4:	274a 0034      	movel %a2,%a3@(52)                          
   446f8:	6000 ff56      	braw 44650 <rtems_fdisk_queue_segment+0x16e>
    else                                                              
    {                                                                 
      if ((fd->flags & RTEMS_FDISK_BACKGROUND_ERASE))                 
        rtems_fdisk_segment_queue_push_tail (&fd->erase, sc);         
      else                                                            
        rtems_fdisk_erase_segment (fd, sc);                           
   446fc:	2d4a 000c      	movel %a2,%fp@(12)                          <== NOT EXECUTED
   44700:	2d4b 0008      	movel %a3,%fp@(8)                           <== NOT EXECUTED
    if (seg)                                                          
      rtems_fdisk_segment_queue_insert_before (&fd->available, seg, sc);
    else                                                              
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
   44704:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   4470a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    else                                                              
    {                                                                 
      if ((fd->flags & RTEMS_FDISK_BACKGROUND_ERASE))                 
        rtems_fdisk_segment_queue_push_tail (&fd->erase, sc);         
      else                                                            
        rtems_fdisk_erase_segment (fd, sc);                           
   4470c:	6000 fc48      	braw 44356 <rtems_fdisk_erase_segment>      <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   44710:	52ab 0054      	addql #1,%a3@(84)                           <== NOT EXECUTED
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
    }                                                                 
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
   44714:	274a 0050      	movel %a2,%a3@(80)                          <== NOT EXECUTED
   44718:	274a 004c      	movel %a2,%a3@(76)                          <== NOT EXECUTED
   4471c:	6000 ff62      	braw 44680 <rtems_fdisk_queue_segment+0x19e><== NOT EXECUTED
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = 0;                                                     
   44720:	4292           	clrl %a2@                                   <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   44722:	52ab 0048      	addql #1,%a3@(72)                           <== NOT EXECUTED
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
    }                                                                 
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
   44726:	274a 0044      	movel %a2,%a3@(68)                          <== NOT EXECUTED
   4472a:	274a 0040      	movel %a2,%a3@(64)                          <== NOT EXECUTED
   4472e:	60b0           	bras 446e0 <rtems_fdisk_queue_segment+0x1fe><== NOT EXECUTED
                                                                      

00044002 <rtems_fdisk_queue_status>: */ static void rtems_fdisk_queue_status (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc, char queues[5]) {
   44002:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   44006:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
   4400a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4400c:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
   44010:	226e 0010      	moveal %fp@(16),%a1                         <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   44014:	206a 0034      	moveal %a2@(52),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   44018:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4401a:	6766           	beqs 44082 <rtems_fdisk_queue_status+0x80>  <== NOT EXECUTED
  {                                                                   
    if (it == sc)                                                     
   4401c:	b088           	cmpl %a0,%d0                                <== NOT EXECUTED
   4401e:	670a           	beqs 4402a <rtems_fdisk_queue_status+0x28>  <== NOT EXECUTED
      return true;                                                    
    it = it->next;                                                    
   44020:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   44022:	4a88           	tstl %a0                                    <== NOT EXECUTED
   44024:	675c           	beqs 44082 <rtems_fdisk_queue_status+0x80>  <== NOT EXECUTED
  {                                                                   
    if (it == sc)                                                     
   44026:	b1c0           	cmpal %d0,%a0                               <== NOT EXECUTED
   44028:	66f6           	bnes 44020 <rtems_fdisk_queue_status+0x1e>  <== NOT EXECUTED
static void                                                           
rtems_fdisk_queue_status (rtems_flashdisk*         fd,                
                          rtems_fdisk_segment_ctl* sc,                
                          char                     queues[5])         
{                                                                     
  queues[0] = rtems_fdisk_segment_queue_present (&fd->available, sc) ? 'A' : '-';
   4402a:	7241           	moveq #65,%d1                               <== NOT EXECUTED
   4402c:	1281           	moveb %d1,%a1@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4402e:	206a 0040      	moveal %a2@(64),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   44032:	4a88           	tstl %a0                                    <== NOT EXECUTED
   44034:	670a           	beqs 44040 <rtems_fdisk_queue_status+0x3e>  <== NOT EXECUTED
  {                                                                   
    if (it == sc)                                                     
   44036:	b1c0           	cmpal %d0,%a0                               <== NOT EXECUTED
   44038:	6778           	beqs 440b2 <rtems_fdisk_queue_status+0xb0>  <== NOT EXECUTED
      return true;                                                    
    it = it->next;                                                    
   4403a:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   4403c:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4403e:	66f6           	bnes 44036 <rtems_fdisk_queue_status+0x34>  <== NOT EXECUTED
rtems_fdisk_queue_status (rtems_flashdisk*         fd,                
                          rtems_fdisk_segment_ctl* sc,                
                          char                     queues[5])         
{                                                                     
  queues[0] = rtems_fdisk_segment_queue_present (&fd->available, sc) ? 'A' : '-';
  queues[1] = rtems_fdisk_segment_queue_present (&fd->used, sc)      ? 'U' : '-';
   44040:	722d           	moveq #45,%d1                               <== NOT EXECUTED
   44042:	1341 0001      	moveb %d1,%a1@(1)                           <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   44046:	206a 004c      	moveal %a2@(76),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   4404a:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4404c:	670a           	beqs 44058 <rtems_fdisk_queue_status+0x56>  <== NOT EXECUTED
  {                                                                   
    if (it == sc)                                                     
   4404e:	b1c0           	cmpal %d0,%a0                               <== NOT EXECUTED
   44050:	6750           	beqs 440a2 <rtems_fdisk_queue_status+0xa0>  <== NOT EXECUTED
      return true;                                                    
    it = it->next;                                                    
   44052:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   44054:	4a88           	tstl %a0                                    <== NOT EXECUTED
   44056:	66f6           	bnes 4404e <rtems_fdisk_queue_status+0x4c>  <== NOT EXECUTED
                          rtems_fdisk_segment_ctl* sc,                
                          char                     queues[5])         
{                                                                     
  queues[0] = rtems_fdisk_segment_queue_present (&fd->available, sc) ? 'A' : '-';
  queues[1] = rtems_fdisk_segment_queue_present (&fd->used, sc)      ? 'U' : '-';
  queues[2] = rtems_fdisk_segment_queue_present (&fd->erase, sc)     ? 'E' : '-';
   44058:	722d           	moveq #45,%d1                               <== NOT EXECUTED
   4405a:	1341 0002      	moveb %d1,%a1@(2)                           <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4405e:	206a 0058      	moveal %a2@(88),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   44062:	4a88           	tstl %a0                                    <== NOT EXECUTED
   44064:	670a           	beqs 44070 <rtems_fdisk_queue_status+0x6e>  <== NOT EXECUTED
  {                                                                   
    if (it == sc)                                                     
   44066:	b1c0           	cmpal %d0,%a0                               <== NOT EXECUTED
   44068:	6726           	beqs 44090 <rtems_fdisk_queue_status+0x8e>  <== NOT EXECUTED
      return true;                                                    
    it = it->next;                                                    
   4406a:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   4406c:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4406e:	66f6           	bnes 44066 <rtems_fdisk_queue_status+0x64>  <== NOT EXECUTED
                          char                     queues[5])         
{                                                                     
  queues[0] = rtems_fdisk_segment_queue_present (&fd->available, sc) ? 'A' : '-';
  queues[1] = rtems_fdisk_segment_queue_present (&fd->used, sc)      ? 'U' : '-';
  queues[2] = rtems_fdisk_segment_queue_present (&fd->erase, sc)     ? 'E' : '-';
  queues[3] = rtems_fdisk_segment_queue_present (&fd->failed, sc)    ? 'F' : '-';
   44070:	702d           	moveq #45,%d0                               <== NOT EXECUTED
   44072:	1340 0003      	moveb %d0,%a1@(3)                           <== NOT EXECUTED
  queues[4] = '\0';                                                   
   44076:	4200           	clrb %d0                                    <== NOT EXECUTED
   44078:	1340 0004      	moveb %d0,%a1@(4)                           <== NOT EXECUTED
}                                                                     
   4407c:	245f           	moveal %sp@+,%a2                            <== NOT EXECUTED
   4407e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44080:	4e75           	rts                                         <== NOT EXECUTED
static void                                                           
rtems_fdisk_queue_status (rtems_flashdisk*         fd,                
                          rtems_fdisk_segment_ctl* sc,                
                          char                     queues[5])         
{                                                                     
  queues[0] = rtems_fdisk_segment_queue_present (&fd->available, sc) ? 'A' : '-';
   44082:	722d           	moveq #45,%d1                               <== NOT EXECUTED
   44084:	1281           	moveb %d1,%a1@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   44086:	206a 0040      	moveal %a2@(64),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   4408a:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4408c:	66a8           	bnes 44036 <rtems_fdisk_queue_status+0x34>  <== NOT EXECUTED
   4408e:	60b0           	bras 44040 <rtems_fdisk_queue_status+0x3e>  <== NOT EXECUTED
                          char                     queues[5])         
{                                                                     
  queues[0] = rtems_fdisk_segment_queue_present (&fd->available, sc) ? 'A' : '-';
  queues[1] = rtems_fdisk_segment_queue_present (&fd->used, sc)      ? 'U' : '-';
  queues[2] = rtems_fdisk_segment_queue_present (&fd->erase, sc)     ? 'E' : '-';
  queues[3] = rtems_fdisk_segment_queue_present (&fd->failed, sc)    ? 'F' : '-';
   44090:	7046           	moveq #70,%d0                               <== NOT EXECUTED
   44092:	1340 0003      	moveb %d0,%a1@(3)                           <== NOT EXECUTED
  queues[4] = '\0';                                                   
   44096:	4200           	clrb %d0                                    <== NOT EXECUTED
   44098:	1340 0004      	moveb %d0,%a1@(4)                           <== NOT EXECUTED
}                                                                     
   4409c:	245f           	moveal %sp@+,%a2                            <== NOT EXECUTED
   4409e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   440a0:	4e75           	rts                                         <== NOT EXECUTED
                          rtems_fdisk_segment_ctl* sc,                
                          char                     queues[5])         
{                                                                     
  queues[0] = rtems_fdisk_segment_queue_present (&fd->available, sc) ? 'A' : '-';
  queues[1] = rtems_fdisk_segment_queue_present (&fd->used, sc)      ? 'U' : '-';
  queues[2] = rtems_fdisk_segment_queue_present (&fd->erase, sc)     ? 'E' : '-';
   440a2:	7245           	moveq #69,%d1                               <== NOT EXECUTED
   440a4:	1341 0002      	moveb %d1,%a1@(2)                           <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   440a8:	206a 0058      	moveal %a2@(88),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   440ac:	4a88           	tstl %a0                                    <== NOT EXECUTED
   440ae:	66b6           	bnes 44066 <rtems_fdisk_queue_status+0x64>  <== NOT EXECUTED
   440b0:	60be           	bras 44070 <rtems_fdisk_queue_status+0x6e>  <== NOT EXECUTED
rtems_fdisk_queue_status (rtems_flashdisk*         fd,                
                          rtems_fdisk_segment_ctl* sc,                
                          char                     queues[5])         
{                                                                     
  queues[0] = rtems_fdisk_segment_queue_present (&fd->available, sc) ? 'A' : '-';
  queues[1] = rtems_fdisk_segment_queue_present (&fd->used, sc)      ? 'U' : '-';
   440b2:	7255           	moveq #85,%d1                               <== NOT EXECUTED
   440b4:	1341 0001      	moveb %d1,%a1@(1)                           <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   440b8:	206a 004c      	moveal %a2@(76),%a0                         <== NOT EXECUTED
rtems_fdisk_segment_queue_present (rtems_fdisk_segment_ctl_queue* queue,
                                   rtems_fdisk_segment_ctl*       sc) 
{                                                                     
  rtems_fdisk_segment_ctl*  it = queue->head;                         
                                                                      
  while (it)                                                          
   440bc:	4a88           	tstl %a0                                    <== NOT EXECUTED
   440be:	668e           	bnes 4404e <rtems_fdisk_queue_status+0x4c>  <== NOT EXECUTED
   440c0:	6096           	bras 44058 <rtems_fdisk_queue_status+0x56>  <== NOT EXECUTED
                                                                      

00044f6c <rtems_fdisk_recover_block_mappings>: /** * Recover the block mappings from the devices. */ static int rtems_fdisk_recover_block_mappings (rtems_flashdisk* fd) {
   44f6c:	4e56 ffd8      	linkw %fp,#-40                              
   44f70:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   44f74:	2a6e 0008      	moveal %fp@(8),%a5                          
  rtems_fdisk_segment_queue_init (&fd->failed);                       
                                                                      
  /*                                                                  
   * Clear the lock mappings.                                         
   */                                                                 
  memset (fd->blocks, 0, fd->block_count * sizeof (rtems_fdisk_block_ctl));
   44f78:	202d 001c      	movel %a5@(28),%d0                          
 * Initialise the segment control queue.                              
 */                                                                   
static void                                                           
rtems_fdisk_segment_queue_init (rtems_fdisk_segment_ctl_queue* queue) 
{                                                                     
  queue->head = queue->tail = 0;                                      
   44f7c:	42ad 0038      	clrl %a5@(56)                               
  rtems_fdisk_segment_queue_init (&fd->failed);                       
                                                                      
  /*                                                                  
   * Clear the lock mappings.                                         
   */                                                                 
  memset (fd->blocks, 0, fd->block_count * sizeof (rtems_fdisk_block_ctl));
   44f80:	e788           	lsll #3,%d0                                 
   44f82:	2f00           	movel %d0,%sp@-                             
   44f84:	42a7           	clrl %sp@-                                  
   44f86:	2f2d 0018      	movel %a5@(24),%sp@-                        
 * Initialise the segment control queue.                              
 */                                                                   
static void                                                           
rtems_fdisk_segment_queue_init (rtems_fdisk_segment_ctl_queue* queue) 
{                                                                     
  queue->head = queue->tail = 0;                                      
   44f8a:	42ad 0034      	clrl %a5@(52)                               
  queue->count = 0;                                                   
   44f8e:	42ad 003c      	clrl %a5@(60)                               
 * Initialise the segment control queue.                              
 */                                                                   
static void                                                           
rtems_fdisk_segment_queue_init (rtems_fdisk_segment_ctl_queue* queue) 
{                                                                     
  queue->head = queue->tail = 0;                                      
   44f92:	42ad 0044      	clrl %a5@(68)                               
   44f96:	42ad 0040      	clrl %a5@(64)                               
  queue->count = 0;                                                   
   44f9a:	42ad 0048      	clrl %a5@(72)                               
 * Initialise the segment control queue.                              
 */                                                                   
static void                                                           
rtems_fdisk_segment_queue_init (rtems_fdisk_segment_ctl_queue* queue) 
{                                                                     
  queue->head = queue->tail = 0;                                      
   44f9e:	42ad 0050      	clrl %a5@(80)                               
   44fa2:	42ad 004c      	clrl %a5@(76)                               
  queue->count = 0;                                                   
   44fa6:	42ad 0054      	clrl %a5@(84)                               
 * Initialise the segment control queue.                              
 */                                                                   
static void                                                           
rtems_fdisk_segment_queue_init (rtems_fdisk_segment_ctl_queue* queue) 
{                                                                     
  queue->head = queue->tail = 0;                                      
   44faa:	42ad 005c      	clrl %a5@(92)                               
   44fae:	42ad 0058      	clrl %a5@(88)                               
  queue->count = 0;                                                   
   44fb2:	42ad 0060      	clrl %a5@(96)                               
  rtems_fdisk_segment_queue_init (&fd->failed);                       
                                                                      
  /*                                                                  
   * Clear the lock mappings.                                         
   */                                                                 
  memset (fd->blocks, 0, fd->block_count * sizeof (rtems_fdisk_block_ctl));
   44fb6:	4eb9 0006 159c 	jsr 6159c <memset>                          
  /*                                                                  
   * Scan each segment or each device recovering the valid pages.     
   */                                                                 
  fd->erased_blocks = 0;                                              
  fd->starvation_threshold = 0;                                       
  for (device = 0; device < fd->device_count; device++)               
   44fbc:	4fef 000c      	lea %sp@(12),%sp                            
  memset (fd->blocks, 0, fd->block_count * sizeof (rtems_fdisk_block_ctl));
                                                                      
  /*                                                                  
   * Scan each segment or each device recovering the valid pages.     
   */                                                                 
  fd->erased_blocks = 0;                                              
   44fc0:	42ad 0028      	clrl %a5@(40)                               
  fd->starvation_threshold = 0;                                       
   44fc4:	42ad 0024      	clrl %a5@(36)                               
  for (device = 0; device < fd->device_count; device++)               
   44fc8:	4aad 0030      	tstl %a5@(48)                               
   44fcc:	6700 0144      	beqw 45112 <rtems_fdisk_recover_block_mappings+0x1a6>
   44fd0:	4286           	clrl %d6                                    
   44fd2:	4284           	clrl %d4                                    
  {                                                                   
    uint32_t segment;                                                 
    for (segment = 0; segment < fd->devices[device].segment_count; segment++)
   44fd4:	226d 002c      	moveal %a5@(44),%a1                         
   44fd8:	d3c6           	addal %d6,%a1                               
   44fda:	4aa9 0004      	tstl %a1@(4)                                
   44fde:	6700 0122      	beqw 45102 <rtems_fdisk_recover_block_mappings+0x196>
   44fe2:	4285           	clrl %d5                                    
   44fe4:	4283           	clrl %d3                                    
    {                                                                 
      rtems_fdisk_segment_ctl*        sc = &fd->devices[device].segments[segment];
   44fe6:	2651           	moveal %a1@,%a3                             
   44fe8:	d7c5           	addal %d5,%a3                               
      const rtems_fdisk_segment_desc* sd = sc->descriptor;            
   44fea:	246b 0004      	moveal %a3@(4),%a2                          
      rtems_fdisk_page_desc*          pd;                             
      uint32_t                        page;                           
      int                             ret;                            
                                                                      
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, "recover-block-mappings:%02d-%03d", device, segment);
   44fee:	2f03           	movel %d3,%sp@-                             
   44ff0:	2f04           	movel %d4,%sp@-                             
   44ff2:	4879 0006 ff45 	pea 6ff45 <map.6766+0x38f>                  
   44ff8:	2f0d           	movel %a5,%sp@-                             
   44ffa:	4eba f0c6      	jsr %pc@(440c2 <rtems_fdisk_info>)          
#endif                                                                
                                                                      
      sc->pages_desc = rtems_fdisk_page_desc_pages (sd, fd->block_size);
   44ffe:	202d 0014      	movel %a5@(20),%d0                          
      sc->pages =                                                     
        rtems_fdisk_pages_in_segment (sd, fd->block_size) - sc->pages_desc;
      if (sc->pages > fd->starvation_threshold)                       
   45002:	4fef 0010      	lea %sp@(16),%sp                            
 */                                                                   
static uint32_t                                                       
rtems_fdisk_pages_in_segment (const rtems_fdisk_segment_desc* sd,     
                              uint32_t                        page_size)
{                                                                     
  return sd->size / page_size;                                        
   45006:	242a 0008      	movel %a2@(8),%d2                           
   4500a:	4c40 2002      	remul %d0,%d2,%d2                           
static uint32_t                                                       
rtems_fdisk_page_desc_pages (const rtems_fdisk_segment_desc* sd,      
                             uint32_t                        page_size)
{                                                                     
  uint32_t pages = rtems_fdisk_pages_in_segment (sd, page_size);      
  uint32_t bytes = pages * sizeof (rtems_fdisk_page_desc);            
   4500e:	2202           	movel %d2,%d1                               
      rtems_fdisk_info (fd, "recover-block-mappings:%02d-%03d", device, segment);
#endif                                                                
                                                                      
      sc->pages_desc = rtems_fdisk_page_desc_pages (sd, fd->block_size);
      sc->pages =                                                     
        rtems_fdisk_pages_in_segment (sd, fd->block_size) - sc->pages_desc;
   45010:	2042           	moveal %d2,%a0                              
static uint32_t                                                       
rtems_fdisk_page_desc_pages (const rtems_fdisk_segment_desc* sd,      
                             uint32_t                        page_size)
{                                                                     
  uint32_t pages = rtems_fdisk_pages_in_segment (sd, page_size);      
  uint32_t bytes = pages * sizeof (rtems_fdisk_page_desc);            
   45012:	e789           	lsll #3,%d1                                 
  return ((bytes - 1) / page_size) + 1;                               
   45014:	5381           	subql #1,%d1                                
   45016:	4c40 1001      	remul %d0,%d1,%d1                           
   4501a:	5281           	addql #1,%d1                                
      rtems_fdisk_info (fd, "recover-block-mappings:%02d-%03d", device, segment);
#endif                                                                
                                                                      
      sc->pages_desc = rtems_fdisk_page_desc_pages (sd, fd->block_size);
      sc->pages =                                                     
        rtems_fdisk_pages_in_segment (sd, fd->block_size) - sc->pages_desc;
   4501c:	91c1           	subal %d1,%a0                               
                                                                      
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, "recover-block-mappings:%02d-%03d", device, segment);
#endif                                                                
                                                                      
      sc->pages_desc = rtems_fdisk_page_desc_pages (sd, fd->block_size);
   4501e:	2741 0018      	movel %d1,%a3@(24)                          
      sc->pages =                                                     
   45022:	2748 0014      	movel %a0,%a3@(20)                          
        rtems_fdisk_pages_in_segment (sd, fd->block_size) - sc->pages_desc;
      if (sc->pages > fd->starvation_threshold)                       
   45026:	b1ed 0024      	cmpal %a5@(36),%a0                          
   4502a:	6304           	blss 45030 <rtems_fdisk_recover_block_mappings+0xc4>
        fd->starvation_threshold = sc->pages;                         
   4502c:	2b48 0024      	movel %a0,%a5@(36)                          
      sc->pages_bad    = 0;                                           
                                                                      
      sc->failed = false;                                             
                                                                      
      if (!sc->page_descriptors)                                      
        sc->page_descriptors = malloc (sc->pages_desc * fd->block_size);
   45030:	2401           	movel %d1,%d2                               
   45032:	4c00 2800      	mulsl %d0,%d2                               
      sc->pages_used   = 0;                                           
      sc->pages_bad    = 0;                                           
                                                                      
      sc->failed = false;                                             
                                                                      
      if (!sc->page_descriptors)                                      
   45036:	246b 0010      	moveal %a3@(16),%a2                         
      sc->pages =                                                     
        rtems_fdisk_pages_in_segment (sd, fd->block_size) - sc->pages_desc;
      if (sc->pages > fd->starvation_threshold)                       
        fd->starvation_threshold = sc->pages;                         
                                                                      
      sc->pages_active = 0;                                           
   4503a:	42ab 001c      	clrl %a3@(28)                               
      sc->pages_used   = 0;                                           
   4503e:	42ab 0020      	clrl %a3@(32)                               
      sc->pages_bad    = 0;                                           
   45042:	42ab 0024      	clrl %a3@(36)                               
                                                                      
      sc->failed = false;                                             
   45046:	42ab 0028      	clrl %a3@(40)                               
                                                                      
      if (!sc->page_descriptors)                                      
   4504a:	4a8a           	tstl %a2                                    
   4504c:	6700 0114      	beqw 45162 <rtems_fdisk_recover_block_mappings+0x1f6>
       * descriptors.                                                 
       *                                                              
       * @todo It may be better to ask the driver to get these value  
       *       so NAND flash could be better supported.               
       */                                                             
      ret = rtems_fdisk_seg_read (fd, sc, 0, (void*) pd,              
   45050:	2f02           	movel %d2,%sp@-                             
   45052:	2f0a           	movel %a2,%sp@-                             
   45054:	42a7           	clrl %sp@-                                  
   45056:	2f2b 000c      	movel %a3@(12),%sp@-                        
   4505a:	2f2b 0008      	movel %a3@(8),%sp@-                         
   4505e:	2f0d           	movel %a5,%sp@-                             
   45060:	4eba f724      	jsr %pc@(44786 <rtems_fdisk_seg_read.isra.14>)
                                  sc->pages_desc * fd->block_size);   
                                                                      
      if (ret)                                                        
   45064:	4fef 0018      	lea %sp@(24),%sp                            
   45068:	4a80           	tstl %d0                                    
   4506a:	6600 01d4      	bnew 45240 <rtems_fdisk_recover_block_mappings+0x2d4>
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   4506e:	4aab 0014      	tstl %a3@(20)                               
   45072:	676e           	beqs 450e2 <rtems_fdisk_recover_block_mappings+0x176><== NEVER TAKEN
                                                                      
/**                                                                   
 * Recover the block mappings from the devices.                       
 */                                                                   
static int                                                            
rtems_fdisk_recover_block_mappings (rtems_flashdisk* fd)              
   45074:	49ea 0004      	lea %a2@(4),%a4                             
   45078:	4282           	clrl %d2                                    
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   4507a:	70ff           	moveq #-1,%d0                               
   4507c:	b092           	cmpl %a2@,%d0                               
   4507e:	6700 00a0      	beqw 45120 <rtems_fdisk_recover_block_mappings+0x1b4>
            sc->pages_used++;                                         
          }                                                           
        }                                                             
        else                                                          
        {                                                             
          if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_USED))
   45082:	7202           	moveq #2,%d1                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   45084:	302a 0002      	movew %a2@(2),%d0                           <== NOT EXECUTED
            sc->pages_used++;                                         
          }                                                           
        }                                                             
        else                                                          
        {                                                             
          if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_USED))
   45088:	c280           	andl %d0,%d1                                <== NOT EXECUTED
   4508a:	4a41           	tstw %d1                                    <== NOT EXECUTED
   4508c:	6700 013c      	beqw 451ca <rtems_fdisk_recover_block_mappings+0x25e><== NOT EXECUTED
          {                                                           
            sc->pages_used++;                                         
          }                                                           
          else if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_ACTIVE))
   45090:	0800 0000      	btst #0,%d0                                 <== NOT EXECUTED
   45094:	6600 014a      	bnew 451e0 <rtems_fdisk_recover_block_mappings+0x274><== NOT EXECUTED
          {                                                           
            if (pd->block >= fd->block_count)                         
   45098:	2014           	movel %a4@,%d0                              <== NOT EXECUTED
   4509a:	b0ad 001c      	cmpl %a5@(28),%d0                           <== NOT EXECUTED
   4509e:	6400 0156      	bccw 451f6 <rtems_fdisk_recover_block_mappings+0x28a><== NOT EXECUTED
                                   "invalid block number: %d-%d-%d: block: %d",
                                   device, segment, page, pd->block); 
#endif                                                                
              sc->pages_bad++;                                        
            }                                                         
            else if (fd->blocks[pd->block].segment)                   
   450a2:	226d 0018      	moveal %a5@(24),%a1                         <== NOT EXECUTED
   450a6:	e788           	lsll #3,%d0                                 <== NOT EXECUTED
   450a8:	d3c0           	addal %d0,%a1                               <== NOT EXECUTED
   450aa:	2051           	moveal %a1@,%a0                             <== NOT EXECUTED
   450ac:	4a88           	tstl %a0                                    <== NOT EXECUTED
   450ae:	6700 0174      	beqw 45224 <rtems_fdisk_recover_block_mappings+0x2b8><== NOT EXECUTED
               * each block so we can tell which is the later block when
               * duplicates appear. A power down with a failed wirte could cause
               * a duplicate.                                         
               */                                                     
              const rtems_fdisk_segment_ctl* bsc = fd->blocks[pd->block].segment;
              rtems_fdisk_error ("duplicate block: %d-%d-%d: " \      
   450b2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   450b4:	5282           	addql #1,%d2                                <== NOT EXECUTED
   450b6:	508a           	addql #8,%a2                                <== NOT EXECUTED
   450b8:	508c           	addql #8,%a4                                <== NOT EXECUTED
               * each block so we can tell which is the later block when
               * duplicates appear. A power down with a failed wirte could cause
               * a duplicate.                                         
               */                                                     
              const rtems_fdisk_segment_ctl* bsc = fd->blocks[pd->block].segment;
              rtems_fdisk_error ("duplicate block: %d-%d-%d: " \      
   450ba:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   450bc:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   450be:	2f29 0004      	movel %a1@(4),%sp@-                         <== NOT EXECUTED
   450c2:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   450c6:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   450ca:	4879 0007 0010 	pea 70010 <map.6766+0x45a>                  <== NOT EXECUTED
   450d0:	4eba f214      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
                                 "duplicate: %d-%d-%d",               
                                 bsc->device, bsc->segment,           
                                 fd->blocks[pd->block].page,          
                                 device, segment, page);              
              sc->pages_bad++;                                        
   450d4:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   450d8:	52ab 0024      	addql #1,%a3@(36)                           <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   450dc:	b4ab 0014      	cmpl %a3@(20),%d2                           <== NOT EXECUTED
   450e0:	6598           	bcss 4507a <rtems_fdisk_recover_block_mappings+0x10e><== NOT EXECUTED
      }                                                               
                                                                      
      /*                                                              
       * Place the segment on to the correct queue.                   
       */                                                             
      rtems_fdisk_queue_segment (fd, sc);                             
   450e2:	2f0b           	movel %a3,%sp@-                             
  fd->erased_blocks = 0;                                              
  fd->starvation_threshold = 0;                                       
  for (device = 0; device < fd->device_count; device++)               
  {                                                                   
    uint32_t segment;                                                 
    for (segment = 0; segment < fd->devices[device].segment_count; segment++)
   450e4:	5283           	addql #1,%d3                                
   450e6:	0685 0000 0030 	addil #48,%d5                               
      }                                                               
                                                                      
      /*                                                              
       * Place the segment on to the correct queue.                   
       */                                                             
      rtems_fdisk_queue_segment (fd, sc);                             
   450ec:	2f0d           	movel %a5,%sp@-                             
   450ee:	4eba f3f2      	jsr %pc@(444e2 <rtems_fdisk_queue_segment>) 
  fd->erased_blocks = 0;                                              
  fd->starvation_threshold = 0;                                       
  for (device = 0; device < fd->device_count; device++)               
  {                                                                   
    uint32_t segment;                                                 
    for (segment = 0; segment < fd->devices[device].segment_count; segment++)
   450f2:	226d 002c      	moveal %a5@(44),%a1                         
   450f6:	508f           	addql #8,%sp                                
   450f8:	d3c6           	addal %d6,%a1                               
   450fa:	b6a9 0004      	cmpl %a1@(4),%d3                            
   450fe:	6500 fee6      	bcsw 44fe6 <rtems_fdisk_recover_block_mappings+0x7a>
  /*                                                                  
   * Scan each segment or each device recovering the valid pages.     
   */                                                                 
  fd->erased_blocks = 0;                                              
  fd->starvation_threshold = 0;                                       
  for (device = 0; device < fd->device_count; device++)               
   45102:	5284           	addql #1,%d4                                
   45104:	0686 0000 000c 	addil #12,%d6                               
   4510a:	b8ad 0030      	cmpl %a5@(48),%d4                           
   4510e:	6500 fec4      	bcsw 44fd4 <rtems_fdisk_recover_block_mappings+0x68>
       */                                                             
      rtems_fdisk_queue_segment (fd, sc);                             
    }                                                                 
  }                                                                   
                                                                      
  return 0;                                                           
   45112:	4282           	clrl %d2                                    
}                                                                     
   45114:	2002           	movel %d2,%d0                               
   45116:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            
   4511c:	4e5e           	unlk %fp                                    
   4511e:	4e75           	rts                                         
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   45120:	b094           	cmpl %a4@,%d0                               
   45122:	6600 ff5e      	bnew 45082 <rtems_fdisk_recover_block_mappings+0x116>
rtems_fdisk_seg_blank_check_page (const rtems_flashdisk*   fd,        
                                  rtems_fdisk_segment_ctl* sc,        
                                  uint32_t                 page)      
{                                                                     
  return rtems_fdisk_seg_blank_check (fd, sc,                         
                                      page * fd->block_size, fd->block_size);
   45126:	202d 0014      	movel %a5@(20),%d0                          
        if (rtems_fdisk_page_desc_erased (pd))                        
        {                                                             
          /*                                                          
           * Is the page erased ?                                     
           */                                                         
          ret = rtems_fdisk_seg_blank_check_page (fd, sc,             
   4512a:	2202           	movel %d2,%d1                               
static int                                                            
rtems_fdisk_seg_blank_check_page (const rtems_flashdisk*   fd,        
                                  rtems_fdisk_segment_ctl* sc,        
                                  uint32_t                 page)      
{                                                                     
  return rtems_fdisk_seg_blank_check (fd, sc,                         
   4512c:	2f00           	movel %d0,%sp@-                             
        if (rtems_fdisk_page_desc_erased (pd))                        
        {                                                             
          /*                                                          
           * Is the page erased ?                                     
           */                                                         
          ret = rtems_fdisk_seg_blank_check_page (fd, sc,             
   4512e:	d2ab 0018      	addl %a3@(24),%d1                           
static int                                                            
rtems_fdisk_seg_blank_check_page (const rtems_flashdisk*   fd,        
                                  rtems_fdisk_segment_ctl* sc,        
                                  uint32_t                 page)      
{                                                                     
  return rtems_fdisk_seg_blank_check (fd, sc,                         
   45132:	4c00 1800      	mulsl %d0,%d1                               
   45136:	2f01           	movel %d1,%sp@-                             
   45138:	2f2b 000c      	movel %a3@(12),%sp@-                        
   4513c:	2f2b 0008      	movel %a3@(8),%sp@-                         
   45140:	2f0d           	movel %a5,%sp@-                             
   45142:	4eba f6c6      	jsr %pc@(4480a <rtems_fdisk_seg_blank_check.isra.15>)
           * Is the page erased ?                                     
           */                                                         
          ret = rtems_fdisk_seg_blank_check_page (fd, sc,             
                                                  page + sc->pages_desc);
                                                                      
          if (ret == 0)                                               
   45146:	4fef 0014      	lea %sp@(20),%sp                            
   4514a:	4a80           	tstl %d0                                    
   4514c:	6634           	bnes 45182 <rtems_fdisk_recover_block_mappings+0x216><== NEVER TAKEN
          {                                                           
            ++fd->erased_blocks;                                      
   4514e:	52ad 0028      	addql #1,%a5@(40)                           
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   45152:	5282           	addql #1,%d2                                
   45154:	508a           	addql #8,%a2                                
   45156:	508c           	addql #8,%a4                                
   45158:	b4ab 0014      	cmpl %a3@(20),%d2                           
   4515c:	6500 ff1c      	bcsw 4507a <rtems_fdisk_recover_block_mappings+0x10e>
   45160:	6080           	bras 450e2 <rtems_fdisk_recover_block_mappings+0x176>
      sc->pages_bad    = 0;                                           
                                                                      
      sc->failed = false;                                             
                                                                      
      if (!sc->page_descriptors)                                      
        sc->page_descriptors = malloc (sc->pages_desc * fd->block_size);
   45162:	2f02           	movel %d2,%sp@-                             
   45164:	4eb9 0004 794c 	jsr 4794c <malloc>                          
                                                                      
      if (!sc->page_descriptors)                                      
   4516a:	588f           	addql #4,%sp                                
      sc->pages_bad    = 0;                                           
                                                                      
      sc->failed = false;                                             
                                                                      
      if (!sc->page_descriptors)                                      
        sc->page_descriptors = malloc (sc->pages_desc * fd->block_size);
   4516c:	2440           	moveal %d0,%a2                              
   4516e:	2740 0010      	movel %d0,%a3@(16)                          
                                                                      
      if (!sc->page_descriptors)                                      
   45172:	6600 fedc      	bnew 45050 <rtems_fdisk_recover_block_mappings+0xe4>
        rtems_fdisk_abort ("no memory for page descriptors");         
   45176:	4879 0006 ff26 	pea 6ff26 <map.6766+0x370>                  <== NOT EXECUTED
   4517c:	4eb9 0004 672e 	jsr 4672e <rtems_fdisk_abort.constprop.16>  <== NOT EXECUTED
            ++fd->erased_blocks;                                      
          }                                                           
          else                                                        
          {                                                           
#if RTEMS_FDISK_TRACE                                                 
            rtems_fdisk_warning (fd, "page not blank: %d-%d-%d",      
   45182:	2f14           	movel %a4@,%sp@-                            <== NOT EXECUTED
   45184:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   45186:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   45188:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   4518a:	4879 0006 ffa7 	pea 6ffa7 <map.6766+0x3f1>                  <== NOT EXECUTED
   45190:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   45192:	4eba f0ca      	jsr %pc@(4425e <rtems_fdisk_warning>)       <== NOT EXECUTED
 * Set the flags. Setting means clear the bit to 0.                   
 */                                                                   
static void                                                           
rtems_fdisk_page_desc_set_flags (rtems_fdisk_page_desc* pd, uint16_t flags)
{                                                                     
  pd->flags &= ~flags;                                                
   45196:	302a 0002      	movew %a2@(2),%d0                           <== NOT EXECUTED
   4519a:	72fd           	moveq #-3,%d1                               <== NOT EXECUTED
   4519c:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   4519e:	3540 0002      	movew %d0,%a2@(2)                           <== NOT EXECUTED
            rtems_fdisk_warning (fd, "page not blank: %d-%d-%d",      
                                 device, segment, page, pd->block);   
#endif                                                                
            rtems_fdisk_page_desc_set_flags (pd, RTEMS_FDISK_PAGE_USED);
                                                                      
            ret = rtems_fdisk_seg_write_page_desc (fd, sc,            
   451a2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   451a4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   451a6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   451a8:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   451aa:	4eba f74a      	jsr %pc@(448f6 <rtems_fdisk_seg_write_page_desc>)<== NOT EXECUTED
                                                   page, pd);         
                                                                      
            if (ret)                                                  
   451ae:	4fef 0028      	lea %sp@(40),%sp                            <== NOT EXECUTED
   451b2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   451b4:	6714           	beqs 451ca <rtems_fdisk_recover_block_mappings+0x25e><== NOT EXECUTED
            {                                                         
              rtems_fdisk_error ("forcing page to used failed: %d-%d-%d",
   451b6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   451b8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   451ba:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   451bc:	4879 0006 ffc0 	pea 6ffc0 <map.6766+0x40a>                  <== NOT EXECUTED
   451c2:	4eba f122      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   451c6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
        }                                                             
        else                                                          
        {                                                             
          if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_USED))
          {                                                           
            sc->pages_used++;                                         
   451ca:	52ab 0020      	addql #1,%a3@(32)                           <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   451ce:	5282           	addql #1,%d2                                <== NOT EXECUTED
   451d0:	508a           	addql #8,%a2                                <== NOT EXECUTED
   451d2:	508c           	addql #8,%a4                                <== NOT EXECUTED
   451d4:	b4ab 0014      	cmpl %a3@(20),%d2                           <== NOT EXECUTED
   451d8:	6500 fea0      	bcsw 4507a <rtems_fdisk_recover_block_mappings+0x10e><== NOT EXECUTED
   451dc:	6000 ff04      	braw 450e2 <rtems_fdisk_recover_block_mappings+0x176><== NOT EXECUTED
               */                                                     
              sc->pages_active++;                                     
            }                                                         
          }                                                           
          else                                                        
            sc->pages_bad++;                                          
   451e0:	52ab 0024      	addql #1,%a3@(36)                           <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   451e4:	5282           	addql #1,%d2                                <== NOT EXECUTED
   451e6:	508a           	addql #8,%a2                                <== NOT EXECUTED
   451e8:	508c           	addql #8,%a4                                <== NOT EXECUTED
   451ea:	b4ab 0014      	cmpl %a3@(20),%d2                           <== NOT EXECUTED
   451ee:	6500 fe8a      	bcsw 4507a <rtems_fdisk_recover_block_mappings+0x10e><== NOT EXECUTED
   451f2:	6000 feee      	braw 450e2 <rtems_fdisk_recover_block_mappings+0x176><== NOT EXECUTED
          else if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_ACTIVE))
          {                                                           
            if (pd->block >= fd->block_count)                         
            {                                                         
#if RTEMS_FDISK_TRACE                                                 
              rtems_fdisk_warning (fd,                                
   451f6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   451f8:	508a           	addql #8,%a2                                <== NOT EXECUTED
   451fa:	508c           	addql #8,%a4                                <== NOT EXECUTED
          else if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_ACTIVE))
          {                                                           
            if (pd->block >= fd->block_count)                         
            {                                                         
#if RTEMS_FDISK_TRACE                                                 
              rtems_fdisk_warning (fd,                                
   451fc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   451fe:	5282           	addql #1,%d2                                <== NOT EXECUTED
          else if (rtems_fdisk_page_desc_flags_set (pd, RTEMS_FDISK_PAGE_ACTIVE))
          {                                                           
            if (pd->block >= fd->block_count)                         
            {                                                         
#if RTEMS_FDISK_TRACE                                                 
              rtems_fdisk_warning (fd,                                
   45200:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   45202:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   45204:	4879 0006 ffe6 	pea 6ffe6 <map.6766+0x430>                  <== NOT EXECUTED
   4520a:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   4520c:	4eba f050      	jsr %pc@(4425e <rtems_fdisk_warning>)       <== NOT EXECUTED
                                   "invalid block number: %d-%d-%d: block: %d",
                                   device, segment, page, pd->block); 
#endif                                                                
              sc->pages_bad++;                                        
   45210:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   45214:	52ab 0024      	addql #1,%a3@(36)                           <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   45218:	b4ab 0014      	cmpl %a3@(20),%d2                           <== NOT EXECUTED
   4521c:	6500 fe5c      	bcsw 4507a <rtems_fdisk_recover_block_mappings+0x10e><== NOT EXECUTED
   45220:	6000 fec0      	braw 450e2 <rtems_fdisk_recover_block_mappings+0x176><== NOT EXECUTED
              /**                                                     
               * @todo                                                
               * Add start up crc checks here.                        
               */                                                     
              fd->blocks[pd->block].segment = sc;                     
              fd->blocks[pd->block].page    = page;                   
   45224:	2342 0004      	movel %d2,%a1@(4)                           <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   45228:	5282           	addql #1,%d2                                <== NOT EXECUTED
   4522a:	508a           	addql #8,%a2                                <== NOT EXECUTED
   4522c:	508c           	addql #8,%a4                                <== NOT EXECUTED
            {                                                         
              /**                                                     
               * @todo                                                
               * Add start up crc checks here.                        
               */                                                     
              fd->blocks[pd->block].segment = sc;                     
   4522e:	228b           	movel %a3,%a1@                              <== NOT EXECUTED
              fd->blocks[pd->block].page    = page;                   
                                                                      
              /*                                                      
               * The page is active.                                  
               */                                                     
              sc->pages_active++;                                     
   45230:	52ab 001c      	addql #1,%a3@(28)                           <== NOT EXECUTED
       * are active and how many are used.                            
       *                                                              
       * If the page is active see if the block is with-in range and  
       * if the block is a duplicate.                                 
       */                                                             
      for (page = 0; page < sc->pages; page++, pd++)                  
   45234:	b4ab 0014      	cmpl %a3@(20),%d2                           <== NOT EXECUTED
   45238:	6500 fe40      	bcsw 4507a <rtems_fdisk_recover_block_mappings+0x10e><== NOT EXECUTED
   4523c:	6000 fea4      	braw 450e2 <rtems_fdisk_recover_block_mappings+0x176><== NOT EXECUTED
      ret = rtems_fdisk_seg_read (fd, sc, 0, (void*) pd,              
                                  sc->pages_desc * fd->block_size);   
                                                                      
      if (ret)                                                        
      {                                                               
        rtems_fdisk_error ("recover-block-mappings:%02d-%03d: " \     
   45240:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45242:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   45244:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   4524a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4524c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4524e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   45250:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   45252:	4879 0006 ff66 	pea 6ff66 <map.6766+0x3b0>                  <== NOT EXECUTED
   45258:	4eba f08c      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
                           "read page desc failed: %s (%d)",          
                           device, segment, strerror (ret), ret);     
        return ret;                                                   
   4525c:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
      rtems_fdisk_queue_segment (fd, sc);                             
    }                                                                 
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   45260:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   45262:	4cee 3cfc ffd8 	moveml %fp@(-40),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   45268:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00044952 <rtems_fdisk_recycle_segment>: static int rtems_fdisk_recycle_segment (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* ssc, rtems_fdisk_segment_ctl* dsc, uint32_t *pages) {
   44952:	4e56 ffcc      	linkw %fp,#-52                              <== NOT EXECUTED
   44956:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
   4495a:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
   4495e:	286e 0008      	moveal %fp@(8),%a4                          <== NOT EXECUTED
   44962:	266e 000c      	moveal %fp@(12),%a3                         <== NOT EXECUTED
   44966:	246e 0010      	moveal %fp@(16),%a2                         <== NOT EXECUTED
   4496a:	2d48 fffc      	movel %a0,%fp@(-4)                          <== NOT EXECUTED
  int      ret;                                                       
  uint32_t spage;                                                     
  uint32_t used = 0;                                                  
  uint32_t active = 0;                                                
                                                                      
  for (spage = 0; spage < ssc->pages; spage++)                        
   4496e:	4aab 0014      	tstl %a3@(20)                               <== NOT EXECUTED
   44972:	6700 0352      	beqw 44cc6 <rtems_fdisk_recycle_segment+0x374><== NOT EXECUTED
   44976:	42ae fff8      	clrl %fp@(-8)                               <== NOT EXECUTED
   4497a:	4284           	clrl %d4                                    <== NOT EXECUTED
   4497c:	4283           	clrl %d3                                    <== NOT EXECUTED
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
                                                                      
static int                                                            
rtems_fdisk_recycle_segment (rtems_flashdisk*         fd,             
   4497e:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   44980:	e788           	lsll #3,%d0                                 <== NOT EXECUTED
  uint32_t used = 0;                                                  
  uint32_t active = 0;                                                
                                                                      
  for (spage = 0; spage < ssc->pages; spage++)                        
  {                                                                   
    rtems_fdisk_page_desc* spd = &ssc->page_descriptors[spage];       
   44982:	2a6b 0010      	moveal %a3@(16),%a5                         <== NOT EXECUTED
   44986:	dbc0           	addal %d0,%a5                               <== NOT EXECUTED
                                                                      
    if (!dsc && ssc->pages_active > 0)                                
   44988:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   4498a:	6700 017e      	beqw 44b0a <rtems_fdisk_recycle_segment+0x1b8><== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4498e:	302d 0002      	movew %a5@(2),%d0                           <== NOT EXECUTED
    {                                                                 
      rtems_fdisk_error ("recycle: no available dst segment");        
      return EIO;                                                     
    }                                                                 
                                                                      
    if (rtems_fdisk_page_desc_flags_set (spd, RTEMS_FDISK_PAGE_ACTIVE) &&
   44992:	0800 0000      	btst #0,%d0                                 <== NOT EXECUTED
   44996:	6600 0272      	bnew 44c0a <rtems_fdisk_recycle_segment+0x2b8><== NOT EXECUTED
   4499a:	7202           	moveq #2,%d1                                <== NOT EXECUTED
   4499c:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   4499e:	4a40           	tstw %d0                                    <== NOT EXECUTED
   449a0:	6700 0268      	beqw 44c0a <rtems_fdisk_recycle_segment+0x2b8><== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_flashdisk_count = rtems_flashdisk_configuration_size;         
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   449a4:	222a 0010      	movel %a2@(16),%d1                          <== NOT EXECUTED
   449a8:	202a 0014      	movel %a2@(20),%d0                          <== NOT EXECUTED
rtems_fdisk_seg_next_available_page (rtems_fdisk_segment_ctl* sc)     
{                                                                     
  rtems_fdisk_page_desc* pd = &sc->page_descriptors[0];               
  uint32_t               page;                                        
                                                                      
  for (page = 0; page < sc->pages; page++, pd++)                      
   449ac:	6712           	beqs 449c0 <rtems_fdisk_recycle_segment+0x6e><== NOT EXECUTED
   449ae:	2041           	moveal %d1,%a0                              <== NOT EXECUTED
   449b0:	4282           	clrl %d2                                    <== NOT EXECUTED
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   449b2:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
   449b4:	ba90           	cmpl %a0@,%d5                               <== NOT EXECUTED
   449b6:	675e           	beqs 44a16 <rtems_fdisk_recycle_segment+0xc4><== NOT EXECUTED
rtems_fdisk_seg_next_available_page (rtems_fdisk_segment_ctl* sc)     
{                                                                     
  rtems_fdisk_page_desc* pd = &sc->page_descriptors[0];               
  uint32_t               page;                                        
                                                                      
  for (page = 0; page < sc->pages; page++, pd++)                      
   449b8:	5282           	addql #1,%d2                                <== NOT EXECUTED
   449ba:	5088           	addql #8,%a0                                <== NOT EXECUTED
   449bc:	b082           	cmpl %d2,%d0                                <== NOT EXECUTED
   449be:	66f2           	bnes 449b2 <rtems_fdisk_recycle_segment+0x60><== NOT EXECUTED
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
                                                                      
static int                                                            
rtems_fdisk_recycle_segment (rtems_flashdisk*         fd,             
   449c0:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
   449c4:	d2aa 001c      	addl %a2@(28),%d1                           <== NOT EXECUTED
      {                                                               
        rtems_fdisk_error ("recycle: %02d-%03d: " \                   
                           "no page desc available: %d",              
                           dsc->device, dsc->segment,                 
                           rtems_fdisk_seg_pages_available (dsc));    
        dsc->failed = true;                                           
   449c8:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
      rtems_fdisk_segment_queue_push_tail (&fd->available, sc);       
  }                                                                   
}                                                                     
                                                                      
static int                                                            
rtems_fdisk_recycle_segment (rtems_flashdisk*         fd,             
   449ca:	d2aa 0024      	addl %a2@(36),%d1                           <== NOT EXECUTED
                                                                      
      active++;                                                       
                                                                      
      if (dpage >= dsc->pages)                                        
      {                                                               
        rtems_fdisk_error ("recycle: %02d-%03d: " \                   
   449ce:	9081           	subl %d1,%d0                                <== NOT EXECUTED
   449d0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   449d2:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   449d6:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   449da:	4879 0006 fcef 	pea 6fcef <map.6766+0x139>                  <== NOT EXECUTED
   449e0:	4eba f904      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
                           "no page desc available: %d",              
                           dsc->device, dsc->segment,                 
                           rtems_fdisk_seg_pages_available (dsc));    
        dsc->failed = true;                                           
   449e4:	2545 0028      	movel %d5,%a2@(40)                          <== NOT EXECUTED
        rtems_fdisk_queue_segment (fd, dsc);                          
   449e8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   449ea:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   449ec:	4eba faf4      	jsr %pc@(444e2 <rtems_fdisk_queue_segment>) <== NOT EXECUTED
rtems_fdisk_segment_queue_push_head (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = queue->head;                                           
   449f0:	26ac 0040      	movel %a4@(64),%a3@                         <== NOT EXECUTED
    queue->head = sc;                                                 
                                                                      
    if (queue->tail == 0)                                             
   449f4:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = queue->head;                                           
    queue->head = sc;                                                 
   449f8:	294b 0040      	movel %a3,%a4@(64)                          <== NOT EXECUTED
                                                                      
    if (queue->tail == 0)                                             
   449fc:	4aac 0044      	tstl %a4@(68)                               <== NOT EXECUTED
   44a00:	6700 02aa      	beqw 44cac <rtems_fdisk_recycle_segment+0x35a><== NOT EXECUTED
      queue->tail = sc;                                               
    queue->count++;                                                   
   44a04:	52ac 0048      	addql #1,%a4@(72)                           <== NOT EXECUTED
                           dsc->device, dsc->segment,                 
                           rtems_fdisk_seg_pages_available (dsc));    
        dsc->failed = true;                                           
        rtems_fdisk_queue_segment (fd, dsc);                          
        rtems_fdisk_segment_queue_push_head (&fd->used, ssc);         
        return EIO;                                                   
   44a08:	7205           	moveq #5,%d1                                <== NOT EXECUTED
  }                                                                   
                                                                      
  ret = rtems_fdisk_erase_segment (fd, ssc);                          
                                                                      
  return ret;                                                         
}                                                                     
   44a0a:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   44a0c:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44a12:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44a14:	4e75           	rts                                         <== NOT EXECUTED
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   44a16:	baa8 0004      	cmpl %a0@(4),%d5                            <== NOT EXECUTED
   44a1a:	669c           	bnes 449b8 <rtems_fdisk_recycle_segment+0x66><== NOT EXECUTED
      uint32_t               dst_pages;                               
      rtems_fdisk_page_desc* dpd;                                     
      uint32_t               dpage;                                   
                                                                      
      dpage = rtems_fdisk_seg_next_available_page (dsc);              
      dpd   = &dsc->page_descriptors[dpage];                          
   44a1c:	2e02           	movel %d2,%d7                               <== NOT EXECUTED
                                                                      
      active++;                                                       
   44a1e:	52ae fff8      	addql #1,%fp@(-8)                           <== NOT EXECUTED
      uint32_t               dst_pages;                               
      rtems_fdisk_page_desc* dpd;                                     
      uint32_t               dpage;                                   
                                                                      
      dpage = rtems_fdisk_seg_next_available_page (dsc);              
      dpd   = &dsc->page_descriptors[dpage];                          
   44a22:	e78f           	lsll #3,%d7                                 <== NOT EXECUTED
   44a24:	de81           	addl %d1,%d7                                <== NOT EXECUTED
                                                                      
      active++;                                                       
                                                                      
      if (dpage >= dsc->pages)                                        
   44a26:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   44a28:	6496           	bccs 449c0 <rtems_fdisk_recycle_segment+0x6e><== NOT EXECUTED
        rtems_fdisk_segment_queue_push_head (&fd->used, ssc);         
        return EIO;                                                   
      }                                                               
                                                                      
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, "recycle: %02d-%03d-%03d=>%02d-%03d-%03d",
   44a2a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   44a2c:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
                        ssc->device, ssc->segment, spage,             
                        dsc->device, dsc->segment, dpage);            
#endif                                                                
      ret = rtems_fdisk_seg_copy_page (fd, ssc,                       
   44a30:	2c02           	movel %d2,%d6                               <== NOT EXECUTED
   44a32:	2a03           	movel %d3,%d5                               <== NOT EXECUTED
        rtems_fdisk_segment_queue_push_head (&fd->used, ssc);         
        return EIO;                                                   
      }                                                               
                                                                      
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, "recycle: %02d-%03d-%03d=>%02d-%03d-%03d",
   44a34:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   44a38:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   44a3a:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   44a3e:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   44a42:	4879 0006 fd1e 	pea 6fd1e <map.6766+0x168>                  <== NOT EXECUTED
   44a48:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44a4a:	4eba f676      	jsr %pc@(440c2 <rtems_fdisk_info>)          <== NOT EXECUTED
                           rtems_fdisk_segment_ctl* dst_sc,           
                           uint32_t                 dst_page)         
{                                                                     
  int ret;                                                            
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_printf (fd, "  seg-copy-page: %02d-%03d~%03d=>%02d-%03d~%03d",
   44a4e:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
#if RTEMS_FDISK_TRACE                                                 
      rtems_fdisk_info (fd, "recycle: %02d-%03d-%03d=>%02d-%03d-%03d",
                        ssc->device, ssc->segment, spage,             
                        dsc->device, dsc->segment, dpage);            
#endif                                                                
      ret = rtems_fdisk_seg_copy_page (fd, ssc,                       
   44a52:	daab 0018      	addl %a3@(24),%d5                           <== NOT EXECUTED
   44a56:	dcaa 0018      	addl %a2@(24),%d6                           <== NOT EXECUTED
                           rtems_fdisk_segment_ctl* dst_sc,           
                           uint32_t                 dst_page)         
{                                                                     
  int ret;                                                            
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_printf (fd, "  seg-copy-page: %02d-%03d~%03d=>%02d-%03d~%03d",
   44a5a:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   44a5c:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   44a60:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   44a64:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   44a66:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   44a6a:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   44a6e:	4879 0006 fd46 	pea 6fd46 <map.6766+0x190>                  <== NOT EXECUTED
   44a74:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44a76:	4eba f6d4      	jsr %pc@(4414c <rtems_fdisk_printf>)        <== NOT EXECUTED
                           rtems_fdisk_segment_ctl* sc,               
                           uint32_t                 page,             
                           void*                    buffer)           
{                                                                     
  return rtems_fdisk_seg_read (fd, sc,                                
                               page * fd->block_size, buffer, fd->block_size);
   44a7a:	202c 0014      	movel %a4@(20),%d0                          <== NOT EXECUTED
rtems_fdisk_seg_read_page (const rtems_flashdisk*   fd,               
                           rtems_fdisk_segment_ctl* sc,               
                           uint32_t                 page,             
                           void*                    buffer)           
{                                                                     
  return rtems_fdisk_seg_read (fd, sc,                                
   44a7e:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   44a82:	4c00 5800      	mulsl %d0,%d5                               <== NOT EXECUTED
   44a86:	2e80           	movel %d0,%sp@                              <== NOT EXECUTED
   44a88:	2f2c 0068      	movel %a4@(104),%sp@-                       <== NOT EXECUTED
   44a8c:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   44a8e:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   44a92:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   44a96:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44a98:	4eba fcec      	jsr %pc@(44786 <rtems_fdisk_seg_read.isra.14>)<== NOT EXECUTED
                      src_sc->device, src_sc->segment, src_page,      
                      dst_sc->device, dst_sc->segment, dst_page);     
#endif                                                                
  ret = rtems_fdisk_seg_read_page (fd, src_sc, src_page,              
                                   fd->copy_buffer);                  
  if (ret)                                                            
   44a9c:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   44aa0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44aa2:	6700 0090      	beqw 44b34 <rtems_fdisk_recycle_segment+0x1e2><== NOT EXECUTED
                                       spage + ssc->pages_desc,       
                                       dsc,                           
                                       dpage + dsc->pages_desc);      
      if (ret)                                                        
      {                                                               
        rtems_fdisk_error ("recycle: %02d-%03d-%03d=>" \              
   44aa6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44aa8:	2d40 fff4      	movel %d0,%fp@(-12)                         <== NOT EXECUTED
   44aac:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   44ab2:	222e fff4      	movel %fp@(-12),%d1                         <== NOT EXECUTED
   44ab6:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   44ab8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44aba:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   44abc:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   44ac0:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   44ac4:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   44ac6:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   44aca:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   44ace:	4879 0006 fd76 	pea 6fd76 <map.6766+0x1c0>                  <== NOT EXECUTED
                                             dsc,                     
                                             dpage, dpd);             
                                                                      
      if (ret)                                                        
      {                                                               
        rtems_fdisk_error ("recycle: %02d-%03d-%03d=>"   \            
   44ad4:	4eba f810      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
                           "%02d-%03d-%03d: copy pd failed: %s (%d)", 
                           ssc->device, ssc->segment, spage,          
                           dsc->device, dsc->segment, dpage,          
                           strerror (ret), ret);                      
        rtems_fdisk_queue_segment (fd, dsc);                          
   44ad8:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   44adc:	2e8a           	movel %a2,%sp@                              <== NOT EXECUTED
   44ade:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44ae0:	4eba fa00      	jsr %pc@(444e2 <rtems_fdisk_queue_segment>) <== NOT EXECUTED
rtems_fdisk_segment_queue_push_head (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = queue->head;                                           
   44ae4:	26ac 0040      	movel %a4@(64),%a3@                         <== NOT EXECUTED
    queue->head = sc;                                                 
                                                                      
    if (queue->tail == 0)                                             
   44ae8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   44aea:	222e fff4      	movel %fp@(-12),%d1                         <== NOT EXECUTED
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = queue->head;                                           
    queue->head = sc;                                                 
   44aee:	294b 0040      	movel %a3,%a4@(64)                          <== NOT EXECUTED
                                                                      
    if (queue->tail == 0)                                             
   44af2:	4aac 0044      	tstl %a4@(68)                               <== NOT EXECUTED
   44af6:	6700 01c2      	beqw 44cba <rtems_fdisk_recycle_segment+0x368><== NOT EXECUTED
      queue->tail = sc;                                               
    queue->count++;                                                   
   44afa:	52ac 0048      	addql #1,%a4@(72)                           <== NOT EXECUTED
  }                                                                   
                                                                      
  ret = rtems_fdisk_erase_segment (fd, ssc);                          
                                                                      
  return ret;                                                         
}                                                                     
   44afe:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   44b00:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44b06:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44b08:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  for (spage = 0; spage < ssc->pages; spage++)                        
  {                                                                   
    rtems_fdisk_page_desc* spd = &ssc->page_descriptors[spage];       
                                                                      
    if (!dsc && ssc->pages_active > 0)                                
   44b0a:	4aab 001c      	tstl %a3@(28)                               <== NOT EXECUTED
   44b0e:	6700 fe7e      	beqw 4498e <rtems_fdisk_recycle_segment+0x3c><== NOT EXECUTED
    {                                                                 
      rtems_fdisk_error ("recycle: no available dst segment");        
      return EIO;                                                     
   44b12:	7205           	moveq #5,%d1                                <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_page_desc* spd = &ssc->page_descriptors[spage];       
                                                                      
    if (!dsc && ssc->pages_active > 0)                                
    {                                                                 
      rtems_fdisk_error ("recycle: no available dst segment");        
   44b14:	4879 0006 fccd 	pea 6fccd <map.6766+0x117>                  <== NOT EXECUTED
   44b1a:	2d41 fff4      	movel %d1,%fp@(-12)                         <== NOT EXECUTED
   44b1e:	4eba f7c6      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
      return EIO;                                                     
   44b22:	222e fff4      	movel %fp@(-12),%d1                         <== NOT EXECUTED
   44b26:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  ret = rtems_fdisk_erase_segment (fd, ssc);                          
                                                                      
  return ret;                                                         
}                                                                     
   44b28:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   44b2a:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44b30:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44b32:	4e75           	rts                                         <== NOT EXECUTED
#endif                                                                
  ret = rtems_fdisk_seg_read_page (fd, src_sc, src_page,              
                                   fd->copy_buffer);                  
  if (ret)                                                            
    return ret;                                                       
  return rtems_fdisk_seg_write_page (fd, dst_sc, dst_page,            
   44b34:	2f2c 0068      	movel %a4@(104),%sp@-                       <== NOT EXECUTED
   44b38:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   44b3a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   44b3c:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44b3e:	4eba fd48      	jsr %pc@(44888 <rtems_fdisk_seg_write_page>)<== NOT EXECUTED
#endif                                                                
      ret = rtems_fdisk_seg_copy_page (fd, ssc,                       
                                       spage + ssc->pages_desc,       
                                       dsc,                           
                                       dpage + dsc->pages_desc);      
      if (ret)                                                        
   44b42:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   44b46:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44b48:	6600 ff5c      	bnew 44aa6 <rtems_fdisk_recycle_segment+0x154><== NOT EXECUTED
        rtems_fdisk_queue_segment (fd, dsc);                          
        rtems_fdisk_segment_queue_push_head (&fd->used, ssc);         
        return ret;                                                   
      }                                                               
                                                                      
      *dpd = *spd;                                                    
   44b4c:	2047           	moveal %d7,%a0                              <== NOT EXECUTED
   44b4e:	2015           	movel %a5@,%d0                              <== NOT EXECUTED
   44b50:	222d 0004      	movel %a5@(4),%d1                           <== NOT EXECUTED
   44b54:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
   44b56:	2141 0004      	movel %d1,%a0@(4)                           <== NOT EXECUTED
                                                                      
      ret = rtems_fdisk_seg_write_page_desc (fd,                      
   44b5a:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   44b5c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   44b5e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   44b60:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44b62:	4eba fd92      	jsr %pc@(448f6 <rtems_fdisk_seg_write_page_desc>)<== NOT EXECUTED
                                             dsc,                     
                                             dpage, dpd);             
                                                                      
      if (ret)                                                        
   44b66:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   44b6a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   44b6c:	6600 00e8      	bnew 44c56 <rtems_fdisk_recycle_segment+0x304><== NOT EXECUTED
       */                                                             
                                                                      
      ssc->pages_active--;                                            
      ssc->pages_used++;                                              
                                                                      
      fd->blocks[spd->block].segment = dsc;                           
   44b70:	202d 0004      	movel %a5@(4),%d0                           <== NOT EXECUTED
        rtems_fdisk_queue_segment (fd, dsc);                          
        rtems_fdisk_segment_queue_push_head (&fd->used, ssc);         
        return ret;                                                   
      }                                                               
                                                                      
      dsc->pages_active++;                                            
   44b74:	52aa 001c      	addql #1,%a2@(28)                           <== NOT EXECUTED
       * We do the stats to make sure everything is as it should      
       * be.                                                          
       */                                                             
                                                                      
      ssc->pages_active--;                                            
      ssc->pages_used++;                                              
   44b78:	52ab 0020      	addql #1,%a3@(32)                           <== NOT EXECUTED
       * segment will be erased. Power down could be a problem.       
       * We do the stats to make sure everything is as it should      
       * be.                                                          
       */                                                             
                                                                      
      ssc->pages_active--;                                            
   44b7c:	53ab 001c      	subql #1,%a3@(28)                           <== NOT EXECUTED
      ssc->pages_used++;                                              
                                                                      
      fd->blocks[spd->block].segment = dsc;                           
   44b80:	206c 0018      	moveal %a4@(24),%a0                         <== NOT EXECUTED
   44b84:	e788           	lsll #3,%d0                                 <== NOT EXECUTED
   44b86:	d1c0           	addal %d0,%a0                               <== NOT EXECUTED
   44b88:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
      fd->blocks[spd->block].page    = dpage;                         
   44b8a:	2142 0004      	movel %d2,%a0@(4)                           <== NOT EXECUTED
                                                                      
      /*                                                              
       * Place the segment on to the correct queue.                   
       */                                                             
      rtems_fdisk_queue_segment (fd, dsc);                            
   44b8e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   44b90:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44b92:	4eba f94e      	jsr %pc@(444e2 <rtems_fdisk_queue_segment>) <== NOT EXECUTED
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   44b96:	202a 0020      	movel %a2@(32),%d0                          <== NOT EXECUTED
   44b9a:	d0aa 001c      	addl %a2@(28),%d0                           <== NOT EXECUTED
   44b9e:	d0aa 0024      	addl %a2@(36),%d0                           <== NOT EXECUTED
                                                                      
      /*                                                              
       * Get new destination segment if necessary.                    
       */                                                             
      dst_pages = rtems_fdisk_seg_pages_available (dsc);              
      if (dst_pages == 0)                                             
   44ba2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   44ba4:	b0aa 0014      	cmpl %a2@(20),%d0                           <== NOT EXECUTED
   44ba8:	674c           	beqs 44bf6 <rtems_fdisk_recycle_segment+0x2a4><== NOT EXECUTED
        dsc = rtems_fdisk_seg_most_available (&fd->available);        
                                                                      
      (*pages)--;                                                     
   44baa:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   44bae:	5390           	subql #1,%a0@                               <== NOT EXECUTED
  int      ret;                                                       
  uint32_t spage;                                                     
  uint32_t used = 0;                                                  
  uint32_t active = 0;                                                
                                                                      
  for (spage = 0; spage < ssc->pages; spage++)                        
   44bb0:	5283           	addql #1,%d3                                <== NOT EXECUTED
   44bb2:	b6ab 0014      	cmpl %a3@(20),%d3                           <== NOT EXECUTED
   44bb6:	6500 fdc6      	bcsw 4497e <rtems_fdisk_recycle_segment+0x2c><== NOT EXECUTED
      used++;                                                         
    }                                                                 
  }                                                                   
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_printf (fd, "ssc end: %d-%d: p=%ld, a=%ld, u=%ld",      
   44bba:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   44bbc:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
   44bc0:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   44bc4:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   44bc8:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   44bcc:	4879 0006 fdfa 	pea 6fdfa <map.6766+0x244>                  <== NOT EXECUTED
   44bd2:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44bd4:	4eba f576      	jsr %pc@(4414c <rtems_fdisk_printf>)        <== NOT EXECUTED
                      ssc->device, ssc->segment,                      
                      pages, active, used);                           
#endif                                                                
  if (ssc->pages_active != 0)                                         
   44bd8:	202b 001c      	movel %a3@(28),%d0                          <== NOT EXECUTED
   44bdc:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   44be0:	6652           	bnes 44c34 <rtems_fdisk_recycle_segment+0x2e2><== NOT EXECUTED
  {                                                                   
    rtems_fdisk_error ("compacting: ssc pages not 0: %d",             
                       ssc->pages_active);                            
  }                                                                   
                                                                      
  ret = rtems_fdisk_erase_segment (fd, ssc);                          
   44be2:	2d4b 000c      	movel %a3,%fp@(12)                          <== NOT EXECUTED
   44be6:	2d4c 0008      	movel %a4,%fp@(8)                           <== NOT EXECUTED
                                                                      
  return ret;                                                         
}                                                                     
   44bea:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44bf0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_error ("compacting: ssc pages not 0: %d",             
                       ssc->pages_active);                            
  }                                                                   
                                                                      
  ret = rtems_fdisk_erase_segment (fd, ssc);                          
   44bf2:	6000 f762      	braw 44356 <rtems_fdisk_erase_segment>      <== NOT EXECUTED
      /*                                                              
       * Get new destination segment if necessary.                    
       */                                                             
      dst_pages = rtems_fdisk_seg_pages_available (dsc);              
      if (dst_pages == 0)                                             
        dsc = rtems_fdisk_seg_most_available (&fd->available);        
   44bf6:	2f2c 0034      	movel %a4@(52),%sp@-                        <== NOT EXECUTED
   44bfa:	4eba fb34      	jsr %pc@(44730 <rtems_fdisk_seg_most_available.isra.12>)<== NOT EXECUTED
                                                                      
      (*pages)--;                                                     
   44bfe:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   44c02:	5390           	subql #1,%a0@                               <== NOT EXECUTED
      /*                                                              
       * Get new destination segment if necessary.                    
       */                                                             
      dst_pages = rtems_fdisk_seg_pages_available (dsc);              
      if (dst_pages == 0)                                             
        dsc = rtems_fdisk_seg_most_available (&fd->available);        
   44c04:	588f           	addql #4,%sp                                <== NOT EXECUTED
   44c06:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   44c08:	60a6           	bras 44bb0 <rtems_fdisk_recycle_segment+0x25e><== NOT EXECUTED
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   44c0a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   44c0c:	b095           	cmpl %a5@,%d0                               <== NOT EXECUTED
   44c0e:	670e           	beqs 44c1e <rtems_fdisk_recycle_segment+0x2cc><== NOT EXECUTED
    {                                                                 
      --fd->erased_blocks;                                            
    }                                                                 
    else                                                              
    {                                                                 
      used++;                                                         
   44c10:	5284           	addql #1,%d4                                <== NOT EXECUTED
  int      ret;                                                       
  uint32_t spage;                                                     
  uint32_t used = 0;                                                  
  uint32_t active = 0;                                                
                                                                      
  for (spage = 0; spage < ssc->pages; spage++)                        
   44c12:	5283           	addql #1,%d3                                <== NOT EXECUTED
   44c14:	b6ab 0014      	cmpl %a3@(20),%d3                           <== NOT EXECUTED
   44c18:	6500 fd64      	bcsw 4497e <rtems_fdisk_recycle_segment+0x2c><== NOT EXECUTED
   44c1c:	609c           	bras 44bba <rtems_fdisk_recycle_segment+0x268><== NOT EXECUTED
static bool                                                           
rtems_fdisk_page_desc_erased (const rtems_fdisk_page_desc* pd)        
{                                                                     
  return ((pd->crc == 0xffff) &&                                      
          (pd->flags == 0xffff) &&                                    
          (pd->block == 0xffffffff)) ? true : false;                  
   44c1e:	b0ad 0004      	cmpl %a5@(4),%d0                            <== NOT EXECUTED
   44c22:	66ec           	bnes 44c10 <rtems_fdisk_recycle_segment+0x2be><== NOT EXECUTED
                                                                      
      (*pages)--;                                                     
    }                                                                 
    else if (rtems_fdisk_page_desc_erased (spd))                      
    {                                                                 
      --fd->erased_blocks;                                            
   44c24:	53ac 0028      	subql #1,%a4@(40)                           <== NOT EXECUTED
  int      ret;                                                       
  uint32_t spage;                                                     
  uint32_t used = 0;                                                  
  uint32_t active = 0;                                                
                                                                      
  for (spage = 0; spage < ssc->pages; spage++)                        
   44c28:	5283           	addql #1,%d3                                <== NOT EXECUTED
   44c2a:	b6ab 0014      	cmpl %a3@(20),%d3                           <== NOT EXECUTED
   44c2e:	6500 fd4e      	bcsw 4497e <rtems_fdisk_recycle_segment+0x2c><== NOT EXECUTED
   44c32:	6086           	bras 44bba <rtems_fdisk_recycle_segment+0x268><== NOT EXECUTED
                      ssc->device, ssc->segment,                      
                      pages, active, used);                           
#endif                                                                
  if (ssc->pages_active != 0)                                         
  {                                                                   
    rtems_fdisk_error ("compacting: ssc pages not 0: %d",             
   44c34:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44c36:	4879 0006 fe1e 	pea 6fe1e <map.6766+0x268>                  <== NOT EXECUTED
   44c3c:	4eba f6a8      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
   44c40:	508f           	addql #8,%sp                                <== NOT EXECUTED
                       ssc->pages_active);                            
  }                                                                   
                                                                      
  ret = rtems_fdisk_erase_segment (fd, ssc);                          
   44c42:	2d4b 000c      	movel %a3,%fp@(12)                          <== NOT EXECUTED
   44c46:	2d4c 0008      	movel %a4,%fp@(8)                           <== NOT EXECUTED
                                                                      
  return ret;                                                         
}                                                                     
   44c4a:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   44c50:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  {                                                                   
    rtems_fdisk_error ("compacting: ssc pages not 0: %d",             
                       ssc->pages_active);                            
  }                                                                   
                                                                      
  ret = rtems_fdisk_erase_segment (fd, ssc);                          
   44c52:	6000 f702      	braw 44356 <rtems_fdisk_erase_segment>      <== NOT EXECUTED
                                             dsc,                     
                                             dpage, dpd);             
                                                                      
      if (ret)                                                        
      {                                                               
        rtems_fdisk_error ("recycle: %02d-%03d-%03d=>"   \            
   44c56:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44c58:	2d40 fff4      	movel %d0,%fp@(-12)                         <== NOT EXECUTED
   44c5c:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   44c62:	222e fff4      	movel %fp@(-12),%d1                         <== NOT EXECUTED
   44c66:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   44c68:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44c6a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   44c6c:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   44c70:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   44c74:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   44c76:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   44c7a:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   44c7e:	4879 0006 fdb9 	pea 6fdb9 <map.6766+0x203>                  <== NOT EXECUTED
   44c84:	4eba f660      	jsr %pc@(442e6 <rtems_fdisk_error>)         <== NOT EXECUTED
                           "%02d-%03d-%03d: copy pd failed: %s (%d)", 
                           ssc->device, ssc->segment, spage,          
                           dsc->device, dsc->segment, dpage,          
                           strerror (ret), ret);                      
        rtems_fdisk_queue_segment (fd, dsc);                          
   44c88:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   44c8c:	2e8a           	movel %a2,%sp@                              <== NOT EXECUTED
   44c8e:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44c90:	4eba f850      	jsr %pc@(444e2 <rtems_fdisk_queue_segment>) <== NOT EXECUTED
rtems_fdisk_segment_queue_push_head (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = queue->head;                                           
   44c94:	26ac 0040      	movel %a4@(64),%a3@                         <== NOT EXECUTED
    queue->head = sc;                                                 
                                                                      
    if (queue->tail == 0)                                             
   44c98:	508f           	addql #8,%sp                                <== NOT EXECUTED
   44c9a:	222e fff4      	movel %fp@(-12),%d1                         <== NOT EXECUTED
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
  {                                                                   
    sc->next = queue->head;                                           
    queue->head = sc;                                                 
   44c9e:	294b 0040      	movel %a3,%a4@(64)                          <== NOT EXECUTED
                                                                      
    if (queue->tail == 0)                                             
   44ca2:	4aac 0044      	tstl %a4@(68)                               <== NOT EXECUTED
   44ca6:	6600 fe52      	bnew 44afa <rtems_fdisk_recycle_segment+0x1a8><== NOT EXECUTED
   44caa:	600e           	bras 44cba <rtems_fdisk_recycle_segment+0x368><== NOT EXECUTED
      queue->tail = sc;                                               
    queue->count++;                                                   
   44cac:	52ac 0048      	addql #1,%a4@(72)                           <== NOT EXECUTED
                           dsc->device, dsc->segment,                 
                           rtems_fdisk_seg_pages_available (dsc));    
        dsc->failed = true;                                           
        rtems_fdisk_queue_segment (fd, dsc);                          
        rtems_fdisk_segment_queue_push_head (&fd->used, ssc);         
        return EIO;                                                   
   44cb0:	7205           	moveq #5,%d1                                <== NOT EXECUTED
  {                                                                   
    sc->next = queue->head;                                           
    queue->head = sc;                                                 
                                                                      
    if (queue->tail == 0)                                             
      queue->tail = sc;                                               
   44cb2:	294b 0044      	movel %a3,%a4@(68)                          <== NOT EXECUTED
   44cb6:	6000 fd52      	braw 44a0a <rtems_fdisk_recycle_segment+0xb8><== NOT EXECUTED
    queue->count++;                                                   
   44cba:	52ac 0048      	addql #1,%a4@(72)                           <== NOT EXECUTED
  {                                                                   
    sc->next = queue->head;                                           
    queue->head = sc;                                                 
                                                                      
    if (queue->tail == 0)                                             
      queue->tail = sc;                                               
   44cbe:	294b 0044      	movel %a3,%a4@(68)                          <== NOT EXECUTED
   44cc2:	6000 fe3a      	braw 44afe <rtems_fdisk_recycle_segment+0x1ac><== NOT EXECUTED
                                    rtems_fdisk_segment_ctl* dsc,     
                                    uint32_t *pages)                  
{                                                                     
  int      ret;                                                       
  uint32_t spage;                                                     
  uint32_t used = 0;                                                  
   44cc6:	4284           	clrl %d4                                    <== NOT EXECUTED
  uint32_t active = 0;                                                
   44cc8:	42ae fff8      	clrl %fp@(-8)                               <== NOT EXECUTED
      used++;                                                         
    }                                                                 
  }                                                                   
                                                                      
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_printf (fd, "ssc end: %d-%d: p=%ld, a=%ld, u=%ld",      
   44ccc:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   44cce:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
   44cd2:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   44cd6:	2f2b 000c      	movel %a3@(12),%sp@-                        <== NOT EXECUTED
   44cda:	2f2b 0008      	movel %a3@(8),%sp@-                         <== NOT EXECUTED
   44cde:	4879 0006 fdfa 	pea 6fdfa <map.6766+0x244>                  <== NOT EXECUTED
   44ce4:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   44ce6:	4eba f464      	jsr %pc@(4414c <rtems_fdisk_printf>)        <== NOT EXECUTED
                      ssc->device, ssc->segment,                      
                      pages, active, used);                           
#endif                                                                
  if (ssc->pages_active != 0)                                         
   44cea:	202b 001c      	movel %a3@(28),%d0                          <== NOT EXECUTED
   44cee:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   44cf2:	6700 feee      	beqw 44be2 <rtems_fdisk_recycle_segment+0x290><== NOT EXECUTED
   44cf6:	6000 ff3c      	braw 44c34 <rtems_fdisk_recycle_segment+0x2e2><== NOT EXECUTED
                                                                      

00044730 <rtems_fdisk_seg_most_available.isra.12>: /** * Find the segment on the queue that has the most free pages. */ static rtems_fdisk_segment_ctl* rtems_fdisk_seg_most_available (const rtems_fdisk_segment_ctl_queue* queue)
   44730:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   44734:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   44738:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
{                                                                     
  rtems_fdisk_segment_ctl* sc      = queue->head;                     
  rtems_fdisk_segment_ctl* biggest = queue->head;                     
                                                                      
  while (sc)                                                          
   4473a:	4a88           	tstl %a0                                    <== NOT EXECUTED
   4473c:	673e           	beqs 4477c <rtems_fdisk_seg_most_available.isra.12+0x4c><== NOT EXECUTED
   4473e:	2248           	moveal %a0,%a1                              <== NOT EXECUTED
                                                                      
/**                                                                   
 * Find the segment on the queue that has the most free pages.        
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_seg_most_available (const rtems_fdisk_segment_ctl_queue* queue)
   44740:	2228 0020      	movel %a0@(32),%d1                          <== NOT EXECUTED
   44744:	d2a8 001c      	addl %a0@(28),%d1                           <== NOT EXECUTED
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   44748:	2428 0014      	movel %a0@(20),%d2                          <== NOT EXECUTED
   4474c:	9481           	subl %d1,%d2                                <== NOT EXECUTED
   4474e:	2202           	movel %d2,%d1                               <== NOT EXECUTED
   44750:	92a8 0024      	subl %a0@(36),%d1                           <== NOT EXECUTED
                                                                      
/**                                                                   
 * Find the segment on the queue that has the most free pages.        
 */                                                                   
static rtems_fdisk_segment_ctl*                                       
rtems_fdisk_seg_most_available (const rtems_fdisk_segment_ctl_queue* queue)
   44754:	2029 001c      	movel %a1@(28),%d0                          <== NOT EXECUTED
   44758:	d0a9 0020      	addl %a1@(32),%d0                           <== NOT EXECUTED
 * active, used and bad pages.                                        
 */                                                                   
static uint32_t                                                       
rtems_fdisk_seg_pages_available (const rtems_fdisk_segment_ctl* sc)   
{                                                                     
  return sc->pages - (sc->pages_active + sc->pages_used + sc->pages_bad);
   4475c:	2429 0014      	movel %a1@(20),%d2                          <== NOT EXECUTED
   44760:	9480           	subl %d0,%d2                                <== NOT EXECUTED
   44762:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   44764:	90a9 0024      	subl %a1@(36),%d0                           <== NOT EXECUTED
  rtems_fdisk_segment_ctl* sc      = queue->head;                     
  rtems_fdisk_segment_ctl* biggest = queue->head;                     
                                                                      
  while (sc)                                                          
  {                                                                   
    if (rtems_fdisk_seg_pages_available (sc) >                        
   44768:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   4476a:	6402           	bccs 4476e <rtems_fdisk_seg_most_available.isra.12+0x3e><== NOT EXECUTED
   4476c:	2248           	moveal %a0,%a1                              <== NOT EXECUTED
        rtems_fdisk_seg_pages_available (biggest))                    
      biggest = sc;                                                   
    sc = sc->next;                                                    
   4476e:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
rtems_fdisk_seg_most_available (const rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc      = queue->head;                     
  rtems_fdisk_segment_ctl* biggest = queue->head;                     
                                                                      
  while (sc)                                                          
   44770:	4a88           	tstl %a0                                    <== NOT EXECUTED
   44772:	66cc           	bnes 44740 <rtems_fdisk_seg_most_available.isra.12+0x10><== NOT EXECUTED
      biggest = sc;                                                   
    sc = sc->next;                                                    
  }                                                                   
                                                                      
  return biggest;                                                     
}                                                                     
   44774:	241f           	movel %sp@+,%d2                             <== NOT EXECUTED
   44776:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   44778:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4477a:	4e75           	rts                                         <== NOT EXECUTED
   4477c:	241f           	movel %sp@+,%d2                             <== NOT EXECUTED
rtems_fdisk_seg_most_available (const rtems_fdisk_segment_ctl_queue* queue)
{                                                                     
  rtems_fdisk_segment_ctl* sc      = queue->head;                     
  rtems_fdisk_segment_ctl* biggest = queue->head;                     
                                                                      
  while (sc)                                                          
   4477e:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
      biggest = sc;                                                   
    sc = sc->next;                                                    
  }                                                                   
                                                                      
  return biggest;                                                     
}                                                                     
   44780:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   44782:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000441d6 <rtems_fdisk_seg_write>: rtems_fdisk_seg_write (const rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc, uint32_t offset, const void* buffer, uint32_t size) {
   441d6:	4e56 ffe4      	linkw %fp,#-28                              
   441da:	206e 0008      	moveal %fp@(8),%a0                          
   441de:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 
   441e2:	246e 000c      	moveal %fp@(12),%a2                         
  int ret;                                                            
  uint32_t                           device;                          
  uint32_t                           segment;                         
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
   441e6:	242a 0008      	movel %a2@(8),%d2                           
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   441ea:	2202           	movel %d2,%d1                               
   441ec:	2002           	movel %d2,%d0                               
   441ee:	e589           	lsll #2,%d1                                 
   441f0:	e988           	lsll #4,%d0                                 
   441f2:	2268 002c      	moveal %a0@(44),%a1                         
   441f6:	9081           	subl %d1,%d0                                
   441f8:	d3c0           	addal %d0,%a1                               
  uint32_t                           device;                          
  uint32_t                           segment;                         
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
   441fa:	262a 000c      	movel %a2@(12),%d3                          
static const rtems_fdisk_segment_desc*                                
rtems_fdisk_seg_descriptor (const rtems_flashdisk* fd,                
                            uint32_t               device,            
                            uint32_t               segment)           
{                                                                     
  return fd->devices[device].segments[segment].descriptor;            
   441fe:	2203           	movel %d3,%d1                               
   44200:	2003           	movel %d3,%d0                               
   44202:	e989           	lsll #4,%d1                                 
   44204:	ed88           	lsll #6,%d0                                 
   44206:	2651           	moveal %a1@,%a3                             
   44208:	9081           	subl %d1,%d0                                
   4420a:	2c33 0804      	movel %a3@(00000004,%d0:l),%d6              
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
  sd = rtems_fdisk_seg_descriptor (fd, device, segment);              
  ops = fd->devices[device].descriptor->flash_ops;                    
   4420e:	2269 0008      	moveal %a1@(8),%a1                          
rtems_fdisk_seg_write (const rtems_flashdisk*   fd,                   
                       rtems_fdisk_segment_ctl* sc,                   
                       uint32_t                 offset,               
                       const void*              buffer,               
                       uint32_t                 size)                 
{                                                                     
   44212:	2a2e 0018      	movel %fp@(24),%d5                          
  const rtems_fdisk_segment_desc*    sd;                              
  const rtems_fdisk_driver_handlers* ops;                             
  device = sc->device;                                                
  segment = sc->segment;                                              
  sd = rtems_fdisk_seg_descriptor (fd, device, segment);              
  ops = fd->devices[device].descriptor->flash_ops;                    
   44216:	2669 0008      	moveal %a1@(8),%a3                          
rtems_fdisk_seg_write (const rtems_flashdisk*   fd,                   
                       rtems_fdisk_segment_ctl* sc,                   
                       uint32_t                 offset,               
                       const void*              buffer,               
                       uint32_t                 size)                 
{                                                                     
   4421a:	282e 0010      	movel %fp@(16),%d4                          
  device = sc->device;                                                
  segment = sc->segment;                                              
  sd = rtems_fdisk_seg_descriptor (fd, device, segment);              
  ops = fd->devices[device].descriptor->flash_ops;                    
#if RTEMS_FDISK_TRACE                                                 
  rtems_fdisk_printf (fd, "  seg-write: %02d-%03d: o=%08x s=%d",      
   4421e:	2f05           	movel %d5,%sp@-                             
   44220:	2f04           	movel %d4,%sp@-                             
   44222:	2f03           	movel %d3,%sp@-                             
   44224:	2f02           	movel %d2,%sp@-                             
   44226:	4879 0006 fbce 	pea 6fbce <map.6766+0x18>                   
   4422c:	2f08           	movel %a0,%sp@-                             
   4422e:	4eba ff1c      	jsr %pc@(4414c <rtems_fdisk_printf>)        
                      device, segment, offset, size);                 
#endif                                                                
  ret = ops->write (sd, device, segment, offset, buffer, size);       
   44232:	2f05           	movel %d5,%sp@-                             
   44234:	2f2e 0014      	movel %fp@(20),%sp@-                        
   44238:	2f04           	movel %d4,%sp@-                             
   4423a:	2f03           	movel %d3,%sp@-                             
   4423c:	2f02           	movel %d2,%sp@-                             
   4423e:	2f06           	movel %d6,%sp@-                             
   44240:	206b 0004      	moveal %a3@(4),%a0                          
   44244:	4e90           	jsr %a0@                                    
  if (ret)                                                            
   44246:	4fef 0030      	lea %sp@(48),%sp                            
   4424a:	4a80           	tstl %d0                                    
   4424c:	6706           	beqs 44254 <rtems_fdisk_seg_write+0x7e>     <== ALWAYS TAKEN
    sc->failed = true;                                                
   4424e:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   44250:	2541 0028      	movel %d1,%a2@(40)                          <== NOT EXECUTED
                                                                      
  return ret;                                                         
}                                                                     
   44254:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            
   4425a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00044888 <rtems_fdisk_seg_write_page>: rtems_fdisk_seg_write_page (rtems_flashdisk* fd, rtems_fdisk_segment_ctl* sc, uint32_t page, const void* buffer) { if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))
   44888:	7008           	moveq #8,%d0                                
static int                                                            
rtems_fdisk_seg_write_page (rtems_flashdisk*         fd,              
                            rtems_fdisk_segment_ctl* sc,              
                            uint32_t                 page,            
                            const void*              buffer)          
{                                                                     
   4488a:	4e56 0000      	linkw %fp,#0                                
   4488e:	2f0b           	movel %a3,%sp@-                             
   44890:	266e 000c      	moveal %fp@(12),%a3                         
   44894:	2f0a           	movel %a2,%sp@-                             
   44896:	246e 0008      	moveal %fp@(8),%a2                          
  if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))             
   4489a:	c0aa 0008      	andl %a2@(8),%d0                            
   4489e:	6726           	beqs 448c6 <rtems_fdisk_seg_write_page+0x3e><== NEVER TAKEN
rtems_fdisk_seg_blank_check_page (const rtems_flashdisk*   fd,        
                                  rtems_fdisk_segment_ctl* sc,        
                                  uint32_t                 page)      
{                                                                     
  return rtems_fdisk_seg_blank_check (fd, sc,                         
                                      page * fd->block_size, fd->block_size);
   448a0:	202a 0014      	movel %a2@(20),%d0                          
static int                                                            
rtems_fdisk_seg_blank_check_page (const rtems_flashdisk*   fd,        
                                  rtems_fdisk_segment_ctl* sc,        
                                  uint32_t                 page)      
{                                                                     
  return rtems_fdisk_seg_blank_check (fd, sc,                         
   448a4:	222e 0010      	movel %fp@(16),%d1                          
   448a8:	4c00 1800      	mulsl %d0,%d1                               
   448ac:	2f00           	movel %d0,%sp@-                             
   448ae:	2f01           	movel %d1,%sp@-                             
   448b0:	2f2b 000c      	movel %a3@(12),%sp@-                        
   448b4:	2f2b 0008      	movel %a3@(8),%sp@-                         
   448b8:	2f0a           	movel %a2,%sp@-                             
   448ba:	4eba ff4e      	jsr %pc@(4480a <rtems_fdisk_seg_blank_check.isra.15>)
                            const void*              buffer)          
{                                                                     
  if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))             
  {                                                                   
    int ret = rtems_fdisk_seg_blank_check_page (fd, sc, page);        
    if (ret)                                                          
   448be:	4fef 0014      	lea %sp@(20),%sp                            
   448c2:	4a80           	tstl %d0                                    
   448c4:	6624           	bnes 448ea <rtems_fdisk_seg_write_page+0x62><== NEVER TAKEN
      return ret;                                                     
  }                                                                   
  --fd->erased_blocks;                                                
   448c6:	53aa 0028      	subql #1,%a2@(40)                           
  return rtems_fdisk_seg_write (fd, sc,                               
                                page * fd->block_size, buffer, fd->block_size);
   448ca:	202a 0014      	movel %a2@(20),%d0                          
    int ret = rtems_fdisk_seg_blank_check_page (fd, sc, page);        
    if (ret)                                                          
      return ret;                                                     
  }                                                                   
  --fd->erased_blocks;                                                
  return rtems_fdisk_seg_write (fd, sc,                               
   448ce:	222e 0010      	movel %fp@(16),%d1                          
   448d2:	4c00 1800      	mulsl %d0,%d1                               
   448d6:	2f00           	movel %d0,%sp@-                             
   448d8:	2f2e 0014      	movel %fp@(20),%sp@-                        
   448dc:	2f01           	movel %d1,%sp@-                             
   448de:	2f0b           	movel %a3,%sp@-                             
   448e0:	2f0a           	movel %a2,%sp@-                             
   448e2:	4eba f8f2      	jsr %pc@(441d6 <rtems_fdisk_seg_write>)     
   448e6:	4fef 0014      	lea %sp@(20),%sp                            
                                page * fd->block_size, buffer, fd->block_size);
}                                                                     
   448ea:	246e fff8      	moveal %fp@(-8),%a2                         
   448ee:	266e fffc      	moveal %fp@(-4),%a3                         
   448f2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000448f6 <rtems_fdisk_seg_write_page_desc>: rtems_fdisk_segment_ctl* sc, uint32_t page, const rtems_fdisk_page_desc* page_desc) { uint32_t offset = page * sizeof (rtems_fdisk_page_desc); if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))
   448f6:	7008           	moveq #8,%d0                                
static int                                                            
rtems_fdisk_seg_write_page_desc (const rtems_flashdisk*       fd,     
                                 rtems_fdisk_segment_ctl*     sc,     
                                 uint32_t                     page,   
                                 const rtems_fdisk_page_desc* page_desc)
{                                                                     
   448f8:	4e56 fff4      	linkw %fp,#-12                              
   448fc:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   44900:	246e 0008      	moveal %fp@(8),%a2                          
   44904:	242e 0010      	movel %fp@(16),%d2                          
  uint32_t offset = page * sizeof (rtems_fdisk_page_desc);            
  if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))             
   44908:	c0aa 0008      	andl %a2@(8),%d0                            
static int                                                            
rtems_fdisk_seg_write_page_desc (const rtems_flashdisk*       fd,     
                                 rtems_fdisk_segment_ctl*     sc,     
                                 uint32_t                     page,   
                                 const rtems_fdisk_page_desc* page_desc)
{                                                                     
   4490c:	266e 000c      	moveal %fp@(12),%a3                         
  uint32_t offset = page * sizeof (rtems_fdisk_page_desc);            
   44910:	e78a           	lsll #3,%d2                                 
  if ((fd->flags & RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE))             
   44912:	4a80           	tstl %d0                                    
   44914:	671c           	beqs 44932 <rtems_fdisk_seg_write_page_desc+0x3c><== NEVER TAKEN
  {                                                                   
    int ret = rtems_fdisk_seg_blank_check (fd, sc,                    
   44916:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   4491a:	2f02           	movel %d2,%sp@-                             
   4491c:	2f2b 000c      	movel %a3@(12),%sp@-                        
   44920:	2f2b 0008      	movel %a3@(8),%sp@-                         
   44924:	2f0a           	movel %a2,%sp@-                             
   44926:	4eba fee2      	jsr %pc@(4480a <rtems_fdisk_seg_blank_check.isra.15>)
                                           offset,                    
                                           sizeof (rtems_fdisk_page_desc));
    if (ret)                                                          
   4492a:	4fef 0014      	lea %sp@(20),%sp                            
   4492e:	4a80           	tstl %d0                                    
   44930:	6616           	bnes 44948 <rtems_fdisk_seg_write_page_desc+0x52><== NEVER TAKEN
      return ret;                                                     
  }                                                                   
  return rtems_fdisk_seg_write (fd, sc, offset,                       
   44932:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   44936:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4493a:	2f02           	movel %d2,%sp@-                             
   4493c:	2f0b           	movel %a3,%sp@-                             
   4493e:	2f0a           	movel %a2,%sp@-                             
   44940:	4eba f894      	jsr %pc@(441d6 <rtems_fdisk_seg_write>)     
   44944:	4fef 0014      	lea %sp@(20),%sp                            
                                page_desc, sizeof (rtems_fdisk_page_desc));
}                                                                     
   44948:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   4494e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004447c <rtems_fdisk_segment_queue_insert_before>: */ static void rtems_fdisk_segment_queue_insert_before (rtems_fdisk_segment_ctl_queue* queue, rtems_fdisk_segment_ctl* item, rtems_fdisk_segment_ctl* sc) {
   4447c:	4e56 0000      	linkw %fp,#0                                
   44480:	226e 0008      	moveal %fp@(8),%a1                          
   44484:	2f0a           	movel %a2,%sp@-                             
   44486:	222e 000c      	movel %fp@(12),%d1                          
   4448a:	246e 0010      	moveal %fp@(16),%a2                         
  if (item)                                                           
   4448e:	6718           	beqs 444a8 <rtems_fdisk_segment_queue_insert_before+0x2c><== NEVER TAKEN
  {                                                                   
    rtems_fdisk_segment_ctl** prev = &queue->head;                    
    rtems_fdisk_segment_ctl*  it = queue->head;                       
   44490:	2051           	moveal %a1@,%a0                             
                                                                      
    while (it)                                                        
   44492:	4a88           	tstl %a0                                    
   44494:	6712           	beqs 444a8 <rtems_fdisk_segment_queue_insert_before+0x2c><== NEVER TAKEN
    {                                                                 
      if (item == it)                                                 
   44496:	b1c1           	cmpal %d1,%a0                               
   44498:	672c           	beqs 444c6 <rtems_fdisk_segment_queue_insert_before+0x4a><== ALWAYS TAKEN
        queue->count++;                                               
        return;                                                       
      }                                                               
                                                                      
      prev = &it->next;                                               
      it = it->next;                                                  
   4449a:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
  if (item)                                                           
  {                                                                   
    rtems_fdisk_segment_ctl** prev = &queue->head;                    
    rtems_fdisk_segment_ctl*  it = queue->head;                       
                                                                      
    while (it)                                                        
   4449c:	670a           	beqs 444a8 <rtems_fdisk_segment_queue_insert_before+0x2c><== NOT EXECUTED
    {                                                                 
      if (item == it)                                                 
   4449e:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   444a0:	6726           	beqs 444c8 <rtems_fdisk_segment_queue_insert_before+0x4c><== NOT EXECUTED
   444a2:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
        queue->count++;                                               
        return;                                                       
      }                                                               
                                                                      
      prev = &it->next;                                               
      it = it->next;                                                  
   444a4:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
  if (item)                                                           
  {                                                                   
    rtems_fdisk_segment_ctl** prev = &queue->head;                    
    rtems_fdisk_segment_ctl*  it = queue->head;                       
                                                                      
    while (it)                                                        
   444a6:	66f6           	bnes 4449e <rtems_fdisk_segment_queue_insert_before+0x22><== NOT EXECUTED
 */                                                                   
static void                                                           
rtems_fdisk_segment_queue_push_tail (rtems_fdisk_segment_ctl_queue* queue,
                                     rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (sc)                                                             
   444a8:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   444aa:	6714           	beqs 444c0 <rtems_fdisk_segment_queue_insert_before+0x44><== NOT EXECUTED
  {                                                                   
    sc->next = 0;                                                     
   444ac:	4292           	clrl %a2@                                   <== NOT EXECUTED
                                                                      
    if (queue->head)                                                  
   444ae:	4a91           	tstl %a1@                                   <== NOT EXECUTED
   444b0:	6724           	beqs 444d6 <rtems_fdisk_segment_queue_insert_before+0x5a><== NOT EXECUTED
    {                                                                 
      queue->tail->next = sc;                                         
   444b2:	2069 0004      	moveal %a1@(4),%a0                          <== NOT EXECUTED
   444b6:	208a           	movel %a2,%a0@                              <== NOT EXECUTED
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   444b8:	52a9 0008      	addql #1,%a1@(8)                            <== NOT EXECUTED
    sc->next = 0;                                                     
                                                                      
    if (queue->head)                                                  
    {                                                                 
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
   444bc:	234a 0004      	movel %a2,%a1@(4)                           <== NOT EXECUTED
      it = it->next;                                                  
    }                                                                 
  }                                                                   
                                                                      
  rtems_fdisk_segment_queue_push_tail (queue, sc);                    
}                                                                     
   444c0:	245f           	moveal %sp@+,%a2                            <== NOT EXECUTED
   444c2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   444c4:	4e75           	rts                                         <== NOT EXECUTED
                                         rtems_fdisk_segment_ctl*       item,
                                         rtems_fdisk_segment_ctl*       sc)
{                                                                     
  if (item)                                                           
  {                                                                   
    rtems_fdisk_segment_ctl** prev = &queue->head;                    
   444c6:	2049           	moveal %a1,%a0                              
                                                                      
    while (it)                                                        
    {                                                                 
      if (item == it)                                                 
      {                                                               
        sc->next = item;                                              
   444c8:	2481           	movel %d1,%a2@                              
        *prev = sc;                                                   
   444ca:	208a           	movel %a2,%a0@                              
      it = it->next;                                                  
    }                                                                 
  }                                                                   
                                                                      
  rtems_fdisk_segment_queue_push_tail (queue, sc);                    
}                                                                     
   444cc:	245f           	moveal %sp@+,%a2                            
    {                                                                 
      if (item == it)                                                 
      {                                                               
        sc->next = item;                                              
        *prev = sc;                                                   
        queue->count++;                                               
   444ce:	52a9 0008      	addql #1,%a1@(8)                            
      it = it->next;                                                  
    }                                                                 
  }                                                                   
                                                                      
  rtems_fdisk_segment_queue_push_tail (queue, sc);                    
}                                                                     
   444d2:	4e5e           	unlk %fp                                    
   444d4:	4e75           	rts                                         
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
    }                                                                 
                                                                      
    queue->count++;                                                   
   444d6:	52a9 0008      	addql #1,%a1@(8)                            <== NOT EXECUTED
      queue->tail->next = sc;                                         
      queue->tail       = sc;                                         
    }                                                                 
    else                                                              
    {                                                                 
      queue->head = queue->tail = sc;                                 
   444da:	234a 0004      	movel %a2,%a1@(4)                           <== NOT EXECUTED
   444de:	228a           	movel %a2,%a1@                              <== NOT EXECUTED
   444e0:	60de           	bras 444c0 <rtems_fdisk_segment_queue_insert_before+0x44><== NOT EXECUTED
                                                                      

00043fa4 <rtems_fdisk_segment_queue_remove>: * Remove from the segment control queue. */ static void rtems_fdisk_segment_queue_remove (rtems_fdisk_segment_ctl_queue* queue, rtems_fdisk_segment_ctl* sc) {
   43fa4:	4e56 0000      	linkw %fp,#0                                
   43fa8:	226e 000c      	moveal %fp@(12),%a1                         
   43fac:	2f0a           	movel %a2,%sp@-                             
   43fae:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_fdisk_segment_ctl* prev = 0;                                  
  rtems_fdisk_segment_ctl* it = queue->head;                          
   43fb2:	2052           	moveal %a2@,%a0                             
                                                                      
  /*                                                                  
   * Do not change sc->next as sc could be on another queue.          
   */                                                                 
                                                                      
  while (it)                                                          
   43fb4:	4a88           	tstl %a0                                    
   43fb6:	6712           	beqs 43fca <rtems_fdisk_segment_queue_remove+0x26>
  {                                                                   
    if (sc == it)                                                     
   43fb8:	b3c8           	cmpal %a0,%a1                               
   43fba:	6734           	beqs 43ff0 <rtems_fdisk_segment_queue_remove+0x4c>
      queue->count--;                                                 
      break;                                                          
    }                                                                 
                                                                      
    prev = it;                                                        
    it = it->next;                                                    
   43fbc:	2010           	movel %a0@,%d0                              
                                                                      
  /*                                                                  
   * Do not change sc->next as sc could be on another queue.          
   */                                                                 
                                                                      
  while (it)                                                          
   43fbe:	670a           	beqs 43fca <rtems_fdisk_segment_queue_remove+0x26>
  {                                                                   
    if (sc == it)                                                     
   43fc0:	b089           	cmpl %a1,%d0                                
   43fc2:	670c           	beqs 43fd0 <rtems_fdisk_segment_queue_remove+0x2c><== NEVER TAKEN
   43fc4:	2040           	moveal %d0,%a0                              
      queue->count--;                                                 
      break;                                                          
    }                                                                 
                                                                      
    prev = it;                                                        
    it = it->next;                                                    
   43fc6:	2010           	movel %a0@,%d0                              
                                                                      
  /*                                                                  
   * Do not change sc->next as sc could be on another queue.          
   */                                                                 
                                                                      
  while (it)                                                          
   43fc8:	66f6           	bnes 43fc0 <rtems_fdisk_segment_queue_remove+0x1c>
    }                                                                 
                                                                      
    prev = it;                                                        
    it = it->next;                                                    
  }                                                                   
}                                                                     
   43fca:	245f           	moveal %sp@+,%a2                            
   43fcc:	4e5e           	unlk %fp                                    
   43fce:	4e75           	rts                                         
        if (queue->head == 0)                                         
          queue->tail = 0;                                            
      }                                                               
      else                                                            
      {                                                               
        prev->next = sc->next;                                        
   43fd0:	2091           	movel %a1@,%a0@                             <== NOT EXECUTED
        if (queue->tail == sc)                                        
   43fd2:	b3ea 0004      	cmpal %a2@(4),%a1                           <== NOT EXECUTED
   43fd6:	670c           	beqs 43fe4 <rtems_fdisk_segment_queue_remove+0x40><== NOT EXECUTED
          queue->tail = prev;                                         
      }                                                               
      sc->next = 0;                                                   
   43fd8:	4291           	clrl %a1@                                   
      queue->count--;                                                 
   43fda:	53aa 0008      	subql #1,%a2@(8)                            
    }                                                                 
                                                                      
    prev = it;                                                        
    it = it->next;                                                    
  }                                                                   
}                                                                     
   43fde:	245f           	moveal %sp@+,%a2                            
   43fe0:	4e5e           	unlk %fp                                    
   43fe2:	4e75           	rts                                         
      }                                                               
      else                                                            
      {                                                               
        prev->next = sc->next;                                        
        if (queue->tail == sc)                                        
          queue->tail = prev;                                         
   43fe4:	2548 0004      	movel %a0,%a2@(4)                           <== NOT EXECUTED
      }                                                               
      sc->next = 0;                                                   
   43fe8:	4291           	clrl %a1@                                   <== NOT EXECUTED
      queue->count--;                                                 
   43fea:	53aa 0008      	subql #1,%a2@(8)                            <== NOT EXECUTED
   43fee:	60ee           	bras 43fde <rtems_fdisk_segment_queue_remove+0x3a><== NOT EXECUTED
  {                                                                   
    if (sc == it)                                                     
    {                                                                 
      if (prev == 0)                                                  
      {                                                               
        queue->head = sc->next;                                       
   43ff0:	2011           	movel %a1@,%d0                              
   43ff2:	2480           	movel %d0,%a2@                              
        if (queue->head == 0)                                         
   43ff4:	66e2           	bnes 43fd8 <rtems_fdisk_segment_queue_remove+0x34><== ALWAYS TAKEN
          queue->tail = 0;                                            
   43ff6:	42aa 0004      	clrl %a2@(4)                                <== NOT EXECUTED
      {                                                               
        prev->next = sc->next;                                        
        if (queue->tail == sc)                                        
          queue->tail = prev;                                         
      }                                                               
      sc->next = 0;                                                   
   43ffa:	4291           	clrl %a1@                                   <== NOT EXECUTED
      queue->count--;                                                 
   43ffc:	53aa 0008      	subql #1,%a2@(8)                            <== NOT EXECUTED
   44000:	60dc           	bras 43fde <rtems_fdisk_segment_queue_remove+0x3a><== NOT EXECUTED
                                                                      

0004425e <rtems_fdisk_warning>: * @param ... The arguments for the format text. * @return int The number of bytes written to the output. */ static int rtems_fdisk_warning (const rtems_flashdisk* fd, const char *format, ...) {
   4425e:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   44262:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   44266:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  int ret = 0;                                                        
  if (fd->info_level >= 1)                                            
   44268:	4aa8 006c      	tstl %a0@(108)                              <== NOT EXECUTED
   4426c:	660c           	bnes 4427a <rtems_fdisk_warning+0x1c>       <== NOT EXECUTED
 * @return int The number of bytes written to the output.             
 */                                                                   
static int                                                            
rtems_fdisk_warning (const rtems_flashdisk* fd, const char *format, ...)
{                                                                     
  int ret = 0;                                                        
   4426e:	4282           	clrl %d2                                    <== NOT EXECUTED
    fprintf (stdout, "\n");                                           
    fflush (stdout);                                                  
    va_end (args);                                                    
  }                                                                   
  return ret;                                                         
}                                                                     
   44270:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   44272:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   44276:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44278:	4e75           	rts                                         <== NOT EXECUTED
  int ret = 0;                                                        
  if (fd->info_level >= 1)                                            
  {                                                                   
    va_list args;                                                     
    va_start (args, format);                                          
    fprintf (stdout, "fdisk:warning:");                               
   4427a:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   44280:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   44284:	4878 000e      	pea e <OPER1+0x2>                           <== NOT EXECUTED
   44288:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   4428c:	4879 0006 fbf2 	pea 6fbf2 <map.6766+0x3c>                   <== NOT EXECUTED
   44292:	4eb9 0006 123e 	jsr 6123e <fwrite>                          <== NOT EXECUTED
    ret =  vfprintf (stdout, format, args);                           
   44298:	486e 0010      	pea %fp@(16)                                <== NOT EXECUTED
   4429c:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   442a2:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   442a6:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   442aa:	4eb9 0006 86e0 	jsr 686e0 <vfprintf>                        <== NOT EXECUTED
    fprintf (stdout, "\n");                                           
   442b0:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
  if (fd->info_level >= 1)                                            
  {                                                                   
    va_list args;                                                     
    va_start (args, format);                                          
    fprintf (stdout, "fdisk:warning:");                               
    ret =  vfprintf (stdout, format, args);                           
   442b6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    fprintf (stdout, "\n");                                           
   442b8:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   442bc:	4878 000a      	pea a <LASTO>                               <== NOT EXECUTED
   442c0:	4eb9 0006 0bc0 	jsr 60bc0 <fputc>                           <== NOT EXECUTED
    fflush (stdout);                                                  
   442c6:	2079 0007 424c 	moveal 7424c <_impure_ptr>,%a0              <== NOT EXECUTED
   442cc:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
   442d0:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   442d4:	4eb9 0006 0792 	jsr 60792 <fflush>                          <== NOT EXECUTED
    va_end (args);                                                    
   442da:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
  return ret;                                                         
}                                                                     
   442dc:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   442de:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   442e2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004bd84 <rtems_filesystem_check_access>: int eval_flags, mode_t node_mode, uid_t node_uid, gid_t node_gid ) {
   4bd84:	4e56 fff4      	linkw %fp,#-12                              
   4bd88:	48d7 001c      	moveml %d2-%d4,%sp@                         
  mode_t perm_flags = eval_flags & RTEMS_FS_PERMS_RWX;                
   4bd8c:	7407           	moveq #7,%d2                                
  int eval_flags,                                                     
  mode_t node_mode,                                                   
  uid_t node_uid,                                                     
  gid_t node_gid                                                      
)                                                                     
{                                                                     
   4bd8e:	362e 0012      	movew %fp@(18),%d3                          
   4bd92:	382e 0016      	movew %fp@(22),%d4                          
  mode_t perm_flags = eval_flags & RTEMS_FS_PERMS_RWX;                
   4bd96:	c4ae 0008      	andl %fp@(8),%d2                            
  uid_t task_uid = geteuid();                                         
   4bd9a:	4eb9 0004 dc38 	jsr 4dc38 <geteuid>                         
                                                                      
  if (task_uid == 0 || task_uid == node_uid) {                        
   4bda0:	4a40           	tstw %d0                                    
   4bda2:	6732           	beqs 4bdd6 <rtems_filesystem_check_access+0x52>
   4bda4:	0280 0000 ffff 	andil #65535,%d0                            
   4bdaa:	0283 0000 ffff 	andil #65535,%d3                            
   4bdb0:	b680           	cmpl %d0,%d3                                
   4bdb2:	6722           	beqs 4bdd6 <rtems_filesystem_check_access+0x52>
    perm_flags <<= RTEMS_FS_USR_SHIFT;                                
  } else {                                                            
    gid_t task_gid = getegid();                                       
   4bdb4:	4eb9 0004 dc24 	jsr 4dc24 <getegid>                         
                                                                      
    if (task_gid == 0 || task_gid == node_gid) {                      
   4bdba:	4a40           	tstw %d0                                    
   4bdbc:	6630           	bnes 4bdee <rtems_filesystem_check_access+0x6a>
      perm_flags <<= RTEMS_FS_GRP_SHIFT;                              
   4bdbe:	e78a           	lsll #3,%d2                                 
    } else {                                                          
      perm_flags <<= RTEMS_FS_OTH_SHIFT;                              
    }                                                                 
  }                                                                   
                                                                      
  return (perm_flags & node_mode) == perm_flags;                      
   4bdc0:	2002           	movel %d2,%d0                               
   4bdc2:	c0ae 000c      	andl %fp@(12),%d0                           
   4bdc6:	b480           	cmpl %d0,%d2                                
   4bdc8:	57c0           	seq %d0                                     
}                                                                     
   4bdca:	4cee 001c fff4 	moveml %fp@(-12),%d2-%d4                    
   4bdd0:	4e5e           	unlk %fp                                    
   4bdd2:	4480           	negl %d0                                    
   4bdd4:	4e75           	rts                                         
{                                                                     
  mode_t perm_flags = eval_flags & RTEMS_FS_PERMS_RWX;                
  uid_t task_uid = geteuid();                                         
                                                                      
  if (task_uid == 0 || task_uid == node_uid) {                        
    perm_flags <<= RTEMS_FS_USR_SHIFT;                                
   4bdd6:	ed8a           	lsll #6,%d2                                 
    } else {                                                          
      perm_flags <<= RTEMS_FS_OTH_SHIFT;                              
    }                                                                 
  }                                                                   
                                                                      
  return (perm_flags & node_mode) == perm_flags;                      
   4bdd8:	2002           	movel %d2,%d0                               
   4bdda:	c0ae 000c      	andl %fp@(12),%d0                           
   4bdde:	b480           	cmpl %d0,%d2                                
   4bde0:	57c0           	seq %d0                                     
}                                                                     
   4bde2:	4cee 001c fff4 	moveml %fp@(-12),%d2-%d4                    
   4bde8:	4e5e           	unlk %fp                                    
   4bdea:	4480           	negl %d0                                    
   4bdec:	4e75           	rts                                         
  if (task_uid == 0 || task_uid == node_uid) {                        
    perm_flags <<= RTEMS_FS_USR_SHIFT;                                
  } else {                                                            
    gid_t task_gid = getegid();                                       
                                                                      
    if (task_gid == 0 || task_gid == node_gid) {                      
   4bdee:	0280 0000 ffff 	andil #65535,%d0                            
   4bdf4:	0284 0000 ffff 	andil #65535,%d4                            
   4bdfa:	b880           	cmpl %d0,%d4                                
   4bdfc:	67c0           	beqs 4bdbe <rtems_filesystem_check_access+0x3a><== NEVER TAKEN
    } else {                                                          
      perm_flags <<= RTEMS_FS_OTH_SHIFT;                              
    }                                                                 
  }                                                                   
                                                                      
  return (perm_flags & node_mode) == perm_flags;                      
   4bdfe:	2002           	movel %d2,%d0                               
   4be00:	c0ae 000c      	andl %fp@(12),%d0                           
   4be04:	b480           	cmpl %d0,%d2                                
   4be06:	57c0           	seq %d0                                     
}                                                                     
   4be08:	4cee 001c fff4 	moveml %fp@(-12),%d2-%d4                    
   4be0e:	4e5e           	unlk %fp                                    
   4be10:	4480           	negl %d0                                    <== NOT EXECUTED
                                                                      

00044734 <rtems_filesystem_do_unmount>: } void rtems_filesystem_do_unmount( rtems_filesystem_mount_table_entry_t *mt_entry ) {
   44734:	4e56 0000      	linkw %fp,#0                                
   44738:	2f0a           	movel %a2,%sp@-                             
   4473a:	246e 0008      	moveal %fp@(8),%a2                          
 */                                                                   
#include <rtems/userenv.h>                                            
                                                                      
static inline void rtems_libio_lock( void )                           
{                                                                     
  rtems_semaphore_obtain( rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
   4473e:	42a7           	clrl %sp@-                                  
   44740:	42a7           	clrl %sp@-                                  
   44742:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   44748:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   4474e:	2252           	moveal %a2@,%a1                             
  previous       = the_node->previous;                                
   44750:	206a 0004      	moveal %a2@(4),%a0                          
  next->previous = previous;                                          
   44754:	2348 0004      	movel %a0,%a1@(4)                           
  previous->next = next;                                              
   44758:	2089           	movel %a1,%a0@                              
}                                                                     
                                                                      
static inline void rtems_libio_unlock( void )                         
{                                                                     
  rtems_semaphore_release( rtems_libio_semaphore );                   
   4475a:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   44760:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  rtems_filesystem_mt_lock();                                         
  rtems_chain_extract_unprotected(&mt_entry->mt_node);                
  rtems_filesystem_mt_unlock();                                       
  rtems_filesystem_global_location_release(mt_entry->mt_point_node);  
   44766:	2f2a 0020      	movel %a2@(32),%sp@-                        
   4476a:	4eb9 0004 4954 	jsr 44954 <rtems_filesystem_global_location_release>
  (*mt_entry->ops->fsunmount_me_h)(mt_entry);                         
   44770:	206a 000c      	moveal %a2@(12),%a0                         
   44774:	2f0a           	movel %a2,%sp@-                             
   44776:	2068 003c      	moveal %a0@(60),%a0                         
   4477a:	4e90           	jsr %a0@                                    
                                                                      
  if (mt_entry->unmount_task != 0) {                                  
   4477c:	202a 003a      	movel %a2@(58),%d0                          
   44780:	4fef 0018      	lea %sp@(24),%sp                            
   44784:	6714           	beqs 4479a <rtems_filesystem_do_unmount+0x66><== NEVER TAKEN
 */                                                                   
RTEMS_INLINE_ROUTINE rtems_status_code rtems_event_transient_send(    
  rtems_id id                                                         
)                                                                     
{                                                                     
  return rtems_event_system_send( id, RTEMS_EVENT_SYSTEM_TRANSIENT ); 
   44786:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    
   4478c:	2f00           	movel %d0,%sp@-                             
   4478e:	4eb9 0004 7670 	jsr 47670 <rtems_event_system_send>         
    rtems_status_code sc =                                            
      rtems_event_transient_send(mt_entry->unmount_task);             
    if (sc != RTEMS_SUCCESSFUL) {                                     
   44794:	508f           	addql #8,%sp                                
   44796:	4a80           	tstl %d0                                    
   44798:	6610           	bnes 447aa <rtems_filesystem_do_unmount+0x76><== NEVER TAKEN
      rtems_fatal_error_occurred(0xdeadbeef);                         
    }                                                                 
  }                                                                   
                                                                      
  free(mt_entry);                                                     
   4479a:	2d4a 0008      	movel %a2,%fp@(8)                           
}                                                                     
   4479e:	246e fffc      	moveal %fp@(-4),%a2                         
   447a2:	4e5e           	unlk %fp                                    
    if (sc != RTEMS_SUCCESSFUL) {                                     
      rtems_fatal_error_occurred(0xdeadbeef);                         
    }                                                                 
  }                                                                   
                                                                      
  free(mt_entry);                                                     
   447a4:	4ef9 0004 30cc 	jmp 430cc <free>                            
                                                                      
  if (mt_entry->unmount_task != 0) {                                  
    rtems_status_code sc =                                            
      rtems_event_transient_send(mt_entry->unmount_task);             
    if (sc != RTEMS_SUCCESSFUL) {                                     
      rtems_fatal_error_occurred(0xdeadbeef);                         
   447aa:	2f3c dead beef 	movel #-559038737,%sp@-                     <== NOT EXECUTED
   447b0:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
                                                                      

0004c058 <rtems_filesystem_eval_path_eat_delimiter>: #include <rtems/libio_.h> void rtems_filesystem_eval_path_eat_delimiter( rtems_filesystem_eval_path_context_t *ctx ) {
   4c058:	4e56 0000      	linkw %fp,#0                                
   4c05c:	2f0a           	movel %a2,%sp@-                             
   4c05e:	246e 0008      	moveal %fp@(8),%a2                          
  const char *current = ctx->path;                                    
   4c062:	2212           	movel %a2@,%d1                              
  const char *end = current + ctx->pathlen;                           
   4c064:	2241           	moveal %d1,%a1                              
   4c066:	d3ea 0004      	addal %a2@(4),%a1                           
#include <rtems/libio_.h>                                             
                                                                      
void rtems_filesystem_eval_path_eat_delimiter(                        
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
   4c06a:	2f02           	movel %d2,%sp@-                             
  const char *current = ctx->path;                                    
  const char *end = current + ctx->pathlen;                           
                                                                      
  while (current != end && rtems_filesystem_is_delimiter(*current)) { 
   4c06c:	b3c1           	cmpal %d1,%a1                               
   4c06e:	6716           	beqs 4c086 <rtems_filesystem_eval_path_eat_delimiter+0x2e><== NEVER TAKEN
   4c070:	2041           	moveal %d1,%a0                              
   4c072:	2208           	movel %a0,%d1                               
  gid_t node_gid                                                      
);                                                                    
                                                                      
static inline bool rtems_filesystem_is_delimiter(char c)              
{                                                                     
  return c == '/' || c == '\\';                                       
   4c074:	742f           	moveq #47,%d2                               
   4c076:	1018           	moveb %a0@+,%d0                             
   4c078:	49c0           	extbl %d0                                   
   4c07a:	b480           	cmpl %d0,%d2                                
   4c07c:	6718           	beqs 4c096 <rtems_filesystem_eval_path_eat_delimiter+0x3e>
   4c07e:	143c 005c      	moveb #92,%d2                               
   4c082:	b480           	cmpl %d0,%d2                                
   4c084:	6710           	beqs 4c096 <rtems_filesystem_eval_path_eat_delimiter+0x3e>
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
  ctx->pathlen = (size_t) (end - current);                            
}                                                                     
   4c086:	241f           	movel %sp@+,%d2                             
  while (current != end && rtems_filesystem_is_delimiter(*current)) { 
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
  ctx->pathlen = (size_t) (end - current);                            
   4c088:	93c1           	subal %d1,%a1                               
                                                                      
  while (current != end && rtems_filesystem_is_delimiter(*current)) { 
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
   4c08a:	2481           	movel %d1,%a2@                              
  ctx->pathlen = (size_t) (end - current);                            
   4c08c:	2549 0004      	movel %a1,%a2@(4)                           
}                                                                     
   4c090:	245f           	moveal %sp@+,%a2                            
   4c092:	4e5e           	unlk %fp                                    
   4c094:	4e75           	rts                                         
{                                                                     
  const char *current = ctx->path;                                    
  const char *end = current + ctx->pathlen;                           
                                                                      
  while (current != end && rtems_filesystem_is_delimiter(*current)) { 
    ++current;                                                        
   4c096:	2208           	movel %a0,%d1                               
)                                                                     
{                                                                     
  const char *current = ctx->path;                                    
  const char *end = current + ctx->pathlen;                           
                                                                      
  while (current != end && rtems_filesystem_is_delimiter(*current)) { 
   4c098:	b1c9           	cmpal %a1,%a0                               
   4c09a:	66d6           	bnes 4c072 <rtems_filesystem_eval_path_eat_delimiter+0x1a>
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
  ctx->pathlen = (size_t) (end - current);                            
}                                                                     
   4c09c:	241f           	movel %sp@+,%d2                             
  while (current != end && rtems_filesystem_is_delimiter(*current)) { 
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
  ctx->pathlen = (size_t) (end - current);                            
   4c09e:	93c1           	subal %d1,%a1                               
                                                                      
  while (current != end && rtems_filesystem_is_delimiter(*current)) { 
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
   4c0a0:	2481           	movel %d1,%a2@                              
  ctx->pathlen = (size_t) (end - current);                            
   4c0a2:	2549 0004      	movel %a1,%a2@(4)                           
}                                                                     
   4c0a6:	245f           	moveal %sp@+,%a2                            
   4c0a8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004be60 <rtems_filesystem_eval_path_generic>: void rtems_filesystem_eval_path_generic( rtems_filesystem_eval_path_context_t *ctx, void *arg, const rtems_filesystem_eval_path_generic_config *config ) {
   4be60:	4e56 ffe4      	linkw %fp,#-28                              
   4be64:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
   4be68:	246e 0008      	moveal %fp@(8),%a2                          
              rtems_filesystem_eval_path_error(ctx, EINVAL);          
              status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;       
            }                                                         
          }                                                           
        } else if (rtems_filesystem_is_parent_directory(token, tokenlen)) {
          rtems_filesystem_location_info_t *currentloc =              
   4be6c:	280a           	movel %a2,%d4                               
   4be6e:	49f9 0004 c0ac 	lea 4c0ac <rtems_filesystem_eval_path_next_token>,%a4
   4be74:	0684 0000 0018 	addil #24,%d4                               
void rtems_filesystem_eval_path_generic(                              
  rtems_filesystem_eval_path_context_t *ctx,                          
  void *arg,                                                          
  const rtems_filesystem_eval_path_generic_config *config             
)                                                                     
{                                                                     
   4be7a:	262e 000c      	movel %fp@(12),%d3                          
   4be7e:	2a6e 0010      	moveal %fp@(16),%a5                         
  rtems_filesystem_eval_path_context_t *ctx,                          
  const char **token,                                                 
  size_t *tokenlen                                                    
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_next_token(ctx);                         
   4be82:	2f0a           	movel %a2,%sp@-                             
   4be84:	4e94           	jsr %a4@                                    
  *token = ctx->token;                                                
   4be86:	266a 0008      	moveal %a2@(8),%a3                          
    const char *token;                                                
    size_t tokenlen;                                                  
                                                                      
    rtems_filesystem_eval_path_get_next_token(ctx, &token, &tokenlen);
                                                                      
    if (tokenlen > 0) {                                               
   4be8a:	588f           	addql #4,%sp                                
  *tokenlen = ctx->tokenlen;                                          
   4be8c:	242a 000c      	movel %a2@(12),%d2                          
   4be90:	660a           	bnes 4be9c <rtems_filesystem_eval_path_generic+0x3c>
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4be92:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   4be98:	4e5e           	unlk %fp                                    
   4be9a:	4e75           	rts                                         
    size_t tokenlen;                                                  
                                                                      
    rtems_filesystem_eval_path_get_next_token(ctx, &token, &tokenlen);
                                                                      
    if (tokenlen > 0) {                                               
      if ((*config->is_directory)(ctx, arg)) {                        
   4be9c:	2f03           	movel %d3,%sp@-                             
   4be9e:	2055           	moveal %a5@,%a0                             
   4bea0:	2f0a           	movel %a2,%sp@-                             
   4bea2:	4e90           	jsr %a0@                                    
   4bea4:	508f           	addql #8,%sp                                
   4bea6:	4a00           	tstb %d0                                    
   4bea8:	672c           	beqs 4bed6 <rtems_filesystem_eval_path_generic+0x76>
static inline bool rtems_filesystem_is_current_directory(             
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 1 && token [0] == '.';                           
   4beaa:	7001           	moveq #1,%d0                                
   4beac:	b082           	cmpl %d2,%d0                                
   4beae:	673e           	beqs 4beee <rtems_filesystem_eval_path_generic+0x8e>
static inline bool rtems_filesystem_is_parent_directory(              
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 2 && token [0] == '.' && token [1] == '.';       
   4beb0:	7002           	moveq #2,%d0                                
   4beb2:	b082           	cmpl %d2,%d0                                
   4beb4:	6700 00ae      	beqw 4bf64 <rtems_filesystem_eval_path_generic+0x104>
            }                                                         
          } else {                                                    
            status = (*config->eval_token)(ctx, arg, "..", 2);        
          }                                                           
        } else {                                                      
          status = (*config->eval_token)(ctx, arg, token, tokenlen);  
   4beb8:	2f02           	movel %d2,%sp@-                             
   4beba:	206d 0004      	moveal %a5@(4),%a0                          
   4bebe:	2f0b           	movel %a3,%sp@-                             
   4bec0:	2f03           	movel %d3,%sp@-                             
   4bec2:	2f0a           	movel %a2,%sp@-                             
   4bec4:	4e90           	jsr %a0@                                    
   4bec6:	4fef 0010      	lea %sp@(16),%sp                            
        }                                                             
                                                                      
        if (status == RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY) {  
   4beca:	7202           	moveq #2,%d1                                
   4becc:	b280           	cmpl %d0,%d1                                
   4bece:	6756           	beqs 4bf26 <rtems_filesystem_eval_path_generic+0xc6>
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
    RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;                      
                                                                      
  while (status == RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE) {     
   4bed0:	4a80           	tstl %d0                                    
   4bed2:	67ae           	beqs 4be82 <rtems_filesystem_eval_path_generic+0x22>
   4bed4:	60bc           	bras 4be92 <rtems_filesystem_eval_path_generic+0x32>
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
            }                                                         
          }                                                           
        }                                                             
      } else {                                                        
        rtems_filesystem_eval_path_error(ctx, ENOTDIR);               
   4bed6:	7214           	moveq #20,%d1                               
   4bed8:	2d4a 0008      	movel %a2,%fp@(8)                           
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4bedc:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
            }                                                         
          }                                                           
        }                                                             
      } else {                                                        
        rtems_filesystem_eval_path_error(ctx, ENOTDIR);               
   4bee2:	2d41 000c      	movel %d1,%fp@(12)                          
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4bee6:	4e5e           	unlk %fp                                    
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
            }                                                         
          }                                                           
        }                                                             
      } else {                                                        
        rtems_filesystem_eval_path_error(ctx, ENOTDIR);               
   4bee8:	4ef9 0004 402a 	jmp 4402a <rtems_filesystem_eval_path_error>
static inline bool rtems_filesystem_is_current_directory(             
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 1 && token [0] == '.';                           
   4beee:	722e           	moveq #46,%d1                               
   4bef0:	1013           	moveb %a3@,%d0                              
   4bef2:	49c0           	extbl %d0                                   
   4bef4:	b280           	cmpl %d0,%d1                                
   4bef6:	66c0           	bnes 4beb8 <rtems_filesystem_eval_path_generic+0x58>
    rtems_filesystem_eval_path_get_next_token(ctx, &token, &tokenlen);
                                                                      
    if (tokenlen > 0) {                                               
      if ((*config->is_directory)(ctx, arg)) {                        
        if (rtems_filesystem_is_current_directory(token, tokenlen)) { 
          if (rtems_filesystem_eval_path_has_path(ctx)) {             
   4bef8:	4aaa 0004      	tstl %a2@(4)                                
   4befc:	6600 00d6      	bnew 4bfd4 <rtems_filesystem_eval_path_generic+0x174>
            status = (*config->eval_token)(ctx, arg, ".", 1);         
          } else {                                                    
            int eval_flags = rtems_filesystem_eval_path_get_flags(ctx);
                                                                      
            if ((eval_flags & RTEMS_FS_REJECT_TERMINAL_DOT) == 0) {   
   4bf00:	202a 0010      	movel %a2@(16),%d0                          
   4bf04:	0280 0000 0100 	andil #256,%d0                              
   4bf0a:	6700 00c8      	beqw 4bfd4 <rtems_filesystem_eval_path_generic+0x174>
              status = (*config->eval_token)(ctx, arg, ".", 1);       
            } else {                                                  
              rtems_filesystem_eval_path_error(ctx, EINVAL);          
   4bf0e:	7016           	moveq #22,%d0                               
            eval_flags = rtems_filesystem_eval_path_get_flags(ctx);   
            if (                                                      
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0 
                || rtems_filesystem_eval_path_has_path(ctx)           
            ) {                                                       
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
   4bf10:	2d4a 0008      	movel %a2,%fp@(8)                           
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4bf14:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
            eval_flags = rtems_filesystem_eval_path_get_flags(ctx);   
            if (                                                      
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0 
                || rtems_filesystem_eval_path_has_path(ctx)           
            ) {                                                       
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
   4bf1a:	2d40 000c      	movel %d0,%fp@(12)                          
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4bf1e:	4e5e           	unlk %fp                                    
            eval_flags = rtems_filesystem_eval_path_get_flags(ctx);   
            if (                                                      
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0 
                || rtems_filesystem_eval_path_has_path(ctx)           
            ) {                                                       
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
   4bf20:	4ef9 0004 402a 	jmp 4402a <rtems_filesystem_eval_path_error>
        } else {                                                      
          status = (*config->eval_token)(ctx, arg, token, tokenlen);  
        }                                                             
                                                                      
        if (status == RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY) {  
          if (rtems_filesystem_eval_path_has_path(ctx)) {             
   4bf26:	4aaa 0004      	tstl %a2@(4)                                
   4bf2a:	6700 ff66      	beqw 4be92 <rtems_filesystem_eval_path_generic+0x32>
            int eval_flags;                                           
                                                                      
            rtems_filesystem_eval_path_eat_delimiter(ctx);            
   4bf2e:	2f0a           	movel %a2,%sp@-                             
   4bf30:	4eb9 0004 c058 	jsr 4c058 <rtems_filesystem_eval_path_eat_delimiter>
            eval_flags = rtems_filesystem_eval_path_get_flags(ctx);   
            if (                                                      
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0 
   4bf36:	202a 0010      	movel %a2@(16),%d0                          
          if (rtems_filesystem_eval_path_has_path(ctx)) {             
            int eval_flags;                                           
                                                                      
            rtems_filesystem_eval_path_eat_delimiter(ctx);            
            eval_flags = rtems_filesystem_eval_path_get_flags(ctx);   
            if (                                                      
   4bf3a:	588f           	addql #4,%sp                                
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0 
   4bf3c:	0280 0000 0080 	andil #128,%d0                              
          if (rtems_filesystem_eval_path_has_path(ctx)) {             
            int eval_flags;                                           
                                                                      
            rtems_filesystem_eval_path_eat_delimiter(ctx);            
            eval_flags = rtems_filesystem_eval_path_get_flags(ctx);   
            if (                                                      
   4bf42:	6708           	beqs 4bf4c <rtems_filesystem_eval_path_generic+0xec>
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0 
                || rtems_filesystem_eval_path_has_path(ctx)           
   4bf44:	4aaa 0004      	tstl %a2@(4)                                
   4bf48:	6700 ff48      	beqw 4be92 <rtems_filesystem_eval_path_generic+0x32>
            ) {                                                       
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
   4bf4c:	7002           	moveq #2,%d0                                
   4bf4e:	2d4a 0008      	movel %a2,%fp@(8)                           
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4bf52:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
            eval_flags = rtems_filesystem_eval_path_get_flags(ctx);   
            if (                                                      
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0 
                || rtems_filesystem_eval_path_has_path(ctx)           
            ) {                                                       
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
   4bf58:	2d40 000c      	movel %d0,%fp@(12)                          
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4bf5c:	4e5e           	unlk %fp                                    
            eval_flags = rtems_filesystem_eval_path_get_flags(ctx);   
            if (                                                      
              (eval_flags & RTEMS_FS_ACCEPT_RESIDUAL_DELIMITERS) == 0 
                || rtems_filesystem_eval_path_has_path(ctx)           
            ) {                                                       
              rtems_filesystem_eval_path_error(ctx, ENOENT);          
   4bf5e:	4ef9 0004 402a 	jmp 4402a <rtems_filesystem_eval_path_error>
static inline bool rtems_filesystem_is_parent_directory(              
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 2 && token [0] == '.' && token [1] == '.';       
   4bf64:	722e           	moveq #46,%d1                               
   4bf66:	1013           	moveb %a3@,%d0                              
   4bf68:	49c0           	extbl %d0                                   
   4bf6a:	b280           	cmpl %d0,%d1                                
   4bf6c:	6600 ff4a      	bnew 4beb8 <rtems_filesystem_eval_path_generic+0x58>
   4bf70:	102b 0001      	moveb %a3@(1),%d0                           
   4bf74:	49c0           	extbl %d0                                   
   4bf76:	b280           	cmpl %d0,%d1                                
   4bf78:	6600 ff3e      	bnew 4beb8 <rtems_filesystem_eval_path_generic+0x58>
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4bf7c:	226a 0030      	moveal %a2@(48),%a1                         
static bool is_eval_path_root(                                        
  const rtems_filesystem_eval_path_context_t *ctx,                    
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
   4bf80:	206a 002c      	moveal %a2@(44),%a0                         
  const rtems_filesystem_location_info_t *rootloc = &ctx->rootloc->location;
                                                                      
  return mt_entry == rootloc->mt_entry                                
    && (*mt_entry->ops->are_nodes_equal_h)( loc, rootloc );           
   4bf84:	b1e9 0014      	cmpal %a1@(20),%a0                          
   4bf88:	6766           	beqs 4bff0 <rtems_filesystem_eval_path_generic+0x190>
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
  const rtems_filesystem_location_info_t *mt_fs_root =                
    &mt_entry->mt_fs_root->location;                                  
                                                                      
  return (*mt_entry->ops->are_nodes_equal_h)( loc, mt_fs_root );      
   4bf8a:	2268 000c      	moveal %a0@(12),%a1                         
   4bf8e:	2f28 0024      	movel %a0@(36),%sp@-                        
   4bf92:	2f04           	movel %d4,%sp@-                             
   4bf94:	2069 0010      	moveal %a1@(16),%a0                         
   4bf98:	4e90           	jsr %a0@                                    
            rtems_filesystem_eval_path_get_currentloc( ctx );         
                                                                      
          if (is_eval_path_root(ctx, currentloc)) {                   
            /* This prevents the escape from a chroot() environment */
            status = (*config->eval_token)(ctx, arg, ".", 1);         
          } else if (is_fs_root(currentloc)) {                        
   4bf9a:	508f           	addql #8,%sp                                
   4bf9c:	4a00           	tstb %d0                                    
   4bf9e:	677e           	beqs 4c01e <rtems_filesystem_eval_path_generic+0x1be>
            if (currentloc->mt_entry->mt_point_node != NULL) {        
   4bfa0:	206a 002c      	moveal %a2@(44),%a0                         
   4bfa4:	4aa8 0020      	tstl %a0@(32)                               
   4bfa8:	6700 0090      	beqw 4c03a <rtems_filesystem_eval_path_generic+0x1da>
                                                                      
static inline void rtems_filesystem_eval_path_put_back_token(         
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  size_t tokenlen = ctx->tokenlen;                                    
   4bfac:	202a 000c      	movel %a2@(12),%d0                          
                                                                      
  ctx->path -= tokenlen;                                              
   4bfb0:	9192           	subl %d0,%a2@                               
              rtems_filesystem_eval_path_put_back_token(ctx);         
              rtems_filesystem_eval_path_restart(                     
   4bfb2:	41e8 0020      	lea %a0@(32),%a0                            
   4bfb6:	2d48 000c      	movel %a0,%fp@(12)                          
  ctx->pathlen += tokenlen;                                           
   4bfba:	d1aa 0004      	addl %d0,%a2@(4)                            
  ctx->tokenlen = 0;                                                  
   4bfbe:	42aa 000c      	clrl %a2@(12)                               
   4bfc2:	2d4a 0008      	movel %a2,%fp@(8)                           
      }                                                               
    } else {                                                          
      status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;               
    }                                                                 
  }                                                                   
}                                                                     
   4bfc6:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   4bfcc:	4e5e           	unlk %fp                                    
            /* This prevents the escape from a chroot() environment */
            status = (*config->eval_token)(ctx, arg, ".", 1);         
          } else if (is_fs_root(currentloc)) {                        
            if (currentloc->mt_entry->mt_point_node != NULL) {        
              rtems_filesystem_eval_path_put_back_token(ctx);         
              rtems_filesystem_eval_path_restart(                     
   4bfce:	4ef9 0004 4540 	jmp 44540 <rtems_filesystem_eval_path_restart>
            status = (*config->eval_token)(ctx, arg, ".", 1);         
          } else {                                                    
            int eval_flags = rtems_filesystem_eval_path_get_flags(ctx);
                                                                      
            if ((eval_flags & RTEMS_FS_REJECT_TERMINAL_DOT) == 0) {   
              status = (*config->eval_token)(ctx, arg, ".", 1);       
   4bfd4:	4878 0001      	pea 1 <ADD>                                 
   4bfd8:	4879 0005 d839 	pea 5d839 <status_flags_assoc+0x31>         
            } else {                                                  
              /* This is the root file system */                      
              status = (*config->eval_token)(ctx, arg, ".", 1);       
            }                                                         
          } else {                                                    
            status = (*config->eval_token)(ctx, arg, "..", 2);        
   4bfde:	206d 0004      	moveal %a5@(4),%a0                          
   4bfe2:	2f03           	movel %d3,%sp@-                             
   4bfe4:	2f0a           	movel %a2,%sp@-                             
   4bfe6:	4e90           	jsr %a0@                                    
   4bfe8:	4fef 0010      	lea %sp@(16),%sp                            
   4bfec:	6000 fedc      	braw 4beca <rtems_filesystem_eval_path_generic+0x6a>
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
  const rtems_filesystem_location_info_t *rootloc = &ctx->rootloc->location;
                                                                      
  return mt_entry == rootloc->mt_entry                                
    && (*mt_entry->ops->are_nodes_equal_h)( loc, rootloc );           
   4bff0:	2068 000c      	moveal %a0@(12),%a0                         
   4bff4:	2f09           	movel %a1,%sp@-                             
   4bff6:	2f04           	movel %d4,%sp@-                             
   4bff8:	2068 0010      	moveal %a0@(16),%a0                         
   4bffc:	4e90           	jsr %a0@                                    
   4bffe:	508f           	addql #8,%sp                                
   4c000:	4a00           	tstb %d0                                    
   4c002:	6636           	bnes 4c03a <rtems_filesystem_eval_path_generic+0x1da>
   4c004:	206a 002c      	moveal %a2@(44),%a0                         
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
  const rtems_filesystem_location_info_t *mt_fs_root =                
    &mt_entry->mt_fs_root->location;                                  
                                                                      
  return (*mt_entry->ops->are_nodes_equal_h)( loc, mt_fs_root );      
   4c008:	2268 000c      	moveal %a0@(12),%a1                         
   4c00c:	2f28 0024      	movel %a0@(36),%sp@-                        
   4c010:	2f04           	movel %d4,%sp@-                             
   4c012:	2069 0010      	moveal %a1@(16),%a0                         
   4c016:	4e90           	jsr %a0@                                    
            rtems_filesystem_eval_path_get_currentloc( ctx );         
                                                                      
          if (is_eval_path_root(ctx, currentloc)) {                   
            /* This prevents the escape from a chroot() environment */
            status = (*config->eval_token)(ctx, arg, ".", 1);         
          } else if (is_fs_root(currentloc)) {                        
   4c018:	508f           	addql #8,%sp                                
   4c01a:	4a00           	tstb %d0                                    
   4c01c:	6682           	bnes 4bfa0 <rtems_filesystem_eval_path_generic+0x140><== NEVER TAKEN
            } else {                                                  
              /* This is the root file system */                      
              status = (*config->eval_token)(ctx, arg, ".", 1);       
            }                                                         
          } else {                                                    
            status = (*config->eval_token)(ctx, arg, "..", 2);        
   4c01e:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   4c022:	4879 0005 d838 	pea 5d838 <status_flags_assoc+0x30>         
   4c028:	206d 0004      	moveal %a5@(4),%a0                          
   4c02c:	2f03           	movel %d3,%sp@-                             
   4c02e:	2f0a           	movel %a2,%sp@-                             
   4c030:	4e90           	jsr %a0@                                    
   4c032:	4fef 0010      	lea %sp@(16),%sp                            
   4c036:	6000 fe92      	braw 4beca <rtems_filesystem_eval_path_generic+0x6a>
          rtems_filesystem_location_info_t *currentloc =              
            rtems_filesystem_eval_path_get_currentloc( ctx );         
                                                                      
          if (is_eval_path_root(ctx, currentloc)) {                   
            /* This prevents the escape from a chroot() environment */
            status = (*config->eval_token)(ctx, arg, ".", 1);         
   4c03a:	4878 0001      	pea 1 <ADD>                                 
   4c03e:	4879 0005 d839 	pea 5d839 <status_flags_assoc+0x31>         
   4c044:	202d 0004      	movel %a5@(4),%d0                           
   4c048:	2040           	moveal %d0,%a0                              
   4c04a:	2f03           	movel %d3,%sp@-                             
   4c04c:	2f0a           	movel %a2,%sp@-                             
   4c04e:	4e90           	jsr %a0@                                    
   4c050:	4fef 0010      	lea %sp@(16),%sp                            
   4c054:	6000 fe74      	braw 4beca <rtems_filesystem_eval_path_generic+0x6a>
                                                                      

0004c0ac <rtems_filesystem_eval_path_next_token>: } void rtems_filesystem_eval_path_next_token( rtems_filesystem_eval_path_context_t *ctx ) {
   4c0ac:	4e56 fff4      	linkw %fp,#-12                              
   4c0b0:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   4c0b4:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_filesystem_eval_path_eat_delimiter(ctx);                      
   4c0b8:	2f0a           	movel %a2,%sp@-                             
   4c0ba:	4eb9 0004 c058 	jsr 4c058 <rtems_filesystem_eval_path_eat_delimiter>
  ctx->pathlen = (size_t) (end - current);                            
}                                                                     
                                                                      
static void next_token(rtems_filesystem_eval_path_context_t *ctx)     
{                                                                     
  const char *begin = ctx->path;                                      
   4c0c0:	2252           	moveal %a2@,%a1                             
  const char *end = begin + ctx->pathlen;                             
   4c0c2:	2409           	movel %a1,%d2                               
   4c0c4:	d4aa 0004      	addl %a2@(4),%d2                            
  const char *current = begin;                                        
                                                                      
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
   4c0c8:	588f           	addql #4,%sp                                
   4c0ca:	b489           	cmpl %a1,%d2                                
   4c0cc:	674e           	beqs 4c11c <rtems_filesystem_eval_path_next_token+0x70>
   4c0ce:	722f           	moveq #47,%d1                               
   4c0d0:	1011           	moveb %a1@,%d0                              
   4c0d2:	49c0           	extbl %d0                                   
   4c0d4:	b280           	cmpl %d0,%d1                                
   4c0d6:	6764           	beqs 4c13c <rtems_filesystem_eval_path_next_token+0x90><== NEVER TAKEN
   4c0d8:	765c           	moveq #92,%d3                               
   4c0da:	b680           	cmpl %d0,%d3                                
   4c0dc:	673e           	beqs 4c11c <rtems_filesystem_eval_path_next_token+0x70><== NEVER TAKEN
  ctx->pathlen = (size_t) (end - current);                            
  ctx->token = begin;                                                 
  ctx->tokenlen = (size_t) (current - begin);                         
}                                                                     
                                                                      
void rtems_filesystem_eval_path_next_token(                           
   4c0de:	41e9 0001      	lea %a1@(1),%a0                             
  const char *begin = ctx->path;                                      
  const char *end = begin + ctx->pathlen;                             
  const char *current = begin;                                        
                                                                      
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
    ++current;                                                        
   4c0e2:	2008           	movel %a0,%d0                               
{                                                                     
  const char *begin = ctx->path;                                      
  const char *end = begin + ctx->pathlen;                             
  const char *current = begin;                                        
                                                                      
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
   4c0e4:	b488           	cmpl %a0,%d2                                
   4c0e6:	6774           	beqs 4c15c <rtems_filesystem_eval_path_next_token+0xb0>
   4c0e8:	762f           	moveq #47,%d3                               
   4c0ea:	1210           	moveb %a0@,%d1                              
   4c0ec:	2040           	moveal %d0,%a0                              
   4c0ee:	5288           	addql #1,%a0                                
   4c0f0:	49c1           	extbl %d1                                   
   4c0f2:	b681           	cmpl %d1,%d3                                
   4c0f4:	6706           	beqs 4c0fc <rtems_filesystem_eval_path_next_token+0x50>
   4c0f6:	765c           	moveq #92,%d3                               
   4c0f8:	b681           	cmpl %d1,%d3                                
   4c0fa:	66e6           	bnes 4c0e2 <rtems_filesystem_eval_path_next_token+0x36>
   4c0fc:	2040           	moveal %d0,%a0                              
   4c0fe:	2200           	movel %d0,%d1                               
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
  ctx->pathlen = (size_t) (end - current);                            
   4c100:	9488           	subl %a0,%d2                                
   4c102:	9289           	subl %a1,%d1                                
   4c104:	2542 0004      	movel %d2,%a2@(4)                           
                                                                      
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
   4c108:	2480           	movel %d0,%a2@                              
  ctx->pathlen = (size_t) (end - current);                            
  ctx->token = begin;                                                 
   4c10a:	2549 0008      	movel %a1,%a2@(8)                           
  ctx->tokenlen = (size_t) (current - begin);                         
   4c10e:	2541 000c      	movel %d1,%a2@(12)                          
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_eat_delimiter(ctx);                      
  next_token(ctx);                                                    
}                                                                     
   4c112:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   4c118:	4e5e           	unlk %fp                                    
   4c11a:	4e75           	rts                                         
   4c11c:	2049           	moveal %a1,%a0                              
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
  ctx->pathlen = (size_t) (end - current);                            
   4c11e:	9488           	subl %a0,%d2                                
   4c120:	2009           	movel %a1,%d0                               
   4c122:	4281           	clrl %d1                                    
   4c124:	2542 0004      	movel %d2,%a2@(4)                           
                                                                      
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
   4c128:	2480           	movel %d0,%a2@                              
  ctx->pathlen = (size_t) (end - current);                            
  ctx->token = begin;                                                 
   4c12a:	2549 0008      	movel %a1,%a2@(8)                           
  ctx->tokenlen = (size_t) (current - begin);                         
   4c12e:	2541 000c      	movel %d1,%a2@(12)                          
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_eat_delimiter(ctx);                      
  next_token(ctx);                                                    
}                                                                     
   4c132:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   4c138:	4e5e           	unlk %fp                                    
   4c13a:	4e75           	rts                                         
   4c13c:	2049           	moveal %a1,%a0                              <== NOT EXECUTED
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
  ctx->pathlen = (size_t) (end - current);                            
   4c13e:	9488           	subl %a0,%d2                                <== NOT EXECUTED
   4c140:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   4c142:	4201           	clrb %d1                                    <== NOT EXECUTED
   4c144:	2542 0004      	movel %d2,%a2@(4)                           <== NOT EXECUTED
                                                                      
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
   4c148:	2480           	movel %d0,%a2@                              <== NOT EXECUTED
  ctx->pathlen = (size_t) (end - current);                            
  ctx->token = begin;                                                 
   4c14a:	2549 0008      	movel %a1,%a2@(8)                           <== NOT EXECUTED
  ctx->tokenlen = (size_t) (current - begin);                         
   4c14e:	2541 000c      	movel %d1,%a2@(12)                          <== NOT EXECUTED
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_eat_delimiter(ctx);                      
  next_token(ctx);                                                    
}                                                                     
   4c152:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   4c158:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4c15a:	4e75           	rts                                         <== NOT EXECUTED
   4c15c:	2202           	movel %d2,%d1                               
   4c15e:	2042           	moveal %d2,%a0                              
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
  ctx->pathlen = (size_t) (end - current);                            
   4c160:	9488           	subl %a0,%d2                                
   4c162:	9289           	subl %a1,%d1                                
   4c164:	2542 0004      	movel %d2,%a2@(4)                           
                                                                      
  while (current != end && !rtems_filesystem_is_delimiter(*current)) {
    ++current;                                                        
  }                                                                   
                                                                      
  ctx->path = current;                                                
   4c168:	2480           	movel %d0,%a2@                              
  ctx->pathlen = (size_t) (end - current);                            
  ctx->token = begin;                                                 
   4c16a:	2549 0008      	movel %a1,%a2@(8)                           
  ctx->tokenlen = (size_t) (current - begin);                         
   4c16e:	2541 000c      	movel %d1,%a2@(12)                          
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_eat_delimiter(ctx);                      
  next_token(ctx);                                                    
}                                                                     
   4c172:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   4c178:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000445b4 <rtems_filesystem_eval_path_recursive>: void rtems_filesystem_eval_path_recursive( rtems_filesystem_eval_path_context_t *ctx, const char *path, size_t pathlen ) {
   445b4:	4e56 ffec      	linkw %fp,#-20                              
   445b8:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
   445bc:	246e 0008      	moveal %fp@(8),%a2                          
   445c0:	266e 000c      	moveal %fp@(12),%a3                         
   445c4:	242e 0010      	movel %fp@(16),%d2                          
  if (pathlen > 0) {                                                  
   445c8:	6772           	beqs 4463c <rtems_filesystem_eval_path_recursive+0x88><== NEVER TAKEN
    if (ctx->recursionlevel < RTEMS_FILESYSTEM_SYMLOOP_MAX) {         
   445ca:	701f           	moveq #31,%d0                               
   445cc:	b0aa 0014      	cmpl %a2@(20),%d0                           
   445d0:	6d00 0082      	bltw 44654 <rtems_filesystem_eval_path_recursive+0xa0>
      const char *saved_path = ctx->path;                             
   445d4:	2612           	movel %a2@,%d3                              
  gid_t node_gid                                                      
);                                                                    
                                                                      
static inline bool rtems_filesystem_is_delimiter(char c)              
{                                                                     
  return c == '/' || c == '\\';                                       
   445d6:	722f           	moveq #47,%d1                               
   445d8:	1013           	moveb %a3@,%d0                              
      size_t saved_pathlen = ctx->pathlen;                            
   445da:	282a 0004      	movel %a2@(4),%d4                           
   445de:	49c0           	extbl %d0                                   
   445e0:	b280           	cmpl %d0,%d1                                
   445e2:	673e           	beqs 44622 <rtems_filesystem_eval_path_recursive+0x6e>
   445e4:	123c 005c      	moveb #92,%d1                               
   445e8:	b280           	cmpl %d0,%d1                                
   445ea:	6736           	beqs 44622 <rtems_filesystem_eval_path_recursive+0x6e><== NEVER TAKEN
                                                                      
      if (rtems_filesystem_is_delimiter(path [0])) {                  
        rtems_filesystem_eval_path_restart(ctx, &ctx->rootloc);       
      }                                                               
                                                                      
      ctx->path = path;                                               
   445ec:	248b           	movel %a3,%a2@                              
      ctx->pathlen = pathlen;                                         
                                                                      
      ++ctx->recursionlevel;                                          
   445ee:	52aa 0014      	addql #1,%a2@(20)                           
      if (rtems_filesystem_is_delimiter(path [0])) {                  
        rtems_filesystem_eval_path_restart(ctx, &ctx->rootloc);       
      }                                                               
                                                                      
      ctx->path = path;                                               
      ctx->pathlen = pathlen;                                         
   445f2:	2542 0004      	movel %d2,%a2@(4)                           
                                                                      
      ++ctx->recursionlevel;                                          
      while (ctx->pathlen > 0) {                                      
        (*ctx->currentloc.mt_entry->ops->eval_path_h)(ctx);           
   445f6:	206a 002c      	moveal %a2@(44),%a0                         
   445fa:	2068 000c      	moveal %a0@(12),%a0                         
   445fe:	2f0a           	movel %a2,%sp@-                             
   44600:	2068 0008      	moveal %a0@(8),%a0                          
   44604:	4e90           	jsr %a0@                                    
                                                                      
      ctx->path = path;                                               
      ctx->pathlen = pathlen;                                         
                                                                      
      ++ctx->recursionlevel;                                          
      while (ctx->pathlen > 0) {                                      
   44606:	588f           	addql #4,%sp                                
   44608:	4aaa 0004      	tstl %a2@(4)                                
   4460c:	66e8           	bnes 445f6 <rtems_filesystem_eval_path_recursive+0x42>
        (*ctx->currentloc.mt_entry->ops->eval_path_h)(ctx);           
      }                                                               
      --ctx->recursionlevel;                                          
   4460e:	53aa 0014      	subql #1,%a2@(20)                           
                                                                      
      ctx->path = saved_path;                                         
   44612:	2483           	movel %d3,%a2@                              
      ctx->pathlen = saved_pathlen;                                   
   44614:	2544 0004      	movel %d4,%a2@(4)                           
      rtems_filesystem_eval_path_error(ctx, ELOOP);                   
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error(ctx, ENOENT);                    
  }                                                                   
}                                                                     
   44618:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   4461e:	4e5e           	unlk %fp                                    
   44620:	4e75           	rts                                         
    if (ctx->recursionlevel < RTEMS_FILESYSTEM_SYMLOOP_MAX) {         
      const char *saved_path = ctx->path;                             
      size_t saved_pathlen = ctx->pathlen;                            
                                                                      
      if (rtems_filesystem_is_delimiter(path [0])) {                  
        rtems_filesystem_eval_path_restart(ctx, &ctx->rootloc);       
   44622:	486a 0030      	pea %a2@(48)                                
   44626:	2f0a           	movel %a2,%sp@-                             
   44628:	4eb9 0004 4540 	jsr 44540 <rtems_filesystem_eval_path_restart>
   4462e:	508f           	addql #8,%sp                                
      }                                                               
                                                                      
      ctx->path = path;                                               
      ctx->pathlen = pathlen;                                         
                                                                      
      ++ctx->recursionlevel;                                          
   44630:	52aa 0014      	addql #1,%a2@(20)                           
                                                                      
      if (rtems_filesystem_is_delimiter(path [0])) {                  
        rtems_filesystem_eval_path_restart(ctx, &ctx->rootloc);       
      }                                                               
                                                                      
      ctx->path = path;                                               
   44634:	248b           	movel %a3,%a2@                              
      ctx->pathlen = pathlen;                                         
   44636:	2542 0004      	movel %d2,%a2@(4)                           
   4463a:	60ba           	bras 445f6 <rtems_filesystem_eval_path_recursive+0x42>
      ctx->pathlen = saved_pathlen;                                   
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ELOOP);                   
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error(ctx, ENOENT);                    
   4463c:	7202           	moveq #2,%d1                                <== NOT EXECUTED
   4463e:	2d4a 0008      	movel %a2,%fp@(8)                           <== NOT EXECUTED
  }                                                                   
}                                                                     
   44642:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            <== NOT EXECUTED
      ctx->pathlen = saved_pathlen;                                   
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ELOOP);                   
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error(ctx, ENOENT);                    
   44648:	2d41 000c      	movel %d1,%fp@(12)                          <== NOT EXECUTED
  }                                                                   
}                                                                     
   4464c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
      ctx->pathlen = saved_pathlen;                                   
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ELOOP);                   
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error(ctx, ENOENT);                    
   4464e:	4ef9 0004 402a 	jmp 4402a <rtems_filesystem_eval_path_error><== NOT EXECUTED
      --ctx->recursionlevel;                                          
                                                                      
      ctx->path = saved_path;                                         
      ctx->pathlen = saved_pathlen;                                   
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ELOOP);                   
   44654:	705c           	moveq #92,%d0                               
   44656:	2d4a 0008      	movel %a2,%fp@(8)                           
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error(ctx, ENOENT);                    
  }                                                                   
}                                                                     
   4465a:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
      --ctx->recursionlevel;                                          
                                                                      
      ctx->path = saved_path;                                         
      ctx->pathlen = saved_pathlen;                                   
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ELOOP);                   
   44660:	2d40 000c      	movel %d0,%fp@(12)                          
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error(ctx, ENOENT);                    
  }                                                                   
}                                                                     
   44664:	4e5e           	unlk %fp                                    
      --ctx->recursionlevel;                                          
                                                                      
      ctx->path = saved_path;                                         
      ctx->pathlen = saved_pathlen;                                   
    } else {                                                          
      rtems_filesystem_eval_path_error(ctx, ELOOP);                   
   44666:	4ef9 0004 402a 	jmp 4402a <rtems_filesystem_eval_path_error>
                                                                      

0004bba4 <rtems_filesystem_get_mount_handler>: rtems_filesystem_fsmount_me_t rtems_filesystem_get_mount_handler( const char *type ) {
   4bba4:	4e56 fff8      	linkw %fp,#-8                               
   4bba8:	202e 0008      	movel %fp@(8),%d0                           
  find_arg fa = {                                                     
   4bbac:	42ae fffc      	clrl %fp@(-4)                               
   4bbb0:	2d40 fff8      	movel %d0,%fp@(-8)                          
    .type = type,                                                     
    .mount_h = NULL                                                   
  };                                                                  
                                                                      
  if ( type != NULL ) {                                               
   4bbb4:	6718           	beqs 4bbce <rtems_filesystem_get_mount_handler+0x2a><== NEVER TAKEN
    rtems_filesystem_iterate( find_handler, &fa );                    
   4bbb6:	486e fff8      	pea %fp@(-8)                                
   4bbba:	487a ff0c      	pea %pc@(4bac8 <find_handler>)              
   4bbbe:	4eb9 0004 bb0a 	jsr 4bb0a <rtems_filesystem_iterate>        
   4bbc4:	202e fffc      	movel %fp@(-4),%d0                          
   4bbc8:	508f           	addql #8,%sp                                
  }                                                                   
                                                                      
  return fa.mount_h;                                                  
}                                                                     
   4bbca:	4e5e           	unlk %fp                                    
   4bbcc:	4e75           	rts                                         
  find_arg fa = {                                                     
    .type = type,                                                     
    .mount_h = NULL                                                   
  };                                                                  
                                                                      
  if ( type != NULL ) {                                               
   4bbce:	4280           	clrl %d0                                    <== NOT EXECUTED
    rtems_filesystem_iterate( find_handler, &fa );                    
  }                                                                   
                                                                      
  return fa.mount_h;                                                  
}                                                                     
   4bbd0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000449c8 <rtems_filesystem_global_location_obtain>: } rtems_filesystem_global_location_t *rtems_filesystem_global_location_obtain( rtems_filesystem_global_location_t *const *global_loc_ptr ) {
   449c8:	4e56 fff0      	linkw %fp,#-16                              
   449cc:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
  rtems_filesystem_mt_entry_declare_lock_context(lock_context);       
  rtems_filesystem_global_location_t *global_loc;                     
                                                                      
  if (deferred_released_global_locations != NULL) {                   
   449d0:	4ab9 0005 f0f8 	tstl 5f0f8 <deferred_released_global_locations>
   449d6:	675c           	beqs 44a34 <rtems_filesystem_global_location_obtain+0x6c>
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   449d8:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   449de:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   449e0:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
                                                                      
  do {                                                                
    int count = 0;                                                    
                                                                      
    _Thread_Disable_dispatch();                                       
    current = deferred_released_global_locations;                     
   449e6:	2479 0005 f0f8 	moveal 5f0f8 <deferred_released_global_locations>,%a2
   449ec:	47f9 0004 9c44 	lea 49c44 <_Thread_Enable_dispatch>,%a3     
   449f2:	49fa febe      	lea %pc@(448b2 <release_with_count>),%a4    
    if (current != NULL) {                                            
   449f6:	4a8a           	tstl %a2                                    
   449f8:	6738           	beqs 44a32 <rtems_filesystem_global_location_obtain+0x6a><== NEVER TAKEN
      deferred_released_global_locations = current->deferred_released_next;
   449fa:	41ea 001c      	lea %a2@(28),%a0                            
   449fe:	23d0 0005 f0f8 	movel %a0@,5f0f8 <deferred_released_global_locations>
      count = current->deferred_released_count;                       
   44a04:	242a 0020      	movel %a2@(32),%d2                          
      current->deferred_released_next = NULL;                         
   44a08:	42aa 001c      	clrl %a2@(28)                               
      current->deferred_released_count = 0;                           
   44a0c:	42aa 0020      	clrl %a2@(32)                               
    }                                                                 
    _Thread_Enable_dispatch();                                        
   44a10:	4e93           	jsr %a3@                                    
                                                                      
    if (current != NULL) {                                            
      release_with_count(current, count);                             
   44a12:	2f02           	movel %d2,%sp@-                             
   44a14:	2f0a           	movel %a2,%sp@-                             
   44a16:	4e94           	jsr %a4@                                    
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   44a18:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   44a1e:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   44a20:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
                                                                      
  do {                                                                
    int count = 0;                                                    
                                                                      
    _Thread_Disable_dispatch();                                       
    current = deferred_released_global_locations;                     
   44a26:	2479 0005 f0f8 	moveal 5f0f8 <deferred_released_global_locations>,%a2
    if (current != NULL) {                                            
   44a2c:	508f           	addql #8,%sp                                
   44a2e:	4a8a           	tstl %a2                                    
   44a30:	66c8           	bnes 449fa <rtems_filesystem_global_location_obtain+0x32><== NEVER TAKEN
      deferred_released_global_locations = current->deferred_released_next;
      count = current->deferred_released_count;                       
      current->deferred_released_next = NULL;                         
      current->deferred_released_count = 0;                           
    }                                                                 
    _Thread_Enable_dispatch();                                        
   44a32:	4e93           	jsr %a3@                                    
                                                                      
  if (deferred_released_global_locations != NULL) {                   
    deferred_release();                                               
  }                                                                   
                                                                      
  rtems_filesystem_mt_entry_lock(lock_context);                       
   44a34:	203c 0000 0700 	movel #1792,%d0                             
   44a3a:	40c2           	movew %sr,%d2                               
   44a3c:	8082           	orl %d2,%d0                                 
   44a3e:	46c0           	movew %d0,%sr                               
  global_loc = *global_loc_ptr;                                       
   44a40:	206e 0008      	moveal %fp@(8),%a0                          
   44a44:	2050           	moveal %a0@,%a0                             
  if (global_loc == NULL || !global_loc->location.mt_entry->mounted) {
   44a46:	4a88           	tstl %a0                                    
   44a48:	670a           	beqs 44a54 <rtems_filesystem_global_location_obtain+0x8c>
   44a4a:	2268 0014      	moveal %a0@(20),%a1                         
   44a4e:	4a29 0028      	tstb %a1@(40)                               
   44a52:	6612           	bnes 44a66 <rtems_filesystem_global_location_obtain+0x9e>
    global_loc = &rtems_filesystem_global_location_null;              
    errno = ENXIO;                                                    
   44a54:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
  }                                                                   
                                                                      
  rtems_filesystem_mt_entry_lock(lock_context);                       
  global_loc = *global_loc_ptr;                                       
  if (global_loc == NULL || !global_loc->location.mt_entry->mounted) {
    global_loc = &rtems_filesystem_global_location_null;              
   44a5a:	41f9 0005 e2da 	lea 5e2da <rtems_filesystem_global_location_null>,%a0
    errno = ENXIO;                                                    
   44a60:	2240           	moveal %d0,%a1                              
   44a62:	7006           	moveq #6,%d0                                
   44a64:	2280           	movel %d0,%a1@                              
  }                                                                   
  ++global_loc->reference_count;                                      
   44a66:	52a8 0018      	addql #1,%a0@(24)                           
  rtems_filesystem_mt_entry_unlock(lock_context);                     
   44a6a:	46c2           	movew %d2,%sr                               
                                                                      
  return global_loc;                                                  
}                                                                     
   44a6c:	2008           	movel %a0,%d0                               
   44a6e:	4cee 1c04 fff0 	moveml %fp@(-16),%d2/%a2-%a4                
   44a74:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00042dc4 <rtems_filesystem_initialize>: /* * Default mode for created files. */ void rtems_filesystem_initialize( void ) {
   42dc4:	4e56 0000      	linkw %fp,#0                                
  int rv = 0;                                                         
  const rtems_filesystem_mount_configuration *root_config =           
    &rtems_filesystem_root_configuration;                             
                                                                      
  rv = mount(                                                         
   42dc8:	2f39 0005 c630 	movel 5c630 <rtems_filesystem_root_configuration+0x10>,%sp@-
   42dce:	2f39 0005 c62c 	movel 5c62c <rtems_filesystem_root_configuration+0xc>,%sp@-
   42dd4:	2f39 0005 c628 	movel 5c628 <rtems_filesystem_root_configuration+0x8>,%sp@-
   42dda:	2f39 0005 c624 	movel 5c624 <rtems_filesystem_root_configuration+0x4>,%sp@-
   42de0:	2f39 0005 c620 	movel 5c620 <rtems_filesystem_root_configuration>,%sp@-
   42de6:	4eb9 0004 3614 	jsr 43614 <mount>                           
    root_config->target,                                              
    root_config->filesystemtype,                                      
    root_config->options,                                             
    root_config->data                                                 
  );                                                                  
  if ( rv != 0 )                                                      
   42dec:	4fef 0014      	lea %sp@(20),%sp                            
   42df0:	4a80           	tstl %d0                                    
   42df2:	661a           	bnes 42e0e <rtems_filesystem_initialize+0x4a><== NEVER TAKEN
   *                                                                  
   *  NOTE: UNIX root is 755 and owned by root/root (0/0).  It is actually
   *        created that way by the IMFS.                             
   */                                                                 
                                                                      
  rv = mkdir( "/dev", 0777);                                          
   42df4:	4878 01ff      	pea 1ff <DBL_MANT_DIG+0x1ca>                
   42df8:	4879 0005 cdaa 	pea 5cdaa <IMFS_node_control_default+0x14>  
   42dfe:	4eb9 0004 348c 	jsr 4348c <mkdir>                           
  if ( rv != 0 )                                                      
   42e04:	508f           	addql #8,%sp                                
   42e06:	4a80           	tstl %d0                                    
   42e08:	6610           	bnes 42e1a <rtems_filesystem_initialize+0x56><== NEVER TAKEN
   *  it will be mounted onto is created.  Moreover, if it is going to
   *  use a device, then it is REALLY unfair to attempt this          
   *  before device drivers are initialized.  So we return via a base 
   *  filesystem image and nothing auto-mounted at this point.        
   */                                                                 
}                                                                     
   42e0a:	4e5e           	unlk %fp                                    
   42e0c:	4e75           	rts                                         
    root_config->filesystemtype,                                      
    root_config->options,                                             
    root_config->data                                                 
  );                                                                  
  if ( rv != 0 )                                                      
    rtems_fatal_error_occurred( 0xABCD0002 );                         
   42e0e:	2f3c abcd 0002 	movel #-1412628478,%sp@-                    <== NOT EXECUTED
   42e14:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
   *        created that way by the IMFS.                             
   */                                                                 
                                                                      
  rv = mkdir( "/dev", 0777);                                          
  if ( rv != 0 )                                                      
    rtems_fatal_error_occurred( 0xABCD0003 );                         
   42e1a:	2f3c abcd 0003 	movel #-1412628477,%sp@-                    <== NOT EXECUTED
   42e20:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
	...                                                                  
                                                                      

0004bb0a <rtems_filesystem_iterate>: bool rtems_filesystem_iterate( rtems_per_filesystem_routine routine, void *routine_arg ) {
   4bb0a:	4e56 fff0      	linkw %fp,#-16                              
   4bb0e:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   4bb12:	266e 0008      	moveal %fp@(8),%a3                          
  const rtems_filesystem_table_t *table_entry = &rtems_filesystem_table [0];
  rtems_chain_node *node = NULL;                                      
  bool stop = false;                                                  
                                                                      
  while ( table_entry->type && !stop ) {                              
   4bb16:	45f9 0005 c634 	lea 5c634 <rtems_filesystem_table>,%a2      
                                                                      
bool rtems_filesystem_iterate(                                        
  rtems_per_filesystem_routine routine,                               
  void *routine_arg                                                   
)                                                                     
{                                                                     
   4bb1c:	262e 000c      	movel %fp@(12),%d3                          
  const rtems_filesystem_table_t *table_entry = &rtems_filesystem_table [0];
  rtems_chain_node *node = NULL;                                      
  bool stop = false;                                                  
                                                                      
  while ( table_entry->type && !stop ) {                              
   4bb20:	4ab9 0005 c634 	tstl 5c634 <rtems_filesystem_table>         
   4bb26:	6724           	beqs 4bb4c <rtems_filesystem_iterate+0x42>  <== NEVER TAKEN
    stop = (*routine)( table_entry, routine_arg );                    
   4bb28:	2f03           	movel %d3,%sp@-                             
   4bb2a:	2f0a           	movel %a2,%sp@-                             
    ++table_entry;                                                    
   4bb2c:	508a           	addql #8,%a2                                
  const rtems_filesystem_table_t *table_entry = &rtems_filesystem_table [0];
  rtems_chain_node *node = NULL;                                      
  bool stop = false;                                                  
                                                                      
  while ( table_entry->type && !stop ) {                              
    stop = (*routine)( table_entry, routine_arg );                    
   4bb2e:	4e93           	jsr %a3@                                    
{                                                                     
  const rtems_filesystem_table_t *table_entry = &rtems_filesystem_table [0];
  rtems_chain_node *node = NULL;                                      
  bool stop = false;                                                  
                                                                      
  while ( table_entry->type && !stop ) {                              
   4bb30:	508f           	addql #8,%sp                                
    stop = (*routine)( table_entry, routine_arg );                    
   4bb32:	1400           	moveb %d0,%d2                               
{                                                                     
  const rtems_filesystem_table_t *table_entry = &rtems_filesystem_table [0];
  rtems_chain_node *node = NULL;                                      
  bool stop = false;                                                  
                                                                      
  while ( table_entry->type && !stop ) {                              
   4bb34:	4a92           	tstl %a2@                                   
   4bb36:	6710           	beqs 4bb48 <rtems_filesystem_iterate+0x3e>  
   4bb38:	4a00           	tstb %d0                                    
   4bb3a:	67ec           	beqs 4bb28 <rtems_filesystem_iterate+0x1e>  
    }                                                                 
    rtems_libio_unlock();                                             
  }                                                                   
                                                                      
  return stop;                                                        
}                                                                     
   4bb3c:	1002           	moveb %d2,%d0                               
   4bb3e:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   4bb44:	4e5e           	unlk %fp                                    
   4bb46:	4e75           	rts                                         
  while ( table_entry->type && !stop ) {                              
    stop = (*routine)( table_entry, routine_arg );                    
    ++table_entry;                                                    
  }                                                                   
                                                                      
  if ( !stop ) {                                                      
   4bb48:	4a00           	tstb %d0                                    
   4bb4a:	66f0           	bnes 4bb3c <rtems_filesystem_iterate+0x32>  
 */                                                                   
#include <rtems/userenv.h>                                            
                                                                      
static inline void rtems_libio_lock( void )                           
{                                                                     
  rtems_semaphore_obtain( rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
   4bb4c:	42a7           	clrl %sp@-                                  
    rtems_libio_lock();                                               
    for (                                                             
   4bb4e:	4202           	clrb %d2                                    
   4bb50:	42a7           	clrl %sp@-                                  
   4bb52:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   4bb58:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   4bb5e:	2479 0005 e358 	moveal 5e358 <filesystem_chain>,%a2         
   4bb64:	4fef 000c      	lea %sp@(12),%sp                            
   4bb68:	b5fc 0005 e35c 	cmpal #385884,%a2                           
   4bb6e:	671a           	beqs 4bb8a <rtems_filesystem_iterate+0x80>  
      !rtems_chain_is_tail( &filesystem_chain, node ) && !stop;       
      node = rtems_chain_next( node )                                 
    ) {                                                               
      const filesystem_node *fsn = (filesystem_node *) node;          
                                                                      
      stop = (*routine)( &fsn->entry, routine_arg );                  
   4bb70:	2f03           	movel %d3,%sp@-                             
   4bb72:	486a 0008      	pea %a2@(8)                                 
   4bb76:	4e93           	jsr %a3@                                    
    }                                                                 
  }                                                                   
  rtems_libio_unlock();                                               
                                                                      
  rtems_set_errno_and_return_minus_one( ENOENT );                     
}                                                                     
   4bb78:	2452           	moveal %a2@,%a2                             
    ++table_entry;                                                    
  }                                                                   
                                                                      
  if ( !stop ) {                                                      
    rtems_libio_lock();                                               
    for (                                                             
   4bb7a:	508f           	addql #8,%sp                                
      !rtems_chain_is_tail( &filesystem_chain, node ) && !stop;       
      node = rtems_chain_next( node )                                 
    ) {                                                               
      const filesystem_node *fsn = (filesystem_node *) node;          
                                                                      
      stop = (*routine)( &fsn->entry, routine_arg );                  
   4bb7c:	1400           	moveb %d0,%d2                               
    ++table_entry;                                                    
  }                                                                   
                                                                      
  if ( !stop ) {                                                      
    rtems_libio_lock();                                               
    for (                                                             
   4bb7e:	b5fc 0005 e35c 	cmpal #385884,%a2                           
   4bb84:	6704           	beqs 4bb8a <rtems_filesystem_iterate+0x80>  
      node = rtems_chain_first( &filesystem_chain );                  
      !rtems_chain_is_tail( &filesystem_chain, node ) && !stop;       
   4bb86:	4a00           	tstb %d0                                    
   4bb88:	67e6           	beqs 4bb70 <rtems_filesystem_iterate+0x66>  <== ALWAYS TAKEN
}                                                                     
                                                                      
static inline void rtems_libio_unlock( void )                         
{                                                                     
  rtems_semaphore_release( rtems_libio_semaphore );                   
   4bb8a:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   4bb90:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
   4bb96:	588f           	addql #4,%sp                                
    }                                                                 
    rtems_libio_unlock();                                             
  }                                                                   
                                                                      
  return stop;                                                        
}                                                                     
   4bb98:	1002           	moveb %d2,%d0                               
   4bb9a:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   4bba0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004b83c <rtems_filesystem_location_clone>: void rtems_filesystem_location_clone( rtems_filesystem_location_info_t *clone, const rtems_filesystem_location_info_t *master ) {
   4b83c:	4e56 0000      	linkw %fp,#0                                
   4b840:	2f0a           	movel %a2,%sp@-                             
  int rv = 0;                                                         
                                                                      
  clone = rtems_filesystem_location_copy( clone, master );            
   4b842:	2f2e 000c      	movel %fp@(12),%sp@-                        
   4b846:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4b84a:	4eb9 0004 466c 	jsr 4466c <rtems_filesystem_location_copy>  
   4b850:	2440           	moveal %d0,%a2                              
  rv = (*clone->mt_entry->ops->clonenod_h)( clone );                  
   4b852:	206a 0014      	moveal %a2@(20),%a0                         
   4b856:	2068 000c      	moveal %a0@(12),%a0                         
   4b85a:	2f00           	movel %d0,%sp@-                             
   4b85c:	2068 0028      	moveal %a0@(40),%a0                         
   4b860:	4e90           	jsr %a0@                                    
  if ( rv != 0 ) {                                                    
   4b862:	4fef 000c      	lea %sp@(12),%sp                            
   4b866:	4a80           	tstl %d0                                    
   4b868:	6608           	bnes 4b872 <rtems_filesystem_location_clone+0x36>
    rtems_filesystem_location_remove_from_mt_entry( clone );          
    rtems_filesystem_location_initialize_to_null( clone );            
  }                                                                   
}                                                                     
   4b86a:	246e fffc      	moveal %fp@(-4),%a2                         
   4b86e:	4e5e           	unlk %fp                                    
   4b870:	4e75           	rts                                         
  int rv = 0;                                                         
                                                                      
  clone = rtems_filesystem_location_copy( clone, master );            
  rv = (*clone->mt_entry->ops->clonenod_h)( clone );                  
  if ( rv != 0 ) {                                                    
    rtems_filesystem_location_remove_from_mt_entry( clone );          
   4b872:	2f0a           	movel %a2,%sp@-                             
   4b874:	4eb9 0004 47b6 	jsr 447b6 <rtems_filesystem_location_remove_from_mt_entry>
static inline rtems_filesystem_location_info_t *                      
rtems_filesystem_location_initialize_to_null(                         
  rtems_filesystem_location_info_t *loc                               
)                                                                     
{                                                                     
  return rtems_filesystem_location_copy(                              
   4b87a:	588f           	addql #4,%sp                                
   4b87c:	203c 0005 e2da 	movel #385754,%d0                           
   4b882:	2d4a 0008      	movel %a2,%fp@(8)                           
    rtems_filesystem_location_initialize_to_null( clone );            
  }                                                                   
}                                                                     
   4b886:	246e fffc      	moveal %fp@(-4),%a2                         
   4b88a:	2d40 000c      	movel %d0,%fp@(12)                          
   4b88e:	4e5e           	unlk %fp                                    
   4b890:	4ef9 0004 466c 	jmp 4466c <rtems_filesystem_location_copy>  
	...                                                                  
                                                                      

000447b6 <rtems_filesystem_location_remove_from_mt_entry>: ) { rtems_filesystem_mt_entry_declare_lock_context(lock_context); bool do_unmount; rtems_filesystem_mt_entry_lock(lock_context);
   447b6:	203c 0000 0700 	movel #1792,%d0                             
}                                                                     
                                                                      
void rtems_filesystem_location_remove_from_mt_entry(                  
  rtems_filesystem_location_info_t *loc                               
)                                                                     
{                                                                     
   447bc:	4e56 0000      	linkw %fp,#0                                
   447c0:	206e 0008      	moveal %fp@(8),%a0                          
   447c4:	2f0b           	movel %a3,%sp@-                             
   447c6:	2f0a           	movel %a2,%sp@-                             
  rtems_filesystem_mt_entry_declare_lock_context(lock_context);       
  bool do_unmount;                                                    
                                                                      
  rtems_filesystem_mt_entry_lock(lock_context);                       
   447c8:	40c1           	movew %sr,%d1                               
   447ca:	8081           	orl %d1,%d0                                 
   447cc:	46c0           	movew %d0,%sr                               
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   447ce:	2650           	moveal %a0@,%a3                             
  previous       = the_node->previous;                                
   447d0:	2468 0004      	moveal %a0@(4),%a2                          
  rtems_chain_extract_unprotected(&loc->mt_entry_node);               
  do_unmount = rtems_filesystem_is_ready_for_unmount(loc->mt_entry);  
   447d4:	2268 0014      	moveal %a0@(20),%a1                         
  next->previous = previous;                                          
   447d8:	274a 0004      	movel %a2,%a3@(4)                           
  previous->next = next;                                              
   447dc:	248b           	movel %a3,%a2@                              
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
  bool ready = !mt_entry->mounted                                     
    && rtems_chain_has_only_one_node( &mt_entry->location_chain )     
    && mt_entry->mt_fs_root->reference_count == 1;                    
   447de:	4a29 0028      	tstb %a1@(40)                               
   447e2:	660a           	bnes 447ee <rtems_filesystem_location_remove_from_mt_entry+0x38>
static inline bool rtems_filesystem_is_ready_for_unmount(             
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
  bool ready = !mt_entry->mounted                                     
    && rtems_chain_has_only_one_node( &mt_entry->location_chain )     
   447e4:	2029 001c      	movel %a1@(28),%d0                          
   447e8:	b0a9 0014      	cmpl %a1@(20),%d0                           
   447ec:	6722           	beqs 44810 <rtems_filesystem_location_remove_from_mt_entry+0x5a>
                                                                      
static inline bool rtems_filesystem_is_ready_for_unmount(             
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
  bool ready = !mt_entry->mounted                                     
   447ee:	4200           	clrb %d0                                    
  rtems_filesystem_mt_entry_unlock(lock_context);                     
   447f0:	46c1           	movew %d1,%sr                               
                                                                      
  if (do_unmount) {                                                   
   447f2:	4a00           	tstb %d0                                    
   447f4:	6608           	bnes 447fe <rtems_filesystem_location_remove_from_mt_entry+0x48><== NEVER TAKEN
    rtems_filesystem_do_unmount(loc->mt_entry);                       
  }                                                                   
}                                                                     
   447f6:	245f           	moveal %sp@+,%a2                            
   447f8:	265f           	moveal %sp@+,%a3                            
   447fa:	4e5e           	unlk %fp                                    
   447fc:	4e75           	rts                                         
   447fe:	245f           	moveal %sp@+,%a2                            <== NOT EXECUTED
  rtems_chain_extract_unprotected(&loc->mt_entry_node);               
  do_unmount = rtems_filesystem_is_ready_for_unmount(loc->mt_entry);  
  rtems_filesystem_mt_entry_unlock(lock_context);                     
                                                                      
  if (do_unmount) {                                                   
    rtems_filesystem_do_unmount(loc->mt_entry);                       
   44800:	2d68 0014 0008 	movel %a0@(20),%fp@(8)                      <== NOT EXECUTED
  }                                                                   
}                                                                     
   44806:	265f           	moveal %sp@+,%a3                            <== NOT EXECUTED
   44808:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  rtems_chain_extract_unprotected(&loc->mt_entry_node);               
  do_unmount = rtems_filesystem_is_ready_for_unmount(loc->mt_entry);  
  rtems_filesystem_mt_entry_unlock(lock_context);                     
                                                                      
  if (do_unmount) {                                                   
    rtems_filesystem_do_unmount(loc->mt_entry);                       
   4480a:	4ef9 0004 4734 	jmp 44734 <rtems_filesystem_do_unmount>     <== NOT EXECUTED
    && rtems_chain_has_only_one_node( &mt_entry->location_chain )     
    && mt_entry->mt_fs_root->reference_count == 1;                    
   44810:	2469 0024      	moveal %a1@(36),%a2                         
   44814:	7001           	moveq #1,%d0                                
   44816:	b0aa 0018      	cmpl %a2@(24),%d0                           
   4481a:	66d2           	bnes 447ee <rtems_filesystem_location_remove_from_mt_entry+0x38><== ALWAYS TAKEN
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   4481c:	45e9 0018      	lea %a1@(24),%a2                            <== NOT EXECUTED
   44820:	234a 0014      	movel %a2,%a1@(20)                          <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   44824:	45e9 0014      	lea %a1@(20),%a2                            <== NOT EXECUTED
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   44828:	42a9 0018      	clrl %a1@(24)                               <== NOT EXECUTED
                                                                      
static inline bool rtems_filesystem_is_ready_for_unmount(             
  rtems_filesystem_mount_table_entry_t *mt_entry                      
)                                                                     
{                                                                     
  bool ready = !mt_entry->mounted                                     
   4482c:	7001           	moveq #1,%d0                                <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   4482e:	234a 001c      	movel %a2,%a1@(28)                          <== NOT EXECUTED
   44832:	60bc           	bras 447f0 <rtems_filesystem_location_remove_from_mt_entry+0x3a><== NOT EXECUTED
                                                                      

00044a78 <rtems_filesystem_location_transform_to_global>: } rtems_filesystem_global_location_t *rtems_filesystem_location_transform_to_global( rtems_filesystem_location_info_t *loc ) {
   44a78:	4e56 fffc      	linkw %fp,#-4                               
   44a7c:	2f0a           	movel %a2,%sp@-                             
   44a7e:	2f02           	movel %d2,%sp@-                             
  rtems_filesystem_global_location_t *global_loc = malloc(sizeof(*global_loc));
   44a80:	4878 0024      	pea 24 <OPER2+0x10>                         
}                                                                     
                                                                      
rtems_filesystem_global_location_t *rtems_filesystem_location_transform_to_global(
  rtems_filesystem_location_info_t *loc                               
)                                                                     
{                                                                     
   44a84:	242e 0008      	movel %fp@(8),%d2                           
  rtems_filesystem_global_location_t *global_loc = malloc(sizeof(*global_loc));
   44a88:	4eb9 0004 33cc 	jsr 433cc <malloc>                          
                                                                      
  if (global_loc != NULL) {                                           
   44a8e:	588f           	addql #4,%sp                                
                                                                      
rtems_filesystem_global_location_t *rtems_filesystem_location_transform_to_global(
  rtems_filesystem_location_info_t *loc                               
)                                                                     
{                                                                     
  rtems_filesystem_global_location_t *global_loc = malloc(sizeof(*global_loc));
   44a90:	2440           	moveal %d0,%a2                              
                                                                      
  if (global_loc != NULL) {                                           
   44a92:	4a80           	tstl %d0                                    
   44a94:	6732           	beqs 44ac8 <rtems_filesystem_location_transform_to_global+0x50><== NEVER TAKEN
    global_loc->reference_count = 1;                                  
   44a96:	7001           	moveq #1,%d0                                
    global_loc->deferred_released_next = NULL;                        
   44a98:	42aa 001c      	clrl %a2@(28)                               
)                                                                     
{                                                                     
  rtems_filesystem_global_location_t *global_loc = malloc(sizeof(*global_loc));
                                                                      
  if (global_loc != NULL) {                                           
    global_loc->reference_count = 1;                                  
   44a9c:	2540 0018      	movel %d0,%a2@(24)                          
    global_loc->deferred_released_next = NULL;                        
    global_loc->deferred_released_count = 0;                          
   44aa0:	42aa 0020      	clrl %a2@(32)                               
    rtems_filesystem_location_copy(&global_loc->location, loc);       
   44aa4:	2f02           	movel %d2,%sp@-                             
   44aa6:	2f0a           	movel %a2,%sp@-                             
   44aa8:	4eb9 0004 466c 	jsr 4466c <rtems_filesystem_location_copy>  
    rtems_filesystem_location_remove_from_mt_entry(loc);              
   44aae:	2f02           	movel %d2,%sp@-                             
   44ab0:	4eb9 0004 47b6 	jsr 447b6 <rtems_filesystem_location_remove_from_mt_entry>
    global_loc = rtems_filesystem_global_location_obtain_null();      
    errno = ENOMEM;                                                   
  }                                                                   
                                                                      
  return global_loc;                                                  
}                                                                     
   44ab6:	242e fff4      	movel %fp@(-12),%d2                         
   44aba:	200a           	movel %a2,%d0                               
  if (global_loc != NULL) {                                           
    global_loc->reference_count = 1;                                  
    global_loc->deferred_released_next = NULL;                        
    global_loc->deferred_released_count = 0;                          
    rtems_filesystem_location_copy(&global_loc->location, loc);       
    rtems_filesystem_location_remove_from_mt_entry(loc);              
   44abc:	4fef 000c      	lea %sp@(12),%sp                            
    global_loc = rtems_filesystem_global_location_obtain_null();      
    errno = ENOMEM;                                                   
  }                                                                   
                                                                      
  return global_loc;                                                  
}                                                                     
   44ac0:	246e fff8      	moveal %fp@(-8),%a2                         
   44ac4:	4e5e           	unlk %fp                                    
   44ac6:	4e75           	rts                                         
    global_loc->deferred_released_next = NULL;                        
    global_loc->deferred_released_count = 0;                          
    rtems_filesystem_location_copy(&global_loc->location, loc);       
    rtems_filesystem_location_remove_from_mt_entry(loc);              
  } else {                                                            
    rtems_filesystem_location_free(loc);                              
   44ac8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   44aca:	4eb9 0004 b898 	jsr 4b898 <rtems_filesystem_location_free>  <== NOT EXECUTED
);                                                                    
                                                                      
static inline rtems_filesystem_global_location_t *                    
rtems_filesystem_global_location_obtain_null(void)                    
{                                                                     
  rtems_filesystem_global_location_t *global_loc = NULL;              
   44ad0:	204e           	moveal %fp,%a0                              <== NOT EXECUTED
   44ad2:	42a0           	clrl %a0@-                                  <== NOT EXECUTED
                                                                      
  return rtems_filesystem_global_location_obtain( &global_loc );      
   44ad4:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   44ad6:	4eb9 0004 49c8 	jsr 449c8 <rtems_filesystem_global_location_obtain><== NOT EXECUTED
   44adc:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
    global_loc = rtems_filesystem_global_location_obtain_null();      
    errno = ENOMEM;                                                   
   44ade:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
  }                                                                   
                                                                      
  return global_loc;                                                  
}                                                                     
   44ae4:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
    rtems_filesystem_location_copy(&global_loc->location, loc);       
    rtems_filesystem_location_remove_from_mt_entry(loc);              
  } else {                                                            
    rtems_filesystem_location_free(loc);                              
    global_loc = rtems_filesystem_global_location_obtain_null();      
    errno = ENOMEM;                                                   
   44ae8:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return global_loc;                                                  
}                                                                     
   44aea:	200a           	movel %a2,%d0                               <== NOT EXECUTED
    rtems_filesystem_location_copy(&global_loc->location, loc);       
    rtems_filesystem_location_remove_from_mt_entry(loc);              
  } else {                                                            
    rtems_filesystem_location_free(loc);                              
    global_loc = rtems_filesystem_global_location_obtain_null();      
    errno = ENOMEM;                                                   
   44aec:	720c           	moveq #12,%d1                               <== NOT EXECUTED
   44aee:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return global_loc;                                                  
}                                                                     
   44af0:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   44af4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    rtems_filesystem_location_copy(&global_loc->location, loc);       
    rtems_filesystem_location_remove_from_mt_entry(loc);              
  } else {                                                            
    rtems_filesystem_location_free(loc);                              
    global_loc = rtems_filesystem_global_location_obtain_null();      
    errno = ENOMEM;                                                   
   44af6:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return global_loc;                                                  
}                                                                     
	...                                                                  
                                                                      

000434ac <rtems_filesystem_mknod>: const char *name, size_t namelen, mode_t mode, dev_t dev ) {
   434ac:	4e56 ffec      	linkw %fp,#-20                              
  int rv = 0;                                                         
                                                                      
  mode &= ~rtems_filesystem_umask;                                    
   434b0:	2079 0005 e2ac 	moveal 5e2ac <rtems_current_user_env>,%a0   
  const char *name,                                                   
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
   434b6:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 
  int rv = 0;                                                         
                                                                      
  mode &= ~rtems_filesystem_umask;                                    
   434ba:	2628 0008      	movel %a0@(8),%d3                           
   434be:	4683           	notl %d3                                    
   434c0:	c6ae 0014      	andl %fp@(20),%d3                           
  const char *name,                                                   
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
   434c4:	206e 0008      	moveal %fp@(8),%a0                          
  int rv = 0;                                                         
                                                                      
  mode &= ~rtems_filesystem_umask;                                    
                                                                      
  switch (mode & S_IFMT) {                                            
   434c8:	2403           	movel %d3,%d2                               
   434ca:	0282 0000 f000 	andil #61440,%d2                            
  const char *name,                                                   
  size_t namelen,                                                     
  mode_t mode,                                                        
  dev_t dev                                                           
)                                                                     
{                                                                     
   434d0:	226e 000c      	moveal %fp@(12),%a1                         
   434d4:	282e 0010      	movel %fp@(16),%d4                          
   434d8:	202e 0018      	movel %fp@(24),%d0                          
   434dc:	222e 001c      	movel %fp@(28),%d1                          
  int rv = 0;                                                         
                                                                      
  mode &= ~rtems_filesystem_umask;                                    
                                                                      
  switch (mode & S_IFMT) {                                            
   434e0:	0c82 0000 4000 	cmpil #16384,%d2                            
   434e6:	673a           	beqs 43522 <rtems_filesystem_mknod+0x76>    
   434e8:	6328           	blss 43512 <rtems_filesystem_mknod+0x66>    
   434ea:	0c82 0000 6000 	cmpil #24576,%d2                            
   434f0:	6730           	beqs 43522 <rtems_filesystem_mknod+0x76>    
   434f2:	0c82 0000 8000 	cmpil #32768,%d2                            
   434f8:	6728           	beqs 43522 <rtems_filesystem_mknod+0x76>    <== ALWAYS TAKEN
    case S_IFDIR:                                                     
    case S_IFIFO:                                                     
    case S_IFREG:                                                     
      break;                                                          
    default:                                                          
      errno = EINVAL;                                                 
   434fa:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   43500:	2040           	moveal %d0,%a0                              
   43502:	7016           	moveq #22,%d0                               
                                                                      
    rv = (*ops->mknod_h)( parentloc, name, namelen, mode, dev );      
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43504:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
    case S_IFDIR:                                                     
    case S_IFIFO:                                                     
    case S_IFREG:                                                     
      break;                                                          
    default:                                                          
      errno = EINVAL;                                                 
   4350a:	2080           	movel %d0,%a0@                              
                                                                      
    rv = (*ops->mknod_h)( parentloc, name, namelen, mode, dev );      
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   4350c:	70ff           	moveq #-1,%d0                               
   4350e:	4e5e           	unlk %fp                                    
   43510:	4e75           	rts                                         
{                                                                     
  int rv = 0;                                                         
                                                                      
  mode &= ~rtems_filesystem_umask;                                    
                                                                      
  switch (mode & S_IFMT) {                                            
   43512:	0c82 0000 1000 	cmpil #4096,%d2                             
   43518:	6708           	beqs 43522 <rtems_filesystem_mknod+0x76>    
   4351a:	0c82 0000 2000 	cmpil #8192,%d2                             
   43520:	66d8           	bnes 434fa <rtems_filesystem_mknod+0x4e>    
  }                                                                   
                                                                      
  if ( rv == 0 ) {                                                    
    const rtems_filesystem_operations_table *ops = parentloc->mt_entry->ops;
                                                                      
    rv = (*ops->mknod_h)( parentloc, name, namelen, mode, dev );      
   43522:	2668 0014      	moveal %a0@(20),%a3                         
   43526:	246b 000c      	moveal %a3@(12),%a2                         
   4352a:	2d40 0018      	movel %d0,%fp@(24)                          
   4352e:	2d41 001c      	movel %d1,%fp@(28)                          
   43532:	2d43 0014      	movel %d3,%fp@(20)                          
   43536:	2d44 0010      	movel %d4,%fp@(16)                          
   4353a:	2d49 000c      	movel %a1,%fp@(12)                          
   4353e:	2d48 0008      	movel %a0,%fp@(8)                           
   43542:	226a 0018      	moveal %a2@(24),%a1                         
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   43546:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            
   4354c:	4e5e           	unlk %fp                                    
  }                                                                   
                                                                      
  if ( rv == 0 ) {                                                    
    const rtems_filesystem_operations_table *ops = parentloc->mt_entry->ops;
                                                                      
    rv = (*ops->mknod_h)( parentloc, name, namelen, mode, dev );      
   4354e:	4ed1           	jmp %a1@                                    
                                                                      

0004bcb2 <rtems_filesystem_unregister>: int rtems_filesystem_unregister( const char *type ) {
   4bcb2:	4e56 fff4      	linkw %fp,#-12                              
   4bcb6:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   4bcba:	242e 0008      	movel %fp@(8),%d2                           
  rtems_chain_node *node = NULL;                                      
                                                                      
  if ( type == NULL ) {                                               
   4bcbe:	6700 0094      	beqw 4bd54 <rtems_filesystem_unregister+0xa2>
 */                                                                   
#include <rtems/userenv.h>                                            
                                                                      
static inline void rtems_libio_lock( void )                           
{                                                                     
  rtems_semaphore_obtain( rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
   4bcc2:	42a7           	clrl %sp@-                                  
   4bcc4:	42a7           	clrl %sp@-                                  
   4bcc6:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   4bccc:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
   4bcd2:	2479 0005 e358 	moveal 5e358 <filesystem_chain>,%a2         
    rtems_set_errno_and_return_minus_one( EINVAL );                   
  }                                                                   
                                                                      
  rtems_libio_lock();                                                 
  for (                                                               
   4bcd8:	4fef 000c      	lea %sp@(12),%sp                            
   4bcdc:	b5fc 0005 e35c 	cmpal #385884,%a2                           
   4bce2:	671e           	beqs 4bd02 <rtems_filesystem_unregister+0x50>
   4bce4:	47f9 0004 eef0 	lea 4eef0 <strcmp>,%a3                      
    !rtems_chain_is_tail( &filesystem_chain, node );                  
    node = rtems_chain_next( node )                                   
  ) {                                                                 
    filesystem_node *fsn = (filesystem_node *) node;                  
                                                                      
    if ( strcmp( fsn->entry.type, type ) == 0 ) {                     
   4bcea:	2f02           	movel %d2,%sp@-                             
   4bcec:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4bcf0:	4e93           	jsr %a3@                                    
   4bcf2:	508f           	addql #8,%sp                                
   4bcf4:	4a80           	tstl %d0                                    
   4bcf6:	6730           	beqs 4bd28 <rtems_filesystem_unregister+0x76>
    }                                                                 
  }                                                                   
  rtems_libio_unlock();                                               
                                                                      
  rtems_set_errno_and_return_minus_one( ENOENT );                     
}                                                                     
   4bcf8:	2452           	moveal %a2@,%a2                             
  if ( type == NULL ) {                                               
    rtems_set_errno_and_return_minus_one( EINVAL );                   
  }                                                                   
                                                                      
  rtems_libio_lock();                                                 
  for (                                                               
   4bcfa:	b5fc 0005 e35c 	cmpal #385884,%a2                           
   4bd00:	66e8           	bnes 4bcea <rtems_filesystem_unregister+0x38><== NEVER TAKEN
}                                                                     
                                                                      
static inline void rtems_libio_unlock( void )                         
{                                                                     
  rtems_semaphore_release( rtems_libio_semaphore );                   
   4bd02:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   4bd08:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
      return 0;                                                       
    }                                                                 
  }                                                                   
  rtems_libio_unlock();                                               
                                                                      
  rtems_set_errno_and_return_minus_one( ENOENT );                     
   4bd0e:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   4bd14:	588f           	addql #4,%sp                                
   4bd16:	7202           	moveq #2,%d1                                
   4bd18:	2040           	moveal %d0,%a0                              
   4bd1a:	70ff           	moveq #-1,%d0                               
}                                                                     
   4bd1c:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
      return 0;                                                       
    }                                                                 
  }                                                                   
  rtems_libio_unlock();                                               
                                                                      
  rtems_set_errno_and_return_minus_one( ENOENT );                     
   4bd22:	2081           	movel %d1,%a0@                              
}                                                                     
   4bd24:	4e5e           	unlk %fp                                    
   4bd26:	4e75           	rts                                         
 */                                                                   
RTEMS_INLINE_ROUTINE void rtems_chain_extract(                        
  rtems_chain_node *the_node                                          
)                                                                     
{                                                                     
  _Chain_Extract( the_node );                                         
   4bd28:	2f0a           	movel %a2,%sp@-                             
   4bd2a:	4eb9 0004 c584 	jsr 4c584 <_Chain_Extract>                  
  ) {                                                                 
    filesystem_node *fsn = (filesystem_node *) node;                  
                                                                      
    if ( strcmp( fsn->entry.type, type ) == 0 ) {                     
      rtems_chain_extract( node );                                    
      free( fsn );                                                    
   4bd30:	2f0a           	movel %a2,%sp@-                             
   4bd32:	4eb9 0004 30cc 	jsr 430cc <free>                            
   4bd38:	2f39 0005 f8fc 	movel 5f8fc <rtems_libio_semaphore>,%sp@-   
   4bd3e:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
   4bd44:	4fef 000c      	lea %sp@(12),%sp                            
      rtems_libio_unlock();                                           
                                                                      
      return 0;                                                       
   4bd48:	4280           	clrl %d0                                    
    }                                                                 
  }                                                                   
  rtems_libio_unlock();                                               
                                                                      
  rtems_set_errno_and_return_minus_one( ENOENT );                     
}                                                                     
   4bd4a:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   4bd50:	4e5e           	unlk %fp                                    
   4bd52:	4e75           	rts                                         
)                                                                     
{                                                                     
  rtems_chain_node *node = NULL;                                      
                                                                      
  if ( type == NULL ) {                                               
    rtems_set_errno_and_return_minus_one( EINVAL );                   
   4bd54:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   4bd5a:	7416           	moveq #22,%d2                               
   4bd5c:	2040           	moveal %d0,%a0                              
   4bd5e:	70ff           	moveq #-1,%d0                               
   4bd60:	2082           	movel %d2,%a0@                              
    }                                                                 
  }                                                                   
  rtems_libio_unlock();                                               
                                                                      
  rtems_set_errno_and_return_minus_one( ENOENT );                     
}                                                                     
   4bd62:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   4bd68:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043a08 <rtems_gxx_key_create>: int rtems_gxx_key_create (__gthread_key_t *key, void (*dtor) (void *)) {
   43a08:	4e56 0000      	linkw %fp,#0                                
   43a0c:	2f0a           	movel %a2,%sp@-                             
   43a0e:	2f02           	movel %d2,%sp@-                             
   * pointer to the buffer that will hold the value of the key itself.
   * We have to to this, because the others functions on this interface
   * deal with the value of the key, as used with the POSIX API.      
   */                                                                 
   /* Do not pull your hair, trust me this works. :-) */              
  __gthread_key_t new_key = (__gthread_key_t) malloc( sizeof( *new_key ) );
   43a10:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
  }                                                                   
  return 0;                                                           
}                                                                     
                                                                      
int rtems_gxx_key_create (__gthread_key_t *key, void (*dtor) (void *))
{                                                                     
   43a14:	242e 000c      	movel %fp@(12),%d2                          
   * pointer to the buffer that will hold the value of the key itself.
   * We have to to this, because the others functions on this interface
   * deal with the value of the key, as used with the POSIX API.      
   */                                                                 
   /* Do not pull your hair, trust me this works. :-) */              
  __gthread_key_t new_key = (__gthread_key_t) malloc( sizeof( *new_key ) );
   43a18:	4eb9 0004 3de4 	jsr 43de4 <malloc>                          
  *key = new_key;                                                     
   43a1e:	206e 0008      	moveal %fp@(8),%a0                          
   * pointer to the buffer that will hold the value of the key itself.
   * We have to to this, because the others functions on this interface
   * deal with the value of the key, as used with the POSIX API.      
   */                                                                 
   /* Do not pull your hair, trust me this works. :-) */              
  __gthread_key_t new_key = (__gthread_key_t) malloc( sizeof( *new_key ) );
   43a22:	2440           	moveal %d0,%a2                              
      "gxx_wrappers: create key=%x, dtor=%x, new_key=%x\n", key, dtor, new_key
    );                                                                
  #endif                                                              
                                                                      
  /* register with RTEMS the buffer that will hold the key values */  
  status = rtems_task_variable_add( RTEMS_SELF, (void **)new_key, dtor );
   43a24:	2f02           	movel %d2,%sp@-                             
   43a26:	2f00           	movel %d0,%sp@-                             
   * We have to to this, because the others functions on this interface
   * deal with the value of the key, as used with the POSIX API.      
   */                                                                 
   /* Do not pull your hair, trust me this works. :-) */              
  __gthread_key_t new_key = (__gthread_key_t) malloc( sizeof( *new_key ) );
  *key = new_key;                                                     
   43a28:	2080           	movel %d0,%a0@                              
      "gxx_wrappers: create key=%x, dtor=%x, new_key=%x\n", key, dtor, new_key
    );                                                                
  #endif                                                              
                                                                      
  /* register with RTEMS the buffer that will hold the key values */  
  status = rtems_task_variable_add( RTEMS_SELF, (void **)new_key, dtor );
   43a2a:	42a7           	clrl %sp@-                                  
   * deal with the value of the key, as used with the POSIX API.      
   */                                                                 
   /* Do not pull your hair, trust me this works. :-) */              
  __gthread_key_t new_key = (__gthread_key_t) malloc( sizeof( *new_key ) );
  *key = new_key;                                                     
  new_key->val  = NULL;                                               
   43a2c:	4292           	clrl %a2@                                   
  new_key->dtor = dtor;                                               
   43a2e:	2542 0004      	movel %d2,%a2@(4)                           
      "gxx_wrappers: create key=%x, dtor=%x, new_key=%x\n", key, dtor, new_key
    );                                                                
  #endif                                                              
                                                                      
  /* register with RTEMS the buffer that will hold the key values */  
  status = rtems_task_variable_add( RTEMS_SELF, (void **)new_key, dtor );
   43a32:	4eb9 0004 8588 	jsr 48588 <rtems_task_variable_add>         
  if ( status == RTEMS_SUCCESSFUL )                                   
   43a38:	4fef 0010      	lea %sp@(16),%sp                            
    return 0;                                                         
   43a3c:	4281           	clrl %d1                                    
    );                                                                
  #endif                                                              
                                                                      
  /* register with RTEMS the buffer that will hold the key values */  
  status = rtems_task_variable_add( RTEMS_SELF, (void **)new_key, dtor );
  if ( status == RTEMS_SUCCESSFUL )                                   
   43a3e:	4a80           	tstl %d0                                    
   43a40:	660e           	bnes 43a50 <rtems_gxx_key_create+0x48>      <== NEVER TAKEN
    return 0;                                                         
                                                                      
  free( new_key );                                                    
  return -1;                                                          
}                                                                     
   43a42:	242e fff8      	movel %fp@(-8),%d2                          
   43a46:	2001           	movel %d1,%d0                               
   43a48:	246e fffc      	moveal %fp@(-4),%a2                         
   43a4c:	4e5e           	unlk %fp                                    
   43a4e:	4e75           	rts                                         
  /* register with RTEMS the buffer that will hold the key values */  
  status = rtems_task_variable_add( RTEMS_SELF, (void **)new_key, dtor );
  if ( status == RTEMS_SUCCESSFUL )                                   
    return 0;                                                         
                                                                      
  free( new_key );                                                    
   43a50:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   43a52:	4eb9 0004 3844 	jsr 43844 <free>                            <== NOT EXECUTED
  return -1;                                                          
}                                                                     
   43a58:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
  status = rtems_task_variable_add( RTEMS_SELF, (void **)new_key, dtor );
  if ( status == RTEMS_SUCCESSFUL )                                   
    return 0;                                                         
                                                                      
  free( new_key );                                                    
  return -1;                                                          
   43a5c:	588f           	addql #4,%sp                                <== NOT EXECUTED
   43a5e:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
}                                                                     
   43a60:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   43a62:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   43a66:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043a7a <rtems_gxx_key_delete>: int rtems_gxx_key_delete (__gthread_key_t key) {
   43a7a:	4e56 0000      	linkw %fp,#0                                
   43a7e:	2f0a           	movel %a2,%sp@-                             
   43a80:	246e 0008      	moveal %fp@(8),%a2                          
  #ifdef DEBUG_GXX_WRAPPERS                                           
    printk( "gxx_wrappers: delete key=%x\n", key );                   
  #endif                                                              
                                                                      
  /* register with RTEMS the buffer that will hold the key values */  
  status = rtems_task_variable_delete( RTEMS_SELF, (void **)key );    
   43a84:	2f0a           	movel %a2,%sp@-                             
   43a86:	42a7           	clrl %sp@-                                  
   43a88:	4eb9 0004 8650 	jsr 48650 <rtems_task_variable_delete>      
  if ( status == RTEMS_SUCCESSFUL ) {                                 
   43a8e:	508f           	addql #8,%sp                                
   43a90:	4a80           	tstl %d0                                    
   43a92:	660e           	bnes 43aa2 <rtems_gxx_key_delete+0x28>      <== NEVER TAKEN
    /* Hmm - hopefully all tasks using this key have gone away... */  
    if ( key ) free( *(void **)key );                                 
   43a94:	4a8a           	tstl %a2                                    
   43a96:	670a           	beqs 43aa2 <rtems_gxx_key_delete+0x28>      <== NEVER TAKEN
   43a98:	2f12           	movel %a2@,%sp@-                            
   43a9a:	4eb9 0004 3844 	jsr 43844 <free>                            
   43aa0:	588f           	addql #4,%sp                                
    return 0;                                                         
  }                                                                   
  key = NULL;                                                         
  return 0;                                                           
}                                                                     
   43aa2:	246e fffc      	moveal %fp@(-4),%a2                         
   43aa6:	4280           	clrl %d0                                    
   43aa8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004398c <rtems_gxx_once>: /* uncomment this if you need to debug this interface */ /*#define DEBUG_GXX_WRAPPERS 1*/ int rtems_gxx_once(__gthread_once_t *once, void (*func) (void)) {
   4398c:	4e56 fff0      	linkw %fp,#-16                              
   43990:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   43994:	246e 0008      	moveal %fp@(8),%a2                          
  #ifdef DEBUG_GXX_WRAPPERS                                           
    printk( "gxx_wrappers: once=%x, func=%x\n", *once, func );        
  #endif                                                              
                                                                      
  if ( *(volatile __gthread_once_t *)once == 0 ) {                    
   43998:	2012           	movel %a2@,%d0                              
   4399a:	670c           	beqs 439a8 <rtems_gxx_once+0x1c>            
    rtems_task_mode(saveMode, RTEMS_PREEMPT_MASK, &saveMode);         
    if ( o == 0 )                                                     
      (*func)();                                                      
  }                                                                   
  return 0;                                                           
}                                                                     
   4399c:	4280           	clrl %d0                                    
   4399e:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   439a4:	4e5e           	unlk %fp                                    
   439a6:	4e75           	rts                                         
                                                                      
  if ( *(volatile __gthread_once_t *)once == 0 ) {                    
    rtems_mode saveMode;                                              
    __gthread_once_t o;                                               
                                                                      
    rtems_task_mode(RTEMS_NO_PREEMPT, RTEMS_PREEMPT_MASK, &saveMode); 
   439a8:	240e           	movel %fp,%d2                               
   439aa:	5982           	subql #4,%d2                                
   439ac:	47f9 0004 8358 	lea 48358 <rtems_task_mode>,%a3             
   439b2:	2f02           	movel %d2,%sp@-                             
   439b4:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
   439b8:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
   439bc:	4e93           	jsr %a3@                                    
    if ( (o = *(volatile __gthread_once_t *)once) == 0 ) {            
   439be:	2012           	movel %a2@,%d0                              
   439c0:	4fef 000c      	lea %sp@(12),%sp                            
   439c4:	6626           	bnes 439ec <rtems_gxx_once+0x60>            <== NEVER TAKEN
      *(volatile __gthread_once_t *)once = 1;                         
    }                                                                 
    rtems_task_mode(saveMode, RTEMS_PREEMPT_MASK, &saveMode);         
   439c6:	2f02           	movel %d2,%sp@-                             
   439c8:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
    rtems_mode saveMode;                                              
    __gthread_once_t o;                                               
                                                                      
    rtems_task_mode(RTEMS_NO_PREEMPT, RTEMS_PREEMPT_MASK, &saveMode); 
    if ( (o = *(volatile __gthread_once_t *)once) == 0 ) {            
      *(volatile __gthread_once_t *)once = 1;                         
   439cc:	7001           	moveq #1,%d0                                
    }                                                                 
    rtems_task_mode(saveMode, RTEMS_PREEMPT_MASK, &saveMode);         
   439ce:	2f2e fffc      	movel %fp@(-4),%sp@-                        
    rtems_mode saveMode;                                              
    __gthread_once_t o;                                               
                                                                      
    rtems_task_mode(RTEMS_NO_PREEMPT, RTEMS_PREEMPT_MASK, &saveMode); 
    if ( (o = *(volatile __gthread_once_t *)once) == 0 ) {            
      *(volatile __gthread_once_t *)once = 1;                         
   439d2:	2480           	movel %d0,%a2@                              
    }                                                                 
    rtems_task_mode(saveMode, RTEMS_PREEMPT_MASK, &saveMode);         
   439d4:	4e93           	jsr %a3@                                    
    if ( o == 0 )                                                     
      (*func)();                                                      
   439d6:	206e 000c      	moveal %fp@(12),%a0                         
   439da:	4e90           	jsr %a0@                                    
   439dc:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
  return 0;                                                           
}                                                                     
   439e0:	4280           	clrl %d0                                    
   439e2:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   439e8:	4e5e           	unlk %fp                                    
   439ea:	4e75           	rts                                         
                                                                      
    rtems_task_mode(RTEMS_NO_PREEMPT, RTEMS_PREEMPT_MASK, &saveMode); 
    if ( (o = *(volatile __gthread_once_t *)once) == 0 ) {            
      *(volatile __gthread_once_t *)once = 1;                         
    }                                                                 
    rtems_task_mode(saveMode, RTEMS_PREEMPT_MASK, &saveMode);         
   439ec:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   439ee:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 <== NOT EXECUTED
   439f2:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   439f6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   439f8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    if ( o == 0 )                                                     
      (*func)();                                                      
  }                                                                   
  return 0;                                                           
}                                                                     
   439fc:	4280           	clrl %d0                                    <== NOT EXECUTED
   439fe:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                <== NOT EXECUTED
   43a04:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043c1e <rtems_gxx_recursive_mutex_unlock>: } int rtems_gxx_recursive_mutex_unlock(__gthread_recursive_mutex_t *mutex) {
   43c1e:	4e56 0000      	linkw %fp,#0                                
  return rtems_gxx_mutex_unlock(mutex);                               
}                                                                     
   43c22:	4e5e           	unlk %fp                                    
  return rtems_gxx_mutex_trylock(mutex);                              
}                                                                     
                                                                      
int rtems_gxx_recursive_mutex_unlock(__gthread_recursive_mutex_t *mutex)
{                                                                     
  return rtems_gxx_mutex_unlock(mutex);                               
   43c24:	4ef9 0004 3bde 	jmp 43bde <rtems_gxx_mutex_unlock>          
	...                                                                  
                                                                      

00043b0c <rtems_gxx_setspecific>: #endif return p; } int rtems_gxx_setspecific(__gthread_key_t key, const void *ptr) {
   43b0c:	4e56 0000      	linkw %fp,#0                                
   43b10:	2f0a           	movel %a2,%sp@-                             
   43b12:	246e 0008      	moveal %fp@(8),%a2                          
      rtems_task_self()                                               
      );                                                              
  #endif                                                              
                                                                      
  /* register with RTEMS the buffer that will hold the key values */  
  status = rtems_task_variable_add( RTEMS_SELF, (void **)key, key->dtor );
   43b16:	2f2a 0004      	movel %a2@(4),%sp@-                         
   43b1a:	2f0a           	movel %a2,%sp@-                             
   43b1c:	42a7           	clrl %sp@-                                  
   43b1e:	4eb9 0004 8588 	jsr 48588 <rtems_task_variable_add>         
  if ( status == RTEMS_SUCCESSFUL ) {                                 
   43b24:	4fef 000c      	lea %sp@(12),%sp                            
   43b28:	4a80           	tstl %d0                                    
   43b2a:	660c           	bnes 43b38 <rtems_gxx_setspecific+0x2c>     <== NEVER TAKEN
    /* now let's set the proper value */                              
    key->val =  (void *)ptr;                                          
   43b2c:	24ae 000c      	movel %fp@(12),%a2@                         
    return 0;                                                         
  }                                                                   
  return -1;                                                          
}                                                                     
   43b30:	246e fffc      	moveal %fp@(-4),%a2                         
   43b34:	4e5e           	unlk %fp                                    
   43b36:	4e75           	rts                                         
   43b38:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
  if ( status == RTEMS_SUCCESSFUL ) {                                 
    /* now let's set the proper value */                              
    key->val =  (void *)ptr;                                          
    return 0;                                                         
  }                                                                   
  return -1;                                                          
   43b3c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
}                                                                     
   43b3e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00047fe8 <rtems_heap_allocate_aligned_with_boundary>: size_t size, uintptr_t alignment, uintptr_t boundary ) { if (
   47fe8:	7003           	moveq #3,%d0                                
void *rtems_heap_allocate_aligned_with_boundary(                      
  size_t size,                                                        
  uintptr_t alignment,                                                
  uintptr_t boundary                                                  
)                                                                     
{                                                                     
   47fea:	4e56 0000      	linkw %fp,#0                                
  if (                                                                
   47fee:	b0b9 0006 6138 	cmpl 66138 <_System_state_Current>,%d0      
   47ff4:	6726           	beqs 4801c <rtems_heap_allocate_aligned_with_boundary+0x34>
      && !malloc_is_system_state_OK()                                 
  ) {                                                                 
    return NULL;                                                      
  }                                                                   
                                                                      
  malloc_deferred_frees_process();                                    
   47ff6:	4eb9 0004 6f58 	jsr 46f58 <malloc_deferred_frees_process>   
                                                                      
  /* FIXME: Statistics, boundary checks */                            
                                                                      
  return _Protected_heap_Allocate_aligned_with_boundary(              
   47ffc:	2f2e 0010      	movel %fp@(16),%sp@-                        
   48000:	2f2e 000c      	movel %fp@(12),%sp@-                        
   48004:	2f2e 0008      	movel %fp@(8),%sp@-                         
   48008:	2f39 0006 3f10 	movel 63f10 <RTEMS_Malloc_Heap>,%sp@-       
   4800e:	4eb9 0004 e0b8 	jsr 4e0b8 <_Protected_heap_Allocate_aligned_with_boundary>
   48014:	4fef 0010      	lea %sp@(16),%sp                            
    RTEMS_Malloc_Heap,                                                
    size,                                                             
    alignment,                                                        
    boundary                                                          
  );                                                                  
}                                                                     
   48018:	4e5e           	unlk %fp                                    
   4801a:	4e75           	rts                                         
  uintptr_t boundary                                                  
)                                                                     
{                                                                     
  if (                                                                
    _System_state_Is_up( _System_state_Get() )                        
      && !malloc_is_system_state_OK()                                 
   4801c:	4eb9 0004 6f38 	jsr 46f38 <malloc_is_system_state_OK>       
   48022:	4a00           	tstb %d0                                    
   48024:	66d0           	bnes 47ff6 <rtems_heap_allocate_aligned_with_boundary+0xe><== NEVER TAKEN
  ) {                                                                 
    return NULL;                                                      
   48026:	4280           	clrl %d0                                    
    RTEMS_Malloc_Heap,                                                
    size,                                                             
    alignment,                                                        
    boundary                                                          
  );                                                                  
}                                                                     
   48028:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043f08 <rtems_heap_extend_via_sbrk>: void *rtems_heap_extend_via_sbrk( Heap_Control *heap, size_t alloc_size ) {
   43f08:	4e56 fff0      	linkw %fp,#-16                              
  ptrdiff_t sbrk_amount = RTEMS_Malloc_Sbrk_amount;                   
   43f0c:	2039 0005 fbbc 	movel 5fbbc <RTEMS_Malloc_Sbrk_amount>,%d0  
                                                                      
void *rtems_heap_extend_via_sbrk(                                     
  Heap_Control *heap,                                                 
  size_t alloc_size                                                   
)                                                                     
{                                                                     
   43f12:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
   43f16:	242e 000c      	movel %fp@(12),%d2                          
  ptrdiff_t sbrk_amount = RTEMS_Malloc_Sbrk_amount;                   
  ptrdiff_t sbrk_size = (ptrdiff_t) alloc_size;                       
  ptrdiff_t misaligned = sbrk_size % sbrk_amount;                     
   43f1a:	2802           	movel %d2,%d4                               
  Heap_Control *heap,                                                 
  size_t alloc_size                                                   
)                                                                     
{                                                                     
  ptrdiff_t sbrk_amount = RTEMS_Malloc_Sbrk_amount;                   
  ptrdiff_t sbrk_size = (ptrdiff_t) alloc_size;                       
   43f1c:	2602           	movel %d2,%d3                               
  ptrdiff_t misaligned = sbrk_size % sbrk_amount;                     
   43f1e:	4c40 4801      	remsl %d0,%d1,%d4                           
                                                                      
void *rtems_heap_extend_via_sbrk(                                     
  Heap_Control *heap,                                                 
  size_t alloc_size                                                   
)                                                                     
{                                                                     
   43f22:	282e 0008      	movel %fp@(8),%d4                           
  ptrdiff_t sbrk_amount = RTEMS_Malloc_Sbrk_amount;                   
  ptrdiff_t sbrk_size = (ptrdiff_t) alloc_size;                       
  ptrdiff_t misaligned = sbrk_size % sbrk_amount;                     
  void *return_this = NULL;                                           
                                                                      
  if ( misaligned != 0 ) {                                            
   43f26:	4a81           	tstl %d1                                    
   43f28:	6706           	beqs 43f30 <rtems_heap_extend_via_sbrk+0x28>
    sbrk_size += sbrk_amount - misaligned;                            
   43f2a:	2600           	movel %d0,%d3                               
   43f2c:	9681           	subl %d1,%d3                                
   43f2e:	d682           	addl %d2,%d3                                
  }                                                                   
                                                                      
  if ( sbrk_size > 0 && sbrk_amount > 0 ) {                           
   43f30:	4a83           	tstl %d3                                    
   43f32:	6f54           	bles 43f88 <rtems_heap_extend_via_sbrk+0x80><== NEVER TAKEN
   43f34:	4a80           	tstl %d0                                    
   43f36:	6f50           	bles 43f88 <rtems_heap_extend_via_sbrk+0x80><== NEVER TAKEN
    void *area_begin = sbrk( sbrk_size );                             
   43f38:	2f03           	movel %d3,%sp@-                             
   43f3a:	45f9 0004 080c 	lea 4080c <sbrk>,%a2                        
   43f40:	4e92           	jsr %a2@                                    
                                                                      
    if ( area_begin != (void *) -1 ) {                                
   43f42:	588f           	addql #4,%sp                                
   43f44:	72ff           	moveq #-1,%d1                               
   43f46:	b280           	cmpl %d0,%d1                                
   43f48:	673e           	beqs 43f88 <rtems_heap_extend_via_sbrk+0x80>
      bool ok = _Protected_heap_Extend( heap, area_begin, sbrk_size );
   43f4a:	2f03           	movel %d3,%sp@-                             
   43f4c:	2f00           	movel %d0,%sp@-                             
   43f4e:	2f04           	movel %d4,%sp@-                             
   43f50:	4eb9 0004 9110 	jsr 49110 <_Protected_heap_Extend>          
                                                                      
      if ( ok ) {                                                     
   43f56:	4fef 000c      	lea %sp@(12),%sp                            
   43f5a:	4a00           	tstb %d0                                    
   43f5c:	6722           	beqs 43f80 <rtems_heap_extend_via_sbrk+0x78>
   43f5e:	42a7           	clrl %sp@-                                  
        MSBUMP( space_available, sbrk_size );                         
   43f60:	d7b9 0005 fb90 	addl %d3,5fb90 <rtems_malloc_statistics>    
   43f66:	42a7           	clrl %sp@-                                  
   43f68:	2f02           	movel %d2,%sp@-                             
   43f6a:	2f04           	movel %d4,%sp@-                             
   43f6c:	4eb9 0004 90d0 	jsr 490d0 <_Protected_heap_Allocate_aligned_with_boundary>
   43f72:	4fef 0010      	lea %sp@(16),%sp                            
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return return_this;                                                 
}                                                                     
   43f76:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   43f7c:	4e5e           	unlk %fp                                    
   43f7e:	4e75           	rts                                         
      if ( ok ) {                                                     
        MSBUMP( space_available, sbrk_size );                         
                                                                      
        return_this = _Protected_heap_Allocate( heap, alloc_size );   
      } else {                                                        
        sbrk( -sbrk_size );                                           
   43f80:	4483           	negl %d3                                    
   43f82:	2f03           	movel %d3,%sp@-                             
   43f84:	4e92           	jsr %a2@                                    
   43f86:	588f           	addql #4,%sp                                
)                                                                     
{                                                                     
  ptrdiff_t sbrk_amount = RTEMS_Malloc_Sbrk_amount;                   
  ptrdiff_t sbrk_size = (ptrdiff_t) alloc_size;                       
  ptrdiff_t misaligned = sbrk_size % sbrk_amount;                     
  void *return_this = NULL;                                           
   43f88:	4280           	clrl %d0                                    
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return return_this;                                                 
}                                                                     
   43f8a:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   43f90:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00046314 <rtems_heap_greedy_free>: void rtems_heap_greedy_free( void *opaque ) {
   46314:	4e56 0000      	linkw %fp,#0                                
   46318:	2f02           	movel %d2,%sp@-                             
  _RTEMS_Lock_allocator();                                            
   4631a:	2f39 0006 4b2e 	movel 64b2e <_RTEMS_Allocator_Mutex>,%sp@-  
                                                                      
  return opaque;                                                      
}                                                                     
                                                                      
void rtems_heap_greedy_free( void *opaque )                           
{                                                                     
   46320:	242e 0008      	movel %fp@(8),%d2                           
  _RTEMS_Lock_allocator();                                            
   46324:	4eb9 0004 a3a0 	jsr 4a3a0 <_API_Mutex_Lock>                 
  _Heap_Greedy_free( RTEMS_Malloc_Heap, opaque );                     
   4632a:	2f02           	movel %d2,%sp@-                             
   4632c:	2f39 0006 2df4 	movel 62df4 <RTEMS_Malloc_Heap>,%sp@-       
   46332:	4eb9 0004 ab38 	jsr 4ab38 <_Heap_Greedy_free>               
  _RTEMS_Unlock_allocator();                                          
}                                                                     
   46338:	242e fffc      	movel %fp@(-4),%d2                          
                                                                      
void rtems_heap_greedy_free( void *opaque )                           
{                                                                     
  _RTEMS_Lock_allocator();                                            
  _Heap_Greedy_free( RTEMS_Malloc_Heap, opaque );                     
  _RTEMS_Unlock_allocator();                                          
   4633c:	41f9 0006 4b2e 	lea 64b2e <_RTEMS_Allocator_Mutex>,%a0      
   46342:	4fef 000c      	lea %sp@(12),%sp                            
   46346:	2d50 0008      	movel %a0@,%fp@(8)                          
}                                                                     
   4634a:	4e5e           	unlk %fp                                    
                                                                      
void rtems_heap_greedy_free( void *opaque )                           
{                                                                     
  _RTEMS_Lock_allocator();                                            
  _Heap_Greedy_free( RTEMS_Malloc_Heap, opaque );                     
  _RTEMS_Unlock_allocator();                                          
   4634c:	4ef9 0004 a400 	jmp 4a400 <_API_Mutex_Unlock>               
	...                                                                  
                                                                      

00043f64 <rtems_heap_null_extend>: Heap_Control *heap __attribute__((unused)), size_t alloc_size __attribute__((unused)) ) { return NULL; }
   43f64:	4280           	clrl %d0                                    
                                                                      
void *rtems_heap_null_extend(                                         
  Heap_Control *heap __attribute__((unused)),                         
  size_t alloc_size __attribute__((unused))                           
)                                                                     
{                                                                     
   43f66:	4e56 0000      	linkw %fp,#0                                
  return NULL;                                                        
}                                                                     
   43f6a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

000447ae <rtems_ide_part_table_free>: * RETURNS: * N/A */ void rtems_ide_part_table_free(rtems_disk_desc_t *disk_desc) {
   447ae:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
    partition_table_free( disk_desc );                                
}                                                                     
   447b2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
 *      N/A                                                           
 */                                                                   
void                                                                  
rtems_ide_part_table_free(rtems_disk_desc_t *disk_desc)               
{                                                                     
    partition_table_free( disk_desc );                                
   447b4:	6000 face      	braw 44284 <partition_table_free>           <== NOT EXECUTED
                                                                      

000447b8 <rtems_ide_part_table_get>: * RTEMS_SUCCESSFUL if success, * RTEMS_INTERNAL_ERROR otherwise */ rtems_status_code rtems_ide_part_table_get(const char *dev_name, rtems_disk_desc_t *disk_desc) {
   447b8:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
    return partition_table_get( dev_name, disk_desc );                
}                                                                     
   447bc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
 *      RTEMS_INTERNAL_ERROR otherwise                                
 */                                                                   
rtems_status_code                                                     
rtems_ide_part_table_get(const char *dev_name, rtems_disk_desc_t *disk_desc)
{                                                                     
    return partition_table_get( dev_name, disk_desc );                
   447be:	6000 fdd6      	braw 44596 <partition_table_get>            <== NOT EXECUTED
                                                                      

000447c2 <rtems_ide_part_table_initialize>: * RTEMS_NO_MEMOTY if cannot have not enough memory, * RTEMS_INTERNAL_ERROR if other error occurs. */ rtems_status_code rtems_ide_part_table_initialize(const char *dev_name) {
   447c2:	4e56 ffc4      	linkw %fp,#-60                              
   447c6:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
    rtems_part_desc_t          *part_desc;                            
                                                                      
    /* logical device name /dev/hdxyy */                              
    char                        name[RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX];
                                                                      
    disk_desc = (rtems_disk_desc_t *) calloc(1, sizeof(rtems_disk_desc_t));
   447ca:	4878 0124      	pea 124 <DBL_MANT_DIG+0xef>                 
   447ce:	4878 0001      	pea 1 <ADD>                                 
 *      RTEMS_NO_MEMOTY if cannot have not enough memory,             
 *      RTEMS_INTERNAL_ERROR if other error occurs.                   
 */                                                                   
rtems_status_code                                                     
rtems_ide_part_table_initialize(const char *dev_name)                 
{                                                                     
   447d2:	262e 0008      	movel %fp@(8),%d3                           
    rtems_part_desc_t          *part_desc;                            
                                                                      
    /* logical device name /dev/hdxyy */                              
    char                        name[RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX];
                                                                      
    disk_desc = (rtems_disk_desc_t *) calloc(1, sizeof(rtems_disk_desc_t));
   447d6:	4eb9 0004 5024 	jsr 45024 <calloc>                          
    if (disk_desc == NULL)                                            
   447dc:	508f           	addql #8,%sp                                
    rtems_part_desc_t          *part_desc;                            
                                                                      
    /* logical device name /dev/hdxyy */                              
    char                        name[RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX];
                                                                      
    disk_desc = (rtems_disk_desc_t *) calloc(1, sizeof(rtems_disk_desc_t));
   447de:	2640           	moveal %d0,%a3                              
    if (disk_desc == NULL)                                            
   447e0:	4a80           	tstl %d0                                    
   447e2:	6700 00b4      	beqw 44898 <rtems_ide_part_table_initialize+0xd6>
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
    }                                                                 
                                                                      
    /* get partition table */                                         
    rc = partition_table_get(dev_name, disk_desc);                    
   447e6:	2f00           	movel %d0,%sp@-                             
   447e8:	2f03           	movel %d3,%sp@-                             
   447ea:	4eba fdaa      	jsr %pc@(44596 <partition_table_get>)       
    if (rc != RTEMS_SUCCESSFUL)                                       
   447ee:	508f           	addql #8,%sp                                
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
    }                                                                 
                                                                      
    /* get partition table */                                         
    rc = partition_table_get(dev_name, disk_desc);                    
   447f0:	2d40 ffec      	movel %d0,%fp@(-20)                         
    if (rc != RTEMS_SUCCESSFUL)                                       
   447f4:	6600 00b6      	bnew 448ac <rtems_ide_part_table_initialize+0xea>
    rtems_filesystem_split_dev_t (disk_desc->dev, major, minor);      
                                                                      
    /* create logical disks on the physical one */                    
    for (part_num = 0; part_num < disk_desc->last_log_id; part_num++) 
    {                                                                 
        sprintf(name, "%s%d", dev_name, part_num + 1);                
   447f8:	240e           	movel %fp,%d2                               
 *      RTEMS_SUCCESSFUL if success,                                  
 *      RTEMS_NO_MEMOTY if cannot have not enough memory,             
 *      RTEMS_INTERNAL_ERROR if other error occurs.                   
 */                                                                   
rtems_status_code                                                     
rtems_ide_part_table_initialize(const char *dev_name)                 
   447fa:	45eb 0028      	lea %a3@(40),%a2                            
     */                                                               
                                                                      
    rtems_filesystem_split_dev_t (disk_desc->dev, major, minor);      
                                                                      
    /* create logical disks on the physical one */                    
    for (part_num = 0; part_num < disk_desc->last_log_id; part_num++) 
   447fe:	4287           	clrl %d7                                    
    {                                                                 
        sprintf(name, "%s%d", dev_name, part_num + 1);                
   44800:	0682 ffff fff0 	addil #-16,%d2                              
   44806:	49f9 0005 46b4 	lea 546b4 <sprintf>,%a4                     
        if (part_desc == NULL)                                        
        {                                                             
            continue;                                                 
        }                                                             
                                                                      
        rc = rtems_disk_create_log(dev, disk_desc->dev, part_desc->start,
   4480c:	4bf9 0004 3da6 	lea 43da6 <rtems_disk_create_log>,%a5       
                                   part_desc->size, name);            
        if (rc != RTEMS_SUCCESSFUL)                                   
        {                                                             
            fprintf(stdout,"Cannot create device %s, error code %d\n", name, rc);
   44812:	2c3c 0005 3ede 	movel #343774,%d6                           
    /* To avoid device numbers conflicts we have to use for logic disk the same
     * device major number as ATA device has, and minor number that equals to
     * sum of logic disk partition number and the minor number of physical disk
     */                                                               
                                                                      
    rtems_filesystem_split_dev_t (disk_desc->dev, major, minor);      
   44818:	2a13           	movel %a3@,%d5                              
   4481a:	282b 0004      	movel %a3@(4),%d4                           
                                                                      
    /* create logical disks on the physical one */                    
    for (part_num = 0; part_num < disk_desc->last_log_id; part_num++) 
   4481e:	beab 0024      	cmpl %a3@(36),%d7                           
   44822:	6c5e           	bges 44882 <rtems_ide_part_table_initialize+0xc0>
    {                                                                 
        sprintf(name, "%s%d", dev_name, part_num + 1);                
   44824:	5287           	addql #1,%d7                                
   44826:	2f07           	movel %d7,%sp@-                             
   44828:	2f03           	movel %d3,%sp@-                             
   4482a:	4879 0006 2278 	pea 62278 <RTEMS_BDPART_MBR_MASTER_TYPE+0x14>
   44830:	2f02           	movel %d2,%sp@-                             
   44832:	4e94           	jsr %a4@                                    
        dev = rtems_filesystem_make_dev_t(major, ++minor);            
                                                                      
        part_desc = disk_desc->partitions[part_num];                  
   44834:	225a           	moveal %a2@+,%a1                            
{                                                                     
  union __rtems_dev_t temp;                                           
                                                                      
  temp.__overlay.major = _major;                                      
  temp.__overlay.minor = _minor;                                      
  return temp.device;                                                 
   44836:	2207           	movel %d7,%d1                               
        if (part_desc == NULL)                                        
   44838:	4fef 0010      	lea %sp@(16),%sp                            
   4483c:	d284           	addl %d4,%d1                                
   4483e:	4a89           	tstl %a1                                    
   44840:	67dc           	beqs 4481e <rtems_ide_part_table_initialize+0x5c>
        {                                                             
            continue;                                                 
        }                                                             
                                                                      
        rc = rtems_disk_create_log(dev, disk_desc->dev, part_desc->start,
   44842:	2f02           	movel %d2,%sp@-                             
   44844:	2f29 0008      	movel %a1@(8),%sp@-                         
   44848:	2f29 0004      	movel %a1@(4),%sp@-                         
   4484c:	2f2b 0004      	movel %a3@(4),%sp@-                         
   44850:	2f13           	movel %a3@,%sp@-                            
   44852:	2f01           	movel %d1,%sp@-                             
   44854:	2f05           	movel %d5,%sp@-                             
   44856:	4e95           	jsr %a5@                                    
                                   part_desc->size, name);            
        if (rc != RTEMS_SUCCESSFUL)                                   
   44858:	4fef 001c      	lea %sp@(28),%sp                            
   4485c:	4a80           	tstl %d0                                    
   4485e:	67be           	beqs 4481e <rtems_ide_part_table_initialize+0x5c><== ALWAYS TAKEN
        {                                                             
            fprintf(stdout,"Cannot create device %s, error code %d\n", name, rc);
   44860:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   44862:	2279 0006 39d8 	moveal 639d8 <_impure_ptr>,%a1              <== NOT EXECUTED
   44868:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
   4486a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4486c:	4879 0006 227d 	pea 6227d <RTEMS_BDPART_MBR_MASTER_TYPE+0x19><== NOT EXECUTED
   44872:	2f29 0008      	movel %a1@(8),%sp@-                         <== NOT EXECUTED
   44876:	4e90           	jsr %a0@                                    <== NOT EXECUTED
            continue;                                                 
   44878:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
     */                                                               
                                                                      
    rtems_filesystem_split_dev_t (disk_desc->dev, major, minor);      
                                                                      
    /* create logical disks on the physical one */                    
    for (part_num = 0; part_num < disk_desc->last_log_id; part_num++) 
   4487c:	beab 0024      	cmpl %a3@(36),%d7                           <== NOT EXECUTED
   44880:	6da2           	blts 44824 <rtems_ide_part_table_initialize+0x62><== NOT EXECUTED
            fprintf(stdout,"Cannot create device %s, error code %d\n", name, rc);
            continue;                                                 
        }                                                             
    }                                                                 
                                                                      
    partition_table_free(disk_desc);                                  
   44882:	2f0b           	movel %a3,%sp@-                             
   44884:	4eba f9fe      	jsr %pc@(44284 <partition_table_free>)      
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   44888:	202e ffec      	movel %fp@(-20),%d0                         
            fprintf(stdout,"Cannot create device %s, error code %d\n", name, rc);
            continue;                                                 
        }                                                             
    }                                                                 
                                                                      
    partition_table_free(disk_desc);                                  
   4488c:	588f           	addql #4,%sp                                
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4488e:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            
   44894:	4e5e           	unlk %fp                                    
   44896:	4e75           	rts                                         
    char                        name[RTEMS_IDE_PARTITION_DEV_NAME_LENGTH_MAX];
                                                                      
    disk_desc = (rtems_disk_desc_t *) calloc(1, sizeof(rtems_disk_desc_t));
    if (disk_desc == NULL)                                            
    {                                                                 
        return RTEMS_NO_MEMORY;                                       
   44898:	701a           	moveq #26,%d0                               <== NOT EXECUTED
   4489a:	2d40 ffec      	movel %d0,%fp@(-20)                         <== NOT EXECUTED
    }                                                                 
                                                                      
    partition_table_free(disk_desc);                                  
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   4489e:	202e ffec      	movel %fp@(-20),%d0                         <== NOT EXECUTED
   448a2:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   448a8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   448aa:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    /* get partition table */                                         
    rc = partition_table_get(dev_name, disk_desc);                    
    if (rc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        free(disk_desc);                                              
   448ac:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   448ae:	4eb9 0004 5344 	jsr 45344 <free>                            <== NOT EXECUTED
    }                                                                 
                                                                      
    partition_table_free(disk_desc);                                  
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   448b4:	202e ffec      	movel %fp@(-20),%d0                         <== NOT EXECUTED
                                                                      
    /* get partition table */                                         
    rc = partition_table_get(dev_name, disk_desc);                    
    if (rc != RTEMS_SUCCESSFUL)                                       
    {                                                                 
        free(disk_desc);                                              
   448b8:	588f           	addql #4,%sp                                <== NOT EXECUTED
    }                                                                 
                                                                      
    partition_table_free(disk_desc);                                  
                                                                      
    return RTEMS_SUCCESSFUL;                                          
}                                                                     
   448ba:	4cee 3cfc ffc4 	moveml %fp@(-60),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   448c0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00047b8c <rtems_initialize_start_multitasking>:
   47b8c:	7002           	moveq #2,%d0                                
}                                                                     
                                                                      
void rtems_initialize_start_multitasking(void)                        
{                                                                     
   47b8e:	4e56 0000      	linkw %fp,#0                                
   47b92:	23c0 0005 fb6c 	movel %d0,5fb6c <_System_state_Current>     
  uint32_t status;                                                    
                                                                      
  _System_state_Set( SYSTEM_STATE_BEGIN_MULTITASKING );               
                                                                      
  _Thread_Start_multitasking();                                       
   47b98:	4eb9 0004 a628 	jsr 4a628 <_Thread_Start_multitasking>      
   ******            RETURNS WHEN SYSTEM IS SHUT DOWN           ******
   *******************************************************************
   *******************************************************************
   *******************************************************************/
                                                                      
  status = _Per_CPU_Information[0].idle->Wait.return_code;            
   47b9e:	2079 0005 fb86 	moveal 5fb86 <_Per_CPU_Information+0x16>,%a0
  rtems_fatal( RTEMS_FATAL_SOURCE_EXIT, status );                     
   47ba4:	2f28 0034      	movel %a0@(52),%sp@-                        
   47ba8:	4878 0005      	pea 5 <COMPARE>                             
   47bac:	4eb9 0004 7c38 	jsr 47c38 <rtems_fatal>                     
	...                                                                  
                                                                      

000494dc <rtems_io_register_driver>: rtems_status_code rtems_io_register_driver( rtems_device_major_number major, const rtems_driver_address_table *driver_table, rtems_device_major_number *registered_major ) {
   494dc:	4e56 0000      	linkw %fp,#0                                
   494e0:	226e 000c      	moveal %fp@(12),%a1                         
   494e4:	2f0a           	movel %a2,%sp@-                             
   494e6:	206e 0010      	moveal %fp@(16),%a0                         
   494ea:	2f02           	movel %d2,%sp@-                             
   494ec:	242e 0008      	movel %fp@(8),%d2                           
  rtems_device_major_number major_limit = _IO_Number_of_drivers;      
   494f0:	2039 0006 41dc 	movel 641dc <_IO_Number_of_drivers>,%d0     
                                                                      
  if ( rtems_interrupt_is_in_progress() )                             
   494f6:	4ab9 0006 415c 	tstl 6415c <_Per_CPU_Information+0x8>       
   494fc:	670e           	beqs 4950c <rtems_io_register_driver+0x30>  
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   494fe:	242e fff8      	movel %fp@(-8),%d2                          
)                                                                     
{                                                                     
  rtems_device_major_number major_limit = _IO_Number_of_drivers;      
                                                                      
  if ( rtems_interrupt_is_in_progress() )                             
    return RTEMS_CALLED_FROM_ISR;                                     
   49502:	7012           	moveq #18,%d0                               
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   49504:	246e fffc      	moveal %fp@(-4),%a2                         
   49508:	4e5e           	unlk %fp                                    
   4950a:	4e75           	rts                                         
  rtems_device_major_number major_limit = _IO_Number_of_drivers;      
                                                                      
  if ( rtems_interrupt_is_in_progress() )                             
    return RTEMS_CALLED_FROM_ISR;                                     
                                                                      
  if ( registered_major == NULL )                                     
   4950c:	4a88           	tstl %a0                                    
   4950e:	6722           	beqs 49532 <rtems_io_register_driver+0x56>  
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  /* Set it to an invalid value */                                    
  *registered_major = major_limit;                                    
   49510:	2080           	movel %d0,%a0@                              
                                                                      
  if ( driver_table == NULL )                                         
   49512:	4a89           	tstl %a1                                    
   49514:	671c           	beqs 49532 <rtems_io_register_driver+0x56>  
                                                                      
static inline bool rtems_io_is_empty_table(                           
  const rtems_driver_address_table *table                             
)                                                                     
{                                                                     
  return table->initialization_entry == NULL && table->open_entry == NULL;
   49516:	4a91           	tstl %a1@                                   
   49518:	6712           	beqs 4952c <rtems_io_register_driver+0x50>  
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( rtems_io_is_empty_table( driver_table ) )                      
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( major >= major_limit )                                         
   4951a:	b480           	cmpl %d0,%d2                                
   4951c:	6522           	bcss 49540 <rtems_io_register_driver+0x64>  
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   4951e:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  if ( rtems_io_is_empty_table( driver_table ) )                      
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( major >= major_limit )                                         
    return RTEMS_INVALID_NUMBER;                                      
   49522:	700a           	moveq #10,%d0                               
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   49524:	246e fffc      	moveal %fp@(-4),%a2                         
   49528:	4e5e           	unlk %fp                                    
   4952a:	4e75           	rts                                         
                                                                      
static inline bool rtems_io_is_empty_table(                           
  const rtems_driver_address_table *table                             
)                                                                     
{                                                                     
  return table->initialization_entry == NULL && table->open_entry == NULL;
   4952c:	4aa9 0004      	tstl %a1@(4)                                
   49530:	66e8           	bnes 4951a <rtems_io_register_driver+0x3e>  
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   49532:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  if ( driver_table == NULL )                                         
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( rtems_io_is_empty_table( driver_table ) )                      
    return RTEMS_INVALID_ADDRESS;                                     
   49536:	7009           	moveq #9,%d0                                
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   49538:	246e fffc      	moveal %fp@(-4),%a2                         
   4953c:	4e5e           	unlk %fp                                    
   4953e:	4e75           	rts                                         
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   49540:	2039 0006 3fea 	movel 63fea <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   49546:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   49548:	23c0 0006 3fea 	movel %d0,63fea <_Thread_Dispatch_disable_level>
  if ( major >= major_limit )                                         
    return RTEMS_INVALID_NUMBER;                                      
                                                                      
  _Thread_Disable_dispatch();                                         
                                                                      
  if ( major == 0 ) {                                                 
   4954e:	4a82           	tstl %d2                                    
   49550:	676a           	beqs 495bc <rtems_io_register_driver+0xe0>  
      _Thread_Enable_dispatch();                                      
      return sc;                                                      
    }                                                                 
    major = *registered_major;                                        
  } else {                                                            
    rtems_driver_address_table *const table = _IO_Driver_address_table + major;
   49552:	2202           	movel %d2,%d1                               
   49554:	2002           	movel %d2,%d0                               
   49556:	e789           	lsll #3,%d1                                 
   49558:	eb88           	lsll #5,%d0                                 
   4955a:	2479 0006 41e0 	moveal 641e0 <_IO_Driver_address_table>,%a2 
   49560:	9081           	subl %d1,%d0                                
   49562:	d5c0           	addal %d0,%a2                               
                                                                      
static inline bool rtems_io_is_empty_table(                           
  const rtems_driver_address_table *table                             
)                                                                     
{                                                                     
  return table->initialization_entry == NULL && table->open_entry == NULL;
   49564:	4a92           	tstl %a2@                                   
   49566:	6714           	beqs 4957c <rtems_io_register_driver+0xa0>  
    major = *registered_major;                                        
  } else {                                                            
    rtems_driver_address_table *const table = _IO_Driver_address_table + major;
                                                                      
    if ( !rtems_io_is_empty_table( table ) ) {                        
      _Thread_Enable_dispatch();                                      
   49568:	4eb9 0004 b5b0 	jsr 4b5b0 <_Thread_Enable_dispatch>         
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   4956e:	242e fff8      	movel %fp@(-8),%d2                          
  } else {                                                            
    rtems_driver_address_table *const table = _IO_Driver_address_table + major;
                                                                      
    if ( !rtems_io_is_empty_table( table ) ) {                        
      _Thread_Enable_dispatch();                                      
      return RTEMS_RESOURCE_IN_USE;                                   
   49572:	700c           	moveq #12,%d0                               
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   49574:	246e fffc      	moveal %fp@(-4),%a2                         
   49578:	4e5e           	unlk %fp                                    
   4957a:	4e75           	rts                                         
                                                                      
static inline bool rtems_io_is_empty_table(                           
  const rtems_driver_address_table *table                             
)                                                                     
{                                                                     
  return table->initialization_entry == NULL && table->open_entry == NULL;
   4957c:	4aaa 0004      	tstl %a2@(4)                                
   49580:	66e6           	bnes 49568 <rtems_io_register_driver+0x8c>  
   49582:	2239 0006 41e0 	movel 641e0 <_IO_Driver_address_table>,%d1  
    if ( !rtems_io_is_empty_table( table ) ) {                        
      _Thread_Enable_dispatch();                                      
      return RTEMS_RESOURCE_IN_USE;                                   
    }                                                                 
                                                                      
    *registered_major = major;                                        
   49588:	2082           	movel %d2,%a0@                              
  }                                                                   
                                                                      
  _IO_Driver_address_table [major] = *driver_table;                   
   4958a:	2041           	moveal %d1,%a0                              
   4958c:	d1c0           	addal %d0,%a0                               
   4958e:	20d9           	movel %a1@+,%a0@+                           
   49590:	20d9           	movel %a1@+,%a0@+                           
   49592:	20d9           	movel %a1@+,%a0@+                           
   49594:	20d9           	movel %a1@+,%a0@+                           
   49596:	20d9           	movel %a1@+,%a0@+                           
   49598:	2091           	movel %a1@,%a0@                             
                                                                      
  _Thread_Enable_dispatch();                                          
   4959a:	4eb9 0004 b5b0 	jsr 4b5b0 <_Thread_Enable_dispatch>         
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   495a0:	246e fffc      	moveal %fp@(-4),%a2                         
                                                                      
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
   495a4:	2d42 0008      	movel %d2,%fp@(8)                           
}                                                                     
   495a8:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
   495ac:	42ae 0010      	clrl %fp@(16)                               
   495b0:	42ae 000c      	clrl %fp@(12)                               
}                                                                     
   495b4:	4e5e           	unlk %fp                                    
                                                                      
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
   495b6:	4ef9 0005 0ca8 	jmp 50ca8 <rtems_io_initialize>             
                                                                      
static rtems_status_code rtems_io_obtain_major_number(                
  rtems_device_major_number *major                                    
)                                                                     
{                                                                     
  rtems_device_major_number n = _IO_Number_of_drivers;                
   495bc:	2039 0006 41dc 	movel 641dc <_IO_Number_of_drivers>,%d0     
  rtems_device_major_number m = 0;                                    
                                                                      
  /* major is error checked by caller */                              
                                                                      
  for ( m = 0; m < n; ++m ) {                                         
   495c2:	6770           	beqs 49634 <rtems_io_register_driver+0x158> <== NEVER TAKEN
   495c4:	2239 0006 41e0 	movel 641e0 <_IO_Driver_address_table>,%d1  
   495ca:	2441           	moveal %d1,%a2                              
                                                                      
static inline bool rtems_io_is_empty_table(                           
  const rtems_driver_address_table *table                             
)                                                                     
{                                                                     
  return table->initialization_entry == NULL && table->open_entry == NULL;
   495cc:	4a92           	tstl %a2@                                   
   495ce:	6720           	beqs 495f0 <rtems_io_register_driver+0x114> 
  rtems_device_major_number n = _IO_Number_of_drivers;                
  rtems_device_major_number m = 0;                                    
                                                                      
  /* major is error checked by caller */                              
                                                                      
  for ( m = 0; m < n; ++m ) {                                         
   495d0:	5282           	addql #1,%d2                                
   495d2:	45ea 0018      	lea %a2@(24),%a2                            
   495d6:	b082           	cmpl %d2,%d0                                
   495d8:	66f2           	bnes 495cc <rtems_io_register_driver+0xf0>  
    if ( rtems_io_is_empty_table( table ) )                           
      break;                                                          
  }                                                                   
                                                                      
  /* Assigns invalid value in case of failure */                      
  *major = m;                                                         
   495da:	2082           	movel %d2,%a0@                              
                                                                      
  if ( major == 0 ) {                                                 
    rtems_status_code sc = rtems_io_obtain_major_number( registered_major );
                                                                      
    if ( sc != RTEMS_SUCCESSFUL ) {                                   
      _Thread_Enable_dispatch();                                      
   495dc:	4eb9 0004 b5b0 	jsr 4b5b0 <_Thread_Enable_dispatch>         
  *major = m;                                                         
                                                                      
  if ( m != n )                                                       
    return RTEMS_SUCCESSFUL;                                          
                                                                      
  return RTEMS_TOO_MANY;                                              
   495e2:	7005           	moveq #5,%d0                                
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   495e4:	242e fff8      	movel %fp@(-8),%d2                          
   495e8:	246e fffc      	moveal %fp@(-4),%a2                         
   495ec:	4e5e           	unlk %fp                                    
   495ee:	4e75           	rts                                         
                                                                      
static inline bool rtems_io_is_empty_table(                           
  const rtems_driver_address_table *table                             
)                                                                     
{                                                                     
  return table->initialization_entry == NULL && table->open_entry == NULL;
   495f0:	4aaa 0004      	tstl %a2@(4)                                
   495f4:	66da           	bnes 495d0 <rtems_io_register_driver+0xf4>  
    if ( rtems_io_is_empty_table( table ) )                           
      break;                                                          
  }                                                                   
                                                                      
  /* Assigns invalid value in case of failure */                      
  *major = m;                                                         
   495f6:	2082           	movel %d2,%a0@                              
                                                                      
  if ( m != n )                                                       
   495f8:	b480           	cmpl %d0,%d2                                
   495fa:	67e0           	beqs 495dc <rtems_io_register_driver+0x100> <== NEVER TAKEN
   495fc:	7018           	moveq #24,%d0                               
   495fe:	4c02 0800      	mulsl %d2,%d0                               
    }                                                                 
                                                                      
    *registered_major = major;                                        
  }                                                                   
                                                                      
  _IO_Driver_address_table [major] = *driver_table;                   
   49602:	2041           	moveal %d1,%a0                              
   49604:	d1c0           	addal %d0,%a0                               
   49606:	20d9           	movel %a1@+,%a0@+                           
   49608:	20d9           	movel %a1@+,%a0@+                           
   4960a:	20d9           	movel %a1@+,%a0@+                           
   4960c:	20d9           	movel %a1@+,%a0@+                           
   4960e:	20d9           	movel %a1@+,%a0@+                           
   49610:	2091           	movel %a1@,%a0@                             
                                                                      
  _Thread_Enable_dispatch();                                          
   49612:	4eb9 0004 b5b0 	jsr 4b5b0 <_Thread_Enable_dispatch>         
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
}                                                                     
   49618:	246e fffc      	moveal %fp@(-4),%a2                         
                                                                      
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
   4961c:	2d42 0008      	movel %d2,%fp@(8)                           
}                                                                     
   49620:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
   49624:	42ae 0010      	clrl %fp@(16)                               
   49628:	42ae 000c      	clrl %fp@(12)                               
}                                                                     
   4962c:	4e5e           	unlk %fp                                    
                                                                      
  _IO_Driver_address_table [major] = *driver_table;                   
                                                                      
  _Thread_Enable_dispatch();                                          
                                                                      
  return rtems_io_initialize( major, 0, NULL );                       
   4962e:	4ef9 0005 0ca8 	jmp 50ca8 <rtems_io_initialize>             
    if ( rtems_io_is_empty_table( table ) )                           
      break;                                                          
  }                                                                   
                                                                      
  /* Assigns invalid value in case of failure */                      
  *major = m;                                                         
   49634:	4290           	clrl %a0@                                   <== NOT EXECUTED
                                                                      
  if ( major == 0 ) {                                                 
    rtems_status_code sc = rtems_io_obtain_major_number( registered_major );
                                                                      
    if ( sc != RTEMS_SUCCESSFUL ) {                                   
      _Thread_Enable_dispatch();                                      
   49636:	4eb9 0004 b5b0 	jsr 4b5b0 <_Thread_Enable_dispatch>         <== NOT EXECUTED
  *major = m;                                                         
                                                                      
  if ( m != n )                                                       
    return RTEMS_SUCCESSFUL;                                          
                                                                      
  return RTEMS_TOO_MANY;                                              
   4963c:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   4963e:	60a4           	bras 495e4 <rtems_io_register_driver+0x108> <== NOT EXECUTED
                                                                      

0004a21c <rtems_iterate_over_all_threads>: #include <rtems/system.h> #include <rtems/score/thread.h> void rtems_iterate_over_all_threads(rtems_per_thread_routine routine) {
   4a21c:	4e56 fff0      	linkw %fp,#-16                              
   4a220:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
   4a224:	266e 0008      	moveal %fp@(8),%a3                          
   4a228:	49f9 0006 2466 	lea 62466 <_Objects_Information_table+0x4>,%a4
  uint32_t             i;                                             
  uint32_t             api_index;                                     
  Thread_Control      *the_thread;                                    
  Objects_Information *information;                                   
                                                                      
  if ( !routine )                                                     
   4a22e:	4a8b           	tstl %a3                                    
   4a230:	673c           	beqs 4a26e <rtems_iterate_over_all_threads+0x52><== NEVER TAKEN
    return;                                                           
                                                                      
  for ( api_index = 1 ; api_index <= OBJECTS_APIS_LAST ; api_index++ ) {
    #if !defined(RTEMS_POSIX_API) || defined(RTEMS_DEBUG)             
      if ( !_Objects_Information_table[ api_index ] )                 
   4a232:	205c           	moveal %a4@+,%a0                            
   4a234:	4a88           	tstl %a0                                    
   4a236:	672e           	beqs 4a266 <rtems_iterate_over_all_threads+0x4a>
        continue;                                                     
    #endif                                                            
                                                                      
    information = _Objects_Information_table[ api_index ][ 1 ];       
   4a238:	2468 0004      	moveal %a0@(4),%a2                          
    if ( !information )                                               
   4a23c:	4a8a           	tstl %a2                                    
   4a23e:	6726           	beqs 4a266 <rtems_iterate_over_all_threads+0x4a>
      continue;                                                       
                                                                      
    for ( i=1 ; i <= information->maximum ; i++ ) {                   
   4a240:	4a6a 000e      	tstw %a2@(14)                               
   4a244:	6720           	beqs 4a266 <rtems_iterate_over_all_threads+0x4a><== NEVER TAKEN
   4a246:	7401           	moveq #1,%d2                                
      the_thread = (Thread_Control *)information->local_table[ i ];   
   4a248:	206a 0018      	moveal %a2@(24),%a0                         
   4a24c:	2030 2c00      	movel %a0@(00000000,%d2:l:4),%d0            
                                                                      
    information = _Objects_Information_table[ api_index ][ 1 ];       
    if ( !information )                                               
      continue;                                                       
                                                                      
    for ( i=1 ; i <= information->maximum ; i++ ) {                   
   4a250:	5282           	addql #1,%d2                                
      the_thread = (Thread_Control *)information->local_table[ i ];   
                                                                      
      if ( !the_thread )                                              
   4a252:	4a80           	tstl %d0                                    
   4a254:	6706           	beqs 4a25c <rtems_iterate_over_all_threads+0x40><== NEVER TAKEN
	continue;                                                            
                                                                      
      (*routine)(the_thread);                                         
   4a256:	2f00           	movel %d0,%sp@-                             
   4a258:	4e93           	jsr %a3@                                    
   4a25a:	588f           	addql #4,%sp                                
                                                                      
    information = _Objects_Information_table[ api_index ][ 1 ];       
    if ( !information )                                               
      continue;                                                       
                                                                      
    for ( i=1 ; i <= information->maximum ; i++ ) {                   
   4a25c:	4280           	clrl %d0                                    
   4a25e:	302a 000e      	movew %a2@(14),%d0                          
   4a262:	b480           	cmpl %d0,%d2                                
   4a264:	63e2           	blss 4a248 <rtems_iterate_over_all_threads+0x2c>
  Objects_Information *information;                                   
                                                                      
  if ( !routine )                                                     
    return;                                                           
                                                                      
  for ( api_index = 1 ; api_index <= OBJECTS_APIS_LAST ; api_index++ ) {
   4a266:	b9fc 0006 2472 	cmpal #402546,%a4                           
   4a26c:	66c4           	bnes 4a232 <rtems_iterate_over_all_threads+0x16>
                                                                      
      (*routine)(the_thread);                                         
    }                                                                 
  }                                                                   
                                                                      
}                                                                     
   4a26e:	4cee 1c04 fff0 	moveml %fp@(-16),%d2/%a2-%a4                
   4a274:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00043214 <rtems_libio_init>: rtems_id rtems_libio_semaphore; rtems_libio_t *rtems_libio_iops; rtems_libio_t *rtems_libio_iop_freelist; void rtems_libio_init( void ) {
   43214:	4e56 0000      	linkw %fp,#0                                
   43218:	2f02           	movel %d2,%sp@-                             
    rtems_status_code rc;                                             
    uint32_t i;                                                       
    rtems_libio_t *iop;                                               
                                                                      
    if (rtems_libio_number_iops > 0)                                  
   4321a:	2439 0005 e260 	movel 5e260 <rtems_libio_number_iops>,%d2   
   43220:	6744           	beqs 43266 <rtems_libio_init+0x52>          <== NEVER TAKEN
    {                                                                 
        rtems_libio_iops = (rtems_libio_t *) calloc(rtems_libio_number_iops,
   43222:	4878 0030      	pea 30 <OPER2+0x1c>                         
   43226:	2f02           	movel %d2,%sp@-                             
   43228:	4eb9 0004 2e28 	jsr 42e28 <calloc>                          
                                                    sizeof(rtems_libio_t));
        if (rtems_libio_iops == NULL)                                 
   4322e:	508f           	addql #8,%sp                                
    uint32_t i;                                                       
    rtems_libio_t *iop;                                               
                                                                      
    if (rtems_libio_number_iops > 0)                                  
    {                                                                 
        rtems_libio_iops = (rtems_libio_t *) calloc(rtems_libio_number_iops,
   43230:	23c0 0005 f8f4 	movel %d0,5f8f4 <rtems_libio_iops>          
                                                    sizeof(rtems_libio_t));
        if (rtems_libio_iops == NULL)                                 
   43236:	6774           	beqs 432ac <rtems_libio_init+0x98>          
            rtems_fatal_error_occurred(RTEMS_NO_MEMORY);              
                                                                      
        iop = rtems_libio_iop_freelist = rtems_libio_iops;            
   43238:	23c0 0005 f8f8 	movel %d0,5f8f8 <rtems_libio_iop_freelist>  
        for (i = 0 ; (i + 1) < rtems_libio_number_iops ; i++, iop++)  
   4323e:	7201           	moveq #1,%d1                                
   43240:	b282           	cmpl %d2,%d1                                
   43242:	641c           	bccs 43260 <rtems_libio_init+0x4c>          
   43244:	2040           	moveal %d0,%a0                              
          iop->data1 = iop + 1;                                       
   43246:	41e8 0030      	lea %a0@(48),%a0                            
                                                    sizeof(rtems_libio_t));
        if (rtems_libio_iops == NULL)                                 
            rtems_fatal_error_occurred(RTEMS_NO_MEMORY);              
                                                                      
        iop = rtems_libio_iop_freelist = rtems_libio_iops;            
        for (i = 0 ; (i + 1) < rtems_libio_number_iops ; i++, iop++)  
   4324a:	5281           	addql #1,%d1                                
          iop->data1 = iop + 1;                                       
   4324c:	2148 fffc      	movel %a0,%a0@(-4)                          
                                                    sizeof(rtems_libio_t));
        if (rtems_libio_iops == NULL)                                 
            rtems_fatal_error_occurred(RTEMS_NO_MEMORY);              
                                                                      
        iop = rtems_libio_iop_freelist = rtems_libio_iops;            
        for (i = 0 ; (i + 1) < rtems_libio_number_iops ; i++, iop++)  
   43250:	b481           	cmpl %d1,%d2                                
   43252:	66f2           	bnes 43246 <rtems_libio_init+0x32>          
                                                                      
rtems_id           rtems_libio_semaphore;                             
rtems_libio_t     *rtems_libio_iops;                                  
rtems_libio_t     *rtems_libio_iop_freelist;                          
                                                                      
void rtems_libio_init( void )                                         
   43254:	5381           	subql #1,%d1                                
   43256:	2401           	movel %d1,%d2                               
   43258:	ed89           	lsll #6,%d1                                 
   4325a:	e98a           	lsll #4,%d2                                 
   4325c:	9282           	subl %d2,%d1                                
   4325e:	d081           	addl %d1,%d0                                
            rtems_fatal_error_occurred(RTEMS_NO_MEMORY);              
                                                                      
        iop = rtems_libio_iop_freelist = rtems_libio_iops;            
        for (i = 0 ; (i + 1) < rtems_libio_number_iops ; i++, iop++)  
          iop->data1 = iop + 1;                                       
        iop->data1 = NULL;                                            
   43260:	2040           	moveal %d0,%a0                              
   43262:	42a8 002c      	clrl %a0@(44)                               
  /*                                                                  
   *  Create the binary semaphore used to provide mutual exclusion    
   *  on the IOP Table.                                               
   */                                                                 
                                                                      
  rc = rtems_semaphore_create(                                        
   43266:	4879 0005 f8fc 	pea 5f8fc <rtems_libio_semaphore>           
   4326c:	42a7           	clrl %sp@-                                  
   4326e:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
   43272:	4878 0001      	pea 1 <ADD>                                 
   43276:	2f3c 4c42 494f 	movel #1279412559,%sp@-                     
   4327c:	4eb9 0004 7194 	jsr 47194 <rtems_semaphore_create>          
    1,                                                                
    RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY, 
    RTEMS_NO_PRIORITY,                                                
    &rtems_libio_semaphore                                            
  );                                                                  
  if ( rc != RTEMS_SUCCESSFUL )                                       
   43282:	4fef 0014      	lea %sp@(20),%sp                            
   43286:	4a80           	tstl %d0                                    
   43288:	661a           	bnes 432a4 <rtems_libio_init+0x90>          <== NEVER TAKEN
                                                                      
  /*                                                                  
   *  Initialize the base file system infrastructure.                 
   */                                                                 
                                                                      
  if (rtems_fs_init_helper)                                           
   4328a:	2279 0005 e264 	moveal 5e264 <rtems_fs_init_helper>,%a1     
   43290:	4a89           	tstl %a1                                    
   43292:	6708           	beqs 4329c <rtems_libio_init+0x88>          
     (* rtems_fs_init_helper)();                                      
}                                                                     
   43294:	242e fffc      	movel %fp@(-4),%d2                          
   43298:	4e5e           	unlk %fp                                    
  /*                                                                  
   *  Initialize the base file system infrastructure.                 
   */                                                                 
                                                                      
  if (rtems_fs_init_helper)                                           
     (* rtems_fs_init_helper)();                                      
   4329a:	4ed1           	jmp %a1@                                    
}                                                                     
   4329c:	242e fffc      	movel %fp@(-4),%d2                          
   432a0:	4e5e           	unlk %fp                                    
   432a2:	4e75           	rts                                         
    RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY, 
    RTEMS_NO_PRIORITY,                                                
    &rtems_libio_semaphore                                            
  );                                                                  
  if ( rc != RTEMS_SUCCESSFUL )                                       
    rtems_fatal_error_occurred( rc );                                 
   432a4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   432a6:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
    if (rtems_libio_number_iops > 0)                                  
    {                                                                 
        rtems_libio_iops = (rtems_libio_t *) calloc(rtems_libio_number_iops,
                                                    sizeof(rtems_libio_t));
        if (rtems_libio_iops == NULL)                                 
            rtems_fatal_error_occurred(RTEMS_NO_MEMORY);              
   432ac:	4878 001a      	pea 1a <OPER2+0x6>                          
   432b0:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      
	...                                                                  
                                                                      

000437f8 <rtems_libio_set_private_env>: } rtems_status_code rtems_libio_set_private_env(void) {
   437f8:	4e56 ffec      	linkw %fp,#-20                              
   437fc:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_id self_task_id = rtems_task_self();                          
   43800:	4eb9 0004 53cc 	jsr 453cc <rtems_task_self>                 
  rtems_user_env_t *old_env = rtems_current_user_env;                 
   43806:	2679 0005 cfa4 	moveal 5cfa4 <rtems_current_user_env>,%a3   
}                                                                     
                                                                      
rtems_status_code rtems_libio_set_private_env(void)                   
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_id self_task_id = rtems_task_self();                          
   4380c:	2400           	movel %d0,%d2                               
  rtems_user_env_t *old_env = rtems_current_user_env;                 
  bool uses_global_env = old_env == &rtems_global_user_env;           
  bool uses_shared_env = old_env->task_id != self_task_id;            
   4380e:	202b 0022      	movel %a3@(34),%d0                          
                                                                      
  if (uses_global_env || uses_shared_env) {                           
   43812:	b7fc 0005 cfa8 	cmpal #380840,%a3                           
   43818:	6706           	beqs 43820 <rtems_libio_set_private_env+0x28>
   4381a:	b082           	cmpl %d2,%d0                                
   4381c:	6700 00b0      	beqw 438ce <rtems_libio_set_private_env+0xd6>
    rtems_user_env_t *new_env = calloc(1, sizeof(*new_env));          
   43820:	4878 002a      	pea 2a <OPER2+0x16>                         
   43824:	4878 0001      	pea 1 <ADD>                                 
   43828:	4eb9 0004 85cc 	jsr 485cc <calloc>                          
                                                                      
    if (new_env != NULL) {                                            
   4382e:	508f           	addql #8,%sp                                
  rtems_user_env_t *old_env = rtems_current_user_env;                 
  bool uses_global_env = old_env == &rtems_global_user_env;           
  bool uses_shared_env = old_env->task_id != self_task_id;            
                                                                      
  if (uses_global_env || uses_shared_env) {                           
    rtems_user_env_t *new_env = calloc(1, sizeof(*new_env));          
   43830:	2440           	moveal %d0,%a2                              
                                                                      
    if (new_env != NULL) {                                            
   43832:	4a80           	tstl %d0                                    
   43834:	6700 008c      	beqw 438c2 <rtems_libio_set_private_env+0xca>
      *new_env = *old_env;                                            
   43838:	2040           	moveal %d0,%a0                              
   4383a:	224b           	moveal %a3,%a1                              
      new_env->reference_count = 1;                                   
   4383c:	7001           	moveq #1,%d0                                
      new_env->task_id = self_task_id;                                
      new_env->root_directory =                                       
        rtems_filesystem_global_location_obtain(&old_env->root_directory);
   4383e:	49f9 0004 4698 	lea 44698 <rtems_filesystem_global_location_obtain>,%a4
                                                                      
  if (uses_global_env || uses_shared_env) {                           
    rtems_user_env_t *new_env = calloc(1, sizeof(*new_env));          
                                                                      
    if (new_env != NULL) {                                            
      *new_env = *old_env;                                            
   43844:	20d9           	movel %a1@+,%a0@+                           
   43846:	20d9           	movel %a1@+,%a0@+                           
   43848:	20d9           	movel %a1@+,%a0@+                           
   4384a:	20d9           	movel %a1@+,%a0@+                           
   4384c:	20d9           	movel %a1@+,%a0@+                           
   4384e:	20d9           	movel %a1@+,%a0@+                           
   43850:	20d9           	movel %a1@+,%a0@+                           
   43852:	20d9           	movel %a1@+,%a0@+                           
   43854:	20d9           	movel %a1@+,%a0@+                           
   43856:	20d9           	movel %a1@+,%a0@+                           
   43858:	3091           	movew %a1@,%a0@                             
      new_env->reference_count = 1;                                   
      new_env->task_id = self_task_id;                                
      new_env->root_directory =                                       
        rtems_filesystem_global_location_obtain(&old_env->root_directory);
   4385a:	486b 0004      	pea %a3@(4)                                 
  if (uses_global_env || uses_shared_env) {                           
    rtems_user_env_t *new_env = calloc(1, sizeof(*new_env));          
                                                                      
    if (new_env != NULL) {                                            
      *new_env = *old_env;                                            
      new_env->reference_count = 1;                                   
   4385e:	2540 0026      	movel %d0,%a2@(38)                          
      new_env->task_id = self_task_id;                                
   43862:	2542 0022      	movel %d2,%a2@(34)                          
      new_env->root_directory =                                       
        rtems_filesystem_global_location_obtain(&old_env->root_directory);
   43866:	4e94           	jsr %a4@                                    
      new_env->current_directory =                                    
        rtems_filesystem_global_location_obtain(&old_env->current_directory);
   43868:	2f0b           	movel %a3,%sp@-                             
                                                                      
    if (new_env != NULL) {                                            
      *new_env = *old_env;                                            
      new_env->reference_count = 1;                                   
      new_env->task_id = self_task_id;                                
      new_env->root_directory =                                       
   4386a:	2540 0004      	movel %d0,%a2@(4)                           
        rtems_filesystem_global_location_obtain(&old_env->root_directory);
      new_env->current_directory =                                    
        rtems_filesystem_global_location_obtain(&old_env->current_directory);
   4386e:	4e94           	jsr %a4@                                    
      rtems_fatal_error_occurred(0xdeadbeef);                         
    }                                                                 
                                                                      
    rtems_current_user_env = &rtems_global_user_env;                  
  }                                                                   
}                                                                     
   43870:	206a 0004      	moveal %a2@(4),%a0                          
      new_env->root_directory =                                       
        rtems_filesystem_global_location_obtain(&old_env->root_directory);
      new_env->current_directory =                                    
        rtems_filesystem_global_location_obtain(&old_env->current_directory);
                                                                      
      if (                                                            
   43874:	508f           	addql #8,%sp                                
   43876:	223c 0005 c104 	movel #377092,%d1                           
      *new_env = *old_env;                                            
      new_env->reference_count = 1;                                   
      new_env->task_id = self_task_id;                                
      new_env->root_directory =                                       
        rtems_filesystem_global_location_obtain(&old_env->root_directory);
      new_env->current_directory =                                    
   4387c:	2480           	movel %d0,%a2@                              
        rtems_filesystem_global_location_obtain(&old_env->current_directory);
                                                                      
      if (                                                            
   4387e:	b2a8 0010      	cmpl %a0@(16),%d1                           
   43882:	6776           	beqs 438fa <rtems_libio_set_private_env+0x102>
        !rtems_filesystem_global_location_is_null(new_env->root_directory)
          && !rtems_filesystem_global_location_is_null(new_env->current_directory)
   43884:	2040           	moveal %d0,%a0                              
   43886:	b2a8 0010      	cmpl %a0@(16),%d1                           
   4388a:	676e           	beqs 438fa <rtems_libio_set_private_env+0x102><== NEVER TAKEN
      ) {                                                             
        sc = rtems_task_variable_add(                                 
   4388c:	487a feee      	pea %pc@(4377c <free_user_env>)             
   43890:	4879 0005 cfa4 	pea 5cfa4 <rtems_current_user_env>          
   43896:	42a7           	clrl %sp@-                                  
   43898:	4eb9 0004 5490 	jsr 45490 <rtems_task_variable_add>         
          RTEMS_SELF,                                                 
          (void **) &rtems_current_user_env,                          
          free_user_env                                               
        );                                                            
        if (sc == RTEMS_SUCCESSFUL) {                                 
   4389e:	4fef 000c      	lea %sp@(12),%sp                            
   438a2:	4a80           	tstl %d0                                    
   438a4:	6734           	beqs 438da <rtems_libio_set_private_env+0xe2>
          free_user_env_protected(old_env);                           
          rtems_current_user_env = new_env;                           
        } else {                                                      
          sc = RTEMS_TOO_MANY;                                        
   438a6:	7005           	moveq #5,%d0                                
      } else {                                                        
        sc = RTEMS_UNSATISFIED;                                       
      }                                                               
                                                                      
      if (sc != RTEMS_SUCCESSFUL) {                                   
        free_user_env(new_env);                                       
   438a8:	2f0a           	movel %a2,%sp@-                             
   438aa:	2d40 fffc      	movel %d0,%fp@(-4)                          
   438ae:	4eba fecc      	jsr %pc@(4377c <free_user_env>)             
   438b2:	202e fffc      	movel %fp@(-4),%d0                          
   438b6:	588f           	addql #4,%sp                                
      sc = RTEMS_NO_MEMORY;                                           
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   438b8:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   438be:	4e5e           	unlk %fp                                    
   438c0:	4e75           	rts                                         
                                                                      
      if (sc != RTEMS_SUCCESSFUL) {                                   
        free_user_env(new_env);                                       
      }                                                               
    } else {                                                          
      sc = RTEMS_NO_MEMORY;                                           
   438c2:	701a           	moveq #26,%d0                               
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   438c4:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   438ca:	4e5e           	unlk %fp                                    
   438cc:	4e75           	rts                                         
  _Thread_Enable_dispatch();                                          
}                                                                     
                                                                      
rtems_status_code rtems_libio_set_private_env(void)                   
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
   438ce:	4280           	clrl %d0                                    
      sc = RTEMS_NO_MEMORY;                                           
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   438d0:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   438d6:	4e5e           	unlk %fp                                    
   438d8:	4e75           	rts                                         
          RTEMS_SELF,                                                 
          (void **) &rtems_current_user_env,                          
          free_user_env                                               
        );                                                            
        if (sc == RTEMS_SUCCESSFUL) {                                 
          free_user_env_protected(old_env);                           
   438da:	2f0b           	movel %a3,%sp@-                             
   438dc:	2d40 fffc      	movel %d0,%fp@(-4)                          
   438e0:	4eba fef0      	jsr %pc@(437d2 <free_user_env_protected>)   
   438e4:	202e fffc      	movel %fp@(-4),%d0                          
          rtems_current_user_env = new_env;                           
   438e8:	588f           	addql #4,%sp                                
   438ea:	23ca 0005 cfa4 	movel %a2,5cfa4 <rtems_current_user_env>    
      sc = RTEMS_NO_MEMORY;                                           
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   438f0:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   438f6:	4e5e           	unlk %fp                                    
   438f8:	4e75           	rts                                         
          rtems_current_user_env = new_env;                           
        } else {                                                      
          sc = RTEMS_TOO_MANY;                                        
        }                                                             
      } else {                                                        
        sc = RTEMS_UNSATISFIED;                                       
   438fa:	700d           	moveq #13,%d0                               
      }                                                               
                                                                      
      if (sc != RTEMS_SUCCESSFUL) {                                   
        free_user_env(new_env);                                       
   438fc:	2f0a           	movel %a2,%sp@-                             
   438fe:	2d40 fffc      	movel %d0,%fp@(-4)                          
   43902:	4eba fe78      	jsr %pc@(4377c <free_user_env>)             
   43906:	202e fffc      	movel %fp@(-4),%d0                          
   4390a:	588f           	addql #4,%sp                                
   4390c:	60aa           	bras 438b8 <rtems_libio_set_private_env+0xc0>
                                                                      

0004390e <rtems_libio_share_private_env>: return sc; } rtems_status_code rtems_libio_share_private_env(rtems_id task_id) {
   4390e:	4e56 fff8      	linkw %fp,#-8                               
   43912:	2f02           	movel %d2,%sp@-                             
   43914:	242e 0008      	movel %fp@(8),%d2                           
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_id self_task_id = rtems_task_self();                          
   43918:	4eb9 0004 53cc 	jsr 453cc <rtems_task_self>                 
                                                                      
  if (task_id != RTEMS_SELF && self_task_id != task_id) {             
   4391e:	4a82           	tstl %d2                                    
   43920:	677a           	beqs 4399c <rtems_libio_share_private_env+0x8e>
   43922:	b480           	cmpl %d0,%d2                                
   43924:	6776           	beqs 4399c <rtems_libio_share_private_env+0x8e>
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   43926:	2039 0005 e05a 	movel 5e05a <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   4392c:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   4392e:	23c0 0005 e05a 	movel %d0,5e05a <_Thread_Dispatch_disable_level>
    /*                                                                
     * We have to disable the thread dispatching to prevent deletion of the
     * environment in the meantime.                                   
     */                                                               
    _Thread_Disable_dispatch();                                       
    sc = rtems_task_variable_get(                                     
   43934:	486e fffc      	pea %fp@(-4)                                
   43938:	4879 0005 cfa4 	pea 5cfa4 <rtems_current_user_env>          
   4393e:	2f02           	movel %d2,%sp@-                             
   43940:	4eb9 0004 55fc 	jsr 455fc <rtems_task_variable_get>         
      task_id,                                                        
      (void *) &rtems_current_user_env,                               
      (void *) &env                                                   
    );                                                                
    if (sc == RTEMS_SUCCESSFUL) {                                     
   43946:	4fef 000c      	lea %sp@(12),%sp                            
   4394a:	4a80           	tstl %d0                                    
   4394c:	6658           	bnes 439a6 <rtems_libio_share_private_env+0x98>
      ++env->reference_count;                                         
   4394e:	206e fffc      	moveal %fp@(-4),%a0                         
   43952:	52a8 0026      	addql #1,%a0@(38)                           
    } else {                                                          
      sc = RTEMS_UNSATISFIED;                                         
    }                                                                 
    _Thread_Enable_dispatch();                                        
   43956:	4eb9 0004 72dc 	jsr 472dc <_Thread_Enable_dispatch>         
                                                                      
    if (sc == RTEMS_SUCCESSFUL) {                                     
      sc = rtems_task_variable_add(                                   
   4395c:	487a fe1e      	pea %pc@(4377c <free_user_env>)             
   43960:	4879 0005 cfa4 	pea 5cfa4 <rtems_current_user_env>          
   43966:	42a7           	clrl %sp@-                                  
   43968:	4eb9 0004 5490 	jsr 45490 <rtems_task_variable_add>         
        RTEMS_SELF,                                                   
        (void **) &rtems_current_user_env,                            
        free_user_env                                                 
      );                                                              
      if (sc == RTEMS_SUCCESSFUL) {                                   
   4396e:	4fef 000c      	lea %sp@(12),%sp                            
   43972:	4a80           	tstl %d0                                    
   43974:	6640           	bnes 439b6 <rtems_libio_share_private_env+0xa8><== NEVER TAKEN
        free_user_env_protected(rtems_current_user_env);              
   43976:	2f39 0005 cfa4 	movel 5cfa4 <rtems_current_user_env>,%sp@-  
   4397c:	2d40 fff8      	movel %d0,%fp@(-8)                          
   43980:	4eba fe50      	jsr %pc@(437d2 <free_user_env_protected>)   
   43984:	202e fff8      	movel %fp@(-8),%d0                          
        rtems_current_user_env = env;                                 
   43988:	41ee fffc      	lea %fp@(-4),%a0                            
   4398c:	588f           	addql #4,%sp                                
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4398e:	242e fff4      	movel %fp@(-12),%d2                         
   43992:	4e5e           	unlk %fp                                    
        (void **) &rtems_current_user_env,                            
        free_user_env                                                 
      );                                                              
      if (sc == RTEMS_SUCCESSFUL) {                                   
        free_user_env_protected(rtems_current_user_env);              
        rtems_current_user_env = env;                                 
   43994:	23d0 0005 cfa4 	movel %a0@,5cfa4 <rtems_current_user_env>   
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4399a:	4e75           	rts                                         
   4399c:	242e fff4      	movel %fp@(-12),%d2                         
  return sc;                                                          
}                                                                     
                                                                      
rtems_status_code rtems_libio_share_private_env(rtems_id task_id)     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
   439a0:	4280           	clrl %d0                                    
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   439a2:	4e5e           	unlk %fp                                    
   439a4:	4e75           	rts                                         
    if (sc == RTEMS_SUCCESSFUL) {                                     
      ++env->reference_count;                                         
    } else {                                                          
      sc = RTEMS_UNSATISFIED;                                         
    }                                                                 
    _Thread_Enable_dispatch();                                        
   439a6:	4eb9 0004 72dc 	jsr 472dc <_Thread_Enable_dispatch>         
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   439ac:	242e fff4      	movel %fp@(-12),%d2                         
      (void *) &env                                                   
    );                                                                
    if (sc == RTEMS_SUCCESSFUL) {                                     
      ++env->reference_count;                                         
    } else {                                                          
      sc = RTEMS_UNSATISFIED;                                         
   439b0:	700d           	moveq #13,%d0                               
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   439b2:	4e5e           	unlk %fp                                    
   439b4:	4e75           	rts                                         
      );                                                              
      if (sc == RTEMS_SUCCESSFUL) {                                   
        free_user_env_protected(rtems_current_user_env);              
        rtems_current_user_env = env;                                 
      } else {                                                        
        free_user_env_protected(env);                                 
   439b6:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
        sc = RTEMS_TOO_MANY;                                          
   439ba:	7005           	moveq #5,%d0                                <== NOT EXECUTED
      );                                                              
      if (sc == RTEMS_SUCCESSFUL) {                                   
        free_user_env_protected(rtems_current_user_env);              
        rtems_current_user_env = env;                                 
      } else {                                                        
        free_user_env_protected(env);                                 
   439bc:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   439c0:	4eba fe10      	jsr %pc@(437d2 <free_user_env_protected>)   <== NOT EXECUTED
   439c4:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   439c8:	588f           	addql #4,%sp                                <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   439ca:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   439ce:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004b9b8 <rtems_libio_to_fcntl_flags>: int rtems_libio_to_fcntl_flags( uint32_t flags ) { int fcntl_flags = 0; if ( (flags & LIBIO_FLAGS_READ_WRITE) == LIBIO_FLAGS_READ_WRITE ) {
   4b9b8:	7006           	moveq #6,%d0                                
                                                                      
  return flags;                                                       
}                                                                     
                                                                      
int rtems_libio_to_fcntl_flags( uint32_t flags )                      
{                                                                     
   4b9ba:	4e56 0000      	linkw %fp,#0                                
   4b9be:	222e 0008      	movel %fp@(8),%d1                           
  int fcntl_flags = 0;                                                
                                                                      
  if ( (flags & LIBIO_FLAGS_READ_WRITE) == LIBIO_FLAGS_READ_WRITE ) { 
   4b9c2:	c081           	andl %d1,%d0                                
                                                                      
  return flags;                                                       
}                                                                     
                                                                      
int rtems_libio_to_fcntl_flags( uint32_t flags )                      
{                                                                     
   4b9c4:	2f02           	movel %d2,%sp@-                             
  int fcntl_flags = 0;                                                
                                                                      
  if ( (flags & LIBIO_FLAGS_READ_WRITE) == LIBIO_FLAGS_READ_WRITE ) { 
   4b9c6:	7406           	moveq #6,%d2                                
   4b9c8:	b480           	cmpl %d0,%d2                                
   4b9ca:	6738           	beqs 4ba04 <rtems_libio_to_fcntl_flags+0x4c><== NEVER TAKEN
    fcntl_flags |= O_RDWR;                                            
  } else if ( (flags & LIBIO_FLAGS_READ) == LIBIO_FLAGS_READ) {       
   4b9cc:	0801 0001      	btst #1,%d1                                 
   4b9d0:	6726           	beqs 4b9f8 <rtems_libio_to_fcntl_flags+0x40><== NEVER TAKEN
    fcntl_flags |= O_RDONLY;                                          
   4b9d2:	4280           	clrl %d0                                    
  } else if ( (flags & LIBIO_FLAGS_WRITE) == LIBIO_FLAGS_WRITE) {     
    fcntl_flags |= O_WRONLY;                                          
  }                                                                   
                                                                      
  if ( (flags & LIBIO_FLAGS_NO_DELAY) == LIBIO_FLAGS_NO_DELAY ) {     
   4b9d4:	0801 0000      	btst #0,%d1                                 
   4b9d8:	6704           	beqs 4b9de <rtems_libio_to_fcntl_flags+0x26>
    fcntl_flags |= O_NONBLOCK;                                        
   4b9da:	08c0 000e      	bset #14,%d0                                
  }                                                                   
                                                                      
  if ( (flags & LIBIO_FLAGS_APPEND) == LIBIO_FLAGS_APPEND ) {         
   4b9de:	0801 0009      	btst #9,%d1                                 
   4b9e2:	6704           	beqs 4b9e8 <rtems_libio_to_fcntl_flags+0x30>
    fcntl_flags |= O_APPEND;                                          
   4b9e4:	7408           	moveq #8,%d2                                
   4b9e6:	8082           	orl %d2,%d0                                 
  }                                                                   
                                                                      
  if ( (flags & LIBIO_FLAGS_CREATE) == LIBIO_FLAGS_CREATE ) {         
   4b9e8:	0801 000a      	btst #10,%d1                                
   4b9ec:	6704           	beqs 4b9f2 <rtems_libio_to_fcntl_flags+0x3a>
    fcntl_flags |= O_CREAT;                                           
   4b9ee:	08c0 0009      	bset #9,%d0                                 
  }                                                                   
                                                                      
  return fcntl_flags;                                                 
}                                                                     
   4b9f2:	241f           	movel %sp@+,%d2                             
   4b9f4:	4e5e           	unlk %fp                                    
   4b9f6:	4e75           	rts                                         
                                                                      
  if ( (flags & LIBIO_FLAGS_READ_WRITE) == LIBIO_FLAGS_READ_WRITE ) { 
    fcntl_flags |= O_RDWR;                                            
  } else if ( (flags & LIBIO_FLAGS_READ) == LIBIO_FLAGS_READ) {       
    fcntl_flags |= O_RDONLY;                                          
  } else if ( (flags & LIBIO_FLAGS_WRITE) == LIBIO_FLAGS_WRITE) {     
   4b9f8:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   4b9fa:	e488           	lsrl #2,%d0                                 <== NOT EXECUTED
   4b9fc:	143c 0001      	moveb #1,%d2                                <== NOT EXECUTED
   4ba00:	c082           	andl %d2,%d0                                <== NOT EXECUTED
   4ba02:	60d0           	bras 4b9d4 <rtems_libio_to_fcntl_flags+0x1c><== NOT EXECUTED
int rtems_libio_to_fcntl_flags( uint32_t flags )                      
{                                                                     
  int fcntl_flags = 0;                                                
                                                                      
  if ( (flags & LIBIO_FLAGS_READ_WRITE) == LIBIO_FLAGS_READ_WRITE ) { 
    fcntl_flags |= O_RDWR;                                            
   4ba04:	7002           	moveq #2,%d0                                <== NOT EXECUTED
   4ba06:	60cc           	bras 4b9d4 <rtems_libio_to_fcntl_flags+0x1c><== NOT EXECUTED
                                                                      

000439d2 <rtems_libio_use_global_env>: void rtems_libio_use_global_env(void) {
   439d2:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
  rtems_user_env_t *env = rtems_current_user_env;                     
  bool uses_private_env = env != &rtems_global_user_env;              
                                                                      
  if (uses_private_env) {                                             
   439d6:	203c 0005 cfa8 	movel #380840,%d0                           
   439dc:	b0b9 0005 cfa4 	cmpl 5cfa4 <rtems_current_user_env>,%d0     
   439e2:	6720           	beqs 43a04 <rtems_libio_use_global_env+0x32>
    sc = rtems_task_variable_delete(                                  
   439e4:	4879 0005 cfa4 	pea 5cfa4 <rtems_current_user_env>          
   439ea:	42a7           	clrl %sp@-                                  
   439ec:	4eb9 0004 5558 	jsr 45558 <rtems_task_variable_delete>      
      RTEMS_SELF,                                                     
      (void **) &rtems_current_user_env                               
    );                                                                
    if (sc != RTEMS_SUCCESSFUL) {                                     
   439f2:	508f           	addql #8,%sp                                
   439f4:	4a80           	tstl %d0                                    
   439f6:	6610           	bnes 43a08 <rtems_libio_use_global_env+0x36><== NEVER TAKEN
      rtems_fatal_error_occurred(0xdeadbeef);                         
    }                                                                 
                                                                      
    rtems_current_user_env = &rtems_global_user_env;                  
   439f8:	203c 0005 cfa8 	movel #380840,%d0                           
   439fe:	23c0 0005 cfa4 	movel %d0,5cfa4 <rtems_current_user_env>    
  }                                                                   
}                                                                     
   43a04:	4e5e           	unlk %fp                                    
   43a06:	4e75           	rts                                         
    sc = rtems_task_variable_delete(                                  
      RTEMS_SELF,                                                     
      (void **) &rtems_current_user_env                               
    );                                                                
    if (sc != RTEMS_SUCCESSFUL) {                                     
      rtems_fatal_error_occurred(0xdeadbeef);                         
   43a08:	2f3c dead beef 	movel #-559038737,%sp@-                     <== NOT EXECUTED
   43a0e:	4eb9 0004 583c 	jsr 4583c <rtems_fatal_error_occurred>      <== NOT EXECUTED
                                                                      

00047250 <rtems_malloc_statistics_at_free>: * size and thus we skip updating the statistics. */ static void rtems_malloc_statistics_at_free( void *pointer ) {
   47250:	4e56 fffc      	linkw %fp,#-4                               
   47254:	2f03           	movel %d3,%sp@-                             
   47256:	2f02           	movel %d2,%sp@-                             
  uintptr_t size;                                                     
                                                                      
  if (_Protected_heap_Get_block_size(RTEMS_Malloc_Heap, pointer, &size) ) {
   47258:	486e fffc      	pea %fp@(-4)                                
   4725c:	2f2e 0008      	movel %fp@(8),%sp@-                         
   47260:	2f39 0006 3f10 	movel 63f10 <RTEMS_Malloc_Heap>,%sp@-       
   47266:	4eb9 0004 e178 	jsr 4e178 <_Protected_heap_Get_block_size>  
   4726c:	4fef 000c      	lea %sp@(12),%sp                            
   47270:	4a00           	tstb %d0                                    
   47272:	671a           	beqs 4728e <rtems_malloc_statistics_at_free+0x3e><== NEVER TAKEN
    MSBUMP(lifetime_freed, size);                                     
   47274:	262e fffc      	movel %fp@(-4),%d3                          
   47278:	4282           	clrl %d2                                    
   4727a:	d7b9 0006 5ef4 	addl %d3,65ef4 <rtems_malloc_statistics+0x28>
   47280:	2039 0006 5ef0 	movel 65ef0 <rtems_malloc_statistics+0x24>,%d0
   47286:	d182           	addxl %d2,%d0                               
   47288:	23c0 0006 5ef0 	movel %d0,65ef0 <rtems_malloc_statistics+0x24>
  }                                                                   
}                                                                     
   4728e:	242e fff4      	movel %fp@(-12),%d2                         
   47292:	262e fff8      	movel %fp@(-8),%d3                          
   47296:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004729a <rtems_malloc_statistics_at_malloc>: } static void rtems_malloc_statistics_at_malloc( void *pointer ) {
   4729a:	4e56 fffc      	linkw %fp,#-4                               
   4729e:	202e 0008      	movel %fp@(8),%d0                           
   472a2:	2f03           	movel %d3,%sp@-                             
  uintptr_t actual_size = 0;                                          
   472a4:	42ae fffc      	clrl %fp@(-4)                               
}                                                                     
                                                                      
static void rtems_malloc_statistics_at_malloc(                        
  void *pointer                                                       
)                                                                     
{                                                                     
   472a8:	2f02           	movel %d2,%sp@-                             
  uintptr_t actual_size = 0;                                          
  uint32_t current_depth;                                             
  rtems_malloc_statistics_t *s = &rtems_malloc_statistics;            
                                                                      
  if ( !pointer )                                                     
   472aa:	4a80           	tstl %d0                                    
   472ac:	674c           	beqs 472fa <rtems_malloc_statistics_at_malloc+0x60><== NEVER TAKEN
    return;                                                           
                                                                      
  _Protected_heap_Get_block_size(RTEMS_Malloc_Heap, pointer, &actual_size);
   472ae:	486e fffc      	pea %fp@(-4)                                
                                                                      
  MSBUMP(lifetime_allocated, actual_size);                            
   472b2:	4282           	clrl %d2                                    
  rtems_malloc_statistics_t *s = &rtems_malloc_statistics;            
                                                                      
  if ( !pointer )                                                     
    return;                                                           
                                                                      
  _Protected_heap_Get_block_size(RTEMS_Malloc_Heap, pointer, &actual_size);
   472b4:	2f00           	movel %d0,%sp@-                             
   472b6:	2f39 0006 3f10 	movel 63f10 <RTEMS_Malloc_Heap>,%sp@-       
   472bc:	4eb9 0004 e178 	jsr 4e178 <_Protected_heap_Get_block_size>  
                                                                      
  MSBUMP(lifetime_allocated, actual_size);                            
   472c2:	262e fffc      	movel %fp@(-4),%d3                          
                                                                      
  current_depth = (uint32_t) (s->lifetime_allocated - s->lifetime_freed);
  if (current_depth > s->max_depth)                                   
   472c6:	4fef 000c      	lea %sp@(12),%sp                            
  if ( !pointer )                                                     
    return;                                                           
                                                                      
  _Protected_heap_Get_block_size(RTEMS_Malloc_Heap, pointer, &actual_size);
                                                                      
  MSBUMP(lifetime_allocated, actual_size);                            
   472ca:	2039 0006 5ee8 	movel 65ee8 <rtems_malloc_statistics+0x1c>,%d0
   472d0:	d6b9 0006 5eec 	addl 65eec <rtems_malloc_statistics+0x20>,%d3
   472d6:	d580           	addxl %d0,%d2                               
                                                                      
  current_depth = (uint32_t) (s->lifetime_allocated - s->lifetime_freed);
   472d8:	2003           	movel %d3,%d0                               
   472da:	90b9 0006 5ef4 	subl 65ef4 <rtems_malloc_statistics+0x28>,%d0
  if ( !pointer )                                                     
    return;                                                           
                                                                      
  _Protected_heap_Get_block_size(RTEMS_Malloc_Heap, pointer, &actual_size);
                                                                      
  MSBUMP(lifetime_allocated, actual_size);                            
   472e0:	23c2 0006 5ee8 	movel %d2,65ee8 <rtems_malloc_statistics+0x1c>
   472e6:	23c3 0006 5eec 	movel %d3,65eec <rtems_malloc_statistics+0x20>
                                                                      
  current_depth = (uint32_t) (s->lifetime_allocated - s->lifetime_freed);
  if (current_depth > s->max_depth)                                   
   472ec:	b0b9 0006 5ee4 	cmpl 65ee4 <rtems_malloc_statistics+0x18>,%d0
   472f2:	6306           	blss 472fa <rtems_malloc_statistics_at_malloc+0x60>
      s->max_depth = current_depth;                                   
   472f4:	23c0 0006 5ee4 	movel %d0,65ee4 <rtems_malloc_statistics+0x18>
}                                                                     
   472fa:	242e fff4      	movel %fp@(-12),%d2                         
   472fe:	262e fff8      	movel %fp@(-8),%d3                          
   47302:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000501c4 <rtems_memalign>: int rtems_memalign( void **pointer, size_t alignment, size_t size ) {
   501c4:	4e56 0000      	linkw %fp,#0                                
   501c8:	2f0a           	movel %a2,%sp@-                             
   501ca:	246e 0008      	moveal %fp@(8),%a2                          
   501ce:	2f02           	movel %d2,%sp@-                             
  void *return_this;                                                  
                                                                      
  /*                                                                  
   *  Parameter error checks                                          
   */                                                                 
  if ( !pointer )                                                     
   501d0:	4a8a           	tstl %a2                                    
   501d2:	675e           	beqs 50232 <rtems_memalign+0x6e>            
    return EINVAL;                                                    
                                                                      
  *pointer = NULL;                                                    
   501d4:	4292           	clrl %a2@                                   
                                                                      
  /*                                                                  
   *  Do not attempt to allocate memory if not in correct system state.
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
   501d6:	7003           	moveq #3,%d0                                
   501d8:	b0b9 0006 4150 	cmpl 64150 <_System_state_Current>,%d0      
   501de:	6748           	beqs 50228 <rtems_memalign+0x64>            
    return EINVAL;                                                    
                                                                      
  /*                                                                  
   *  If some free's have been deferred, then do them now.            
   */                                                                 
  malloc_deferred_frees_process();                                    
   501e0:	4eb9 0004 48e0 	jsr 448e0 <malloc_deferred_frees_process>   
  Heap_Control *heap,                                                 
  uintptr_t size,                                                     
  uintptr_t alignment                                                 
)                                                                     
{                                                                     
  return                                                              
   501e6:	42a7           	clrl %sp@-                                  
   501e8:	2f2e 000c      	movel %fp@(12),%sp@-                        
   501ec:	2f2e 0010      	movel %fp@(16),%sp@-                        
   501f0:	2f39 0006 2764 	movel 62764 <RTEMS_Malloc_Heap>,%sp@-       
   501f6:	4eb9 0004 aa60 	jsr 4aa60 <_Protected_heap_Allocate_aligned_with_boundary>
  return_this = _Protected_heap_Allocate_aligned(                     
    RTEMS_Malloc_Heap,                                                
    size,                                                             
    alignment                                                         
  );                                                                  
  if ( !return_this )                                                 
   501fc:	4fef 0010      	lea %sp@(16),%sp                            
   50200:	2400           	movel %d0,%d2                               
   50202:	673c           	beqs 50240 <rtems_memalign+0x7c>            
    return ENOMEM;                                                    
                                                                      
  /*                                                                  
   *  If configured, update the more involved statistics              
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
   50204:	2079 0006 2e04 	moveal 62e04 <rtems_malloc_statistics_helpers>,%a0
   5020a:	4a88           	tstl %a0                                    
   5020c:	670a           	beqs 50218 <rtems_memalign+0x54>            
    (*rtems_malloc_statistics_helpers->at_malloc)(pointer);           
   5020e:	2f0a           	movel %a2,%sp@-                             
   50210:	2068 0004      	moveal %a0@(4),%a0                          
   50214:	4e90           	jsr %a0@                                    
   50216:	588f           	addql #4,%sp                                
                                                                      
  *pointer = return_this;                                             
   50218:	2482           	movel %d2,%a2@                              
  return 0;                                                           
}                                                                     
   5021a:	242e fff8      	movel %fp@(-8),%d2                          
   */                                                                 
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_malloc)(pointer);           
                                                                      
  *pointer = return_this;                                             
  return 0;                                                           
   5021e:	4280           	clrl %d0                                    
}                                                                     
   50220:	246e fffc      	moveal %fp@(-4),%a2                         
   50224:	4e5e           	unlk %fp                                    
   50226:	4e75           	rts                                         
                                                                      
  /*                                                                  
   *  Do not attempt to allocate memory if not in correct system state.
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
       !malloc_is_system_state_OK() )                                 
   50228:	4eb9 0004 48c0 	jsr 448c0 <malloc_is_system_state_OK>       
  *pointer = NULL;                                                    
                                                                      
  /*                                                                  
   *  Do not attempt to allocate memory if not in correct system state.
   */                                                                 
  if ( _System_state_Is_up(_System_state_Get()) &&                    
   5022e:	4a00           	tstb %d0                                    
   50230:	66ae           	bnes 501e0 <rtems_memalign+0x1c>            <== ALWAYS TAKEN
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_malloc)(pointer);           
                                                                      
  *pointer = return_this;                                             
  return 0;                                                           
}                                                                     
   50232:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  /*                                                                  
   *  Parameter error checks                                          
   */                                                                 
  if ( !pointer )                                                     
    return EINVAL;                                                    
   50236:	7016           	moveq #22,%d0                               
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_malloc)(pointer);           
                                                                      
  *pointer = return_this;                                             
  return 0;                                                           
}                                                                     
   50238:	246e fffc      	moveal %fp@(-4),%a2                         
   5023c:	4e5e           	unlk %fp                                    
   5023e:	4e75           	rts                                         
   50240:	242e fff8      	movel %fp@(-8),%d2                          
    RTEMS_Malloc_Heap,                                                
    size,                                                             
    alignment                                                         
  );                                                                  
  if ( !return_this )                                                 
    return ENOMEM;                                                    
   50244:	700c           	moveq #12,%d0                               
  if ( rtems_malloc_statistics_helpers )                              
    (*rtems_malloc_statistics_helpers->at_malloc)(pointer);           
                                                                      
  *pointer = return_this;                                             
  return 0;                                                           
}                                                                     
   50246:	246e fffc      	moveal %fp@(-4),%a2                         
   5024a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004883c <rtems_mkdir>: return (retval); } int rtems_mkdir(const char *path, mode_t mode) {
   4883c:	4e56 ff90      	linkw %fp,#-112                             
   48840:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  int success = 0;                                                    
  char *dup_path = strdup(path);                                      
   48844:	2f2e 0008      	movel %fp@(8),%sp@-                         
  return (retval);                                                    
}                                                                     
                                                                      
int                                                                   
rtems_mkdir(const char *path, mode_t mode)                            
{                                                                     
   48848:	262e 000c      	movel %fp@(12),%d3                          
  int success = 0;                                                    
  char *dup_path = strdup(path);                                      
   4884c:	4eb9 0006 2160 	jsr 62160 <strdup>                          
                                                                      
  if (dup_path != NULL) {                                             
   48852:	588f           	addql #4,%sp                                
                                                                      
int                                                                   
rtems_mkdir(const char *path, mode_t mode)                            
{                                                                     
  int success = 0;                                                    
  char *dup_path = strdup(path);                                      
   48854:	2640           	moveal %d0,%a3                              
                                                                      
  if (dup_path != NULL) {                                             
   48856:	4a80           	tstl %d0                                    
   48858:	6700 0122      	beqw 4897c <rtems_mkdir+0x140>              
  char *p;                                                            
                                                                      
  p = path;                                                           
  oumask = 0;                                                         
  retval = 1;                                                         
  if (p[0] == '/')    /* Skip leading '/'. */                         
   4885c:	742f           	moveq #47,%d2                               
   4885e:	1013           	moveb %a3@,%d0                              
   48860:	1200           	moveb %d0,%d1                               
   48862:	49c1           	extbl %d1                                   
   48864:	b481           	cmpl %d1,%d2                                
   48866:	6700 013e      	beqw 489a6 <rtems_mkdir+0x16a>              
   4886a:	244b           	moveal %a3,%a2                              
    }                                                                 
    if (last)                                                         
      (void)umask(oumask);                                            
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {
      if (errno == EEXIST || errno == EISDIR) {                       
        if (stat(path, &sb) < 0) {                                    
   4886c:	2e0e           	movel %fp,%d7                               
    (void)umask(oumask);                                              
  return (retval);                                                    
}                                                                     
                                                                      
int                                                                   
rtems_mkdir(const char *path, mode_t mode)                            
   4886e:	4bea 0001      	lea %a2@(1),%a5                             
   48872:	4282           	clrl %d2                                    
   48874:	327c 0001      	moveaw #1,%a1                               
      first = 0;                                                      
    }                                                                 
    if (last)                                                         
      (void)umask(oumask);                                            
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {
      if (errno == EEXIST || errno == EISDIR) {                       
   48878:	2a3c 0006 0414 	movel #394260,%d5                           
        if (stat(path, &sb) < 0) {                                    
   4887e:	0687 ffff ffba 	addil #-70,%d7                              
      numask = oumask & ~(S_IWUSR | S_IXUSR);                         
      (void)umask(numask);                                            
      first = 0;                                                      
    }                                                                 
    if (last)                                                         
      (void)umask(oumask);                                            
   48884:	49f9 0004 b3b8 	lea 4b3b8 <umask>,%a4                       
  oumask = 0;                                                         
  retval = 1;                                                         
  if (p[0] == '/')    /* Skip leading '/'. */                         
    ++p;                                                              
  for (first = 1, last = 0; !last ; ++p) {                            
    if (p[0] == '\0')                                                 
   4888a:	4a00           	tstb %d0                                    
   4888c:	6710           	beqs 4889e <rtems_mkdir+0x62>               <== NEVER TAKEN
      last = 1;                                                       
    else if (p[0] != '/')                                             
   4888e:	49c0           	extbl %d0                                   
   48890:	722f           	moveq #47,%d1                               
   48892:	b280           	cmpl %d0,%d1                                
   48894:	6732           	beqs 488c8 <rtems_mkdir+0x8c>               
  p = path;                                                           
  oumask = 0;                                                         
  retval = 1;                                                         
  if (p[0] == '/')    /* Skip leading '/'. */                         
    ++p;                                                              
  for (first = 1, last = 0; !last ; ++p) {                            
   48896:	528a           	addql #1,%a2                                
   48898:	101d           	moveb %a5@+,%d0                             
    if (p[0] == '\0')                                                 
   4889a:	4a00           	tstb %d0                                    
   4889c:	66f0           	bnes 4888e <rtems_mkdir+0x52>               
      last = 1;                                                       
    else if (p[0] != '/')                                             
      continue;                                                       
    *p = '\0';                                                        
   4889e:	7c01           	moveq #1,%d6                                
   488a0:	4212           	clrb %a2@                                   
    if (!last && p[1] == '\0')                                        
      last = 1;                                                       
    if (first) {                                                      
   488a2:	4a89           	tstl %a1                                    
   488a4:	6632           	bnes 488d8 <rtems_mkdir+0x9c>               
      oumask = umask(0);                                              
      numask = oumask & ~(S_IWUSR | S_IXUSR);                         
      (void)umask(numask);                                            
      first = 0;                                                      
    }                                                                 
    if (last)                                                         
   488a6:	4a86           	tstl %d6                                    
   488a8:	6644           	bnes 488ee <rtems_mkdir+0xb2>               
      (void)umask(oumask);                                            
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {
   488aa:	4878 01ff      	pea 1ff <DBL_MANT_DIG+0x1ca>                
   488ae:	2f0b           	movel %a3,%sp@-                             
   488b0:	4eb9 0004 7a0c 	jsr 47a0c <mkdir>                           
   488b6:	508f           	addql #8,%sp                                
   488b8:	4a80           	tstl %d0                                    
   488ba:	6d5e           	blts 4891a <rtems_mkdir+0xde>               
        retval = 0;                                                   
        break;                                                        
      }                                                               
    }                                                                 
    if (!last)                                                        
        *p = '/';                                                     
   488bc:	93c9           	subal %a1,%a1                               
   488be:	14bc 002f      	moveb #47,%a2@                              
  p = path;                                                           
  oumask = 0;                                                         
  retval = 1;                                                         
  if (p[0] == '/')    /* Skip leading '/'. */                         
    ++p;                                                              
  for (first = 1, last = 0; !last ; ++p) {                            
   488c2:	528a           	addql #1,%a2                                
   488c4:	101d           	moveb %a5@+,%d0                             
   488c6:	60d2           	bras 4889a <rtems_mkdir+0x5e>               
    if (p[0] == '\0')                                                 
      last = 1;                                                       
    else if (p[0] != '/')                                             
      continue;                                                       
    *p = '\0';                                                        
   488c8:	4212           	clrb %a2@                                   
    if (!last && p[1] == '\0')                                        
   488ca:	4a15           	tstb %a5@                                   
   488cc:	57c1           	seq %d1                                     
   488ce:	1c01           	moveb %d1,%d6                               
   488d0:	49c6           	extbl %d6                                   
   488d2:	4486           	negl %d6                                    
      last = 1;                                                       
    if (first) {                                                      
   488d4:	4a89           	tstl %a1                                    
   488d6:	67ce           	beqs 488a6 <rtems_mkdir+0x6a>               
       *    mkdir [-m mode] dir                                       
       *                                                              
       * We change the user's umask and then restore it,              
       * instead of doing chmod's.                                    
       */                                                             
      oumask = umask(0);                                              
   488d8:	42a7           	clrl %sp@-                                  
   488da:	4e94           	jsr %a4@                                    
   488dc:	2400           	movel %d0,%d2                               
      numask = oumask & ~(S_IWUSR | S_IXUSR);                         
      (void)umask(numask);                                            
   488de:	0280 ffff ff3f 	andil #-193,%d0                             
   488e4:	2f00           	movel %d0,%sp@-                             
   488e6:	4e94           	jsr %a4@                                    
   488e8:	508f           	addql #8,%sp                                
      first = 0;                                                      
    }                                                                 
    if (last)                                                         
   488ea:	4a86           	tstl %d6                                    
   488ec:	67bc           	beqs 488aa <rtems_mkdir+0x6e>               
      (void)umask(oumask);                                            
   488ee:	2f02           	movel %d2,%sp@-                             
   488f0:	4e94           	jsr %a4@                                    
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {
   488f2:	2f03           	movel %d3,%sp@-                             
   488f4:	2f0b           	movel %a3,%sp@-                             
   488f6:	4eb9 0004 7a0c 	jsr 47a0c <mkdir>                           
   488fc:	4fef 000c      	lea %sp@(12),%sp                            
   48900:	4a80           	tstl %d0                                    
   48902:	6d16           	blts 4891a <rtems_mkdir+0xde>               
  int success = 0;                                                    
  char *dup_path = strdup(path);                                      
                                                                      
  if (dup_path != NULL) {                                             
    success = build(dup_path, mode);                                  
    free(dup_path);                                                   
   48904:	2f0b           	movel %a3,%sp@-                             
   48906:	4eb9 0004 7344 	jsr 47344 <free>                            
   4890c:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  return success != 0 ? 0 : -1;                                       
   4890e:	4280           	clrl %d0                                    
}                                                                     
   48910:	4cee 3cfc ff90 	moveml %fp@(-112),%d2-%d7/%a2-%a5           
   48916:	4e5e           	unlk %fp                                    
   48918:	4e75           	rts                                         
      first = 0;                                                      
    }                                                                 
    if (last)                                                         
      (void)umask(oumask);                                            
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {
      if (errno == EEXIST || errno == EISDIR) {                       
   4891a:	2045           	moveal %d5,%a0                              
   4891c:	283c 0006 0414 	movel #394260,%d4                           
   48922:	4e90           	jsr %a0@                                    
   48924:	7211           	moveq #17,%d1                               
   48926:	2040           	moveal %d0,%a0                              
   48928:	b290           	cmpl %a0@,%d1                               
   4892a:	670c           	beqs 48938 <rtems_mkdir+0xfc>               
   4892c:	2044           	moveal %d4,%a0                              
   4892e:	4e90           	jsr %a0@                                    
   48930:	7215           	moveq #21,%d1                               
   48932:	2040           	moveal %d0,%a0                              
   48934:	b290           	cmpl %a0@,%d1                               
   48936:	6636           	bnes 4896e <rtems_mkdir+0x132>              <== ALWAYS TAKEN
        if (stat(path, &sb) < 0) {                                    
   48938:	2f07           	movel %d7,%sp@-                             
   4893a:	2f0b           	movel %a3,%sp@-                             
   4893c:	4eb9 0004 89ec 	jsr 489ec <stat>                            
   48942:	508f           	addql #8,%sp                                
   48944:	4a80           	tstl %d0                                    
   48946:	6d26           	blts 4896e <rtems_mkdir+0x132>              <== NEVER TAKEN
          retval = 0;                                                 
          break;                                                      
        } else if (!S_ISDIR(sb.st_mode)) {                            
   48948:	202e ffc6      	movel %fp@(-58),%d0                         
   4894c:	0280 0000 f000 	andil #61440,%d0                            
   48952:	0c80 0000 4000 	cmpil #16384,%d0                            
   48958:	6676           	bnes 489d0 <rtems_mkdir+0x194>              
          else                                                        
            errno = ENOTDIR;                                          
          retval = 0;                                                 
          break;                                                      
        }                                                             
        if (last)                                                     
   4895a:	4a86           	tstl %d6                                    
   4895c:	6700 ff5e      	beqw 488bc <rtems_mkdir+0x80>               
  int success = 0;                                                    
  char *dup_path = strdup(path);                                      
                                                                      
  if (dup_path != NULL) {                                             
    success = build(dup_path, mode);                                  
    free(dup_path);                                                   
   48960:	2f0b           	movel %a3,%sp@-                             
   48962:	4eb9 0004 7344 	jsr 47344 <free>                            
   48968:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  return success != 0 ? 0 : -1;                                       
   4896a:	4280           	clrl %d0                                    
   4896c:	60a2           	bras 48910 <rtems_mkdir+0xd4>               
      }                                                               
    }                                                                 
    if (!last)                                                        
        *p = '/';                                                     
  }                                                                   
  if (!first && !last)                                                
   4896e:	4a86           	tstl %d6                                    
   48970:	671e           	beqs 48990 <rtems_mkdir+0x154>              <== NEVER TAKEN
  int success = 0;                                                    
  char *dup_path = strdup(path);                                      
                                                                      
  if (dup_path != NULL) {                                             
    success = build(dup_path, mode);                                  
    free(dup_path);                                                   
   48972:	2f0b           	movel %a3,%sp@-                             
   48974:	4eb9 0004 7344 	jsr 47344 <free>                            
   4897a:	588f           	addql #4,%sp                                
  }                                                                   
                                                                      
  return success != 0 ? 0 : -1;                                       
   4897c:	70ff           	moveq #-1,%d0                               
}                                                                     
   4897e:	4cee 3cfc ff90 	moveml %fp@(-112),%d2-%d7/%a2-%a5           
   48984:	4e5e           	unlk %fp                                    
   48986:	4e75           	rts                                         
          break;                                                      
        } else if (!S_ISDIR(sb.st_mode)) {                            
          if (last)                                                   
            errno = EEXIST;                                           
          else                                                        
            errno = ENOTDIR;                                          
   48988:	4e90           	jsr %a0@                                    
   4898a:	2040           	moveal %d0,%a0                              
   4898c:	7014           	moveq #20,%d0                               
   4898e:	2080           	movel %d0,%a0@                              
    }                                                                 
    if (!last)                                                        
        *p = '/';                                                     
  }                                                                   
  if (!first && !last)                                                
    (void)umask(oumask);                                              
   48990:	2f02           	movel %d2,%sp@-                             
   48992:	4eb9 0004 b3b8 	jsr 4b3b8 <umask>                           
   48998:	588f           	addql #4,%sp                                
  int success = 0;                                                    
  char *dup_path = strdup(path);                                      
                                                                      
  if (dup_path != NULL) {                                             
    success = build(dup_path, mode);                                  
    free(dup_path);                                                   
   4899a:	2f0b           	movel %a3,%sp@-                             
   4899c:	4eb9 0004 7344 	jsr 47344 <free>                            
   489a2:	588f           	addql #4,%sp                                
   489a4:	60d6           	bras 4897c <rtems_mkdir+0x140>              
                                                                      
  p = path;                                                           
  oumask = 0;                                                         
  retval = 1;                                                         
  if (p[0] == '/')    /* Skip leading '/'. */                         
    ++p;                                                              
   489a6:	45eb 0001      	lea %a3@(1),%a2                             
    }                                                                 
    if (last)                                                         
      (void)umask(oumask);                                            
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {
      if (errno == EEXIST || errno == EISDIR) {                       
        if (stat(path, &sb) < 0) {                                    
   489aa:	2e0e           	movel %fp,%d7                               
    (void)umask(oumask);                                              
  return (retval);                                                    
}                                                                     
                                                                      
int                                                                   
rtems_mkdir(const char *path, mode_t mode)                            
   489ac:	4bea 0001      	lea %a2@(1),%a5                             
   489b0:	4282           	clrl %d2                                    
   489b2:	327c 0001      	moveaw #1,%a1                               
      first = 0;                                                      
    }                                                                 
    if (last)                                                         
      (void)umask(oumask);                                            
    if (mkdir(path, last ? omode : S_IRWXU | S_IRWXG | S_IRWXO) < 0) {
      if (errno == EEXIST || errno == EISDIR) {                       
   489b6:	2a3c 0006 0414 	movel #394260,%d5                           
        if (stat(path, &sb) < 0) {                                    
   489bc:	0687 ffff ffba 	addil #-70,%d7                              
      numask = oumask & ~(S_IWUSR | S_IXUSR);                         
      (void)umask(numask);                                            
      first = 0;                                                      
    }                                                                 
    if (last)                                                         
      (void)umask(oumask);                                            
   489c2:	49f9 0004 b3b8 	lea 4b3b8 <umask>,%a4                       
   489c8:	102b 0001      	moveb %a3@(1),%d0                           
   489cc:	6000 febc      	braw 4888a <rtems_mkdir+0x4e>               
        if (stat(path, &sb) < 0) {                                    
          retval = 0;                                                 
          break;                                                      
        } else if (!S_ISDIR(sb.st_mode)) {                            
          if (last)                                                   
            errno = EEXIST;                                           
   489d0:	2044           	moveal %d4,%a0                              
      if (errno == EEXIST || errno == EISDIR) {                       
        if (stat(path, &sb) < 0) {                                    
          retval = 0;                                                 
          break;                                                      
        } else if (!S_ISDIR(sb.st_mode)) {                            
          if (last)                                                   
   489d2:	4a86           	tstl %d6                                    
   489d4:	67b2           	beqs 48988 <rtems_mkdir+0x14c>              
            errno = EEXIST;                                           
   489d6:	4e90           	jsr %a0@                                    
   489d8:	7211           	moveq #17,%d1                               
   489da:	2040           	moveal %d0,%a0                              
   489dc:	2081           	movel %d1,%a0@                              
  int success = 0;                                                    
  char *dup_path = strdup(path);                                      
                                                                      
  if (dup_path != NULL) {                                             
    success = build(dup_path, mode);                                  
    free(dup_path);                                                   
   489de:	2f0b           	movel %a3,%sp@-                             
   489e0:	4eb9 0004 7344 	jsr 47344 <free>                            
   489e6:	588f           	addql #4,%sp                                
   489e8:	6092           	bras 4897c <rtems_mkdir+0x140>              
	...                                                                  
                                                                      

00048d9c <rtems_object_get_class_information>: rtems_status_code rtems_object_get_class_information( int the_api, int the_class, rtems_object_api_class_information *info ) {
   48d9c:	4e56 0000      	linkw %fp,#0                                
   48da0:	2f0a           	movel %a2,%sp@-                             
   48da2:	246e 0010      	moveal %fp@(16),%a2                         
   48da6:	2f02           	movel %d2,%sp@-                             
  int                  i;                                             
                                                                      
  /*                                                                  
   * Validate parameters and look up information structure.           
   */                                                                 
  if ( !info )                                                        
   48da8:	4a8a           	tstl %a2                                    
   48daa:	6768           	beqs 48e14 <rtems_object_get_class_information+0x78>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  obj_info = _Objects_Get_information( the_api, the_class );          
   48dac:	3f2e 000e      	movew %fp@(14),%sp@-                        
   48db0:	4267           	clrw %sp@-                                  
   48db2:	2f2e 0008      	movel %fp@(8),%sp@-                         
   48db6:	4eb9 0004 ac44 	jsr 4ac44 <_Objects_Get_information>        
  if ( !obj_info )                                                    
   48dbc:	508f           	addql #8,%sp                                
   * Validate parameters and look up information structure.           
   */                                                                 
  if ( !info )                                                        
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  obj_info = _Objects_Get_information( the_api, the_class );          
   48dbe:	2040           	moveal %d0,%a0                              
  if ( !obj_info )                                                    
   48dc0:	4a80           	tstl %d0                                    
   48dc2:	675e           	beqs 48e22 <rtems_object_get_class_information+0x86>
    return RTEMS_INVALID_NUMBER;                                      
                                                                      
  /*                                                                  
   * Return information about this object class to the user.          
   */                                                                 
  info->minimum_id  = obj_info->minimum_id;                           
   48dc4:	24a8 0006      	movel %a0@(6),%a2@                          
  info->maximum_id  = obj_info->maximum_id;                           
  info->auto_extend = obj_info->auto_extend;                          
  info->maximum     = obj_info->maximum;                              
   48dc8:	4282           	clrl %d2                                    
                                                                      
  /*                                                                  
   * Return information about this object class to the user.          
   */                                                                 
  info->minimum_id  = obj_info->minimum_id;                           
  info->maximum_id  = obj_info->maximum_id;                           
   48dca:	2568 000a 0004 	movel %a0@(10),%a2@(4)                      
  info->auto_extend = obj_info->auto_extend;                          
  info->maximum     = obj_info->maximum;                              
   48dd0:	3428 000e      	movew %a0@(14),%d2                          
  /*                                                                  
   * Return information about this object class to the user.          
   */                                                                 
  info->minimum_id  = obj_info->minimum_id;                           
  info->maximum_id  = obj_info->maximum_id;                           
  info->auto_extend = obj_info->auto_extend;                          
   48dd4:	1568 0010 000c 	moveb %a0@(16),%a2@(12)                     
  info->maximum     = obj_info->maximum;                              
   48dda:	2542 0008      	movel %d2,%a2@(8)                           
                                                                      
  for ( unallocated=0, i=1 ; i <= info->maximum ; i++ )               
   48dde:	6750           	beqs 48e30 <rtems_object_get_class_information+0x94><== NEVER TAKEN
   48de0:	2068 0018      	moveal %a0@(24),%a0                         
   48de4:	7201           	moveq #1,%d1                                
   48de6:	7001           	moveq #1,%d0                                
   48de8:	93c9           	subal %a1,%a1                               
   48dea:	5280           	addql #1,%d0                                
    if ( !obj_info->local_table[i] )                                  
   48dec:	4ab0 1c00      	tstl %a0@(00000000,%d1:l:4)                 
   48df0:	6718           	beqs 48e0a <rtems_object_get_class_information+0x6e>
  info->minimum_id  = obj_info->minimum_id;                           
  info->maximum_id  = obj_info->maximum_id;                           
  info->auto_extend = obj_info->auto_extend;                          
  info->maximum     = obj_info->maximum;                              
                                                                      
  for ( unallocated=0, i=1 ; i <= info->maximum ; i++ )               
   48df2:	2200           	movel %d0,%d1                               
   48df4:	b082           	cmpl %d2,%d0                                
   48df6:	63f2           	blss 48dea <rtems_object_get_class_information+0x4e><== ALWAYS TAKEN
    if ( !obj_info->local_table[i] )                                  
      unallocated++;                                                  
                                                                      
  info->unallocated = unallocated;                                    
   48df8:	2549 000e      	movel %a1,%a2@(14)                          
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   48dfc:	4280           	clrl %d0                                    
}                                                                     
   48dfe:	242e fff8      	movel %fp@(-8),%d2                          
   48e02:	246e fffc      	moveal %fp@(-4),%a2                         
   48e06:	4e5e           	unlk %fp                                    
   48e08:	4e75           	rts                                         
  info->auto_extend = obj_info->auto_extend;                          
  info->maximum     = obj_info->maximum;                              
                                                                      
  for ( unallocated=0, i=1 ; i <= info->maximum ; i++ )               
    if ( !obj_info->local_table[i] )                                  
      unallocated++;                                                  
   48e0a:	5289           	addql #1,%a1                                
  info->minimum_id  = obj_info->minimum_id;                           
  info->maximum_id  = obj_info->maximum_id;                           
  info->auto_extend = obj_info->auto_extend;                          
  info->maximum     = obj_info->maximum;                              
                                                                      
  for ( unallocated=0, i=1 ; i <= info->maximum ; i++ )               
   48e0c:	2200           	movel %d0,%d1                               
   48e0e:	b082           	cmpl %d2,%d0                                
   48e10:	63d8           	blss 48dea <rtems_object_get_class_information+0x4e><== NEVER TAKEN
   48e12:	60e4           	bras 48df8 <rtems_object_get_class_information+0x5c>
      unallocated++;                                                  
                                                                      
  info->unallocated = unallocated;                                    
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   48e14:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  /*                                                                  
   * Validate parameters and look up information structure.           
   */                                                                 
  if ( !info )                                                        
    return RTEMS_INVALID_ADDRESS;                                     
   48e18:	7009           	moveq #9,%d0                                
      unallocated++;                                                  
                                                                      
  info->unallocated = unallocated;                                    
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   48e1a:	246e fffc      	moveal %fp@(-4),%a2                         
   48e1e:	4e5e           	unlk %fp                                    
   48e20:	4e75           	rts                                         
   48e22:	242e fff8      	movel %fp@(-8),%d2                          
  if ( !info )                                                        
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  obj_info = _Objects_Get_information( the_api, the_class );          
  if ( !obj_info )                                                    
    return RTEMS_INVALID_NUMBER;                                      
   48e26:	700a           	moveq #10,%d0                               
      unallocated++;                                                  
                                                                      
  info->unallocated = unallocated;                                    
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   48e28:	246e fffc      	moveal %fp@(-4),%a2                         
   48e2c:	4e5e           	unlk %fp                                    
   48e2e:	4e75           	rts                                         
  info->minimum_id  = obj_info->minimum_id;                           
  info->maximum_id  = obj_info->maximum_id;                           
  info->auto_extend = obj_info->auto_extend;                          
  info->maximum     = obj_info->maximum;                              
                                                                      
  for ( unallocated=0, i=1 ; i <= info->maximum ; i++ )               
   48e30:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
    if ( !obj_info->local_table[i] )                                  
      unallocated++;                                                  
                                                                      
  info->unallocated = unallocated;                                    
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   48e32:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
  for ( unallocated=0, i=1 ; i <= info->maximum ; i++ )               
    if ( !obj_info->local_table[i] )                                  
      unallocated++;                                                  
                                                                      
  info->unallocated = unallocated;                                    
   48e34:	2549 000e      	movel %a1,%a2@(14)                          <== NOT EXECUTED
   48e38:	60c4           	bras 48dfe <rtems_object_get_class_information+0x62><== NOT EXECUTED
	...                                                                  
                                                                      

00048ea4 <rtems_object_set_name>: */ rtems_status_code rtems_object_set_name( rtems_id id, const char *name ) {
   48ea4:	4e56 fffc      	linkw %fp,#-4                               
   48ea8:	2f03           	movel %d3,%sp@-                             
   48eaa:	2f02           	movel %d2,%sp@-                             
  Objects_Information *information;                                   
  Objects_Locations    location;                                      
  Objects_Control     *the_object;                                    
  Objects_Id           tmpId;                                         
                                                                      
  if ( !name )                                                        
   48eac:	4aae 000c      	tstl %fp@(12)                               
   48eb0:	677c           	beqs 48f2e <rtems_object_set_name+0x8a>     
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
   48eb2:	4aae 0008      	tstl %fp@(8)                                
   48eb6:	6656           	bnes 48f0e <rtems_object_set_name+0x6a>     
   48eb8:	2079 0006 2aa6 	moveal 62aa6 <_Per_CPU_Information+0xe>,%a0 
   48ebe:	2628 0008      	movel %a0@(8),%d3                           
                                                                      
  information  = _Objects_Get_information_id( tmpId );                
   48ec2:	2f03           	movel %d3,%sp@-                             
   48ec4:	4eb9 0004 ac18 	jsr 4ac18 <_Objects_Get_information_id>     
  if ( !information )                                                 
   48eca:	588f           	addql #4,%sp                                
  if ( !name )                                                        
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
                                                                      
  information  = _Objects_Get_information_id( tmpId );                
   48ecc:	2400           	movel %d0,%d2                               
  if ( !information )                                                 
   48ece:	6750           	beqs 48f20 <rtems_object_set_name+0x7c>     <== NEVER TAKEN
    return RTEMS_INVALID_ID;                                          
                                                                      
  the_object = _Objects_Get( information, tmpId, &location );         
   48ed0:	486e fffc      	pea %fp@(-4)                                
   48ed4:	2f03           	movel %d3,%sp@-                             
   48ed6:	2f00           	movel %d0,%sp@-                             
   48ed8:	4eb9 0004 ae00 	jsr 4ae00 <_Objects_Get>                    
  switch ( location ) {                                               
   48ede:	4fef 000c      	lea %sp@(12),%sp                            
   48ee2:	4aae fffc      	tstl %fp@(-4)                               
   48ee6:	6638           	bnes 48f20 <rtems_object_set_name+0x7c>     
                                                                      
    case OBJECTS_LOCAL:                                               
      _Objects_Set_name( information, the_object, name );             
   48ee8:	2f2e 000c      	movel %fp@(12),%sp@-                        
   48eec:	2f00           	movel %d0,%sp@-                             
   48eee:	2f02           	movel %d2,%sp@-                             
   48ef0:	4eb9 0004 afe0 	jsr 4afe0 <_Objects_Set_name>               
      _Thread_Enable_dispatch();                                      
   48ef6:	4eb9 0004 bc20 	jsr 4bc20 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   48efc:	242e fff4      	movel %fp@(-12),%d2                         
  the_object = _Objects_Get( information, tmpId, &location );         
  switch ( location ) {                                               
                                                                      
    case OBJECTS_LOCAL:                                               
      _Objects_Set_name( information, the_object, name );             
      _Thread_Enable_dispatch();                                      
   48f00:	4fef 000c      	lea %sp@(12),%sp                            
      return RTEMS_SUCCESSFUL;                                        
   48f04:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   48f06:	262e fff8      	movel %fp@(-8),%d3                          
   48f0a:	4e5e           	unlk %fp                                    
   48f0c:	4e75           	rts                                         
  Objects_Id           tmpId;                                         
                                                                      
  if ( !name )                                                        
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
   48f0e:	262e 0008      	movel %fp@(8),%d3                           
                                                                      
  information  = _Objects_Get_information_id( tmpId );                
   48f12:	2f03           	movel %d3,%sp@-                             
   48f14:	4eb9 0004 ac18 	jsr 4ac18 <_Objects_Get_information_id>     
  if ( !information )                                                 
   48f1a:	588f           	addql #4,%sp                                
  if ( !name )                                                        
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  tmpId = (id == OBJECTS_ID_OF_SELF) ? _Thread_Executing->Object.id : id;
                                                                      
  information  = _Objects_Get_information_id( tmpId );                
   48f1c:	2400           	movel %d0,%d2                               
  if ( !information )                                                 
   48f1e:	66b0           	bnes 48ed0 <rtems_object_set_name+0x2c>     
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   48f20:	242e fff4      	movel %fp@(-12),%d2                         
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   48f24:	7004           	moveq #4,%d0                                
}                                                                     
   48f26:	262e fff8      	movel %fp@(-8),%d3                          
   48f2a:	4e5e           	unlk %fp                                    
   48f2c:	4e75           	rts                                         
   48f2e:	242e fff4      	movel %fp@(-12),%d2                         
  Objects_Locations    location;                                      
  Objects_Control     *the_object;                                    
  Objects_Id           tmpId;                                         
                                                                      
  if ( !name )                                                        
    return RTEMS_INVALID_ADDRESS;                                     
   48f32:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   48f34:	262e fff8      	movel %fp@(-8),%d3                          
   48f38:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00054f90 <rtems_partition_create>: uint32_t length, uint32_t buffer_size, rtems_attribute attribute_set, rtems_id *id ) {
   54f90:	4e56 0000      	linkw %fp,#0                                
   54f94:	2f0a           	movel %a2,%sp@-                             
   54f96:	2f02           	movel %d2,%sp@-                             
  register Partition_Control *the_partition;                          
                                                                      
  if ( !rtems_is_name_valid( name ) )                                 
   54f98:	4aae 0008      	tstl %fp@(8)                                
   54f9c:	660e           	bnes 54fac <rtems_partition_create+0x1c>    
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   54f9e:	242e fff8      	movel %fp@(-8),%d2                          
)                                                                     
{                                                                     
  register Partition_Control *the_partition;                          
                                                                      
  if ( !rtems_is_name_valid( name ) )                                 
    return RTEMS_INVALID_NAME;                                        
   54fa2:	7003           	moveq #3,%d0                                
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   54fa4:	246e fffc      	moveal %fp@(-4),%a2                         
   54fa8:	4e5e           	unlk %fp                                    
   54faa:	4e75           	rts                                         
  register Partition_Control *the_partition;                          
                                                                      
  if ( !rtems_is_name_valid( name ) )                                 
    return RTEMS_INVALID_NAME;                                        
                                                                      
  if ( !starting_address )                                            
   54fac:	4aae 000c      	tstl %fp@(12)                               
   54fb0:	671a           	beqs 54fcc <rtems_partition_create+0x3c>    
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( !id )                                                          
   54fb2:	4aae 001c      	tstl %fp@(28)                               
   54fb6:	6714           	beqs 54fcc <rtems_partition_create+0x3c>    <== NEVER TAKEN
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( length == 0 || buffer_size == 0 || length < buffer_size ||     
   54fb8:	4aae 0010      	tstl %fp@(16)                               
   54fbc:	661c           	bnes 54fda <rtems_partition_create+0x4a>    
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   54fbe:	242e fff8      	movel %fp@(-8),%d2                          
  if ( !id )                                                          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( length == 0 || buffer_size == 0 || length < buffer_size ||     
         !_Partition_Is_buffer_size_aligned( buffer_size ) )          
    return RTEMS_INVALID_SIZE;                                        
   54fc2:	7008           	moveq #8,%d0                                
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   54fc4:	246e fffc      	moveal %fp@(-4),%a2                         
   54fc8:	4e5e           	unlk %fp                                    
   54fca:	4e75           	rts                                         
   54fcc:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  if ( !rtems_is_name_valid( name ) )                                 
    return RTEMS_INVALID_NAME;                                        
                                                                      
  if ( !starting_address )                                            
    return RTEMS_INVALID_ADDRESS;                                     
   54fd0:	7009           	moveq #9,%d0                                
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   54fd2:	246e fffc      	moveal %fp@(-4),%a2                         
   54fd6:	4e5e           	unlk %fp                                    
   54fd8:	4e75           	rts                                         
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( !id )                                                          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( length == 0 || buffer_size == 0 || length < buffer_size ||     
   54fda:	4aae 0014      	tstl %fp@(20)                               
   54fde:	67de           	beqs 54fbe <rtems_partition_create+0x2e>    
   54fe0:	202e 0014      	movel %fp@(20),%d0                          
   54fe4:	b0ae 0010      	cmpl %fp@(16),%d0                           
   54fe8:	62d4           	bhis 54fbe <rtems_partition_create+0x2e>    
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Partition_Is_buffer_size_aligned (         
   uint32_t   buffer_size                                             
)                                                                     
{                                                                     
  return ((buffer_size % CPU_PARTITION_ALIGNMENT) == 0);              
   54fea:	7003           	moveq #3,%d0                                
   54fec:	c0ae 0014      	andl %fp@(20),%d0                           
   54ff0:	66cc           	bnes 54fbe <rtems_partition_create+0x2e>    
)                                                                     
{                                                                     
#if (CPU_ALIGNMENT == 0)                                              
    return true;                                                      
#else                                                                 
    return (((uintptr_t)address % CPU_ALIGNMENT) == 0);               
   54ff2:	103c 0003      	moveb #3,%d0                                
   54ff6:	c0ae 000c      	andl %fp@(12),%d0                           
         !_Partition_Is_buffer_size_aligned( buffer_size ) )          
    return RTEMS_INVALID_SIZE;                                        
                                                                      
  if ( !_Addresses_Is_aligned( starting_address ) )                   
   54ffa:	66d0           	bnes 54fcc <rtems_partition_create+0x3c>    
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   54ffc:	2039 0007 c302 	movel 7c302 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   55002:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   55004:	23c0 0007 c302 	movel %d0,7c302 <_Thread_Dispatch_disable_level>
 *  This function allocates a partition control block from            
 *  the inactive chain of free partition control blocks.              
 */                                                                   
RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Allocate ( void )  
{                                                                     
  return (Partition_Control *) _Objects_Allocate( &_Partition_Information );
   5500a:	4879 0007 c18c 	pea 7c18c <_Partition_Information>          
   55010:	4eb9 0005 9f48 	jsr 59f48 <_Objects_Allocate>               
                                                                      
  _Thread_Disable_dispatch();               /* prevents deletion */   
                                                                      
  the_partition = _Partition_Allocate();                              
                                                                      
  if ( !the_partition ) {                                             
   55016:	588f           	addql #4,%sp                                
   55018:	2440           	moveal %d0,%a2                              
   5501a:	4a80           	tstl %d0                                    
   5501c:	6776           	beqs 55094 <rtems_partition_create+0x104>   
    return RTEMS_TOO_MANY;                                            
  }                                                                   
#endif                                                                
                                                                      
  the_partition->starting_address      = starting_address;            
  the_partition->length                = length;                      
   5501e:	242e 0010      	movel %fp@(16),%d2                          
  the_partition->buffer_size           = buffer_size;                 
  the_partition->attribute_set         = attribute_set;               
  the_partition->number_of_used_blocks = 0;                           
                                                                      
  _Chain_Initialize( &the_partition->Memory, starting_address,        
   55022:	2002           	movel %d2,%d0                               
    return RTEMS_TOO_MANY;                                            
  }                                                                   
#endif                                                                
                                                                      
  the_partition->starting_address      = starting_address;            
  the_partition->length                = length;                      
   55024:	2542 0014      	movel %d2,%a2@(20)                          
  the_partition->buffer_size           = buffer_size;                 
  the_partition->attribute_set         = attribute_set;               
  the_partition->number_of_used_blocks = 0;                           
                                                                      
  _Chain_Initialize( &the_partition->Memory, starting_address,        
   55028:	242e 0014      	movel %fp@(20),%d2                          
    _Thread_Enable_dispatch();                                        
    return RTEMS_TOO_MANY;                                            
  }                                                                   
#endif                                                                
                                                                      
  the_partition->starting_address      = starting_address;            
   5502c:	222e 000c      	movel %fp@(12),%d1                          
  the_partition->length                = length;                      
  the_partition->buffer_size           = buffer_size;                 
  the_partition->attribute_set         = attribute_set;               
   55030:	256e 0018 001c 	movel %fp@(24),%a2@(28)                     
    _Thread_Enable_dispatch();                                        
    return RTEMS_TOO_MANY;                                            
  }                                                                   
#endif                                                                
                                                                      
  the_partition->starting_address      = starting_address;            
   55036:	2541 0010      	movel %d1,%a2@(16)                          
  the_partition->length                = length;                      
  the_partition->buffer_size           = buffer_size;                 
  the_partition->attribute_set         = attribute_set;               
  the_partition->number_of_used_blocks = 0;                           
                                                                      
  _Chain_Initialize( &the_partition->Memory, starting_address,        
   5503a:	4c42 0000      	remul %d2,%d0,%d0                           
  }                                                                   
#endif                                                                
                                                                      
  the_partition->starting_address      = starting_address;            
  the_partition->length                = length;                      
  the_partition->buffer_size           = buffer_size;                 
   5503e:	2542 0018      	movel %d2,%a2@(24)                          
  the_partition->attribute_set         = attribute_set;               
  the_partition->number_of_used_blocks = 0;                           
   55042:	42aa 0020      	clrl %a2@(32)                               
                                                                      
  _Chain_Initialize( &the_partition->Memory, starting_address,        
   55046:	2f02           	movel %d2,%sp@-                             
   55048:	2f00           	movel %d0,%sp@-                             
   5504a:	2f2e 000c      	movel %fp@(12),%sp@-                        
   5504e:	486a 0024      	pea %a2@(36)                                
   55052:	4eb9 0005 87c8 	jsr 587c8 <_Chain_Initialize>               
  Objects_Name         name                                           
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
    information,                                                      
    _Objects_Get_index( the_object->id ),                             
   55058:	202a 0008      	movel %a2@(8),%d0                           
  Objects_Information *information,                                   
  Objects_Control     *the_object,                                    
  Objects_Name         name                                           
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
   5505c:	2200           	movel %d0,%d1                               
  #if defined(RTEMS_DEBUG)                                            
    if ( index > information->maximum )                               
      return;                                                         
  #endif                                                              
                                                                      
  information->local_table[ index ] = the_object;                     
   5505e:	2079 0007 c1a4 	moveal 7c1a4 <_Partition_Information+0x18>,%a0
  Objects_Information *information,                                   
  Objects_Control     *the_object,                                    
  Objects_Name         name                                           
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
   55064:	0281 0000 ffff 	andil #65535,%d1                            
  #if defined(RTEMS_DEBUG)                                            
    if ( index > information->maximum )                               
      return;                                                         
  #endif                                                              
                                                                      
  information->local_table[ index ] = the_object;                     
   5506a:	218a 1c00      	movel %a2,%a0@(00000000,%d1:l:4)            
    information,                                                      
    _Objects_Get_index( the_object->id ),                             
    the_object                                                        
  );                                                                  
                                                                      
  the_object->name = name;                                            
   5506e:	206e 0008      	moveal %fp@(8),%a0                          
   55072:	2548 000c      	movel %a0,%a2@(12)                          
    &_Partition_Information,                                          
    &the_partition->Object,                                           
    (Objects_Name) name                                               
  );                                                                  
                                                                      
  *id = the_partition->Object.id;                                     
   55076:	206e 001c      	moveal %fp@(28),%a0                         
   5507a:	2080           	movel %d0,%a0@                              
      name,                                                           
      0                  /* Not used */                               
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
   5507c:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   55082:	242e fff8      	movel %fp@(-8),%d2                          
      0                  /* Not used */                               
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
   55086:	4fef 0010      	lea %sp@(16),%sp                            
   5508a:	4280           	clrl %d0                                    
}                                                                     
   5508c:	246e fffc      	moveal %fp@(-4),%a2                         
   55090:	4e5e           	unlk %fp                                    
   55092:	4e75           	rts                                         
  _Thread_Disable_dispatch();               /* prevents deletion */   
                                                                      
  the_partition = _Partition_Allocate();                              
                                                                      
  if ( !the_partition ) {                                             
    _Thread_Enable_dispatch();                                        
   55094:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5509a:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  the_partition = _Partition_Allocate();                              
                                                                      
  if ( !the_partition ) {                                             
    _Thread_Enable_dispatch();                                        
    return RTEMS_TOO_MANY;                                            
   5509e:	7005           	moveq #5,%d0                                
    );                                                                
#endif                                                                
                                                                      
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   550a0:	246e fffc      	moveal %fp@(-4),%a2                         
   550a4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000551d0 <rtems_partition_return_buffer>: rtems_status_code rtems_partition_return_buffer( rtems_id id, void *buffer ) {
   551d0:	4e56 fff8      	linkw %fp,#-8                               
   551d4:	2f02           	movel %d2,%sp@-                             
RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get (              
  Objects_Id         id,                                              
  Objects_Locations *location                                         
)                                                                     
{                                                                     
  return (Partition_Control *)                                        
   551d6:	486e fffc      	pea %fp@(-4)                                
   551da:	2f2e 0008      	movel %fp@(8),%sp@-                         
   551de:	4879 0007 c18c 	pea 7c18c <_Partition_Information>          
   551e4:	4eb9 0005 a480 	jsr 5a480 <_Objects_Get>                    
  register Partition_Control *the_partition;                          
  Objects_Locations           location;                               
                                                                      
  the_partition = _Partition_Get( id, &location );                    
  switch ( location ) {                                               
   551ea:	4fef 000c      	lea %sp@(12),%sp                            
   551ee:	4aae fffc      	tstl %fp@(-4)                               
   551f2:	6660           	bnes 55254 <rtems_partition_return_buffer+0x84>
)                                                                     
{                                                                     
  void *starting;                                                     
  void *ending;                                                       
                                                                      
  starting = the_partition->starting_address;                         
   551f4:	2040           	moveal %d0,%a0                              
   551f6:	2228 0010      	movel %a0@(16),%d1                          
  ending   = _Addresses_Add_offset( starting, the_partition->length );
   551fa:	2068 0014      	moveal %a0@(20),%a0                         
  const void *address,                                                
  const void *base,                                                   
  const void *limit                                                   
)                                                                     
{                                                                     
  return (address >= base && address <= limit);                       
   551fe:	b2ae 000c      	cmpl %fp@(12),%d1                           
   55202:	625a           	bhis 5525e <rtems_partition_return_buffer+0x8e>
RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset (                    
  const void *base,                                                   
  uintptr_t   offset                                                  
)                                                                     
{                                                                     
  return (void *)((uintptr_t)base + offset);                          
   55204:	41f0 1800      	lea %a0@(00000000,%d1:l),%a0                
  const void *address,                                                
  const void *base,                                                   
  const void *limit                                                   
)                                                                     
{                                                                     
  return (address >= base && address <= limit);                       
   55208:	b1ee 000c      	cmpal %fp@(12),%a0                          
   5520c:	6550           	bcss 5525e <rtems_partition_return_buffer+0x8e><== NEVER TAKEN
RTEMS_INLINE_ROUTINE int32_t _Addresses_Subtract (                    
  const void *left,                                                   
  const void *right                                                   
)                                                                     
{                                                                     
  return (int32_t) ((const char *) left - (const char *) right);      
   5520e:	242e 000c      	movel %fp@(12),%d2                          
  offset = (uint32_t) _Addresses_Subtract(                            
    the_buffer,                                                       
    the_partition->starting_address                                   
  );                                                                  
                                                                      
  return ((offset % the_partition->buffer_size) == 0);                
   55212:	2040           	moveal %d0,%a0                              
   55214:	9481           	subl %d1,%d2                                
   55216:	2202           	movel %d2,%d1                               
   55218:	41e8 0018      	lea %a0@(24),%a0                            
   5521c:	4c50 1002      	remul %a0@,%d2,%d1                          
                                                                      
  starting = the_partition->starting_address;                         
  ending   = _Addresses_Add_offset( starting, the_partition->length );
                                                                      
  return (                                                            
    _Addresses_Is_in_range( the_buffer, starting, ending ) &&         
   55220:	4a82           	tstl %d2                                    
   55222:	663a           	bnes 5525e <rtems_partition_return_buffer+0x8e>
RTEMS_INLINE_ROUTINE void _Partition_Free_buffer (                    
  Partition_Control *the_partition,                                   
  Chain_Node        *the_buffer                                       
)                                                                     
{                                                                     
  _Chain_Append( &the_partition->Memory, the_buffer );                
   55224:	2f2e 000c      	movel %fp@(12),%sp@-                        
   55228:	2240           	moveal %d0,%a1                              
   5522a:	4869 0024      	pea %a1@(36)                                
   5522e:	2d40 fff8      	movel %d0,%fp@(-8)                          
   55232:	4eb9 0005 8754 	jsr 58754 <_Chain_Append>                   
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( _Partition_Is_buffer_valid( buffer, the_partition ) ) {    
        _Partition_Free_buffer( the_partition, buffer );              
        the_partition->number_of_used_blocks -= 1;                    
   55238:	202e fff8      	movel %fp@(-8),%d0                          
   5523c:	2040           	moveal %d0,%a0                              
   5523e:	53a8 0020      	subql #1,%a0@(32)                           
        _Thread_Enable_dispatch();                                    
   55242:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   55248:	242e fff4      	movel %fp@(-12),%d2                         
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( _Partition_Is_buffer_valid( buffer, the_partition ) ) {    
        _Partition_Free_buffer( the_partition, buffer );              
        the_partition->number_of_used_blocks -= 1;                    
        _Thread_Enable_dispatch();                                    
   5524c:	508f           	addql #8,%sp                                
        return RTEMS_SUCCESSFUL;                                      
   5524e:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   55250:	4e5e           	unlk %fp                                    
   55252:	4e75           	rts                                         
   55254:	242e fff4      	movel %fp@(-12),%d2                         
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   55258:	7004           	moveq #4,%d0                                
}                                                                     
   5525a:	4e5e           	unlk %fp                                    
   5525c:	4e75           	rts                                         
        _Partition_Free_buffer( the_partition, buffer );              
        the_partition->number_of_used_blocks -= 1;                    
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
      }                                                               
      _Thread_Enable_dispatch();                                      
   5525e:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   55264:	242e fff4      	movel %fp@(-12),%d2                         
        the_partition->number_of_used_blocks -= 1;                    
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
      }                                                               
      _Thread_Enable_dispatch();                                      
      return RTEMS_INVALID_ADDRESS;                                   
   55268:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   5526a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00054640 <rtems_port_external_to_internal>: rtems_status_code rtems_port_external_to_internal( rtems_id id, void *external, void **internal ) {
   54640:	4e56 fffc      	linkw %fp,#-4                               
  register Dual_ported_memory_Control *the_port;                      
  Objects_Locations                    location;                      
  uint32_t                             ending;                        
                                                                      
  if ( !internal )                                                    
   54644:	4aae 0010      	tstl %fp@(16)                               
   54648:	6748           	beqs 54692 <rtems_port_external_to_internal+0x52>
RTEMS_INLINE_ROUTINE Dual_ported_memory_Control *_Dual_ported_memory_Get (
  Objects_Id         id,                                              
  Objects_Locations *location                                         
)                                                                     
{                                                                     
  return (Dual_ported_memory_Control *)                               
   5464a:	486e fffc      	pea %fp@(-4)                                
   5464e:	2f2e 0008      	movel %fp@(8),%sp@-                         
   54652:	4879 0007 c154 	pea 7c154 <_Dual_ported_memory_Information> 
   54658:	4eb9 0005 a480 	jsr 5a480 <_Objects_Get>                    
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  the_port = _Dual_ported_memory_Get( id, &location );                
  switch ( location ) {                                               
   5465e:	4fef 000c      	lea %sp@(12),%sp                            
   54662:	4aae fffc      	tstl %fp@(-4)                               
   54666:	6624           	bnes 5468c <rtems_port_external_to_internal+0x4c>
RTEMS_INLINE_ROUTINE int32_t _Addresses_Subtract (                    
  const void *left,                                                   
  const void *right                                                   
)                                                                     
{                                                                     
  return (int32_t) ((const char *) left - (const char *) right);      
   54668:	222e 000c      	movel %fp@(12),%d1                          
   5466c:	2040           	moveal %d0,%a0                              
   5466e:	92a8 0014      	subl %a0@(20),%d1                           
    case OBJECTS_LOCAL:                                               
      ending = _Addresses_Subtract( external, the_port->external_base );
      if ( ending > the_port->length )                                
   54672:	b2a8 0018      	cmpl %a0@(24),%d1                           
   54676:	6320           	blss 54698 <rtems_port_external_to_internal+0x58>
        *internal = external;                                         
   54678:	206e 0010      	moveal %fp@(16),%a0                         
   5467c:	20ae 000c      	movel %fp@(12),%a0@                         
      else                                                            
        *internal = _Addresses_Add_offset( the_port->internal_base,   
                                           ending );                  
      _Thread_Enable_dispatch();                                      
   54680:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
      return RTEMS_SUCCESSFUL;                                        
   54686:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   54688:	4e5e           	unlk %fp                                    
   5468a:	4e75           	rts                                         
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   5468c:	7004           	moveq #4,%d0                                
}                                                                     
   5468e:	4e5e           	unlk %fp                                    
   54690:	4e75           	rts                                         
  register Dual_ported_memory_Control *the_port;                      
  Objects_Locations                    location;                      
  uint32_t                             ending;                        
                                                                      
  if ( !internal )                                                    
    return RTEMS_INVALID_ADDRESS;                                     
   54692:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   54694:	4e5e           	unlk %fp                                    
   54696:	4e75           	rts                                         
RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset (                    
  const void *base,                                                   
  uintptr_t   offset                                                  
)                                                                     
{                                                                     
  return (void *)((uintptr_t)base + offset);                          
   54698:	2040           	moveal %d0,%a0                              
   5469a:	d2a8 0010      	addl %a0@(16),%d1                           
   5469e:	206e 0010      	moveal %fp@(16),%a0                         
   546a2:	2081           	movel %d1,%a0@                              
      if ( ending > the_port->length )                                
        *internal = external;                                         
      else                                                            
        *internal = _Addresses_Add_offset( the_port->internal_base,   
                                           ending );                  
      _Thread_Enable_dispatch();                                      
   546a4:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
      return RTEMS_SUCCESSFUL;                                        
   546aa:	4280           	clrl %d0                                    
   546ac:	60da           	bras 54688 <rtems_port_external_to_internal+0x48>
	...                                                                  
                                                                      

000546d8 <rtems_port_internal_to_external>: rtems_status_code rtems_port_internal_to_external( rtems_id id, void *internal, void **external ) {
   546d8:	4e56 fffc      	linkw %fp,#-4                               
  register Dual_ported_memory_Control *the_port;                      
  Objects_Locations                    location;                      
  uint32_t                             ending;                        
                                                                      
  if ( !external )                                                    
   546dc:	4aae 0010      	tstl %fp@(16)                               
   546e0:	6748           	beqs 5472a <rtems_port_internal_to_external+0x52>
   546e2:	486e fffc      	pea %fp@(-4)                                
   546e6:	2f2e 0008      	movel %fp@(8),%sp@-                         
   546ea:	4879 0007 c154 	pea 7c154 <_Dual_ported_memory_Information> 
   546f0:	4eb9 0005 a480 	jsr 5a480 <_Objects_Get>                    
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  the_port = _Dual_ported_memory_Get( id, &location );                
  switch ( location ) {                                               
   546f6:	4fef 000c      	lea %sp@(12),%sp                            
   546fa:	4aae fffc      	tstl %fp@(-4)                               
   546fe:	6624           	bnes 54724 <rtems_port_internal_to_external+0x4c>
RTEMS_INLINE_ROUTINE int32_t _Addresses_Subtract (                    
  const void *left,                                                   
  const void *right                                                   
)                                                                     
{                                                                     
  return (int32_t) ((const char *) left - (const char *) right);      
   54700:	222e 000c      	movel %fp@(12),%d1                          
   54704:	2040           	moveal %d0,%a0                              
   54706:	92a8 0010      	subl %a0@(16),%d1                           
                                                                      
    case OBJECTS_LOCAL:                                               
      ending = _Addresses_Subtract( internal, the_port->internal_base );
      if ( ending > the_port->length )                                
   5470a:	b2a8 0018      	cmpl %a0@(24),%d1                           
   5470e:	6320           	blss 54730 <rtems_port_internal_to_external+0x58>
        *external = internal;                                         
   54710:	206e 0010      	moveal %fp@(16),%a0                         
   54714:	20ae 000c      	movel %fp@(12),%a0@                         
      else                                                            
        *external = _Addresses_Add_offset( the_port->external_base,   
                                           ending );                  
      _Thread_Enable_dispatch();                                      
   54718:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
      return RTEMS_SUCCESSFUL;                                        
   5471e:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   54720:	4e5e           	unlk %fp                                    
   54722:	4e75           	rts                                         
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   54724:	7004           	moveq #4,%d0                                
}                                                                     
   54726:	4e5e           	unlk %fp                                    
   54728:	4e75           	rts                                         
  register Dual_ported_memory_Control *the_port;                      
  Objects_Locations                    location;                      
  uint32_t                             ending;                        
                                                                      
  if ( !external )                                                    
    return RTEMS_INVALID_ADDRESS;                                     
   5472a:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   5472c:	4e5e           	unlk %fp                                    
   5472e:	4e75           	rts                                         
RTEMS_INLINE_ROUTINE void *_Addresses_Add_offset (                    
  const void *base,                                                   
  uintptr_t   offset                                                  
)                                                                     
{                                                                     
  return (void *)((uintptr_t)base + offset);                          
   54730:	2040           	moveal %d0,%a0                              
   54732:	d2a8 0014      	addl %a0@(20),%d1                           
   54736:	206e 0010      	moveal %fp@(16),%a0                         
   5473a:	2081           	movel %d1,%a0@                              
      if ( ending > the_port->length )                                
        *external = internal;                                         
      else                                                            
        *external = _Addresses_Add_offset( the_port->external_base,   
                                           ending );                  
      _Thread_Enable_dispatch();                                      
   5473c:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
      return RTEMS_SUCCESSFUL;                                        
   54742:	4280           	clrl %d0                                    
   54744:	60da           	bras 54720 <rtems_port_internal_to_external+0x48>
	...                                                                  
                                                                      

0004242c <rtems_print_buffer>: void rtems_print_buffer( const unsigned char *buffer, int length ) {
   4242c:	4e56 ff58      	linkw %fp,#-168                             
   42430:	202e 000c      	movel %fp@(12),%d0                          
   42434:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
                                                                      
  int i, mod, max;                                                    
                                                                      
  if ( !length ) return;                                              
   42438:	4a80           	tstl %d0                                    
   4243a:	6700 00e2      	beqw 4251e <rtems_print_buffer+0xf2>        
                                                                      
  mod = length % 16;                                                  
   4243e:	2c00           	movel %d0,%d6                               
   42440:	0286 8000 000f 	andil #-2147483633,%d6                      
   42446:	6d00 01d4      	bltw 4261c <rtems_print_buffer+0x1f0>       
                                                                      
  max = length - mod;                                                 
   4244a:	9086           	subl %d6,%d0                                
                                                                      
  int i, mod, max;                                                    
                                                                      
  if ( !length ) return;                                              
                                                                      
  mod = length % 16;                                                  
   4244c:	2d46 ff80      	movel %d6,%fp@(-128)                        
                                                                      
  max = length - mod;                                                 
   42450:	2d40 ff84      	movel %d0,%fp@(-124)                        
                                                                      
  for ( i=0 ; i<max ; i+=16 )                                         
   42454:	6f00 00c4      	blew 4251a <rtems_print_buffer+0xee>        
static inline void Dump_Line(                                         
  const unsigned char *buffer,                                        
  int                  length                                         
);                                                                    
                                                                      
void rtems_print_buffer(                                              
   42458:	202e ff84      	movel %fp@(-124),%d0                        
   4245c:	72f0           	moveq #-16,%d1                              
   4245e:	5380           	subql #1,%d0                                
   42460:	45ee ff88      	lea %fp@(-120),%a2                          
   42464:	4bf9 0004 ec80 	lea 4ec80 <sprintf>,%a5                     
   4246a:	49f9 0004 f3e0 	lea 4f3e0 <strlen>,%a4                      
   42470:	2a3c 0004 3ed8 	movel #278232,%d5                           
   42476:	242e 0008      	movel %fp@(8),%d2                           
   4247a:	2042           	moveal %d2,%a0                              
   4247c:	c081           	andl %d1,%d0                                
   4247e:	41f0 0810      	lea %a0@(00000010,%d0:l),%a0                
   42482:	2808           	movel %a0,%d4                               
{                                                                     
                                                                      
  int  i;                                                             
  char line_buffer[120];                                              
                                                                      
  line_buffer[0] = '\0';                                              
   42484:	2642           	moveal %d2,%a3                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
   42486:	4283           	clrl %d3                                    
{                                                                     
                                                                      
  int  i;                                                             
  char line_buffer[120];                                              
                                                                      
  line_buffer[0] = '\0';                                              
   42488:	4200           	clrb %d0                                    
   4248a:	1d40 ff88      	moveb %d0,%fp@(-120)                        
                                                                      
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
   4248e:	4280           	clrl %d0                                    
   42490:	101b           	moveb %a3@+,%d0                             
  int  i;                                                             
  char line_buffer[120];                                              
                                                                      
  line_buffer[0] = '\0';                                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
   42492:	5283           	addql #1,%d3                                
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
   42494:	2f00           	movel %d0,%sp@-                             
   42496:	2f0a           	movel %a2,%sp@-                             
   42498:	4879 0005 cb15 	pea 5cb15 <map.6766+0x11>                   
   4249e:	2f0a           	movel %a2,%sp@-                             
   424a0:	4e95           	jsr %a5@                                    
  int  i;                                                             
  char line_buffer[120];                                              
                                                                      
  line_buffer[0] = '\0';                                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
   424a2:	4fef 0010      	lea %sp@(16),%sp                            
   424a6:	7210           	moveq #16,%d1                               
   424a8:	b283           	cmpl %d3,%d1                                
   424aa:	66e2           	bnes 4248e <rtems_print_buffer+0x62>        
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
                                                                      
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
   424ac:	2f0a           	movel %a2,%sp@-                             
   424ae:	2642           	moveal %d2,%a3                              
  for( i=0 ; i<length ; i++ )                                         
   424b0:	4283           	clrl %d3                                    
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
                                                                      
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
   424b2:	4e94           	jsr %a4@                                    
   424b4:	588f           	addql #4,%sp                                
   424b6:	307c 7c00      	moveaw #31744,%a0                           
   424ba:	3588 0800      	movew %a0,%a2@(00000000,%d0:l)              
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%c", line_buffer,                        
             isprint( buffer[ i ] ) ? buffer[ i ] : '.' );            
   424be:	4287           	clrl %d7                                    
   424c0:	1e1b           	moveb %a3@+,%d7                             
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%c", line_buffer,                        
   424c2:	722e           	moveq #46,%d1                               
             isprint( buffer[ i ] ) ? buffer[ i ] : '.' );            
   424c4:	2079 0005 e1e4 	moveal 5e1e4 <__ctype_ptr__>,%a0            
   424ca:	1030 7801      	moveb %a0@(00000001,%d7:l),%d0              
   424ce:	49c0           	extbl %d0                                   
   424d0:	0280 0000 0097 	andil #151,%d0                              
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%c", line_buffer,                        
   424d6:	6702           	beqs 424da <rtems_print_buffer+0xae>        
   424d8:	2207           	movel %d7,%d1                               
   424da:	2f01           	movel %d1,%sp@-                             
                                                                      
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
   424dc:	5283           	addql #1,%d3                                
    sprintf( line_buffer, "%s%c", line_buffer,                        
   424de:	2f0a           	movel %a2,%sp@-                             
   424e0:	4879 0005 cb1d 	pea 5cb1d <map.6766+0x19>                   
   424e6:	2f0a           	movel %a2,%sp@-                             
   424e8:	4e95           	jsr %a5@                                    
                                                                      
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
   424ea:	4fef 0010      	lea %sp@(16),%sp                            
   424ee:	7010           	moveq #16,%d0                               
   424f0:	b083           	cmpl %d3,%d0                                
   424f2:	66ca           	bnes 424be <rtems_print_buffer+0x92>        
             isprint( buffer[ i ] ) ? buffer[ i ] : '.' );            
                                                                      
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, " " );                                       
                                                                      
  strcat( line_buffer, "|\n" );                                       
   424f4:	2f0a           	movel %a2,%sp@-                             
   424f6:	0682 0000 0010 	addil #16,%d2                               
   424fc:	4e94           	jsr %a4@                                    
   424fe:	4201           	clrb %d1                                    
   42500:	41f2 0800      	lea %a2@(00000000,%d0:l),%a0                
   42504:	30bc 7c0a      	movew #31754,%a0@                           
   42508:	1141 0002      	moveb %d1,%a0@(2)                           
                                                                      
  printk( line_buffer );                                              
   4250c:	2045           	moveal %d5,%a0                              
   4250e:	2e8a           	movel %a2,%sp@                              
   42510:	4e90           	jsr %a0@                                    
                                                                      
  mod = length % 16;                                                  
                                                                      
  max = length - mod;                                                 
                                                                      
  for ( i=0 ; i<max ; i+=16 )                                         
   42512:	588f           	addql #4,%sp                                
   42514:	b882           	cmpl %d2,%d4                                
   42516:	6600 ff6c      	bnew 42484 <rtems_print_buffer+0x58>        
    Dump_Line( &buffer[ i ], 16 );                                    
                                                                      
  if ( mod )                                                          
   4251a:	4a86           	tstl %d6                                    
   4251c:	660a           	bnes 42528 <rtems_print_buffer+0xfc>        
    Dump_Line( &buffer[ max ], mod );                                 
}                                                                     
   4251e:	4cee 3cfc ff58 	moveml %fp@(-168),%d2-%d7/%a2-%a5           
   42524:	4e5e           	unlk %fp                                    
   42526:	4e75           	rts                                         
                                                                      
  for ( i=0 ; i<max ; i+=16 )                                         
    Dump_Line( &buffer[ i ], 16 );                                    
                                                                      
  if ( mod )                                                          
    Dump_Line( &buffer[ max ], mod );                                 
   42528:	266e 0008      	moveal %fp@(8),%a3                          
   4252c:	d7ee ff84      	addal %fp@(-124),%a3                        
{                                                                     
                                                                      
  int  i;                                                             
  char line_buffer[120];                                              
                                                                      
  line_buffer[0] = '\0';                                              
   42530:	4200           	clrb %d0                                    
   42532:	1d40 ff88      	moveb %d0,%fp@(-120)                        
                                                                      
  for( i=0 ; i<length ; i++ )                                         
   42536:	4a86           	tstl %d6                                    
   42538:	6f00 00ee      	blew 42628 <rtems_print_buffer+0x1fc>       
static inline void Dump_Line(                                         
  const unsigned char *buffer,                                        
  int                  length                                         
);                                                                    
                                                                      
void rtems_print_buffer(                                              
   4253c:	240b           	movel %a3,%d2                               
   4253e:	d486           	addl %d6,%d2                                
   42540:	284b           	moveal %a3,%a4                              
   42542:	45ee ff88      	lea %fp@(-120),%a2                          
   42546:	4bf9 0004 ec80 	lea 4ec80 <sprintf>,%a5                     
  char line_buffer[120];                                              
                                                                      
  line_buffer[0] = '\0';                                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
   4254c:	4280           	clrl %d0                                    
   4254e:	101c           	moveb %a4@+,%d0                             
   42550:	2f00           	movel %d0,%sp@-                             
   42552:	2f0a           	movel %a2,%sp@-                             
   42554:	4879 0005 cb15 	pea 5cb15 <map.6766+0x11>                   
   4255a:	2f0a           	movel %a2,%sp@-                             
   4255c:	4e95           	jsr %a5@                                    
  int  i;                                                             
  char line_buffer[120];                                              
                                                                      
  line_buffer[0] = '\0';                                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
   4255e:	4fef 0010      	lea %sp@(16),%sp                            
   42562:	b48c           	cmpl %a4,%d2                                
   42564:	66e6           	bnes 4254c <rtems_print_buffer+0x120>       
   42566:	2406           	movel %d6,%d2                               
   42568:	49f9 0004 f3e0 	lea 4f3e0 <strlen>,%a4                      
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
                                                                      
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
   4256e:	2f0a           	movel %a2,%sp@-                             
  line_buffer[0] = '\0';                                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
                                                                      
  for( ; i<16 ; i++ )                                                 
   42570:	5282           	addql #1,%d2                                
    strcat( line_buffer, "   " );                                     
   42572:	4e94           	jsr %a4@                                    
   42574:	588f           	addql #4,%sp                                
   42576:	223c 2020 2000 	movel #538976256,%d1                        
   4257c:	2581 0800      	movel %d1,%a2@(00000000,%d0:l)              
  line_buffer[0] = '\0';                                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
                                                                      
  for( ; i<16 ; i++ )                                                 
   42580:	700f           	moveq #15,%d0                               
   42582:	b082           	cmpl %d2,%d0                                
   42584:	6ce8           	bges 4256e <rtems_print_buffer+0x142>       
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
   42586:	2f0a           	movel %a2,%sp@-                             
   42588:	4282           	clrl %d2                                    
   4258a:	4eb9 0004 f3e0 	jsr 4f3e0 <strlen>                          
   42590:	588f           	addql #4,%sp                                
   42592:	323c 7c00      	movew #31744,%d1                            
   42596:	3581 0800      	movew %d1,%a2@(00000000,%d0:l)              
  for( i=0 ; i<length ; i++ )                                         
   4259a:	4a86           	tstl %d6                                    
   4259c:	6f3e           	bles 425dc <rtems_print_buffer+0x1b0>       
static inline void Dump_Line(                                         
  const unsigned char *buffer,                                        
  int                  length                                         
);                                                                    
                                                                      
void rtems_print_buffer(                                              
   4259e:	dc8b           	addl %a3,%d6                                
   425a0:	4bf9 0004 ec80 	lea 4ec80 <sprintf>,%a5                     
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%c", line_buffer,                        
             isprint( buffer[ i ] ) ? buffer[ i ] : '.' );            
   425a6:	4282           	clrl %d2                                    
   425a8:	141b           	moveb %a3@+,%d2                             
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%c", line_buffer,                        
   425aa:	722e           	moveq #46,%d1                               
             isprint( buffer[ i ] ) ? buffer[ i ] : '.' );            
   425ac:	2079 0005 e1e4 	moveal 5e1e4 <__ctype_ptr__>,%a0            
   425b2:	1030 2801      	moveb %a0@(00000001,%d2:l),%d0              
   425b6:	49c0           	extbl %d0                                   
   425b8:	0280 0000 0097 	andil #151,%d0                              
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%c", line_buffer,                        
   425be:	6702           	beqs 425c2 <rtems_print_buffer+0x196>       
   425c0:	2202           	movel %d2,%d1                               
   425c2:	2f01           	movel %d1,%sp@-                             
   425c4:	2f0a           	movel %a2,%sp@-                             
   425c6:	4879 0005 cb1d 	pea 5cb1d <map.6766+0x19>                   
   425cc:	2f0a           	movel %a2,%sp@-                             
   425ce:	4e95           	jsr %a5@                                    
                                                                      
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, "   " );                                     
                                                                      
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
   425d0:	4fef 0010      	lea %sp@(16),%sp                            
   425d4:	bc8b           	cmpl %a3,%d6                                
   425d6:	66ce           	bnes 425a6 <rtems_print_buffer+0x17a>       
   425d8:	242e ff80      	movel %fp@(-128),%d2                        
    sprintf( line_buffer, "%s%c", line_buffer,                        
             isprint( buffer[ i ] ) ? buffer[ i ] : '.' );            
                                                                      
  for( ; i<16 ; i++ )                                                 
    strcat( line_buffer, " " );                                       
   425dc:	2f0a           	movel %a2,%sp@-                             
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%c", line_buffer,                        
             isprint( buffer[ i ] ) ? buffer[ i ] : '.' );            
                                                                      
  for( ; i<16 ; i++ )                                                 
   425de:	5282           	addql #1,%d2                                
    strcat( line_buffer, " " );                                       
   425e0:	4e94           	jsr %a4@                                    
   425e2:	588f           	addql #4,%sp                                
   425e4:	307c 2000      	moveaw #8192,%a0                            
   425e8:	3588 0800      	movew %a0,%a2@(00000000,%d0:l)              
  strcat( line_buffer, "|" );                                         
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%c", line_buffer,                        
             isprint( buffer[ i ] ) ? buffer[ i ] : '.' );            
                                                                      
  for( ; i<16 ; i++ )                                                 
   425ec:	700f           	moveq #15,%d0                               
   425ee:	b082           	cmpl %d2,%d0                                
   425f0:	6cea           	bges 425dc <rtems_print_buffer+0x1b0>       
    strcat( line_buffer, " " );                                       
                                                                      
  strcat( line_buffer, "|\n" );                                       
   425f2:	2f0a           	movel %a2,%sp@-                             
   425f4:	4eb9 0004 f3e0 	jsr 4f3e0 <strlen>                          
   425fa:	4201           	clrb %d1                                    
   425fc:	41f2 0800      	lea %a2@(00000000,%d0:l),%a0                
   42600:	30bc 7c0a      	movew #31754,%a0@                           
   42604:	1141 0002      	moveb %d1,%a0@(2)                           
                                                                      
  printk( line_buffer );                                              
   42608:	2e8a           	movel %a2,%sp@                              
   4260a:	4eb9 0004 3ed8 	jsr 43ed8 <printk>                          
   42610:	588f           	addql #4,%sp                                
  for ( i=0 ; i<max ; i+=16 )                                         
    Dump_Line( &buffer[ i ], 16 );                                    
                                                                      
  if ( mod )                                                          
    Dump_Line( &buffer[ max ], mod );                                 
}                                                                     
   42612:	4cee 3cfc ff58 	moveml %fp@(-168),%d2-%d7/%a2-%a5           
   42618:	4e5e           	unlk %fp                                    
   4261a:	4e75           	rts                                         
                                                                      
  int i, mod, max;                                                    
                                                                      
  if ( !length ) return;                                              
                                                                      
  mod = length % 16;                                                  
   4261c:	5386           	subql #1,%d6                                
   4261e:	72f0           	moveq #-16,%d1                              
   42620:	8c81           	orl %d1,%d6                                 
   42622:	5286           	addql #1,%d6                                
   42624:	6000 fe24      	braw 4244a <rtems_print_buffer+0x1e>        
   42628:	45ee ff88      	lea %fp@(-120),%a2                          
   4262c:	49f9 0004 f3e0 	lea 4f3e0 <strlen>,%a4                      
  int  i;                                                             
  char line_buffer[120];                                              
                                                                      
  line_buffer[0] = '\0';                                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
   42632:	4282           	clrl %d2                                    
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
                                                                      
  for( ; i<16 ; i++ )                                                 
   42634:	5282           	addql #1,%d2                                
    strcat( line_buffer, "   " );                                     
   42636:	2f0a           	movel %a2,%sp@-                             
   42638:	4e94           	jsr %a4@                                    
   4263a:	588f           	addql #4,%sp                                
   4263c:	223c 2020 2000 	movel #538976256,%d1                        
   42642:	2581 0800      	movel %d1,%a2@(00000000,%d0:l)              
  line_buffer[0] = '\0';                                              
                                                                      
  for( i=0 ; i<length ; i++ )                                         
    sprintf( line_buffer, "%s%02x ", line_buffer, buffer[ i ] );      
                                                                      
  for( ; i<16 ; i++ )                                                 
   42646:	700f           	moveq #15,%d0                               
   42648:	b082           	cmpl %d2,%d0                                
   4264a:	6c00 ff22      	bgew 4256e <rtems_print_buffer+0x142>       
   4264e:	6000 ff36      	braw 42586 <rtems_print_buffer+0x15a>       <== NOT EXECUTED
	...                                                                  
                                                                      

00073a24 <rtems_rate_monotonic_period>: rtems_status_code rtems_rate_monotonic_period( rtems_id id, rtems_interval length ) {
   73a24:	4e56 fff8      	linkw %fp,#-8                               
   73a28:	2f03           	movel %d3,%sp@-                             
   73a2a:	2f02           	movel %d2,%sp@-                             
   73a2c:	486e fffc      	pea %fp@(-4)                                
   73a30:	2f2e 0008      	movel %fp@(8),%sp@-                         
   73a34:	4879 000a 01c0 	pea a01c0 <_Rate_monotonic_Information>     
   73a3a:	4eb9 0004 8c00 	jsr 48c00 <_Objects_Get>                    
  rtems_rate_monotonic_period_states   local_state;                   
  ISR_Level                            level;                         
                                                                      
  the_period = _Rate_monotonic_Get( id, &location );                  
                                                                      
  switch ( location ) {                                               
   73a40:	4fef 000c      	lea %sp@(12),%sp                            
   73a44:	4aae fffc      	tstl %fp@(-4)                               
   73a48:	6624           	bnes 73a6e <rtems_rate_monotonic_period+0x4a>
    case OBJECTS_LOCAL:                                               
      if ( !_Thread_Is_executing( the_period->owner ) ) {             
   73a4a:	2279 0009 fff2 	moveal 9fff2 <_Per_CPU_Information+0xe>,%a1 
   73a50:	2040           	moveal %d0,%a0                              
   73a52:	b3e8 0040      	cmpal %a0@(64),%a1                          
   73a56:	6726           	beqs 73a7e <rtems_rate_monotonic_period+0x5a>
        _Thread_Enable_dispatch();                                    
   73a58:	4eb9 0004 98e8 	jsr 498e8 <_Thread_Enable_dispatch>         
        return RTEMS_NOT_OWNER_OF_RESOURCE;                           
   73a5e:	7417           	moveq #23,%d2                               
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   73a60:	2002           	movel %d2,%d0                               
   73a62:	242e fff0      	movel %fp@(-16),%d2                         
   73a66:	262e fff4      	movel %fp@(-12),%d3                         
   73a6a:	4e5e           	unlk %fp                                    
   73a6c:	4e75           	rts                                         
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   73a6e:	7404           	moveq #4,%d2                                
}                                                                     
   73a70:	2002           	movel %d2,%d0                               
   73a72:	242e fff0      	movel %fp@(-16),%d2                         
   73a76:	262e fff4      	movel %fp@(-12),%d3                         
   73a7a:	4e5e           	unlk %fp                                    
   73a7c:	4e75           	rts                                         
      if ( !_Thread_Is_executing( the_period->owner ) ) {             
        _Thread_Enable_dispatch();                                    
        return RTEMS_NOT_OWNER_OF_RESOURCE;                           
      }                                                               
                                                                      
      if ( length == RTEMS_PERIOD_STATUS ) {                          
   73a7e:	4aae 000c      	tstl %fp@(12)                               
   73a82:	6700 008a      	beqw 73b0e <rtems_rate_monotonic_period+0xea>
        }                                                             
        _Thread_Enable_dispatch();                                    
        return( return_value );                                       
      }                                                               
                                                                      
      _ISR_Disable( level );                                          
   73a86:	223c 0000 0700 	movel #1792,%d1                             
   73a8c:	40c2           	movew %sr,%d2                               
   73a8e:	8282           	orl %d2,%d1                                 
   73a90:	46c1           	movew %d1,%sr                               
      if ( the_period->state == RATE_MONOTONIC_INACTIVE ) {           
   73a92:	2040           	moveal %d0,%a0                              
   73a94:	2228 0038      	movel %a0@(56),%d1                          
   73a98:	6700 00a8      	beqw 73b42 <rtems_rate_monotonic_period+0x11e>
        _Watchdog_Insert_ticks( &the_period->Timer, length );         
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
      }                                                               
                                                                      
      if ( the_period->state == RATE_MONOTONIC_ACTIVE ) {             
   73a9c:	7602           	moveq #2,%d3                                
   73a9e:	b681           	cmpl %d1,%d3                                
   73aa0:	6700 010e      	beqw 73bb0 <rtems_rate_monotonic_period+0x18c>
                                                                      
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
      }                                                               
                                                                      
      if ( the_period->state == RATE_MONOTONIC_EXPIRED ) {            
   73aa4:	7604           	moveq #4,%d3                                
   73aa6:	b681           	cmpl %d1,%d3                                
   73aa8:	66c4           	bnes 73a6e <rtems_rate_monotonic_period+0x4a><== NEVER TAKEN
        /*                                                            
         *  Update statistics from the concluding period              
         */                                                           
        _Rate_monotonic_Update_statistics( the_period );              
   73aaa:	2f00           	movel %d0,%sp@-                             
   73aac:	2d40 fff8      	movel %d0,%fp@(-8)                          
   73ab0:	4eba fe08      	jsr %pc@(738ba <_Rate_monotonic_Update_statistics>)
                                                                      
        _ISR_Enable( level );                                         
   73ab4:	46c2           	movew %d2,%sr                               
                                                                      
        the_period->state = RATE_MONOTONIC_ACTIVE;                    
   73ab6:	7202           	moveq #2,%d1                                
        the_period->next_length = length;                             
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, length );         
        _Scheduler_Release_job(the_period->owner, the_period->next_length);
        _Thread_Enable_dispatch();                                    
        return RTEMS_TIMEOUT;                                         
   73ab8:	7406           	moveq #6,%d2                                
         */                                                           
        _Rate_monotonic_Update_statistics( the_period );              
                                                                      
        _ISR_Enable( level );                                         
                                                                      
        the_period->state = RATE_MONOTONIC_ACTIVE;                    
   73aba:	202e fff8      	movel %fp@(-8),%d0                          
   73abe:	2040           	moveal %d0,%a0                              
        the_period->next_length = length;                             
   73ac0:	226e 000c      	moveal %fp@(12),%a1                         
         */                                                           
        _Rate_monotonic_Update_statistics( the_period );              
                                                                      
        _ISR_Enable( level );                                         
                                                                      
        the_period->state = RATE_MONOTONIC_ACTIVE;                    
   73ac4:	2141 0038      	movel %d1,%a0@(56)                          
        the_period->next_length = length;                             
   73ac8:	2149 003c      	movel %a1,%a0@(60)                          
  Watchdog_Control      *the_watchdog,                                
  Watchdog_Interval      units                                        
)                                                                     
{                                                                     
                                                                      
  the_watchdog->initial = units;                                      
   73acc:	2149 001c      	movel %a1,%a0@(28)                          
                                                                      
  _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog );           
   73ad0:	4868 0010      	pea %a0@(16)                                
   73ad4:	4879 0009 ff16 	pea 9ff16 <_Watchdog_Ticks_chain>           
   73ada:	4eb9 0004 a548 	jsr 4a548 <_Watchdog_Insert>                
   73ae0:	202e fff8      	movel %fp@(-8),%d0                          
   73ae4:	2040           	moveal %d0,%a0                              
   73ae6:	2f28 003c      	movel %a0@(60),%sp@-                        
   73aea:	2f28 0040      	movel %a0@(64),%sp@-                        
   73aee:	2079 0009 b1b0 	moveal 9b1b0 <_Scheduler+0x34>,%a0          
   73af4:	4e90           	jsr %a0@                                    
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, length );         
        _Scheduler_Release_job(the_period->owner, the_period->next_length);
        _Thread_Enable_dispatch();                                    
   73af6:	4eb9 0004 98e8 	jsr 498e8 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   73afc:	262e fff4      	movel %fp@(-12),%d3                         
   73b00:	2002           	movel %d2,%d0                               
        the_period->state = RATE_MONOTONIC_ACTIVE;                    
        the_period->next_length = length;                             
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, length );         
        _Scheduler_Release_job(the_period->owner, the_period->next_length);
        _Thread_Enable_dispatch();                                    
   73b02:	4fef 0014      	lea %sp@(20),%sp                            
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   73b06:	242e fff0      	movel %fp@(-16),%d2                         
   73b0a:	4e5e           	unlk %fp                                    
   73b0c:	4e75           	rts                                         
        _Thread_Enable_dispatch();                                    
        return RTEMS_NOT_OWNER_OF_RESOURCE;                           
      }                                                               
                                                                      
      if ( length == RTEMS_PERIOD_STATUS ) {                          
        switch ( the_period->state ) {                                
   73b0e:	2040           	moveal %d0,%a0                              
   73b10:	7204           	moveq #4,%d1                                
   73b12:	2028 0038      	movel %a0@(56),%d0                          
   73b16:	b280           	cmpl %d0,%d1                                
   73b18:	651e           	bcss 73b38 <rtems_rate_monotonic_period+0x114><== NEVER TAKEN
   73b1a:	41f9 0009 9958 	lea 99958 <CSWTCH.24>,%a0                   
   73b20:	2430 0c00      	movel %a0@(00000000,%d0:l:4),%d2            
          case RATE_MONOTONIC_ACTIVE:                                 
          default:              /* unreached -- only to remove warnings */
            return_value = RTEMS_SUCCESSFUL;                          
            break;                                                    
        }                                                             
        _Thread_Enable_dispatch();                                    
   73b24:	4eb9 0004 98e8 	jsr 498e8 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   73b2a:	2002           	movel %d2,%d0                               
   73b2c:	242e fff0      	movel %fp@(-16),%d2                         
   73b30:	262e fff4      	movel %fp@(-12),%d3                         
   73b34:	4e5e           	unlk %fp                                    
   73b36:	4e75           	rts                                         
        _Thread_Enable_dispatch();                                    
        return RTEMS_NOT_OWNER_OF_RESOURCE;                           
      }                                                               
                                                                      
      if ( length == RTEMS_PERIOD_STATUS ) {                          
        switch ( the_period->state ) {                                
   73b38:	4282           	clrl %d2                                    <== NOT EXECUTED
          case RATE_MONOTONIC_ACTIVE:                                 
          default:              /* unreached -- only to remove warnings */
            return_value = RTEMS_SUCCESSFUL;                          
            break;                                                    
        }                                                             
        _Thread_Enable_dispatch();                                    
   73b3a:	4eb9 0004 98e8 	jsr 498e8 <_Thread_Enable_dispatch>         <== NOT EXECUTED
   73b40:	60e8           	bras 73b2a <rtems_rate_monotonic_period+0x106><== NOT EXECUTED
        return( return_value );                                       
      }                                                               
                                                                      
      _ISR_Disable( level );                                          
      if ( the_period->state == RATE_MONOTONIC_INACTIVE ) {           
        _ISR_Enable( level );                                         
   73b42:	46c2           	movew %d2,%sr                               
                                                                      
        the_period->next_length = length;                             
   73b44:	226e 000c      	moveal %fp@(12),%a1                         
          NULL                                                        
        );                                                            
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, length );         
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
   73b48:	4282           	clrl %d2                                    
                                                                      
      _ISR_Disable( level );                                          
      if ( the_period->state == RATE_MONOTONIC_INACTIVE ) {           
        _ISR_Enable( level );                                         
                                                                      
        the_period->next_length = length;                             
   73b4a:	2149 003c      	movel %a1,%a0@(60)                          
                                                                      
        /*                                                            
         *  Baseline statistics information for the beginning of a period.
         */                                                           
        _Rate_monotonic_Initiate_statistics( the_period );            
   73b4e:	2f00           	movel %d0,%sp@-                             
   73b50:	2d40 fff8      	movel %d0,%fp@(-8)                          
   73b54:	4eb9 0007 3984 	jsr 73984 <_Rate_monotonic_Initiate_statistics>
  Objects_Id                      id,                                 
  void                           *user_data                           
)                                                                     
{                                                                     
  the_watchdog->state     = WATCHDOG_INACTIVE;                        
  the_watchdog->routine   = routine;                                  
   73b5a:	202e fff8      	movel %fp@(-8),%d0                          
   73b5e:	43f9 0007 3c48 	lea 73c48 <_Rate_monotonic_Timeout>,%a1     
   73b64:	2040           	moveal %d0,%a0                              
                                                                      
        the_period->state = RATE_MONOTONIC_ACTIVE;                    
   73b66:	7202           	moveq #2,%d1                                
   73b68:	2149 002c      	movel %a1,%a0@(44)                          
  the_watchdog->id        = id;                                       
   73b6c:	262e 0008      	movel %fp@(8),%d3                           
  Watchdog_Control      *the_watchdog,                                
  Watchdog_Interval      units                                        
)                                                                     
{                                                                     
                                                                      
  the_watchdog->initial = units;                                      
   73b70:	226e 000c      	moveal %fp@(12),%a1                         
  void                           *user_data                           
)                                                                     
{                                                                     
  the_watchdog->state     = WATCHDOG_INACTIVE;                        
  the_watchdog->routine   = routine;                                  
  the_watchdog->id        = id;                                       
   73b74:	2143 0030      	movel %d3,%a0@(48)                          
   73b78:	2141 0038      	movel %d1,%a0@(56)                          
  Watchdog_Service_routine_entry  routine,                            
  Objects_Id                      id,                                 
  void                           *user_data                           
)                                                                     
{                                                                     
  the_watchdog->state     = WATCHDOG_INACTIVE;                        
   73b7c:	42a8 0018      	clrl %a0@(24)                               
  the_watchdog->routine   = routine;                                  
  the_watchdog->id        = id;                                       
  the_watchdog->user_data = user_data;                                
   73b80:	42a8 0034      	clrl %a0@(52)                               
  Watchdog_Control      *the_watchdog,                                
  Watchdog_Interval      units                                        
)                                                                     
{                                                                     
                                                                      
  the_watchdog->initial = units;                                      
   73b84:	2149 001c      	movel %a1,%a0@(28)                          
                                                                      
  _Watchdog_Insert( &_Watchdog_Ticks_chain, the_watchdog );           
   73b88:	4868 0010      	pea %a0@(16)                                
   73b8c:	4879 0009 ff16 	pea 9ff16 <_Watchdog_Ticks_chain>           
   73b92:	4eb9 0004 a548 	jsr 4a548 <_Watchdog_Insert>                
          id,                                                         
          NULL                                                        
        );                                                            
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, length );         
        _Thread_Enable_dispatch();                                    
   73b98:	4eb9 0004 98e8 	jsr 498e8 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   73b9e:	262e fff4      	movel %fp@(-12),%d3                         
   73ba2:	2002           	movel %d2,%d0                               
          id,                                                         
          NULL                                                        
        );                                                            
                                                                      
        _Watchdog_Insert_ticks( &the_period->Timer, length );         
        _Thread_Enable_dispatch();                                    
   73ba4:	4fef 000c      	lea %sp@(12),%sp                            
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   73ba8:	242e fff0      	movel %fp@(-16),%d2                         
   73bac:	4e5e           	unlk %fp                                    
   73bae:	4e75           	rts                                         
                                                                      
      if ( the_period->state == RATE_MONOTONIC_ACTIVE ) {             
        /*                                                            
         *  Update statistics from the concluding period.             
         */                                                           
        _Rate_monotonic_Update_statistics( the_period );              
   73bb0:	2f00           	movel %d0,%sp@-                             
   73bb2:	2d40 fff8      	movel %d0,%fp@(-8)                          
   73bb6:	4eba fd02      	jsr %pc@(738ba <_Rate_monotonic_Update_statistics>)
        /*                                                            
         *  This tells the _Rate_monotonic_Timeout that this task is  
         *  in the process of blocking on the period and that we      
         *  may be changing the length of the next period.            
         */                                                           
        the_period->state = RATE_MONOTONIC_OWNER_IS_BLOCKING;         
   73bba:	202e fff8      	movel %fp@(-8),%d0                          
   73bbe:	7201           	moveq #1,%d1                                
   73bc0:	2040           	moveal %d0,%a0                              
        the_period->next_length = length;                             
   73bc2:	226e 000c      	moveal %fp@(12),%a1                         
        /*                                                            
         *  This tells the _Rate_monotonic_Timeout that this task is  
         *  in the process of blocking on the period and that we      
         *  may be changing the length of the next period.            
         */                                                           
        the_period->state = RATE_MONOTONIC_OWNER_IS_BLOCKING;         
   73bc6:	2141 0038      	movel %d1,%a0@(56)                          
        the_period->next_length = length;                             
   73bca:	2149 003c      	movel %a1,%a0@(60)                          
                                                                      
        _ISR_Enable( level );                                         
   73bce:	46c2           	movew %d2,%sr                               
                                                                      
        _Thread_Executing->Wait.id = the_period->Object.id;           
   73bd0:	2079 0009 fff2 	moveal 9fff2 <_Per_CPU_Information+0xe>,%a0 
   73bd6:	2240           	moveal %d0,%a1                              
   73bd8:	5089           	addql #8,%a1                                
   73bda:	2151 0020      	movel %a1@,%a0@(32)                         
        _Thread_Set_state( _Thread_Executing, STATES_WAITING_FOR_PERIOD );
   73bde:	4878 4000      	pea 4000 <D_MAX_EXP+0x3801>                 
   73be2:	2d40 fff8      	movel %d0,%fp@(-8)                          
   73be6:	2f08           	movel %a0,%sp@-                             
   73be8:	4eb9 0004 a1e4 	jsr 4a1e4 <_Thread_Set_state>               
                                                                      
        /*                                                            
         *  Did the watchdog timer expire while we were actually blocking
         *  on it?                                                    
         */                                                           
        _ISR_Disable( level );                                        
   73bee:	223c 0000 0700 	movel #1792,%d1                             
   73bf4:	40c2           	movew %sr,%d2                               
   73bf6:	8282           	orl %d2,%d1                                 
   73bf8:	46c1           	movew %d1,%sr                               
          local_state = the_period->state;                            
   73bfa:	202e fff8      	movel %fp@(-8),%d0                          
   73bfe:	2040           	moveal %d0,%a0                              
   73c00:	2228 0038      	movel %a0@(56),%d1                          
          the_period->state = RATE_MONOTONIC_ACTIVE;                  
   73c04:	2143 0038      	movel %d3,%a0@(56)                          
        _ISR_Enable( level );                                         
   73c08:	46c2           	movew %d2,%sr                               
                                                                      
        /*                                                            
         *  If it did, then we want to unblock ourself and continue as
         *  if nothing happen.  The period was reset in the timeout routine.
         */                                                           
        if ( local_state == RATE_MONOTONIC_EXPIRED_WHILE_BLOCKING )   
   73c0a:	7003           	moveq #3,%d0                                
   73c0c:	4fef 000c      	lea %sp@(12),%sp                            
   73c10:	b081           	cmpl %d1,%d0                                
   73c12:	6716           	beqs 73c2a <rtems_rate_monotonic_period+0x206>
          _Thread_Clear_state( _Thread_Executing, STATES_WAITING_FOR_PERIOD );
                                                                      
        _Thread_Enable_dispatch();                                    
   73c14:	4eb9 0004 98e8 	jsr 498e8 <_Thread_Enable_dispatch>         
        return RTEMS_SUCCESSFUL;                                      
   73c1a:	4282           	clrl %d2                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   73c1c:	2002           	movel %d2,%d0                               
   73c1e:	242e fff0      	movel %fp@(-16),%d2                         
   73c22:	262e fff4      	movel %fp@(-12),%d3                         
   73c26:	4e5e           	unlk %fp                                    
   73c28:	4e75           	rts                                         
        /*                                                            
         *  If it did, then we want to unblock ourself and continue as
         *  if nothing happen.  The period was reset in the timeout routine.
         */                                                           
        if ( local_state == RATE_MONOTONIC_EXPIRED_WHILE_BLOCKING )   
          _Thread_Clear_state( _Thread_Executing, STATES_WAITING_FOR_PERIOD );
   73c2a:	4878 4000      	pea 4000 <D_MAX_EXP+0x3801>                 
                                                                      
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
   73c2e:	4282           	clrl %d2                                    
        /*                                                            
         *  If it did, then we want to unblock ourself and continue as
         *  if nothing happen.  The period was reset in the timeout routine.
         */                                                           
        if ( local_state == RATE_MONOTONIC_EXPIRED_WHILE_BLOCKING )   
          _Thread_Clear_state( _Thread_Executing, STATES_WAITING_FOR_PERIOD );
   73c30:	2f39 0009 fff2 	movel 9fff2 <_Per_CPU_Information+0xe>,%sp@-
   73c36:	4eb9 0004 94e8 	jsr 494e8 <_Thread_Clear_state>             
   73c3c:	508f           	addql #8,%sp                                
                                                                      
        _Thread_Enable_dispatch();                                    
   73c3e:	4eb9 0004 98e8 	jsr 498e8 <_Thread_Enable_dispatch>         
   73c44:	60d6           	bras 73c1c <rtems_rate_monotonic_period+0x1f8>
	...                                                                  
                                                                      

000664e8 <rtems_rate_monotonic_report_statistics_with_plugin>: void rtems_rate_monotonic_report_statistics_with_plugin( void *context, rtems_printk_plugin_t print ) {
   664e8:	4e56 ff78      	linkw %fp,#-136                             
   664ec:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   664f0:	242e 0008      	movel %fp@(8),%d2                           
   664f4:	246e 000c      	moveal %fp@(12),%a2                         
  rtems_id                               id;                          
  rtems_rate_monotonic_period_statistics the_stats;                   
  rtems_rate_monotonic_period_status     the_status;                  
  char                                   name[5];                     
                                                                      
  if ( !print )                                                       
   664f8:	4a8a           	tstl %a2                                    
   664fa:	6700 0082      	beqw 6657e <rtems_rate_monotonic_report_statistics_with_plugin+0x96>
    return;                                                           
                                                                      
  (*print)( context, "Period information by period\n" );              
   664fe:	4879 0009 7050 	pea 97050 <_TOD_Days_per_month+0x68>        
   66504:	2f02           	movel %d2,%sp@-                             
   66506:	4e92           	jsr %a2@                                    
  #ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__                          
    (*print)( context, "--- CPU times are in seconds ---\n" );        
   66508:	4879 0009 706e 	pea 9706e <_TOD_Days_per_month+0x86>        
   6650e:	2f02           	movel %d2,%sp@-                             
   66510:	4e92           	jsr %a2@                                    
    (*print)( context, "--- Wall times are in seconds ---\n" );       
   66512:	4879 0009 7090 	pea 97090 <_TOD_Days_per_month+0xa8>        
   66518:	2f02           	movel %d2,%sp@-                             
   6651a:	4e92           	jsr %a2@                                    
  Be sure to test the various cases.                                  
  (*print)( context,"\                                                
1234567890123456789012345678901234567890123456789012345678901234567890123456789\
\n");                                                                 
*/                                                                    
  (*print)( context, "   ID     OWNER COUNT MISSED     "              
   6651c:	4879 0009 70b3 	pea 970b3 <_TOD_Days_per_month+0xcb>        
   66522:	2f02           	movel %d2,%sp@-                             
   66524:	4e92           	jsr %a2@                                    
       #ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__                     
          "          "                                                
       #endif                                                         
          "   WALL TIME\n"                                            
  );                                                                  
  (*print)( context, "                               "                
   66526:	4fef 001c      	lea %sp@(28),%sp                            
   6652a:	2ebc 0009 70fe 	movel #618750,%sp@                          
   66530:	2f02           	movel %d2,%sp@-                             
   66532:	4e92           	jsr %a2@                                    
                                                                      
  /*                                                                  
   * Cycle through all possible ids and try to report on each one.  If it
   * is a period that is inactive, we just get an error back.  No big deal.
   */                                                                 
  for ( id=_Rate_monotonic_Information.minimum_id ;                   
   66534:	2e39 000a 01c6 	movel a01c6 <_Rate_monotonic_Information+0x6>,%d7
   6653a:	508f           	addql #8,%sp                                
   6653c:	beb9 000a 01ca 	cmpl a01ca <_Rate_monotonic_Information+0xa>,%d7
   66542:	623a           	bhis 6657e <rtems_rate_monotonic_report_statistics_with_plugin+0x96><== NEVER TAKEN
   66544:	260e           	movel %fp,%d3                               
    #if defined(RTEMS_DEBUG)                                          
      status = rtems_rate_monotonic_get_status( id, &the_status );    
      if ( status != RTEMS_SUCCESSFUL )                               
        continue;                                                     
    #else                                                             
      (void) rtems_rate_monotonic_get_status( id, &the_status );      
   66546:	2a0e           	movel %fp,%d5                               
    #endif                                                            
                                                                      
    rtems_object_get_name( the_status.owner, sizeof(name), name );    
   66548:	280e           	movel %fp,%d4                               
   6654a:	0683 ffff ffc8 	addil #-56,%d3                              
   66550:	47f9 0007 3538 	lea 73538 <rtems_rate_monotonic_get_statistics>,%a3
    #if defined(RTEMS_DEBUG)                                          
      status = rtems_rate_monotonic_get_status( id, &the_status );    
      if ( status != RTEMS_SUCCESSFUL )                               
        continue;                                                     
    #else                                                             
      (void) rtems_rate_monotonic_get_status( id, &the_status );      
   66556:	0685 ffff ffb0 	addil #-80,%d5                              
   6655c:	4bf9 0007 36e4 	lea 736e4 <rtems_rate_monotonic_get_status>,%a5
    #endif                                                            
                                                                      
    rtems_object_get_name( the_status.owner, sizeof(name), name );    
   66562:	0684 ffff ffa3 	addil #-93,%d4                              
   * is a period that is inactive, we just get an error back.  No big deal.
   */                                                                 
  for ( id=_Rate_monotonic_Information.minimum_id ;                   
        id <= _Rate_monotonic_Information.maximum_id ;                
        id++ ) {                                                      
    status = rtems_rate_monotonic_get_statistics( id, &the_stats );   
   66568:	2f03           	movel %d3,%sp@-                             
   6656a:	2f07           	movel %d7,%sp@-                             
   6656c:	4e93           	jsr %a3@                                    
    if ( status != RTEMS_SUCCESSFUL )                                 
   6656e:	508f           	addql #8,%sp                                
   66570:	4a80           	tstl %d0                                    
   66572:	6714           	beqs 66588 <rtems_rate_monotonic_report_statistics_with_plugin+0xa0>
   * Cycle through all possible ids and try to report on each one.  If it
   * is a period that is inactive, we just get an error back.  No big deal.
   */                                                                 
  for ( id=_Rate_monotonic_Information.minimum_id ;                   
        id <= _Rate_monotonic_Information.maximum_id ;                
        id++ ) {                                                      
   66574:	5287           	addql #1,%d7                                
                                                                      
  /*                                                                  
   * Cycle through all possible ids and try to report on each one.  If it
   * is a period that is inactive, we just get an error back.  No big deal.
   */                                                                 
  for ( id=_Rate_monotonic_Information.minimum_id ;                   
   66576:	beb9 000a 01ca 	cmpl a01ca <_Rate_monotonic_Information+0xa>,%d7
   6657c:	63ea           	blss 66568 <rtems_rate_monotonic_report_statistics_with_plugin+0x80>
        the_stats.min_wall_time, the_stats.max_wall_time, ival_wall, fval_wall
      );                                                              
    #endif                                                            
    }                                                                 
  }                                                                   
}                                                                     
   6657e:	4cee 3cfc ff78 	moveml %fp@(-136),%d2-%d7/%a2-%a5           
   66584:	4e5e           	unlk %fp                                    
   66586:	4e75           	rts                                         
    #if defined(RTEMS_DEBUG)                                          
      status = rtems_rate_monotonic_get_status( id, &the_status );    
      if ( status != RTEMS_SUCCESSFUL )                               
        continue;                                                     
    #else                                                             
      (void) rtems_rate_monotonic_get_status( id, &the_status );      
   66588:	2f05           	movel %d5,%sp@-                             
      struct timespec  cpu_average;                                   
      struct timespec *min_cpu = &the_stats.min_cpu_time;             
      struct timespec *max_cpu = &the_stats.max_cpu_time;             
      struct timespec *total_cpu = &the_stats.total_cpu_time;         
                                                                      
      _Timespec_Divide_by_integer( total_cpu, the_stats.count, &cpu_average );
   6658a:	49f9 0006 7160 	lea 67160 <_Timespec_Divide_by_integer>,%a4 
    #if defined(RTEMS_DEBUG)                                          
      status = rtems_rate_monotonic_get_status( id, &the_status );    
      if ( status != RTEMS_SUCCESSFUL )                               
        continue;                                                     
    #else                                                             
      (void) rtems_rate_monotonic_get_status( id, &the_status );      
   66590:	2f07           	movel %d7,%sp@-                             
   66592:	4e95           	jsr %a5@                                    
    #endif                                                            
                                                                      
    rtems_object_get_name( the_status.owner, sizeof(name), name );    
   66594:	2f04           	movel %d4,%sp@-                             
   66596:	4878 0005      	pea 5 <COMPARE>                             
   6659a:	2f2e ffb0      	movel %fp@(-80),%sp@-                       
   6659e:	4eb9 0004 e620 	jsr 4e620 <rtems_object_get_name>           
                                                                      
    /*                                                                
     *  Print part of report line that is not dependent on granularity
     */                                                               
    (*print)( context,                                                
   665a4:	2f2e ffcc      	movel %fp@(-52),%sp@-                       
   665a8:	2f2e ffc8      	movel %fp@(-56),%sp@-                       
   665ac:	2f04           	movel %d4,%sp@-                             
   665ae:	2f07           	movel %d7,%sp@-                             
   665b0:	4879 0009 714a 	pea 9714a <_TOD_Days_per_month+0x162>       
   665b6:	2f02           	movel %d2,%sp@-                             
   665b8:	4e92           	jsr %a2@                                    
    );                                                                
                                                                      
    /*                                                                
     *  If the count is zero, don't print statistics                  
     */                                                               
    if (the_stats.count == 0) {                                       
   665ba:	202e ffc8      	movel %fp@(-56),%d0                         
   665be:	4fef 002c      	lea %sp@(44),%sp                            
   665c2:	6618           	bnes 665dc <rtems_rate_monotonic_report_statistics_with_plugin+0xf4>
      (*print)( context, "\n" );                                      
   665c4:	4879 0009 20cb 	pea 920cb <_CPU_m68k_BFFFO_table+0x382>     
   * Cycle through all possible ids and try to report on each one.  If it
   * is a period that is inactive, we just get an error back.  No big deal.
   */                                                                 
  for ( id=_Rate_monotonic_Information.minimum_id ;                   
        id <= _Rate_monotonic_Information.maximum_id ;                
        id++ ) {                                                      
   665ca:	5287           	addql #1,%d7                                
                                                                      
    /*                                                                
     *  If the count is zero, don't print statistics                  
     */                                                               
    if (the_stats.count == 0) {                                       
      (*print)( context, "\n" );                                      
   665cc:	2f02           	movel %d2,%sp@-                             
   665ce:	4e92           	jsr %a2@                                    
      continue;                                                       
   665d0:	508f           	addql #8,%sp                                
                                                                      
  /*                                                                  
   * Cycle through all possible ids and try to report on each one.  If it
   * is a period that is inactive, we just get an error back.  No big deal.
   */                                                                 
  for ( id=_Rate_monotonic_Information.minimum_id ;                   
   665d2:	beb9 000a 01ca 	cmpl a01ca <_Rate_monotonic_Information+0xa>,%d7
   665d8:	638e           	blss 66568 <rtems_rate_monotonic_report_statistics_with_plugin+0x80><== ALWAYS TAKEN
   665da:	60a2           	bras 6657e <rtems_rate_monotonic_report_statistics_with_plugin+0x96><== NOT EXECUTED
      struct timespec  cpu_average;                                   
      struct timespec *min_cpu = &the_stats.min_cpu_time;             
      struct timespec *max_cpu = &the_stats.max_cpu_time;             
      struct timespec *total_cpu = &the_stats.total_cpu_time;         
                                                                      
      _Timespec_Divide_by_integer( total_cpu, the_stats.count, &cpu_average );
   665dc:	486e ffa8      	pea %fp@(-88)                               
   * Cycle through all possible ids and try to report on each one.  If it
   * is a period that is inactive, we just get an error back.  No big deal.
   */                                                                 
  for ( id=_Rate_monotonic_Information.minimum_id ;                   
        id <= _Rate_monotonic_Information.maximum_id ;                
        id++ ) {                                                      
   665e0:	5287           	addql #1,%d7                                
      struct timespec  cpu_average;                                   
      struct timespec *min_cpu = &the_stats.min_cpu_time;             
      struct timespec *max_cpu = &the_stats.max_cpu_time;             
      struct timespec *total_cpu = &the_stats.total_cpu_time;         
                                                                      
      _Timespec_Divide_by_integer( total_cpu, the_stats.count, &cpu_average );
   665e2:	2f00           	movel %d0,%sp@-                             
   665e4:	486e ffe0      	pea %fp@(-32)                               
   665e8:	4e94           	jsr %a4@                                    
      (*print)( context,                                              
   665ea:	202e ffac      	movel %fp@(-84),%d0                         
   665ee:	223c 0000 03e8 	movel #1000,%d1                             
   665f4:	4c41 0800      	remsl %d1,%d0,%d0                           
   665f8:	2c2e ffdc      	movel %fp@(-36),%d6                         
   665fc:	2f00           	movel %d0,%sp@-                             
   665fe:	2001           	movel %d1,%d0                               
   66600:	2f2e ffa8      	movel %fp@(-88),%sp@-                       
   66604:	4c40 6806      	remsl %d0,%d6,%d6                           
   66608:	202e ffd4      	movel %fp@(-44),%d0                         
   6660c:	2246           	moveal %d6,%a1                              
   6660e:	223c 0000 03e8 	movel #1000,%d1                             
   66614:	2f09           	movel %a1,%sp@-                             
   66616:	2f2e ffd8      	movel %fp@(-40),%sp@-                       
   6661a:	4c41 0800      	remsl %d1,%d0,%d0                           
      struct timespec *min_wall = &the_stats.min_wall_time;           
      struct timespec *max_wall = &the_stats.max_wall_time;           
      struct timespec *total_wall = &the_stats.total_wall_time;       
                                                                      
      _Timespec_Divide_by_integer(total_wall, the_stats.count, &wall_average);
      (*print)( context,                                              
   6661e:	2c3c 0000 03e8 	movel #1000,%d6                             
      struct timespec *min_cpu = &the_stats.min_cpu_time;             
      struct timespec *max_cpu = &the_stats.max_cpu_time;             
      struct timespec *total_cpu = &the_stats.total_cpu_time;         
                                                                      
      _Timespec_Divide_by_integer( total_cpu, the_stats.count, &cpu_average );
      (*print)( context,                                              
   66624:	2f00           	movel %d0,%sp@-                             
   66626:	2f2e ffd0      	movel %fp@(-48),%sp@-                       
   6662a:	4879 0009 7161 	pea 97161 <_TOD_Days_per_month+0x179>       
   66630:	2f02           	movel %d2,%sp@-                             
   66632:	4e92           	jsr %a2@                                    
      struct timespec  wall_average;                                  
      struct timespec *min_wall = &the_stats.min_wall_time;           
      struct timespec *max_wall = &the_stats.max_wall_time;           
      struct timespec *total_wall = &the_stats.total_wall_time;       
                                                                      
      _Timespec_Divide_by_integer(total_wall, the_stats.count, &wall_average);
   66634:	4fef 002c      	lea %sp@(44),%sp                            
   66638:	486e ffa8      	pea %fp@(-88)                               
   6663c:	2f2e ffc8      	movel %fp@(-56),%sp@-                       
   66640:	486e fff8      	pea %fp@(-8)                                
   66644:	4e94           	jsr %a4@                                    
      (*print)( context,                                              
   66646:	202e ffac      	movel %fp@(-84),%d0                         
   6664a:	4c46 0800      	remsl %d6,%d0,%d0                           
   6664e:	222e fff4      	movel %fp@(-12),%d1                         
   66652:	2f00           	movel %d0,%sp@-                             
   66654:	2f2e ffa8      	movel %fp@(-88),%sp@-                       
   66658:	4c46 1801      	remsl %d6,%d1,%d1                           
   6665c:	202e ffec      	movel %fp@(-20),%d0                         
   66660:	2241           	moveal %d1,%a1                              
   66662:	2f09           	movel %a1,%sp@-                             
   66664:	2f2e fff0      	movel %fp@(-16),%sp@-                       
   66668:	4c46 0800      	remsl %d6,%d0,%d0                           
   6666c:	2f00           	movel %d0,%sp@-                             
   6666e:	2f2e ffe8      	movel %fp@(-24),%sp@-                       
   66672:	4879 0009 7180 	pea 97180 <_TOD_Days_per_month+0x198>       
   66678:	2f02           	movel %d2,%sp@-                             
   6667a:	4e92           	jsr %a2@                                    
   6667c:	4fef 002c      	lea %sp@(44),%sp                            
                                                                      
  /*                                                                  
   * Cycle through all possible ids and try to report on each one.  If it
   * is a period that is inactive, we just get an error back.  No big deal.
   */                                                                 
  for ( id=_Rate_monotonic_Information.minimum_id ;                   
   66680:	beb9 000a 01ca 	cmpl a01ca <_Rate_monotonic_Information+0xa>,%d7
   66686:	6300 fee0      	blsw 66568 <rtems_rate_monotonic_report_statistics_with_plugin+0x80>
   6668a:	6000 fef2      	braw 6657e <rtems_rate_monotonic_report_statistics_with_plugin+0x96><== NOT EXECUTED
                                                                      

000666a8 <rtems_rate_monotonic_reset_all_statistics>: /* * rtems_rate_monotonic_reset_all_statistics */ void rtems_rate_monotonic_reset_all_statistics( void ) {
   666a8:	4e56 0000      	linkw %fp,#0                                
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   666ac:	2039 0009 fe7a 	movel 9fe7a <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   666b2:	5280           	addql #1,%d0                                
   666b4:	2f0a           	movel %a2,%sp@-                             
    _Thread_Dispatch_disable_level = level;                           
   666b6:	23c0 0009 fe7a 	movel %d0,9fe7a <_Thread_Dispatch_disable_level>
   666bc:	2f02           	movel %d2,%sp@-                             
                                                                      
    /*                                                                
     * Cycle through all possible ids and try to reset each one.  If it
     * is a period that is inactive, we just get an error back.  No big deal.
     */                                                               
    for ( id=_Rate_monotonic_Information.minimum_id ;                 
   666be:	2439 000a 01c6 	movel a01c6 <_Rate_monotonic_Information+0x6>,%d2
   666c4:	45f9 0006 66f4 	lea 666f4 <rtems_rate_monotonic_reset_statistics>,%a2
   666ca:	b4b9 000a 01ca 	cmpl a01ca <_Rate_monotonic_Information+0xa>,%d2
   666d0:	6210           	bhis 666e2 <rtems_rate_monotonic_reset_all_statistics+0x3a><== NEVER TAKEN
          id <= _Rate_monotonic_Information.maximum_id ;              
          id++ ) {                                                    
      (void) rtems_rate_monotonic_reset_statistics( id );             
   666d2:	2f02           	movel %d2,%sp@-                             
     * Cycle through all possible ids and try to reset each one.  If it
     * is a period that is inactive, we just get an error back.  No big deal.
     */                                                               
    for ( id=_Rate_monotonic_Information.minimum_id ;                 
          id <= _Rate_monotonic_Information.maximum_id ;              
          id++ ) {                                                    
   666d4:	5282           	addql #1,%d2                                
      (void) rtems_rate_monotonic_reset_statistics( id );             
   666d6:	4e92           	jsr %a2@                                    
                                                                      
    /*                                                                
     * Cycle through all possible ids and try to reset each one.  If it
     * is a period that is inactive, we just get an error back.  No big deal.
     */                                                               
    for ( id=_Rate_monotonic_Information.minimum_id ;                 
   666d8:	588f           	addql #4,%sp                                
   666da:	b4b9 000a 01ca 	cmpl a01ca <_Rate_monotonic_Information+0xa>,%d2
   666e0:	63f0           	blss 666d2 <rtems_rate_monotonic_reset_all_statistics+0x2a>
                                                                      
  /*                                                                  
   *  Done so exit thread dispatching disabled critical section.      
   */                                                                 
  _Thread_Enable_dispatch();                                          
}                                                                     
   666e2:	242e fff8      	movel %fp@(-8),%d2                          
   666e6:	246e fffc      	moveal %fp@(-4),%a2                         
   666ea:	4e5e           	unlk %fp                                    
    }                                                                 
                                                                      
  /*                                                                  
   *  Done so exit thread dispatching disabled critical section.      
   */                                                                 
  _Thread_Enable_dispatch();                                          
   666ec:	4ef9 0004 98e8 	jmp 498e8 <_Thread_Enable_dispatch>         
	...                                                                  
                                                                      

000486de <rtems_rbheap_allocate>: return big_enough; } void *rtems_rbheap_allocate(rtems_rbheap_control *control, size_t size) {
   486de:	4e56 ffec      	linkw %fp,#-20                              
   486e2:	202e 000c      	movel %fp@(12),%d0                          
   486e6:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 
   486ea:	266e 0008      	moveal %fp@(8),%a3                          
                                                                      
#include <stdlib.h>                                                   
                                                                      
static uintptr_t align_up(uintptr_t alignment, uintptr_t value)       
{                                                                     
  uintptr_t excess = value % alignment;                               
   486ee:	2400           	movel %d0,%d2                               
void *rtems_rbheap_allocate(rtems_rbheap_control *control, size_t size)
{                                                                     
  void *ptr = NULL;                                                   
  rtems_chain_control *free_chain = &control->free_chunk_chain;       
  rtems_rbtree_control *chunk_tree = &control->chunk_tree;            
  uintptr_t alignment = control->alignment;                           
   486f0:	262b 002e      	movel %a3@(46),%d3                          
                                                                      
#include <stdlib.h>                                                   
                                                                      
static uintptr_t align_up(uintptr_t alignment, uintptr_t value)       
{                                                                     
  uintptr_t excess = value % alignment;                               
   486f4:	4c43 2001      	remul %d3,%d1,%d2                           
                                                                      
  if (excess > 0) {                                                   
   486f8:	4a81           	tstl %d1                                    
   486fa:	664a           	bnes 48746 <rtems_rbheap_allocate+0x68>     <== NEVER TAKEN
  rtems_chain_control *free_chain = &control->free_chunk_chain;       
  rtems_rbtree_control *chunk_tree = &control->chunk_tree;            
  uintptr_t alignment = control->alignment;                           
  uintptr_t aligned_size = align_up(alignment, size);                 
                                                                      
  if (size > 0 && size <= aligned_size) {                             
   486fc:	2600           	movel %d0,%d3                               
   486fe:	6716           	beqs 48716 <rtems_rbheap_allocate+0x38>     
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   48700:	204b           	moveal %a3,%a0                              
   48702:	2458           	moveal %a0@+,%a2                            
{                                                                     
  rtems_chain_node *current = rtems_chain_first(free_chain);          
  const rtems_chain_node *tail = rtems_chain_tail(free_chain);        
  rtems_rbheap_chunk *big_enough = NULL;                              
                                                                      
  while (current != tail && big_enough == NULL) {                     
   48704:	b1ca           	cmpal %a2,%a0                               
   48706:	670e           	beqs 48716 <rtems_rbheap_allocate+0x38>     
    rtems_rbheap_chunk *free_chunk = (rtems_rbheap_chunk *) current;  
                                                                      
    if (free_chunk->size >= size) {                                   
   48708:	242a 001c      	movel %a2@(28),%d2                          
   4870c:	b682           	cmpl %d2,%d3                                
   4870e:	6312           	blss 48722 <rtems_rbheap_allocate+0x44>     
  rtems_rbheap_chunk *chunk = malloc(sizeof(*chunk));                 
                                                                      
  if (chunk != NULL) {                                                
    rtems_rbheap_add_to_spare_descriptor_chain(control, chunk);       
  }                                                                   
}                                                                     
   48710:	2452           	moveal %a2@,%a2                             
{                                                                     
  rtems_chain_node *current = rtems_chain_first(free_chain);          
  const rtems_chain_node *tail = rtems_chain_tail(free_chain);        
  rtems_rbheap_chunk *big_enough = NULL;                              
                                                                      
  while (current != tail && big_enough == NULL) {                     
   48712:	b5c8           	cmpal %a0,%a2                               
   48714:	66f2           	bnes 48708 <rtems_rbheap_allocate+0x2a>     <== NEVER TAKEN
  return big_enough;                                                  
}                                                                     
                                                                      
void *rtems_rbheap_allocate(rtems_rbheap_control *control, size_t size)
{                                                                     
  void *ptr = NULL;                                                   
   48716:	4280           	clrl %d0                                    
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return ptr;                                                         
}                                                                     
   48718:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   4871e:	4e5e           	unlk %fp                                    
   48720:	4e75           	rts                                         
    rtems_rbheap_chunk *free_chunk = search_free_chunk(free_chain, aligned_size);
                                                                      
    if (free_chunk != NULL) {                                         
      uintptr_t free_size = free_chunk->size;                         
                                                                      
      if (free_size > aligned_size) {                                 
   48722:	b483           	cmpl %d3,%d2                                
   48724:	6236           	bhis 4875c <rtems_rbheap_allocate+0x7e>     
)                                                                     
{                                                                     
  Chain_Node *next;                                                   
  Chain_Node *previous;                                               
                                                                      
  next           = the_node->next;                                    
   48726:	2252           	moveal %a2@,%a1                             
  previous       = the_node->previous;                                
   48728:	206a 0004      	moveal %a2@(4),%a0                          
          ptr = (void *) new_chunk->begin;                            
        }                                                             
      } else {                                                        
        rtems_chain_extract_unprotected(&free_chunk->chain_node);     
        rtems_chain_set_off_chain(&free_chunk->chain_node);           
        ptr = (void *) free_chunk->begin;                             
   4872c:	202a 0018      	movel %a2@(24),%d0                          
  next->previous = previous;                                          
   48730:	2348 0004      	movel %a0,%a1@(4)                           
  previous->next = next;                                              
   48734:	2089           	movel %a1,%a0@                              
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   48736:	42aa 0004      	clrl %a2@(4)                                
   4873a:	4292           	clrl %a2@                                   
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return ptr;                                                         
}                                                                     
   4873c:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   48742:	4e5e           	unlk %fp                                    
   48744:	4e75           	rts                                         
static uintptr_t align_up(uintptr_t alignment, uintptr_t value)       
{                                                                     
  uintptr_t excess = value % alignment;                               
                                                                      
  if (excess > 0) {                                                   
    value += alignment - excess;                                      
   48746:	d680           	addl %d0,%d3                                <== NOT EXECUTED
   48748:	9681           	subl %d1,%d3                                <== NOT EXECUTED
  rtems_chain_control *free_chain = &control->free_chunk_chain;       
  rtems_rbtree_control *chunk_tree = &control->chunk_tree;            
  uintptr_t alignment = control->alignment;                           
  uintptr_t aligned_size = align_up(alignment, size);                 
                                                                      
  if (size > 0 && size <= aligned_size) {                             
   4874a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4874c:	67c8           	beqs 48716 <rtems_rbheap_allocate+0x38>     <== NOT EXECUTED
   4874e:	b680           	cmpl %d0,%d3                                <== NOT EXECUTED
   48750:	65c4           	bcss 48716 <rtems_rbheap_allocate+0x38>     <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   48752:	204b           	moveal %a3,%a0                              <== NOT EXECUTED
   48754:	2458           	moveal %a0@+,%a2                            <== NOT EXECUTED
{                                                                     
  rtems_chain_node *current = rtems_chain_first(free_chain);          
  const rtems_chain_node *tail = rtems_chain_tail(free_chain);        
  rtems_rbheap_chunk *big_enough = NULL;                              
                                                                      
  while (current != tail && big_enough == NULL) {                     
   48756:	b1ca           	cmpal %a2,%a0                               <== NOT EXECUTED
   48758:	66ae           	bnes 48708 <rtems_rbheap_allocate+0x2a>     <== NOT EXECUTED
   4875a:	60ba           	bras 48716 <rtems_rbheap_allocate+0x38>     <== NOT EXECUTED
                                                                      
    if (free_chunk != NULL) {                                         
      uintptr_t free_size = free_chunk->size;                         
                                                                      
      if (free_size > aligned_size) {                                 
        rtems_rbheap_chunk *new_chunk = get_chunk(control);           
   4875c:	2f0b           	movel %a3,%sp@-                             
   4875e:	4eba fd5c      	jsr %pc@(484bc <get_chunk>)                 
                                                                      
        if (new_chunk != NULL) {                                      
   48762:	588f           	addql #4,%sp                                
                                                                      
    if (free_chunk != NULL) {                                         
      uintptr_t free_size = free_chunk->size;                         
                                                                      
      if (free_size > aligned_size) {                                 
        rtems_rbheap_chunk *new_chunk = get_chunk(control);           
   48764:	2840           	moveal %d0,%a4                              
                                                                      
        if (new_chunk != NULL) {                                      
   48766:	4a80           	tstl %d0                                    
   48768:	67ac           	beqs 48716 <rtems_rbheap_allocate+0x38>     <== NEVER TAKEN
          uintptr_t new_free_size = free_size - aligned_size;         
   4876a:	9483           	subl %d3,%d2                                
                                                                      
          free_chunk->size = new_free_size;                           
          new_chunk->begin = free_chunk->begin + new_free_size;       
   4876c:	2002           	movel %d2,%d0                               
   4876e:	d0aa 0018      	addl %a2@(24),%d0                           
        rtems_rbheap_chunk *new_chunk = get_chunk(control);           
                                                                      
        if (new_chunk != NULL) {                                      
          uintptr_t new_free_size = free_size - aligned_size;         
                                                                      
          free_chunk->size = new_free_size;                           
   48772:	2542 001c      	movel %d2,%a2@(28)                          
          new_chunk->begin = free_chunk->begin + new_free_size;       
   48776:	2940 0018      	movel %d0,%a4@(24)                          
          new_chunk->size = aligned_size;                             
   4877a:	2943 001c      	movel %d3,%a4@(28)                          
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   4877e:	42ac 0004      	clrl %a4@(4)                                
   48782:	4294           	clrl %a4@                                   
static void insert_into_tree(                                         
  rtems_rbtree_control *tree,                                         
  rtems_rbheap_chunk *chunk                                           
)                                                                     
{                                                                     
  _RBTree_Insert_unprotected(tree, &chunk->tree_node);                
   48784:	486c 0008      	pea %a4@(8)                                 
   48788:	486b 0018      	pea %a3@(24)                                
   4878c:	4eb9 0004 a0bc 	jsr 4a0bc <_RBTree_Insert_unprotected>      
          free_chunk->size = new_free_size;                           
          new_chunk->begin = free_chunk->begin + new_free_size;       
          new_chunk->size = aligned_size;                             
          rtems_chain_set_off_chain(&new_chunk->chain_node);          
          insert_into_tree(chunk_tree, new_chunk);                    
          ptr = (void *) new_chunk->begin;                            
   48792:	202c 0018      	movel %a4@(24),%d0                          
   48796:	508f           	addql #8,%sp                                
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return ptr;                                                         
}                                                                     
   48798:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   4879e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000488a2 <rtems_rbheap_extend_descriptors_with_malloc>: void rtems_rbheap_extend_descriptors_with_malloc(rtems_rbheap_control *control) {
   488a2:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   488a6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   488a8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
  rtems_rbheap_chunk *chunk = malloc(sizeof(*chunk));                 
   488aa:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
{                                                                     
  /* Do nothing */                                                    
}                                                                     
                                                                      
void rtems_rbheap_extend_descriptors_with_malloc(rtems_rbheap_control *control)
{                                                                     
   488ae:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  rtems_rbheap_chunk *chunk = malloc(sizeof(*chunk));                 
   488b2:	4eb9 0004 3b84 	jsr 43b84 <malloc>                          <== NOT EXECUTED
                                                                      
  if (chunk != NULL) {                                                
   488b8:	588f           	addql #4,%sp                                <== NOT EXECUTED
   488ba:	4a80           	tstl %d0                                    <== NOT EXECUTED
   488bc:	6718           	beqs 488d6 <rtems_rbheap_extend_descriptors_with_malloc+0x34><== NOT EXECUTED
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   488be:	206a 000c      	moveal %a2@(12),%a0                         <== NOT EXECUTED
RTEMS_INLINE_ROUTINE void _Chain_Prepend_unprotected(                 
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  _Chain_Insert_unprotected(_Chain_Head(the_chain), the_node);        
   488c2:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   488c4:	47ea 000c      	lea %a2@(12),%a3                            <== NOT EXECUTED
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   488c8:	2540 000c      	movel %d0,%a2@(12)                          <== NOT EXECUTED
RTEMS_INLINE_ROUTINE void _Chain_Prepend_unprotected(                 
  Chain_Control *the_chain,                                           
  Chain_Node    *the_node                                             
)                                                                     
{                                                                     
  _Chain_Insert_unprotected(_Chain_Head(the_chain), the_node);        
   488cc:	234b 0004      	movel %a3,%a1@(4)                           <== NOT EXECUTED
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   488d0:	2288           	movel %a0,%a1@                              <== NOT EXECUTED
  before_node->previous = the_node;                                   
   488d2:	2140 0004      	movel %d0,%a0@(4)                           <== NOT EXECUTED
    rtems_rbheap_add_to_spare_descriptor_chain(control, chunk);       
  }                                                                   
}                                                                     
   488d6:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   488da:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
   488de:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

000487a2 <rtems_rbheap_free>: _RBTree_Extract_unprotected(chunk_tree, &b->tree_node); } } rtems_status_code rtems_rbheap_free(rtems_rbheap_control *control, void *ptr) {
   487a2:	4e56 ffc4      	linkw %fp,#-60                              
   487a6:	202e 000c      	movel %fp@(12),%d0                          
   487aa:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
   487ae:	2a6e 0008      	moveal %fp@(8),%a5                          
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (ptr != NULL) {                                                  
   487b2:	4a80           	tstl %d0                                    
   487b4:	6700 00cc      	beqw 48882 <rtems_rbheap_free+0xe0>         
                                                                      
#define NULL_PAGE rtems_rbheap_chunk_of_node(NULL)                    
                                                                      
static rtems_rbheap_chunk *find(rtems_rbtree_control *chunk_tree, uintptr_t key)
{                                                                     
  rtems_rbheap_chunk chunk = { .begin = key };                        
   487b8:	49ee ffe8      	lea %fp@(-24),%a4                           
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (ptr != NULL) {                                                  
    rtems_chain_control *free_chain = &control->free_chunk_chain;     
    rtems_rbtree_control *chunk_tree = &control->chunk_tree;          
   487bc:	47ed 0018      	lea %a5@(24),%a3                            
RTEMS_INLINE_ROUTINE RBTree_Node *_RBTree_Find_unprotected(           
    RBTree_Control *the_rbtree,                                       
    RBTree_Node *the_node                                             
    )                                                                 
{                                                                     
  RBTree_Node* iter_node = the_rbtree->root;                          
   487c0:	246d 001c      	moveal %a5@(28),%a2                         
                                                                      
#define NULL_PAGE rtems_rbheap_chunk_of_node(NULL)                    
                                                                      
static rtems_rbheap_chunk *find(rtems_rbtree_control *chunk_tree, uintptr_t key)
{                                                                     
  rtems_rbheap_chunk chunk = { .begin = key };                        
   487c4:	42ae ffe0      	clrl %fp@(-32)                              
   487c8:	42ae ffe4      	clrl %fp@(-28)                              
   487cc:	4294           	clrl %a4@                                   
   487ce:	42ae ffec      	clrl %fp@(-20)                              
   487d2:	42ae fff0      	clrl %fp@(-16)                              
   487d6:	42ae fff4      	clrl %fp@(-12)                              
   487da:	42ae fffc      	clrl %fp@(-4)                               
   487de:	2d40 fff8      	movel %d0,%fp@(-8)                          
  RBTree_Node* found = NULL;                                          
  int compare_result;                                                 
  while (iter_node) {                                                 
   487e2:	4a8a           	tstl %a2                                    
   487e4:	6700 00a8      	beqw 4888e <rtems_rbheap_free+0xec>         
   487e8:	4282           	clrl %d2                                    
    compare_result = the_rbtree->compare_function(the_node, iter_node);
   487ea:	2f0a           	movel %a2,%sp@-                             
   487ec:	206b 0010      	moveal %a3@(16),%a0                         
   487f0:	2f0c           	movel %a4,%sp@-                             
   487f2:	4e90           	jsr %a0@                                    
    if ( _RBTree_Is_equal( compare_result ) ) {                       
   487f4:	508f           	addql #8,%sp                                
   487f6:	4a80           	tstl %d0                                    
   487f8:	6608           	bnes 48802 <rtems_rbheap_free+0x60>         <== NEVER TAKEN
      found = iter_node;                                              
      if ( the_rbtree->is_unique )                                    
   487fa:	240a           	movel %a2,%d2                               
   487fc:	4a2b 0014      	tstb %a3@(20)                               
   48800:	6612           	bnes 48814 <rtems_rbheap_free+0x72>         <== ALWAYS TAKEN
                                                                      
RTEMS_INLINE_ROUTINE bool _RBTree_Is_greater(                         
  int compare_result                                                  
)                                                                     
{                                                                     
  return compare_result > 0;                                          
   48802:	4a80           	tstl %d0                                    
   48804:	5ec0           	sgt %d0                                     
        break;                                                        
    }                                                                 
                                                                      
    RBTree_Direction dir =                                            
      (RBTree_Direction) _RBTree_Is_greater( compare_result );        
    iter_node = iter_node->child[dir];                                
   48806:	7201           	moveq #1,%d1                                
                                                                      
RTEMS_INLINE_ROUTINE bool _RBTree_Is_greater(                         
  int compare_result                                                  
)                                                                     
{                                                                     
  return compare_result > 0;                                          
   48808:	49c0           	extbl %d0                                   
        break;                                                        
    }                                                                 
                                                                      
    RBTree_Direction dir =                                            
      (RBTree_Direction) _RBTree_Is_greater( compare_result );        
    iter_node = iter_node->child[dir];                                
   4880a:	9280           	subl %d0,%d1                                
   4880c:	2472 1c00      	moveal %a2@(00000000,%d1:l:4),%a2           
    )                                                                 
{                                                                     
  RBTree_Node* iter_node = the_rbtree->root;                          
  RBTree_Node* found = NULL;                                          
  int compare_result;                                                 
  while (iter_node) {                                                 
   48810:	4a8a           	tstl %a2                                    
   48812:	66d6           	bnes 487ea <rtems_rbheap_free+0x48>         <== NEVER TAKEN
                                                                      
  return rtems_rbheap_chunk_of_node(                                  
   48814:	2442           	moveal %d2,%a2                              
   48816:	518a           	subql #8,%a2                                
  if (ptr != NULL) {                                                  
    rtems_chain_control *free_chain = &control->free_chunk_chain;     
    rtems_rbtree_control *chunk_tree = &control->chunk_tree;          
    rtems_rbheap_chunk *chunk = find(chunk_tree, (uintptr_t) ptr);    
                                                                      
    if (chunk != NULL_PAGE) {                                         
   48818:	70f8           	moveq #-8,%d0                               
   4881a:	b08a           	cmpl %a2,%d0                                
   4881c:	6770           	beqs 4888e <rtems_rbheap_free+0xec>         
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Chain_Is_node_off_chain(                   
  const Chain_Node *node                                              
)                                                                     
{                                                                     
  return (node->next == NULL) && (node->previous == NULL);            
   4881e:	4a92           	tstl %a2@                                   
   48820:	670c           	beqs 4882e <rtems_rbheap_free+0x8c>         
                                                                      
        check_and_merge(free_chain, chunk_tree, chunk, succ);         
        add_to_chain(free_chain, chunk);                              
        check_and_merge(free_chain, chunk_tree, chunk, pred);         
      } else {                                                        
        sc = RTEMS_INCORRECT_STATE;                                   
   48822:	700e           	moveq #14,%d0                               
      sc = RTEMS_INVALID_ID;                                          
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   48824:	4cee 3c1c ffc4 	moveml %fp@(-60),%d2-%d4/%a2-%a5            
   4882a:	4e5e           	unlk %fp                                    
   4882c:	4e75           	rts                                         
   4882e:	4aaa 0004      	tstl %a2@(4)                                
   48832:	66ee           	bnes 48822 <rtems_rbheap_free+0x80>         <== NEVER TAKEN
static rtems_rbheap_chunk *get_next(                                  
  const rtems_rbheap_chunk *chunk,                                    
  RBTree_Direction dir                                                
)                                                                     
{                                                                     
  return rtems_rbheap_chunk_of_node(                                  
   48834:	42a7           	clrl %sp@-                                  
   48836:	283c 0004 a33c 	movel #303932,%d4                           
   4883c:	2f02           	movel %d2,%sp@-                             
   4883e:	2044           	moveal %d4,%a0                              
    if (chunk != NULL_PAGE) {                                         
      if (!rtems_rbheap_is_chunk_free(chunk)) {                       
        rtems_rbheap_chunk *pred = get_next(chunk, RBT_LEFT);         
        rtems_rbheap_chunk *succ = get_next(chunk, RBT_RIGHT);        
                                                                      
        check_and_merge(free_chain, chunk_tree, chunk, succ);         
   48840:	49fa fcf6      	lea %pc@(48538 <check_and_merge>),%a4       
static rtems_rbheap_chunk *get_next(                                  
  const rtems_rbheap_chunk *chunk,                                    
  RBTree_Direction dir                                                
)                                                                     
{                                                                     
  return rtems_rbheap_chunk_of_node(                                  
   48844:	4e90           	jsr %a0@                                    
   48846:	4878 0001      	pea 1 <ADD>                                 
   4884a:	2044           	moveal %d4,%a0                              
   4884c:	2600           	movel %d0,%d3                               
   4884e:	2f02           	movel %d2,%sp@-                             
   48850:	4e90           	jsr %a0@                                    
    if (chunk != NULL_PAGE) {                                         
      if (!rtems_rbheap_is_chunk_free(chunk)) {                       
        rtems_rbheap_chunk *pred = get_next(chunk, RBT_LEFT);         
        rtems_rbheap_chunk *succ = get_next(chunk, RBT_RIGHT);        
                                                                      
        check_and_merge(free_chain, chunk_tree, chunk, succ);         
   48852:	5180           	subql #8,%d0                                
   48854:	2f00           	movel %d0,%sp@-                             
   48856:	2f0a           	movel %a2,%sp@-                             
   48858:	2f0b           	movel %a3,%sp@-                             
   4885a:	2f0d           	movel %a5,%sp@-                             
   4885c:	4e94           	jsr %a4@                                    
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   4885e:	2055           	moveal %a5@,%a0                             
        add_to_chain(free_chain, chunk);                              
        check_and_merge(free_chain, chunk_tree, chunk, pred);         
   48860:	4fef 0020      	lea %sp@(32),%sp                            
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   48864:	254d 0004      	movel %a5,%a2@(4)                           
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   48868:	2a8a           	movel %a2,%a5@                              
  the_node->next        = before_node;                                
  before_node->previous = the_node;                                   
   4886a:	214a 0004      	movel %a2,%a0@(4)                           
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   4886e:	2488           	movel %a0,%a2@                              
   48870:	2043           	moveal %d3,%a0                              
   48872:	4868 fff8      	pea %a0@(-8)                                
   48876:	2f0a           	movel %a2,%sp@-                             
   48878:	2f0b           	movel %a3,%sp@-                             
   4887a:	2f0d           	movel %a5,%sp@-                             
   4887c:	4e94           	jsr %a4@                                    
   4887e:	4fef 0010      	lea %sp@(16),%sp                            
  }                                                                   
}                                                                     
                                                                      
rtems_status_code rtems_rbheap_free(rtems_rbheap_control *control, void *ptr)
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
   48882:	4280           	clrl %d0                                    
      sc = RTEMS_INVALID_ID;                                          
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   48884:	4cee 3c1c ffc4 	moveml %fp@(-60),%d2-%d4/%a2-%a5            
   4888a:	4e5e           	unlk %fp                                    
   4888c:	4e75           	rts                                         
        check_and_merge(free_chain, chunk_tree, chunk, pred);         
      } else {                                                        
        sc = RTEMS_INCORRECT_STATE;                                   
      }                                                               
    } else {                                                          
      sc = RTEMS_INVALID_ID;                                          
   4888e:	7004           	moveq #4,%d0                                
    }                                                                 
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   48890:	4cee 3c1c ffc4 	moveml %fp@(-60),%d2-%d4/%a2-%a5            
   48896:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000485b2 <rtems_rbheap_initialize>: uintptr_t area_size, uintptr_t alignment, rtems_rbheap_extend_descriptors extend_descriptors, void *handler_arg ) {
   485b2:	4e56 fff0      	linkw %fp,#-16                              
   485b6:	202e 0014      	movel %fp@(20),%d0                          
   485ba:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (alignment > 0) {                                                
   485be:	4a80           	tstl %d0                                    
   485c0:	660c           	bnes 485ce <rtems_rbheap_initialize+0x1c>   
      }                                                               
    } else {                                                          
      sc = RTEMS_INVALID_ADDRESS;                                     
    }                                                                 
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
   485c2:	700a           	moveq #10,%d0                               
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   485c4:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   485ca:	4e5e           	unlk %fp                                    
   485cc:	4e75           	rts                                         
                                                                      
#include <stdlib.h>                                                   
                                                                      
static uintptr_t align_up(uintptr_t alignment, uintptr_t value)       
{                                                                     
  uintptr_t excess = value % alignment;                               
   485ce:	262e 000c      	movel %fp@(12),%d3                          
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
                                                                      
  if (alignment > 0) {                                                
    uintptr_t begin = (uintptr_t) area_begin;                         
    uintptr_t end = begin + area_size;                                
   485d2:	242e 000c      	movel %fp@(12),%d2                          
   485d6:	d4ae 0010      	addl %fp@(16),%d2                           
                                                                      
#include <stdlib.h>                                                   
                                                                      
static uintptr_t align_up(uintptr_t alignment, uintptr_t value)       
{                                                                     
  uintptr_t excess = value % alignment;                               
   485da:	4c40 3001      	remul %d0,%d1,%d3                           
                                                                      
  if (excess > 0) {                                                   
   485de:	4a81           	tstl %d1                                    
   485e0:	6600 00c2      	bnew 486a4 <rtems_rbheap_initialize+0xf2>   
  return value;                                                       
}                                                                     
                                                                      
static uintptr_t align_down(uintptr_t alignment, uintptr_t value)     
{                                                                     
  uintptr_t excess = value % alignment;                               
   485e4:	2602           	movel %d2,%d3                               
                                                                      
  return value - excess;                                              
   485e6:	2802           	movel %d2,%d4                               
  return value;                                                       
}                                                                     
                                                                      
static uintptr_t align_down(uintptr_t alignment, uintptr_t value)     
{                                                                     
  uintptr_t excess = value % alignment;                               
   485e8:	4c40 3001      	remul %d0,%d1,%d3                           
                                                                      
  return value - excess;                                              
   485ec:	9881           	subl %d1,%d4                                
    uintptr_t begin = (uintptr_t) area_begin;                         
    uintptr_t end = begin + area_size;                                
    uintptr_t aligned_begin = align_up(alignment, begin);             
    uintptr_t aligned_end = align_down(alignment, end);               
                                                                      
    if (begin < end && begin <= aligned_begin && aligned_begin < aligned_end) {
   485ee:	b4ae 000c      	cmpl %fp@(12),%d2                           
   485f2:	6300 00b6      	blsw 486aa <rtems_rbheap_initialize+0xf8>   
   485f6:	262e 000c      	movel %fp@(12),%d3                          
   485fa:	b684           	cmpl %d4,%d3                                
   485fc:	6400 00ac      	bccw 486aa <rtems_rbheap_initialize+0xf8>   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   48600:	206e 0008      	moveal %fp@(8),%a0                          
   48604:	2448           	moveal %a0,%a2                              
   48606:	45ea 0010      	lea %a2@(16),%a2                            
   4860a:	226e 0008      	moveal %fp@(8),%a1                          
   4860e:	5889           	addql #4,%a1                                
   48610:	2089           	movel %a1,%a0@                              
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   48612:	2248           	moveal %a0,%a1                              
   48614:	43e9 000c      	lea %a1@(12),%a1                            
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   48618:	214a 000c      	movel %a2,%a0@(12)                          
{                                                                     
  the_rbtree->permanent_null   = NULL;                                
  the_rbtree->root             = NULL;                                
  the_rbtree->first[0]         = NULL;                                
  the_rbtree->first[1]         = NULL;                                
  the_rbtree->compare_function = compare_function;                    
   4861c:	45fa fe86      	lea %pc@(484a4 <chunk_compare>),%a2         
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   48620:	2149 0014      	movel %a1,%a0@(20)                          
                                                                      
      rtems_chain_initialize_empty(free_chain);                       
      rtems_chain_initialize_empty(&control->spare_descriptor_chain); 
      rtems_rbtree_initialize_empty(chunk_tree, chunk_compare, true); 
      control->alignment = alignment;                                 
      control->handler_arg = handler_arg;                             
   48624:	43ee 001c      	lea %fp@(28),%a1                            
   48628:	214a 0028      	movel %a2,%a0@(40)                          
      control->extend_descriptors = extend_descriptors;               
   4862c:	45ee 0018      	lea %fp@(24),%a2                            
                                                                      
      rtems_chain_initialize_empty(free_chain);                       
      rtems_chain_initialize_empty(&control->spare_descriptor_chain); 
      rtems_rbtree_initialize_empty(chunk_tree, chunk_compare, true); 
      control->alignment = alignment;                                 
      control->handler_arg = handler_arg;                             
   48630:	2151 0036      	movel %a1@,%a0@(54)                         
      control->extend_descriptors = extend_descriptors;               
   48634:	2152 0032      	movel %a2@,%a0@(50)                         
  the_rbtree->is_unique        = is_unique;                           
   48638:	7201           	moveq #1,%d1                                
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   4863a:	42a8 0004      	clrl %a0@(4)                                
   4863e:	1141 002c      	moveb %d1,%a0@(44)                          
  tail->previous = head;                                              
   48642:	2148 0008      	movel %a0,%a0@(8)                           
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   48646:	42a8 0010      	clrl %a0@(16)                               
    RBTree_Control          *the_rbtree,                              
    RBTree_Compare_function  compare_function,                        
    bool                     is_unique                                
    )                                                                 
{                                                                     
  the_rbtree->permanent_null   = NULL;                                
   4864a:	42a8 0018      	clrl %a0@(24)                               
  the_rbtree->root             = NULL;                                
   4864e:	42a8 001c      	clrl %a0@(28)                               
  the_rbtree->first[0]         = NULL;                                
   48652:	42a8 0020      	clrl %a0@(32)                               
  the_rbtree->first[1]         = NULL;                                
   48656:	42a8 0024      	clrl %a0@(36)                               
      rtems_rbheap_chunk *first = NULL;                               
                                                                      
      rtems_chain_initialize_empty(free_chain);                       
      rtems_chain_initialize_empty(&control->spare_descriptor_chain); 
      rtems_rbtree_initialize_empty(chunk_tree, chunk_compare, true); 
      control->alignment = alignment;                                 
   4865a:	2140 002e      	movel %d0,%a0@(46)                          
      control->handler_arg = handler_arg;                             
      control->extend_descriptors = extend_descriptors;               
                                                                      
      first = get_chunk(control);                                     
   4865e:	2f08           	movel %a0,%sp@-                             
   48660:	4eba fe5a      	jsr %pc@(484bc <get_chunk>)                 
      if (first != NULL) {                                            
   48664:	588f           	addql #4,%sp                                
      rtems_rbtree_initialize_empty(chunk_tree, chunk_compare, true); 
      control->alignment = alignment;                                 
      control->handler_arg = handler_arg;                             
      control->extend_descriptors = extend_descriptors;               
                                                                      
      first = get_chunk(control);                                     
   48666:	2040           	moveal %d0,%a0                              
      if (first != NULL) {                                            
   48668:	4a80           	tstl %d0                                    
   4866a:	6766           	beqs 486d2 <rtems_rbheap_initialize+0x120>  
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
   4866c:	246e 0008      	moveal %fp@(8),%a2                          
        first->begin = aligned_begin;                                 
        first->size = aligned_end - aligned_begin;                    
   48670:	9883           	subl %d3,%d4                                
   48672:	2252           	moveal %a2@,%a1                             
   48674:	2144 001c      	movel %d4,%a0@(28)                          
      control->handler_arg = handler_arg;                             
      control->extend_descriptors = extend_descriptors;               
                                                                      
      first = get_chunk(control);                                     
      if (first != NULL) {                                            
        first->begin = aligned_begin;                                 
   48678:	2143 0018      	movel %d3,%a0@(24)                          
  Chain_Node *the_node                                                
)                                                                     
{                                                                     
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
   4867c:	214a 0004      	movel %a2,%a0@(4)                           
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
   48680:	2480           	movel %d0,%a2@                              
  the_node->next        = before_node;                                
  before_node->previous = the_node;                                   
   48682:	2340 0004      	movel %d0,%a1@(4)                           
  Chain_Node *before_node;                                            
                                                                      
  the_node->previous    = after_node;                                 
  before_node           = after_node->next;                           
  after_node->next      = the_node;                                   
  the_node->next        = before_node;                                
   48686:	2089           	movel %a1,%a0@                              
static void insert_into_tree(                                         
  rtems_rbtree_control *tree,                                         
  rtems_rbheap_chunk *chunk                                           
)                                                                     
{                                                                     
  _RBTree_Insert_unprotected(tree, &chunk->tree_node);                
   48688:	4868 0008      	pea %a0@(8)                                 
   4868c:	486a 0018      	pea %a2@(24)                                
   48690:	4eb9 0004 a0bc 	jsr 4a0bc <_RBTree_Insert_unprotected>      
   48696:	508f           	addql #8,%sp                                
  uintptr_t alignment,                                                
  rtems_rbheap_extend_descriptors extend_descriptors,                 
  void *handler_arg                                                   
)                                                                     
{                                                                     
  rtems_status_code sc = RTEMS_SUCCESSFUL;                            
   48698:	4280           	clrl %d0                                    
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4869a:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   486a0:	4e5e           	unlk %fp                                    
   486a2:	4e75           	rts                                         
    uintptr_t begin = (uintptr_t) area_begin;                         
    uintptr_t end = begin + area_size;                                
    uintptr_t aligned_begin = align_up(alignment, begin);             
    uintptr_t aligned_end = align_down(alignment, end);               
                                                                      
    if (begin < end && begin <= aligned_begin && aligned_begin < aligned_end) {
   486a4:	b4ae 000c      	cmpl %fp@(12),%d2                           
   486a8:	620c           	bhis 486b6 <rtems_rbheap_initialize+0x104>  
        insert_into_tree(chunk_tree, first);                          
      } else {                                                        
        sc = RTEMS_NO_MEMORY;                                         
      }                                                               
    } else {                                                          
      sc = RTEMS_INVALID_ADDRESS;                                     
   486aa:	7009           	moveq #9,%d0                                
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   486ac:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   486b2:	4e5e           	unlk %fp                                    
   486b4:	4e75           	rts                                         
static uintptr_t align_up(uintptr_t alignment, uintptr_t value)       
{                                                                     
  uintptr_t excess = value % alignment;                               
                                                                      
  if (excess > 0) {                                                   
    value += alignment - excess;                                      
   486b6:	262e 000c      	movel %fp@(12),%d3                          
   486ba:	d680           	addl %d0,%d3                                
   486bc:	9681           	subl %d1,%d3                                
    uintptr_t begin = (uintptr_t) area_begin;                         
    uintptr_t end = begin + area_size;                                
    uintptr_t aligned_begin = align_up(alignment, begin);             
    uintptr_t aligned_end = align_down(alignment, end);               
                                                                      
    if (begin < end && begin <= aligned_begin && aligned_begin < aligned_end) {
   486be:	b6ae 000c      	cmpl %fp@(12),%d3                           
   486c2:	65e6           	bcss 486aa <rtems_rbheap_initialize+0xf8>   <== NEVER TAKEN
  return value;                                                       
}                                                                     
                                                                      
static uintptr_t align_down(uintptr_t alignment, uintptr_t value)     
{                                                                     
  uintptr_t excess = value % alignment;                               
   486c4:	2802           	movel %d2,%d4                               
   486c6:	4c40 4001      	remul %d0,%d1,%d4                           
                                                                      
  return value - excess;                                              
   486ca:	2802           	movel %d2,%d4                               
   486cc:	9881           	subl %d1,%d4                                
   486ce:	6000 ff2a      	braw 485fa <rtems_rbheap_initialize+0x48>   
        first->begin = aligned_begin;                                 
        first->size = aligned_end - aligned_begin;                    
        add_to_chain(free_chain, first);                              
        insert_into_tree(chunk_tree, first);                          
      } else {                                                        
        sc = RTEMS_NO_MEMORY;                                         
   486d2:	701a           	moveq #26,%d0                               
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   486d4:	4cee 041c fff0 	moveml %fp@(-16),%d2-%d4/%a2                
   486da:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00055e80 <rtems_region_extend>: rtems_status_code rtems_region_extend( rtems_id id, void *starting_address, uintptr_t length ) {
   55e80:	4e56 fffc      	linkw %fp,#-4                               
   55e84:	2f0a           	movel %a2,%sp@-                             
   55e86:	2f02           	movel %d2,%sp@-                             
  uintptr_t           amount_extended;                                
  Objects_Locations   location;                                       
  rtems_status_code   return_status;                                  
  Region_Control     *the_region;                                     
                                                                      
  if ( !starting_address )                                            
   55e88:	4aae 000c      	tstl %fp@(12)                               
   55e8c:	6700 0082      	beqw 55f10 <rtems_region_extend+0x90>       
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  _RTEMS_Lock_allocator();                      /* to prevent deletion */
   55e90:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
   55e96:	4eb9 0005 86c0 	jsr 586c0 <_API_Mutex_Lock>                 
RTEMS_INLINE_ROUTINE Region_Control *_Region_Get (                    
  Objects_Id         id,                                              
  Objects_Locations *location                                         
)                                                                     
{                                                                     
  return (Region_Control *)                                           
   55e9c:	486e fffc      	pea %fp@(-4)                                
   55ea0:	2f2e 0008      	movel %fp@(8),%sp@-                         
   55ea4:	4879 0007 c1fc 	pea 7c1fc <_Region_Information>             
   55eaa:	4eb9 0005 a440 	jsr 5a440 <_Objects_Get_no_protection>      
                                                                      
    the_region = _Region_Get( id, &location );                        
    switch ( location ) {                                             
   55eb0:	4fef 0010      	lea %sp@(16),%sp                            
   55eb4:	2440           	moveal %d0,%a2                              
   55eb6:	4aae fffc      	tstl %fp@(-4)                               
   55eba:	6642           	bnes 55efe <rtems_region_extend+0x7e>       
                                                                      
      case OBJECTS_LOCAL:                                             
                                                                      
        amount_extended = _Heap_Extend(                               
   55ebc:	42a7           	clrl %sp@-                                  
   55ebe:	2f2e 0010      	movel %fp@(16),%sp@-                        
   55ec2:	2f2e 000c      	movel %fp@(12),%sp@-                        
   55ec6:	486a 0068      	pea %a2@(104)                               
   55eca:	4eb9 0005 947c 	jsr 5947c <_Heap_Extend>                    
          starting_address,                                           
          length,                                                     
          0                                                           
        );                                                            
                                                                      
        if ( amount_extended > 0 ) {                                  
   55ed0:	4fef 0010      	lea %sp@(16),%sp                            
   55ed4:	4a80           	tstl %d0                                    
   55ed6:	6748           	beqs 55f20 <rtems_region_extend+0xa0>       
          the_region->length                += amount_extended;       
   55ed8:	d1aa 0054      	addl %d0,%a2@(84)                           
          the_region->maximum_segment_size  += amount_extended;       
          return_status = RTEMS_SUCCESSFUL;                           
   55edc:	4282           	clrl %d2                                    
          0                                                           
        );                                                            
                                                                      
        if ( amount_extended > 0 ) {                                  
          the_region->length                += amount_extended;       
          the_region->maximum_segment_size  += amount_extended;       
   55ede:	d1aa 005c      	addl %d0,%a2@(92)                           
      default:                                                        
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   55ee2:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
   55ee8:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               
   55eee:	588f           	addql #4,%sp                                
  return return_status;                                               
}                                                                     
   55ef0:	2002           	movel %d2,%d0                               
   55ef2:	242e fff4      	movel %fp@(-12),%d2                         
   55ef6:	246e fff8      	moveal %fp@(-8),%a2                         
   55efa:	4e5e           	unlk %fp                                    
   55efc:	4e75           	rts                                         
      default:                                                        
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   55efe:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
        break;                                                        
#endif                                                                
                                                                      
      case OBJECTS_ERROR:                                             
      default:                                                        
        return_status = RTEMS_INVALID_ID;                             
   55f04:	7404           	moveq #4,%d2                                
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   55f06:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               
   55f0c:	588f           	addql #4,%sp                                
   55f0e:	60e0           	bras 55ef0 <rtems_region_extend+0x70>       
  Objects_Locations   location;                                       
  rtems_status_code   return_status;                                  
  Region_Control     *the_region;                                     
                                                                      
  if ( !starting_address )                                            
    return RTEMS_INVALID_ADDRESS;                                     
   55f10:	7409           	moveq #9,%d2                                
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
  return return_status;                                               
}                                                                     
   55f12:	2002           	movel %d2,%d0                               
   55f14:	242e fff4      	movel %fp@(-12),%d2                         
   55f18:	246e fff8      	moveal %fp@(-8),%a2                         
   55f1c:	4e5e           	unlk %fp                                    
   55f1e:	4e75           	rts                                         
      default:                                                        
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   55f20:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
        if ( amount_extended > 0 ) {                                  
          the_region->length                += amount_extended;       
          the_region->maximum_segment_size  += amount_extended;       
          return_status = RTEMS_SUCCESSFUL;                           
        } else {                                                      
          return_status = RTEMS_INVALID_ADDRESS;                      
   55f26:	7409           	moveq #9,%d2                                
      default:                                                        
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   55f28:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               
   55f2e:	588f           	addql #4,%sp                                
   55f30:	60be           	bras 55ef0 <rtems_region_extend+0x70>       
	...                                                                  
                                                                      

00055fcc <rtems_region_get_information>: rtems_status_code rtems_region_get_information( rtems_id id, Heap_Information_block *the_info ) {
   55fcc:	4e56 fffc      	linkw %fp,#-4                               
   55fd0:	2f02           	movel %d2,%sp@-                             
  Objects_Locations        location;                                  
  rtems_status_code        return_status;                             
  register Region_Control *the_region;                                
                                                                      
  if ( !the_info )                                                    
   55fd2:	4aae 000c      	tstl %fp@(12)                               
   55fd6:	6768           	beqs 56040 <rtems_region_get_information+0x74><== NEVER TAKEN
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  _RTEMS_Lock_allocator();                                            
   55fd8:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
   55fde:	4eb9 0005 86c0 	jsr 586c0 <_API_Mutex_Lock>                 
   55fe4:	486e fffc      	pea %fp@(-4)                                
   55fe8:	2f2e 0008      	movel %fp@(8),%sp@-                         
   55fec:	4879 0007 c1fc 	pea 7c1fc <_Region_Information>             
   55ff2:	4eb9 0005 a440 	jsr 5a440 <_Objects_Get_no_protection>      
                                                                      
    the_region = _Region_Get( id, &location );                        
    switch ( location ) {                                             
   55ff8:	4fef 0010      	lea %sp@(16),%sp                            
   55ffc:	4aae fffc      	tstl %fp@(-4)                               
   56000:	662c           	bnes 5602e <rtems_region_get_information+0x62>
                                                                      
      case OBJECTS_LOCAL:                                             
        _Heap_Get_information( &the_region->Memory, the_info );       
   56002:	2f2e 000c      	movel %fp@(12),%sp@-                        
   56006:	2040           	moveal %d0,%a0                              
   56008:	4868 0068      	pea %a0@(104)                               
        return_status = RTEMS_SUCCESSFUL;                             
   5600c:	4282           	clrl %d2                                    
                                                                      
    the_region = _Region_Get( id, &location );                        
    switch ( location ) {                                             
                                                                      
      case OBJECTS_LOCAL:                                             
        _Heap_Get_information( &the_region->Memory, the_info );       
   5600e:	4eb9 0005 98e4 	jsr 598e4 <_Heap_Get_information>           
        return_status = RTEMS_SUCCESSFUL;                             
        break;                                                        
   56014:	508f           	addql #8,%sp                                
      default:                                                        
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   56016:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
   5601c:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               
   56022:	588f           	addql #4,%sp                                
  return return_status;                                               
}                                                                     
   56024:	2002           	movel %d2,%d0                               
   56026:	242e fff8      	movel %fp@(-8),%d2                          
   5602a:	4e5e           	unlk %fp                                    
   5602c:	4e75           	rts                                         
      default:                                                        
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   5602e:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
        break;                                                        
#endif                                                                
                                                                      
      case OBJECTS_ERROR:                                             
      default:                                                        
        return_status = RTEMS_INVALID_ID;                             
   56034:	7404           	moveq #4,%d2                                
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   56036:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               
   5603c:	588f           	addql #4,%sp                                
   5603e:	60e4           	bras 56024 <rtems_region_get_information+0x58>
  Objects_Locations        location;                                  
  rtems_status_code        return_status;                             
  register Region_Control *the_region;                                
                                                                      
  if ( !the_info )                                                    
    return RTEMS_INVALID_ADDRESS;                                     
   56040:	7409           	moveq #9,%d2                                
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
  return return_status;                                               
}                                                                     
   56042:	2002           	movel %d2,%d0                               
   56044:	242e fff8      	movel %fp@(-8),%d2                          
   56048:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000561bc <rtems_region_get_segment_size>: rtems_status_code rtems_region_get_segment_size( rtems_id id, void *segment, uintptr_t *size ) {
   561bc:	4e56 fff8      	linkw %fp,#-8                               
  Objects_Locations        location;                                  
  rtems_status_code        return_status = RTEMS_SUCCESSFUL;          
  register Region_Control *the_region;                                
                                                                      
  if ( !segment )                                                     
   561c0:	4aae 000c      	tstl %fp@(12)                               
   561c4:	6768           	beqs 5622e <rtems_region_get_segment_size+0x72>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( !size )                                                        
   561c6:	4aae 0010      	tstl %fp@(16)                               
   561ca:	6762           	beqs 5622e <rtems_region_get_segment_size+0x72>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  _RTEMS_Lock_allocator();                                            
   561cc:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
   561d2:	4eb9 0005 86c0 	jsr 586c0 <_API_Mutex_Lock>                 
   561d8:	486e fffc      	pea %fp@(-4)                                
   561dc:	2f2e 0008      	movel %fp@(8),%sp@-                         
   561e0:	4879 0007 c1fc 	pea 7c1fc <_Region_Information>             
   561e6:	4eb9 0005 a440 	jsr 5a440 <_Objects_Get_no_protection>      
                                                                      
    the_region = _Region_Get( id, &location );                        
    switch ( location ) {                                             
   561ec:	222e fffc      	movel %fp@(-4),%d1                          
   561f0:	4fef 0010      	lea %sp@(16),%sp                            
   561f4:	663e           	bnes 56234 <rtems_region_get_segment_size+0x78>
                                                                      
      case OBJECTS_LOCAL:                                             
        if ( !_Heap_Size_of_alloc_area( &the_region->Memory, segment, size ) )
   561f6:	2f2e 0010      	movel %fp@(16),%sp@-                        
   561fa:	2040           	moveal %d0,%a0                              
   561fc:	2f2e 000c      	movel %fp@(12),%sp@-                        
   56200:	4868 0068      	pea %a0@(104)                               
   56204:	4eb9 0005 9e1c 	jsr 59e1c <_Heap_Size_of_alloc_area>        
   5620a:	4fef 000c      	lea %sp@(12),%sp                            
   5620e:	4a00           	tstb %d0                                    
   56210:	675c           	beqs 5626e <rtems_region_get_segment_size+0xb2><== NEVER TAKEN
  void      *segment,                                                 
  uintptr_t *size                                                     
)                                                                     
{                                                                     
  Objects_Locations        location;                                  
  rtems_status_code        return_status = RTEMS_SUCCESSFUL;          
   56212:	4280           	clrl %d0                                    
      case OBJECTS_ERROR:                                             
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   56214:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
   5621a:	2d40 fff8      	movel %d0,%fp@(-8)                          
   5621e:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               
   56224:	202e fff8      	movel %fp@(-8),%d0                          
   56228:	588f           	addql #4,%sp                                
  return return_status;                                               
}                                                                     
   5622a:	4e5e           	unlk %fp                                    
   5622c:	4e75           	rts                                         
  Objects_Locations        location;                                  
  rtems_status_code        return_status = RTEMS_SUCCESSFUL;          
  register Region_Control *the_region;                                
                                                                      
  if ( !segment )                                                     
    return RTEMS_INVALID_ADDRESS;                                     
   5622e:	7009           	moveq #9,%d0                                
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
  return return_status;                                               
}                                                                     
   56230:	4e5e           	unlk %fp                                    
   56232:	4e75           	rts                                         
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  _RTEMS_Lock_allocator();                                            
                                                                      
    the_region = _Region_Get( id, &location );                        
    switch ( location ) {                                             
   56234:	7001           	moveq #1,%d0                                
   56236:	b081           	cmpl %d1,%d0                                
   56238:	671a           	beqs 56254 <rtems_region_get_segment_size+0x98><== ALWAYS TAKEN
  void      *segment,                                                 
  uintptr_t *size                                                     
)                                                                     
{                                                                     
  Objects_Locations        location;                                  
  rtems_status_code        return_status = RTEMS_SUCCESSFUL;          
   5623a:	4200           	clrb %d0                                    <== NOT EXECUTED
      case OBJECTS_ERROR:                                             
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   5623c:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  <== NOT EXECUTED
   56242:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   56246:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               <== NOT EXECUTED
   5624c:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   56250:	588f           	addql #4,%sp                                <== NOT EXECUTED
   56252:	60d6           	bras 5622a <rtems_region_get_segment_size+0x6e><== NOT EXECUTED
      case OBJECTS_REMOTE:        /* this error cannot be returned */ 
        break;                                                        
#endif                                                                
                                                                      
      case OBJECTS_ERROR:                                             
        return_status = RTEMS_INVALID_ID;                             
   56254:	7004           	moveq #4,%d0                                
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   56256:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  
   5625c:	2d40 fff8      	movel %d0,%fp@(-8)                          
   56260:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               
   56266:	202e fff8      	movel %fp@(-8),%d0                          
   5626a:	588f           	addql #4,%sp                                
   5626c:	60bc           	bras 5622a <rtems_region_get_segment_size+0x6e>
    the_region = _Region_Get( id, &location );                        
    switch ( location ) {                                             
                                                                      
      case OBJECTS_LOCAL:                                             
        if ( !_Heap_Size_of_alloc_area( &the_region->Memory, segment, size ) )
          return_status = RTEMS_INVALID_ADDRESS;                      
   5626e:	7009           	moveq #9,%d0                                <== NOT EXECUTED
      case OBJECTS_ERROR:                                             
        return_status = RTEMS_INVALID_ID;                             
        break;                                                        
    }                                                                 
                                                                      
  _RTEMS_Unlock_allocator();                                          
   56270:	2f39 0007 c386 	movel 7c386 <_RTEMS_Allocator_Mutex>,%sp@-  <== NOT EXECUTED
   56276:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   5627a:	4eb9 0005 8720 	jsr 58720 <_API_Mutex_Unlock>               <== NOT EXECUTED
   56280:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   56284:	588f           	addql #4,%sp                                <== NOT EXECUTED
   56286:	60a2           	bras 5622a <rtems_region_get_segment_size+0x6e><== NOT EXECUTED
                                                                      

00058c52 <rtems_rfs_bitmap_create_search>: int rtems_rfs_bitmap_create_search (rtems_rfs_bitmap_control* control) {
   58c52:	4e56 ffdc      	linkw %fp,#-36                              
   58c56:	48d7 1c7c      	moveml %d2-%d6/%a2-%a4,%sp@                 
  rtems_rfs_bitmap_map map;                                           
  size_t               size;                                          
  rtems_rfs_bitmap_bit bit;                                           
  int                  rc;                                            
                                                                      
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   58c5a:	486e fffc      	pea %fp@(-4)                                
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_bitmap_create_search (rtems_rfs_bitmap_control* control)    
{                                                                     
   58c5e:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_rfs_bitmap_map map;                                           
  size_t               size;                                          
  rtems_rfs_bitmap_bit bit;                                           
  int                  rc;                                            
                                                                      
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   58c62:	2f0a           	movel %a2,%sp@-                             
   58c64:	4eba fa22      	jsr %pc@(58688 <rtems_rfs_bitmap_load_map>) 
  if (rc > 0)                                                         
   58c68:	508f           	addql #8,%sp                                
   58c6a:	4a80           	tstl %d0                                    
   58c6c:	6f0a           	bles 58c78 <rtems_rfs_bitmap_create_search+0x26><== ALWAYS TAKEN
      bit++;                                                          
    map++;                                                            
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   58c6e:	4cee 1c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a4            <== NOT EXECUTED
   58c74:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58c76:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  control->free = 0;                                                  
   58c78:	42aa 0010      	clrl %a2@(16)                               
  search_map = control->search_bits;                                  
   58c7c:	286a 0014      	moveal %a2@(20),%a4                         
  size = control->size;                                               
   58c80:	226a 000c      	moveal %a2@(12),%a1                         
  bit = 0;                                                            
                                                                      
  *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                       
   58c84:	70ff           	moveq #-1,%d0                               
   58c86:	2880           	movel %d0,%a4@                              
  while (size)                                                        
   58c88:	4a89           	tstl %a1                                    
   58c8a:	6748           	beqs 58cd4 <rtems_rfs_bitmap_create_search+0x82><== NEVER TAKEN
   58c8c:	266e fffc      	moveal %fp@(-4),%a3                         
    return rc;                                                        
                                                                      
  control->free = 0;                                                  
  search_map = control->search_bits;                                  
  size = control->size;                                               
  bit = 0;                                                            
   58c90:	4284           	clrl %d4                                    
                                                                      
rtems_rfs_bitmap_element                                              
rtems_rfs_bitmap_mask (unsigned int size)                             
{                                                                     
  rtems_rfs_bitmap_element mask = RTEMS_RFS_BITMAP_ELEMENT_FULL_MASK; 
  mask >>= (rtems_rfs_bitmap_element_bits () - size);                 
   58c92:	7cff           	moveq #-1,%d6                               
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58c94:	7601           	moveq #1,%d3                                
  *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                       
  while (size)                                                        
  {                                                                   
    rtems_rfs_bitmap_element bits;                                    
    int                      available;                               
    if (size < rtems_rfs_bitmap_element_bits ())                      
   58c96:	701f           	moveq #31,%d0                               
   58c98:	b089           	cmpl %a1,%d0                                
   58c9a:	6544           	bcss 58ce0 <rtems_rfs_bitmap_create_search+0x8e>
                                                                      
rtems_rfs_bitmap_element                                              
rtems_rfs_bitmap_mask (unsigned int size)                             
{                                                                     
  rtems_rfs_bitmap_element mask = RTEMS_RFS_BITMAP_ELEMENT_FULL_MASK; 
  mask >>= (rtems_rfs_bitmap_element_bits () - size);                 
   58c9c:	103c 0020      	moveb #32,%d0                               
   58ca0:	9089           	subl %a1,%d0                                
   58ca2:	2406           	movel %d6,%d2                               
   58ca4:	e0aa           	lsrl %d0,%d2                                
    if (size < rtems_rfs_bitmap_element_bits ())                      
    {                                                                 
      bits = rtems_rfs_bitmap_merge (*map,                            
                                     RTEMS_RFS_BITMAP_ELEMENT_SET,    
                                     rtems_rfs_bitmap_mask_section (0, size));
      available = size;                                               
   58ca6:	2049           	moveal %a1,%a0                              
   58ca8:	2a09           	movel %a1,%d5                               
{                                                                     
  /*                                                                  
   * Use the normal bit operators because we do not change the bits just merge
   * the 2 separate parts.                                            
   */                                                                 
  bits1 &= mask;                                                      
   58caa:	c493           	andl %a3@,%d2                               
    {                                                                 
      bits      = *map;                                               
      available = rtems_rfs_bitmap_element_bits ();                   
    }                                                                 
                                                                      
    if (rtems_rfs_bitmap_match (bits, RTEMS_RFS_BITMAP_ELEMENT_SET))  
   58cac:	4a82           	tstl %d2                                    
   58cae:	6714           	beqs 58cc4 <rtems_rfs_bitmap_create_search+0x72>
   58cb0:	4280           	clrl %d0                                    
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58cb2:	2203           	movel %d3,%d1                               
   58cb4:	e1a9           	lsll %d0,%d1                                
    if (rtems_rfs_bitmap_match (bits, RTEMS_RFS_BITMAP_ELEMENT_SET))  
      rtems_rfs_bitmap_set (*search_map, bit);                        
    else                                                              
    {                                                                 
      int b;                                                          
      for (b = 0; b < available; b++)                                 
   58cb6:	5280           	addql #1,%d0                                
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58cb8:	c282           	andl %d2,%d1                                
      rtems_rfs_bitmap_set (*search_map, bit);                        
    else                                                              
    {                                                                 
      int b;                                                          
      for (b = 0; b < available; b++)                                 
        if (!rtems_rfs_bitmap_test (bits, b))                         
   58cba:	6704           	beqs 58cc0 <rtems_rfs_bitmap_create_search+0x6e>
          control->free++;                                            
   58cbc:	52aa 0010      	addql #1,%a2@(16)                           
    if (rtems_rfs_bitmap_match (bits, RTEMS_RFS_BITMAP_ELEMENT_SET))  
      rtems_rfs_bitmap_set (*search_map, bit);                        
    else                                                              
    {                                                                 
      int b;                                                          
      for (b = 0; b < available; b++)                                 
   58cc0:	b088           	cmpl %a0,%d0                                
   58cc2:	6dee           	blts 58cb2 <rtems_rfs_bitmap_create_search+0x60>
        if (!rtems_rfs_bitmap_test (bits, b))                         
          control->free++;                                            
    }                                                                 
                                                                      
    size -= available;                                                
   58cc4:	93c5           	subal %d5,%a1                               
                                                                      
    if (bit == rtems_rfs_bitmap_element_bits ())                      
   58cc6:	7020           	moveq #32,%d0                               
   58cc8:	b084           	cmpl %d4,%d0                                
   58cca:	671e           	beqs 58cea <rtems_rfs_bitmap_create_search+0x98><== NEVER TAKEN
      bit = 0;                                                        
      search_map++;                                                   
      *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                   
    }                                                                 
    else                                                              
      bit++;                                                          
   58ccc:	5284           	addql #1,%d4                                
   58cce:	588b           	addql #4,%a3                                
  search_map = control->search_bits;                                  
  size = control->size;                                               
  bit = 0;                                                            
                                                                      
  *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                       
  while (size)                                                        
   58cd0:	4a89           	tstl %a1                                    
   58cd2:	66c2           	bnes 58c96 <rtems_rfs_bitmap_create_search+0x44>
    else                                                              
      bit++;                                                          
    map++;                                                            
  }                                                                   
                                                                      
  return 0;                                                           
   58cd4:	4280           	clrl %d0                                    
}                                                                     
   58cd6:	4cee 1c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a4            
   58cdc:	4e5e           	unlk %fp                                    
   58cde:	4e75           	rts                                         
                                     rtems_rfs_bitmap_mask_section (0, size));
      available = size;                                               
    }                                                                 
    else                                                              
    {                                                                 
      bits      = *map;                                               
   58ce0:	2413           	movel %a3@,%d2                              
   58ce2:	7a20           	moveq #32,%d5                               
      available = rtems_rfs_bitmap_element_bits ();                   
   58ce4:	307c 0020      	moveaw #32,%a0                              
   58ce8:	60c2           	bras 58cac <rtems_rfs_bitmap_create_search+0x5a>
                                                                      
    if (bit == rtems_rfs_bitmap_element_bits ())                      
    {                                                                 
      bit = 0;                                                        
      search_map++;                                                   
      *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                   
   58cea:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
                                                                      
    size -= available;                                                
                                                                      
    if (bit == rtems_rfs_bitmap_element_bits ())                      
    {                                                                 
      bit = 0;                                                        
   58cec:	4284           	clrl %d4                                    <== NOT EXECUTED
   58cee:	588b           	addql #4,%a3                                <== NOT EXECUTED
      search_map++;                                                   
      *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                   
   58cf0:	2940 0004      	movel %d0,%a4@(4)                           <== NOT EXECUTED
    size -= available;                                                
                                                                      
    if (bit == rtems_rfs_bitmap_element_bits ())                      
    {                                                                 
      bit = 0;                                                        
      search_map++;                                                   
   58cf4:	588c           	addql #4,%a4                                <== NOT EXECUTED
  search_map = control->search_bits;                                  
  size = control->size;                                               
  bit = 0;                                                            
                                                                      
  *search_map = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                       
  while (size)                                                        
   58cf6:	4a89           	tstl %a1                                    <== NOT EXECUTED
   58cf8:	669c           	bnes 58c96 <rtems_rfs_bitmap_create_search+0x44><== NOT EXECUTED
   58cfa:	60d8           	bras 58cd4 <rtems_rfs_bitmap_create_search+0x82><== NOT EXECUTED
                                                                      

00058688 <rtems_rfs_bitmap_load_map>: * @return int The error number (errno). No error if 0. */ static int rtems_rfs_bitmap_load_map (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_map* map) {
   58688:	4e56 0000      	linkw %fp,#0                                
   5868c:	2f0a           	movel %a2,%sp@-                             
   5868e:	246e 0008      	moveal %fp@(8),%a2                          
  int rc;                                                             
                                                                      
  if (!control->buffer)                                               
   58692:	4a92           	tstl %a2@                                   
   58694:	6738           	beqs 586ce <rtems_rfs_bitmap_load_map+0x46> <== NEVER TAKEN
    return ENXIO;                                                     
                                                                      
  *map = NULL;                                                        
                                                                      
  rc = rtems_rfs_buffer_handle_request (control->fs,                  
   58696:	4878 0001      	pea 1 <ADD>                                 
   5869a:	2f2a 0008      	movel %a2@(8),%sp@-                         
  int rc;                                                             
                                                                      
  if (!control->buffer)                                               
    return ENXIO;                                                     
                                                                      
  *map = NULL;                                                        
   5869e:	206e 000c      	moveal %fp@(12),%a0                         
   586a2:	4290           	clrl %a0@                                   
                                                                      
  rc = rtems_rfs_buffer_handle_request (control->fs,                  
   586a4:	2f12           	movel %a2@,%sp@-                            
   586a6:	2f2a 0004      	movel %a2@(4),%sp@-                         
   586aa:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> 
                                        control->buffer,              
                                        control->block,               
                                        true);                        
  if (rc)                                                             
   586b0:	4fef 0010      	lea %sp@(16),%sp                            
   586b4:	4a80           	tstl %d0                                    
   586b6:	660e           	bnes 586c6 <rtems_rfs_bitmap_load_map+0x3e> <== NEVER TAKEN
    return rc;                                                        
                                                                      
  *map = rtems_rfs_buffer_data (control->buffer);                     
   586b8:	2052           	moveal %a2@,%a0                             
   586ba:	226e 000c      	moveal %fp@(12),%a1                         
   586be:	2068 0006      	moveal %a0@(6),%a0                          
   586c2:	22a8 001a      	movel %a0@(26),%a1@                         
  return 0;                                                           
}                                                                     
   586c6:	246e fffc      	moveal %fp@(-4),%a2                         
   586ca:	4e5e           	unlk %fp                                    
   586cc:	4e75           	rts                                         
   586ce:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
                           rtems_rfs_bitmap_map*     map)             
{                                                                     
  int rc;                                                             
                                                                      
  if (!control->buffer)                                               
    return ENXIO;                                                     
   586d2:	7006           	moveq #6,%d0                                <== NOT EXECUTED
  if (rc)                                                             
    return rc;                                                        
                                                                      
  *map = rtems_rfs_buffer_data (control->buffer);                     
  return 0;                                                           
}                                                                     
   586d4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058bae <rtems_rfs_bitmap_map_alloc>: int rtems_rfs_bitmap_map_alloc (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_bit seed, bool* allocated, rtems_rfs_bitmap_bit* bit) {
   58bae:	4e56 ffe4      	linkw %fp,#-28                              
   58bb2:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
   58bb6:	266e 0010      	moveal %fp@(16),%a3                         
     * Search up first so bits allocated in succession are grouped together.
     */                                                               
    if (upper_seed < control->size)                                   
    {                                                                 
      *bit = upper_seed;                                              
      rc = rtems_rfs_search_map_for_clear_bit (control, bit, allocated,
   58bba:	283c 0005 86d8 	movel #362200,%d4                           
   * seed up then from the seed down a window number of bits, then repeat the
   * process from the window distance from the seed, again above then 
   * below. Keep moving out until all bits have been searched.        
   */                                                                 
  upper_seed = seed;                                                  
  lower_seed = seed;                                                  
   58bc0:	262e 000c      	movel %fp@(12),%d3                          
   * of bits from the original seed above then below. That is search from the
   * seed up then from the seed down a window number of bits, then repeat the
   * process from the window distance from the seed, again above then 
   * below. Keep moving out until all bits have been searched.        
   */                                                                 
  upper_seed = seed;                                                  
   58bc4:	2403           	movel %d3,%d2                               
  int                  rc = 0;                                        
                                                                      
  /*                                                                  
   * By default we assume the allocation failed.                      
   */                                                                 
  *allocated = false;                                                 
   58bc6:	4213           	clrb %a3@                                   
int                                                                   
rtems_rfs_bitmap_map_alloc (rtems_rfs_bitmap_control* control,        
                            rtems_rfs_bitmap_bit      seed,           
                            bool*                     allocated,      
                            rtems_rfs_bitmap_bit*     bit)            
{                                                                     
   58bc8:	246e 0008      	moveal %fp@(8),%a2                          
   58bcc:	286e 0014      	moveal %fp@(20),%a4                         
   * we have searched all of the map. The seed may not be aligned to a window
   * boundary so we may need to search a partial window and this may also not
   * be balanced for the upper or lower seeds. We move to the limits, search
   * then return false if no clear bits are found.                    
   */                                                                 
  while (((upper_seed >= 0) && (upper_seed < control->size))          
   58bd0:	4a82           	tstl %d2                                    
   58bd2:	6d44           	blts 58c18 <rtems_rfs_bitmap_map_alloc+0x6a><== NEVER TAKEN
   58bd4:	b4aa 000c      	cmpl %a2@(12),%d2                           
   58bd8:	643e           	bccs 58c18 <rtems_rfs_bitmap_map_alloc+0x6a><== NEVER TAKEN
     * Search up first so bits allocated in succession are grouped together.
     */                                                               
    if (upper_seed < control->size)                                   
    {                                                                 
      *bit = upper_seed;                                              
      rc = rtems_rfs_search_map_for_clear_bit (control, bit, allocated,
   58bda:	4878 0001      	pea 1 <ADD>                                 
   58bde:	2044           	moveal %d4,%a0                              
   58be0:	4bfa faf6      	lea %pc@(586d8 <rtems_rfs_search_map_for_clear_bit.constprop.1>),%a5
   58be4:	2f0b           	movel %a3,%sp@-                             
   58be6:	2f0c           	movel %a4,%sp@-                             
    /*                                                                
     * Search up first so bits allocated in succession are grouped together.
     */                                                               
    if (upper_seed < control->size)                                   
    {                                                                 
      *bit = upper_seed;                                              
   58be8:	2882           	movel %d2,%a4@                              
      rc = rtems_rfs_search_map_for_clear_bit (control, bit, allocated,
   58bea:	2f0a           	movel %a2,%sp@-                             
   58bec:	4e90           	jsr %a0@                                    
                                               window, 1);            
      if ((rc > 0) || *allocated)                                     
   58bee:	4fef 0010      	lea %sp@(16),%sp                            
   58bf2:	4a80           	tstl %d0                                    
   58bf4:	6e50           	bgts 58c46 <rtems_rfs_bitmap_map_alloc+0x98><== NEVER TAKEN
   58bf6:	4a13           	tstb %a3@                                   
   58bf8:	664c           	bnes 58c46 <rtems_rfs_bitmap_map_alloc+0x98><== ALWAYS TAKEN
        break;                                                        
    }                                                                 
                                                                      
    if (lower_seed >= 0)                                              
   58bfa:	4a83           	tstl %d3                                    <== NOT EXECUTED
   58bfc:	6c2e           	bges 58c2c <rtems_rfs_bitmap_map_alloc+0x7e><== NOT EXECUTED
                                                                      
    /*                                                                
     * Do not bound the limits at the edges of the map. Do not update if an
     * edge has been passed.                                          
     */                                                               
    if (upper_seed < control->size)                                   
   58bfe:	b4aa 000c      	cmpl %a2@(12),%d2                           <== NOT EXECUTED
   58c02:	6406           	bccs 58c0a <rtems_rfs_bitmap_map_alloc+0x5c><== NOT EXECUTED
      upper_seed += window;                                           
   58c04:	0682 0000 0800 	addil #2048,%d2                             <== NOT EXECUTED
    if (lower_seed >= 0)                                              
   58c0a:	4a83           	tstl %d3                                    <== NOT EXECUTED
   58c0c:	6dc2           	blts 58bd0 <rtems_rfs_bitmap_map_alloc+0x22><== NOT EXECUTED
      lower_seed -= window;                                           
   58c0e:	0683 ffff f800 	addil #-2048,%d3                            <== NOT EXECUTED
   * we have searched all of the map. The seed may not be aligned to a window
   * boundary so we may need to search a partial window and this may also not
   * be balanced for the upper or lower seeds. We move to the limits, search
   * then return false if no clear bits are found.                    
   */                                                                 
  while (((upper_seed >= 0) && (upper_seed < control->size))          
   58c14:	4a82           	tstl %d2                                    <== NOT EXECUTED
   58c16:	6cbc           	bges 58bd4 <rtems_rfs_bitmap_map_alloc+0x26><== NOT EXECUTED
         || ((lower_seed >= 0) && (lower_seed < control->size)))      
   58c18:	4a83           	tstl %d3                                    <== NOT EXECUTED
   58c1a:	6d2a           	blts 58c46 <rtems_rfs_bitmap_map_alloc+0x98><== NOT EXECUTED
   58c1c:	222a 000c      	movel %a2@(12),%d1                          <== NOT EXECUTED
   58c20:	b283           	cmpl %d3,%d1                                <== NOT EXECUTED
   58c22:	6322           	blss 58c46 <rtems_rfs_bitmap_map_alloc+0x98><== NOT EXECUTED
   58c24:	4bfa fab2      	lea %pc@(586d8 <rtems_rfs_search_map_for_clear_bit.constprop.1>),%a5<== NOT EXECUTED
  {                                                                   
    /*                                                                
     * Search up first so bits allocated in succession are grouped together.
     */                                                               
    if (upper_seed < control->size)                                   
   58c28:	b481           	cmpl %d1,%d2                                <== NOT EXECUTED
   58c2a:	65ae           	bcss 58bda <rtems_rfs_bitmap_map_alloc+0x2c><== NOT EXECUTED
    }                                                                 
                                                                      
    if (lower_seed >= 0)                                              
    {                                                                 
      *bit = lower_seed;                                              
      rc = rtems_rfs_search_map_for_clear_bit (control, bit, allocated,
   58c2c:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   58c30:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   58c32:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
        break;                                                        
    }                                                                 
                                                                      
    if (lower_seed >= 0)                                              
    {                                                                 
      *bit = lower_seed;                                              
   58c34:	2883           	movel %d3,%a4@                              <== NOT EXECUTED
      rc = rtems_rfs_search_map_for_clear_bit (control, bit, allocated,
   58c36:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58c38:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                               window, -1);           
      if ((rc > 0) || *allocated)                                     
   58c3a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   58c3e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58c40:	6e04           	bgts 58c46 <rtems_rfs_bitmap_map_alloc+0x98><== NOT EXECUTED
   58c42:	4a13           	tstb %a3@                                   <== NOT EXECUTED
   58c44:	67b8           	beqs 58bfe <rtems_rfs_bitmap_map_alloc+0x50><== NOT EXECUTED
    if (lower_seed >= 0)                                              
      lower_seed -= window;                                           
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   58c46:	4280           	clrl %d0                                    
   58c48:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   58c4e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000589be <rtems_rfs_bitmap_map_clear>: int rtems_rfs_bitmap_map_clear (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_bit bit) {
   589be:	4e56 ffe4      	linkw %fp,#-28                              <== NOT EXECUTED
   589c2:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 <== NOT EXECUTED
  rtems_rfs_bitmap_map map;                                           
  rtems_rfs_bitmap_map search_map;                                    
  int                  index;                                         
  int                  offset;                                        
  int                  rc;                                            
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   589c6:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
}                                                                     
                                                                      
int                                                                   
rtems_rfs_bitmap_map_clear (rtems_rfs_bitmap_control* control,        
                            rtems_rfs_bitmap_bit      bit)            
{                                                                     
   589ca:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  rtems_rfs_bitmap_map map;                                           
  rtems_rfs_bitmap_map search_map;                                    
  int                  index;                                         
  int                  offset;                                        
  int                  rc;                                            
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   589ce:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   589d0:	4eba fcb6      	jsr %pc@(58688 <rtems_rfs_bitmap_load_map>) <== NOT EXECUTED
  if (rc > 0)                                                         
   589d4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   589d6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   589d8:	6f0a           	bles 589e4 <rtems_rfs_bitmap_map_clear+0x26><== NOT EXECUTED
  offset            = rtems_rfs_bitmap_map_offset(bit);               
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
  control->free++;                                                    
  return 0;                                                           
}                                                                     
   589da:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   589e0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   589e2:	4e75           	rts                                         <== NOT EXECUTED
  int                  offset;                                        
  int                  rc;                                            
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
   589e4:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
   589e8:	b0aa 000c      	cmpl %a2@(12),%d0                           <== NOT EXECUTED
   589ec:	650c           	bcss 589fa <rtems_rfs_bitmap_map_clear+0x3c><== NOT EXECUTED
    return EINVAL;                                                    
   589ee:	7016           	moveq #22,%d0                               <== NOT EXECUTED
  offset            = rtems_rfs_bitmap_map_offset(bit);               
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
  control->free++;                                                    
  return 0;                                                           
}                                                                     
   589f0:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   589f6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   589f8:	4e75           	rts                                         <== NOT EXECUTED
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map        = control->search_bits;                           
  index             = rtems_rfs_bitmap_map_index (bit);               
   589fa:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  offset            = rtems_rfs_bitmap_map_offset (bit);              
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
  bit               = index;                                          
  index             = rtems_rfs_bitmap_map_index (bit);               
   589fc:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   589fe:	7a0a           	moveq #10,%d5                               <== NOT EXECUTED
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map        = control->search_bits;                           
  index             = rtems_rfs_bitmap_map_index (bit);               
   58a00:	ea83           	asrl #5,%d3                                 <== NOT EXECUTED
  offset            = rtems_rfs_bitmap_map_offset (bit);              
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
  bit               = index;                                          
  index             = rtems_rfs_bitmap_map_index (bit);               
   58a02:	eaa1           	asrl %d5,%d1                                <== NOT EXECUTED
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map        = control->search_bits;                           
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset (bit);              
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
   58a04:	2a03           	movel %d3,%d5                               <== NOT EXECUTED
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map        = control->search_bits;                           
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset (bit);              
   58a06:	781f           	moveq #31,%d4                               <== NOT EXECUTED
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
   58a08:	7401           	moveq #1,%d2                                <== NOT EXECUTED
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset(bit);               
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
  control->free++;                                                    
  return 0;                                                           
   58a0a:	4280           	clrl %d0                                    <== NOT EXECUTED
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map        = control->search_bits;                           
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset (bit);              
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
   58a0c:	e58d           	lsll #2,%d5                                 <== NOT EXECUTED
   58a0e:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
   58a12:	d7c5           	addal %d5,%a3                               <== NOT EXECUTED
   58a14:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map        = control->search_bits;                           
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset (bit);              
   58a16:	c8ae 000c      	andl %fp@(12),%d4                           <== NOT EXECUTED
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map        = control->search_bits;                           
   58a1a:	206a 0014      	moveal %a2@(20),%a0                         <== NOT EXECUTED
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset (bit);              
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
   58a1e:	e9ad           	lsll %d4,%d5                                <== NOT EXECUTED
  bit               = index;                                          
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset(bit);               
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
   58a20:	2252           	moveal %a2@,%a1                             <== NOT EXECUTED
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map        = control->search_bits;                           
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset (bit);              
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
   58a22:	2805           	movel %d5,%d4                               <== NOT EXECUTED
  bit               = index;                                          
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset(bit);               
   58a24:	7a1f           	moveq #31,%d5                               <== NOT EXECUTED
   58a26:	c685           	andl %d5,%d3                                <== NOT EXECUTED
 */                                                                   
static rtems_rfs_bitmap_element                                       
rtems_rfs_bitmap_clear (rtems_rfs_bitmap_element target,              
                        rtems_rfs_bitmap_element bits)                
{                                                                     
  return RTEMS_RFS_BITMAP_CLEAR_BITS (target, bits);                  
   58a28:	8993           	orl %d4,%a3@                                <== NOT EXECUTED
  offset            = rtems_rfs_bitmap_map_offset (bit);              
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
  bit               = index;                                          
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset(bit);               
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);
   58a2a:	e7aa           	lsll %d3,%d2                                <== NOT EXECUTED
 */                                                                   
static rtems_rfs_bitmap_element                                       
rtems_rfs_bitmap_clear (rtems_rfs_bitmap_element target,              
                        rtems_rfs_bitmap_element bits)                
{                                                                     
  return RTEMS_RFS_BITMAP_CLEAR_BITS (target, bits);                  
   58a2c:	85b0 1c00      	orl %d2,%a0@(00000000,%d1:l:4)              <== NOT EXECUTED
  map[index]        = rtems_rfs_bitmap_clear (map[index], 1 << offset);
  bit               = index;                                          
  index             = rtems_rfs_bitmap_map_index (bit);               
  offset            = rtems_rfs_bitmap_map_offset(bit);               
  search_map[index] = rtems_rfs_bitmap_clear (search_map[index], 1 << offset);
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
   58a30:	12bc 0001      	moveb #1,%a1@                               <== NOT EXECUTED
  control->free++;                                                    
   58a34:	52aa 0010      	addql #1,%a2@(16)                           <== NOT EXECUTED
  return 0;                                                           
}                                                                     
   58a38:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   58a3e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058b22 <rtems_rfs_bitmap_map_clear_all>: int rtems_rfs_bitmap_map_clear_all (rtems_rfs_bitmap_control* control) {
   58b22:	4e56 ffec      	linkw %fp,#-20                              
   58b26:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
  rtems_rfs_bitmap_bit last_search_bit;                               
  size_t               elements;                                      
  int                  e;                                             
  int                  rc;                                            
                                                                      
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   58b2a:	486e fffc      	pea %fp@(-4)                                
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_bitmap_map_clear_all (rtems_rfs_bitmap_control* control)    
{                                                                     
   58b2e:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_rfs_bitmap_bit last_search_bit;                               
  size_t               elements;                                      
  int                  e;                                             
  int                  rc;                                            
                                                                      
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   58b32:	2f0a           	movel %a2,%sp@-                             
   58b34:	4eba fb52      	jsr %pc@(58688 <rtems_rfs_bitmap_load_map>) 
  if (rc > 0)                                                         
   58b38:	508f           	addql #8,%sp                                
   58b3a:	4a80           	tstl %d0                                    
   58b3c:	6f0a           	bles 58b48 <rtems_rfs_bitmap_map_clear_all+0x26><== ALWAYS TAKEN
                            rtems_rfs_bitmap_mask (last_search_bit)); 
                                                                      
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
                                                                      
  return 0;                                                           
}                                                                     
   58b3e:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                <== NOT EXECUTED
   58b44:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58b46:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  elements = rtems_rfs_bitmap_elements (control->size);               
   58b48:	242a 000c      	movel %a2@(12),%d2                          
   58b4c:	5382           	subql #1,%d2                                
   58b4e:	ea8a           	lsrl #5,%d2                                 
   58b50:	2042           	moveal %d2,%a0                              
   58b52:	5288           	addql #1,%a0                                
                                                                      
  control->free = elements;                                           
                                                                      
  for (e = 0; e < elements; e++)                                      
   58b54:	4281           	clrl %d1                                    
   58b56:	4280           	clrl %d0                                    
   58b58:	226e fffc      	moveal %fp@(-4),%a1                         
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  elements = rtems_rfs_bitmap_elements (control->size);               
                                                                      
  control->free = elements;                                           
   58b5c:	2548 0010      	movel %a0,%a2@(16)                          
                                                                      
  for (e = 0; e < elements; e++)                                      
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                          
   58b60:	76ff           	moveq #-1,%d3                               
                                                                      
  elements = rtems_rfs_bitmap_elements (control->size);               
                                                                      
  control->free = elements;                                           
                                                                      
  for (e = 0; e < elements; e++)                                      
   58b62:	5280           	addql #1,%d0                                
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;                          
   58b64:	2383 1c00      	movel %d3,%a1@(00000000,%d1:l:4)            
                                                                      
  elements = rtems_rfs_bitmap_elements (control->size);               
                                                                      
  control->free = elements;                                           
                                                                      
  for (e = 0; e < elements; e++)                                      
   58b68:	2200           	movel %d0,%d1                               
   58b6a:	b1c0           	cmpal %d0,%a0                               
   58b6c:	66f2           	bnes 58b60 <rtems_rfs_bitmap_map_clear_all+0x3e>
                                                                      
  /*                                                                  
   * Set the un-mapped bits in the last search element so the available logic
   * works.                                                           
   */                                                                 
  last_search_bit = rtems_rfs_bitmap_map_offset (elements);           
   58b6e:	781f           	moveq #31,%d4                               
   58b70:	c084           	andl %d4,%d0                                
                                                                      
  if (last_search_bit == 0)                                           
   58b72:	6736           	beqs 58baa <rtems_rfs_bitmap_map_clear_all+0x88>
   58b74:	7220           	moveq #32,%d1                               
   58b76:	9280           	subl %d0,%d1                                
   58b78:	e2ab           	lsrl %d1,%d3                                
   58b7a:	206a 0014      	moveal %a2@(20),%a0                         
    last_search_bit = rtems_rfs_bitmap_element_bits ();               
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
   58b7e:	ea8a           	lsrl #5,%d2                                 
                                                                      
  for (e = 0; e < (elements - 1); e++)                                
   58b80:	6712           	beqs 58b94 <rtems_rfs_bitmap_map_clear_all+0x72><== ALWAYS TAKEN
   58b82:	4281           	clrl %d1                                    <== NOT EXECUTED
   58b84:	4280           	clrl %d0                                    <== NOT EXECUTED
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;         
   58b86:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
  if (last_search_bit == 0)                                           
    last_search_bit = rtems_rfs_bitmap_element_bits ();               
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
                                                                      
  for (e = 0; e < (elements - 1); e++)                                
   58b88:	5280           	addql #1,%d0                                <== NOT EXECUTED
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;         
   58b8a:	2184 1c00      	movel %d4,%a0@(00000000,%d1:l:4)            <== NOT EXECUTED
  if (last_search_bit == 0)                                           
    last_search_bit = rtems_rfs_bitmap_element_bits ();               
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
                                                                      
  for (e = 0; e < (elements - 1); e++)                                
   58b8e:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   58b90:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   58b92:	66f2           	bnes 58b86 <rtems_rfs_bitmap_map_clear_all+0x64><== NOT EXECUTED
  control->search_bits[elements - 1] =                                
    rtems_rfs_bitmap_merge (RTEMS_RFS_BITMAP_ELEMENT_CLEAR,           
                            RTEMS_RFS_BITMAP_ELEMENT_SET,             
                            rtems_rfs_bitmap_mask (last_search_bit)); 
                                                                      
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
   58b94:	2252           	moveal %a2@,%a1                             
                                                                      
  return 0;                                                           
   58b96:	4280           	clrl %d0                                    
  elements = rtems_rfs_bitmap_elements (elements);                    
                                                                      
  for (e = 0; e < (elements - 1); e++)                                
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_CLEAR;         
                                                                      
  control->search_bits[elements - 1] =                                
   58b98:	2183 2c00      	movel %d3,%a0@(00000000,%d2:l:4)            
                            rtems_rfs_bitmap_mask (last_search_bit)); 
                                                                      
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
                                                                      
  return 0;                                                           
}                                                                     
   58b9c:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                
  control->search_bits[elements - 1] =                                
    rtems_rfs_bitmap_merge (RTEMS_RFS_BITMAP_ELEMENT_CLEAR,           
                            RTEMS_RFS_BITMAP_ELEMENT_SET,             
                            rtems_rfs_bitmap_mask (last_search_bit)); 
                                                                      
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
   58ba2:	12bc 0001      	moveb #1,%a1@                               
                                                                      
  return 0;                                                           
}                                                                     
   58ba6:	4e5e           	unlk %fp                                    
   58ba8:	4e75           	rts                                         
   * Set the un-mapped bits in the last search element so the available logic
   * works.                                                           
   */                                                                 
  last_search_bit = rtems_rfs_bitmap_map_offset (elements);           
                                                                      
  if (last_search_bit == 0)                                           
   58baa:	76ff           	moveq #-1,%d3                               
   58bac:	60cc           	bras 58b7a <rtems_rfs_bitmap_map_clear_all+0x58>
                                                                      

00058924 <rtems_rfs_bitmap_map_set>: int rtems_rfs_bitmap_map_set (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_bit bit) {
   58924:	4e56 ffec      	linkw %fp,#-20                              
   58928:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
  rtems_rfs_bitmap_map map;                                           
  rtems_rfs_bitmap_map search_map;                                    
  int                  index;                                         
  int                  offset;                                        
  int                 rc;                                             
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   5892c:	486e fffc      	pea %fp@(-4)                                
}                                                                     
                                                                      
int                                                                   
rtems_rfs_bitmap_map_set (rtems_rfs_bitmap_control* control,          
                          rtems_rfs_bitmap_bit      bit)              
{                                                                     
   58930:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_rfs_bitmap_map map;                                           
  rtems_rfs_bitmap_map search_map;                                    
  int                  index;                                         
  int                  offset;                                        
  int                 rc;                                             
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   58934:	2f0a           	movel %a2,%sp@-                             
   58936:	4eba fd50      	jsr %pc@(58688 <rtems_rfs_bitmap_load_map>) 
  if (rc > 0)                                                         
   5893a:	508f           	addql #8,%sp                                
   5893c:	4a80           	tstl %d0                                    
   5893e:	6f0a           	bles 5894a <rtems_rfs_bitmap_map_set+0x26>  <== ALWAYS TAKEN
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);
    control->free--;                                                  
    rtems_rfs_buffer_mark_dirty (control->buffer);                    
  }                                                                   
  return 0;                                                           
}                                                                     
   58940:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                <== NOT EXECUTED
   58946:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58948:	4e75           	rts                                         <== NOT EXECUTED
  int                  offset;                                        
  int                 rc;                                             
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
   5894a:	202e 000c      	movel %fp@(12),%d0                          
   5894e:	b0aa 000c      	cmpl %a2@(12),%d0                           
   58952:	650c           	bcss 58960 <rtems_rfs_bitmap_map_set+0x3c>  <== ALWAYS TAKEN
    return EINVAL;                                                    
   58954:	7016           	moveq #22,%d0                               <== NOT EXECUTED
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);
    control->free--;                                                  
    rtems_rfs_buffer_mark_dirty (control->buffer);                    
  }                                                                   
  return 0;                                                           
}                                                                     
   58956:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                <== NOT EXECUTED
   5895c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5895e:	4e75           	rts                                         <== NOT EXECUTED
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map = control->search_bits;                                  
  index      = rtems_rfs_bitmap_map_index (bit);                      
   58960:	2400           	movel %d0,%d2                               
   58962:	ea82           	asrl #5,%d2                                 
  offset     = rtems_rfs_bitmap_map_offset (bit);                     
  map[index] = rtems_rfs_bitmap_set (map[index], 1 << offset);        
   58964:	2602           	movel %d2,%d3                               
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map = control->search_bits;                                  
  index      = rtems_rfs_bitmap_map_index (bit);                      
  offset     = rtems_rfs_bitmap_map_offset (bit);                     
   58966:	701f           	moveq #31,%d0                               
  map[index] = rtems_rfs_bitmap_set (map[index], 1 << offset);        
   58968:	7201           	moveq #1,%d1                                
   5896a:	e58b           	lsll #2,%d3                                 
   5896c:	206e fffc      	moveal %fp@(-4),%a0                         
   58970:	d1c3           	addal %d3,%a0                               
   58972:	2601           	movel %d1,%d3                               
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map = control->search_bits;                                  
  index      = rtems_rfs_bitmap_map_index (bit);                      
  offset     = rtems_rfs_bitmap_map_offset (bit);                     
   58974:	c0ae 000c      	andl %fp@(12),%d0                           
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map = control->search_bits;                                  
   58978:	226a 0014      	moveal %a2@(20),%a1                         
  index      = rtems_rfs_bitmap_map_index (bit);                      
  offset     = rtems_rfs_bitmap_map_offset (bit);                     
  map[index] = rtems_rfs_bitmap_set (map[index], 1 << offset);        
   5897c:	e1ab           	lsll %d0,%d3                                
   5897e:	2003           	movel %d3,%d0                               
 */                                                                   
static rtems_rfs_bitmap_element                                       
rtems_rfs_bitmap_set (rtems_rfs_bitmap_element target,                
                      rtems_rfs_bitmap_element bits)                  
{                                                                     
  return RTEMS_RFS_BITMAP_SET_BITS (target, bits);                    
   58980:	4680           	notl %d0                                    
   58982:	c090           	andl %a0@,%d0                               
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  search_map = control->search_bits;                                  
  index      = rtems_rfs_bitmap_map_index (bit);                      
  offset     = rtems_rfs_bitmap_map_offset (bit);                     
  map[index] = rtems_rfs_bitmap_set (map[index], 1 << offset);        
   58984:	2080           	movel %d0,%a0@                              
  if (rtems_rfs_bitmap_match(map[index], RTEMS_RFS_BITMAP_ELEMENT_SET))
   58986:	662a           	bnes 589b2 <rtems_rfs_bitmap_map_set+0x8e>  <== ALWAYS TAKEN
  {                                                                   
    bit = index;                                                      
    index  = rtems_rfs_bitmap_map_index (bit);                        
   58988:	262e 000c      	movel %fp@(12),%d3                          <== NOT EXECUTED
   5898c:	780a           	moveq #10,%d4                               <== NOT EXECUTED
   5898e:	e8a3           	asrl %d4,%d3                                <== NOT EXECUTED
    offset = rtems_rfs_bitmap_map_offset (bit);                       
   58990:	183c 001f      	moveb #31,%d4                               <== NOT EXECUTED
   58994:	c484           	andl %d4,%d2                                <== NOT EXECUTED
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);
    control->free--;                                                  
    rtems_rfs_buffer_mark_dirty (control->buffer);                    
   58996:	2052           	moveal %a2@,%a0                             <== NOT EXECUTED
  if (rtems_rfs_bitmap_match(map[index], RTEMS_RFS_BITMAP_ELEMENT_SET))
  {                                                                   
    bit = index;                                                      
    index  = rtems_rfs_bitmap_map_index (bit);                        
    offset = rtems_rfs_bitmap_map_offset (bit);                       
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);
   58998:	e5a9           	lsll %d2,%d1                                <== NOT EXECUTED
 */                                                                   
static rtems_rfs_bitmap_element                                       
rtems_rfs_bitmap_set (rtems_rfs_bitmap_element target,                
                      rtems_rfs_bitmap_element bits)                  
{                                                                     
  return RTEMS_RFS_BITMAP_SET_BITS (target, bits);                    
   5899a:	4681           	notl %d1                                    <== NOT EXECUTED
   5899c:	c3b1 3c00      	andl %d1,%a1@(00000000,%d3:l:4)             <== NOT EXECUTED
  {                                                                   
    bit = index;                                                      
    index  = rtems_rfs_bitmap_map_index (bit);                        
    offset = rtems_rfs_bitmap_map_offset (bit);                       
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);
    control->free--;                                                  
   589a0:	53aa 0010      	subql #1,%a2@(16)                           <== NOT EXECUTED
    rtems_rfs_buffer_mark_dirty (control->buffer);                    
  }                                                                   
  return 0;                                                           
}                                                                     
   589a4:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                <== NOT EXECUTED
    bit = index;                                                      
    index  = rtems_rfs_bitmap_map_index (bit);                        
    offset = rtems_rfs_bitmap_map_offset (bit);                       
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);
    control->free--;                                                  
    rtems_rfs_buffer_mark_dirty (control->buffer);                    
   589aa:	10bc 0001      	moveb #1,%a0@                               <== NOT EXECUTED
  }                                                                   
  return 0;                                                           
}                                                                     
   589ae:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   589b0:	4e75           	rts                                         <== NOT EXECUTED
    offset = rtems_rfs_bitmap_map_offset (bit);                       
    search_map[index] = rtems_rfs_bitmap_set (search_map[index], 1 << offset);
    control->free--;                                                  
    rtems_rfs_buffer_mark_dirty (control->buffer);                    
  }                                                                   
  return 0;                                                           
   589b2:	4280           	clrl %d0                                    
}                                                                     
   589b4:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                
   589ba:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058aa8 <rtems_rfs_bitmap_map_set_all>: int rtems_rfs_bitmap_map_set_all (rtems_rfs_bitmap_control* control) {
   58aa8:	4e56 fffc      	linkw %fp,#-4                               <== NOT EXECUTED
   58aac:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58aae:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
   58ab2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  rtems_rfs_bitmap_map map;                                           
  size_t               elements;                                      
  int                  e;                                             
  int                  rc;                                            
                                                                      
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   58ab4:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   58ab8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58aba:	4eba fbcc      	jsr %pc@(58688 <rtems_rfs_bitmap_load_map>) <== NOT EXECUTED
  if (rc > 0)                                                         
   58abe:	508f           	addql #8,%sp                                <== NOT EXECUTED
   58ac0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58ac2:	6f0c           	bles 58ad0 <rtems_rfs_bitmap_map_set_all+0x28><== NOT EXECUTED
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;           
                                                                      
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
                                                                      
  return 0;                                                           
}                                                                     
   58ac4:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   58ac8:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   58acc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58ace:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  elements = rtems_rfs_bitmap_elements (control->size);               
   58ad0:	242a 000c      	movel %a2@(12),%d2                          <== NOT EXECUTED
   58ad4:	5382           	subql #1,%d2                                <== NOT EXECUTED
   58ad6:	ea8a           	lsrl #5,%d2                                 <== NOT EXECUTED
  *state = rtems_rfs_bitmap_test (map[index], bit);                   
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_bitmap_map_set_all (rtems_rfs_bitmap_control* control)      
   58ad8:	2242           	moveal %d2,%a1                              <== NOT EXECUTED
   58ada:	5289           	addql #1,%a1                                <== NOT EXECUTED
                                                                      
  elements = rtems_rfs_bitmap_elements (control->size);               
                                                                      
  control->free = 0;                                                  
                                                                      
  for (e = 0; e < elements; e++)                                      
   58adc:	4281           	clrl %d1                                    <== NOT EXECUTED
   58ade:	4280           	clrl %d0                                    <== NOT EXECUTED
   58ae0:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  elements = rtems_rfs_bitmap_elements (control->size);               
                                                                      
  control->free = 0;                                                  
   58ae4:	42aa 0010      	clrl %a2@(16)                               <== NOT EXECUTED
                                                                      
  for (e = 0; e < elements; e++)                                      
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;                            
   58ae8:	42b0 1c00      	clrl %a0@(00000000,%d1:l:4)                 <== NOT EXECUTED
                                                                      
  elements = rtems_rfs_bitmap_elements (control->size);               
                                                                      
  control->free = 0;                                                  
                                                                      
  for (e = 0; e < elements; e++)                                      
   58aec:	5280           	addql #1,%d0                                <== NOT EXECUTED
   58aee:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   58af0:	b3c0           	cmpal %d0,%a1                               <== NOT EXECUTED
   58af2:	66f4           	bnes 58ae8 <rtems_rfs_bitmap_map_set_all+0x40><== NOT EXECUTED
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;                            
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
   58af4:	ea8a           	lsrl #5,%d2                                 <== NOT EXECUTED
  *state = rtems_rfs_bitmap_test (map[index], bit);                   
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_bitmap_map_set_all (rtems_rfs_bitmap_control* control)      
   58af6:	2242           	moveal %d2,%a1                              <== NOT EXECUTED
   58af8:	5289           	addql #1,%a1                                <== NOT EXECUTED
  for (e = 0; e < elements; e++)                                      
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;                            
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
                                                                      
  for (e = 0; e < elements; e++)                                      
   58afa:	4281           	clrl %d1                                    <== NOT EXECUTED
   58afc:	4280           	clrl %d0                                    <== NOT EXECUTED
   58afe:	206a 0014      	moveal %a2@(20),%a0                         <== NOT EXECUTED
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;           
   58b02:	42b0 1c00      	clrl %a0@(00000000,%d1:l:4)                 <== NOT EXECUTED
  for (e = 0; e < elements; e++)                                      
    map[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;                            
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
                                                                      
  for (e = 0; e < elements; e++)                                      
   58b06:	5280           	addql #1,%d0                                <== NOT EXECUTED
   58b08:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   58b0a:	b3c0           	cmpal %d0,%a1                               <== NOT EXECUTED
   58b0c:	66f4           	bnes 58b02 <rtems_rfs_bitmap_map_set_all+0x5a><== NOT EXECUTED
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;           
                                                                      
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
   58b0e:	2052           	moveal %a2@,%a0                             <== NOT EXECUTED
                                                                      
  return 0;                                                           
   58b10:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   58b12:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   58b16:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   58b1a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  elements = rtems_rfs_bitmap_elements (elements);                    
                                                                      
  for (e = 0; e < elements; e++)                                      
    control->search_bits[e] = RTEMS_RFS_BITMAP_ELEMENT_SET;           
                                                                      
  rtems_rfs_buffer_mark_dirty (control->buffer);                      
   58b1c:	10bc 0001      	moveb #1,%a0@                               <== NOT EXECUTED
                                                                      
  return 0;                                                           
}                                                                     
                                                                      

00058a42 <rtems_rfs_bitmap_map_test>: int rtems_rfs_bitmap_map_test (rtems_rfs_bitmap_control* control, rtems_rfs_bitmap_bit bit, bool* state) {
   58a42:	4e56 fff0      	linkw %fp,#-16                              <== NOT EXECUTED
   58a46:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     <== NOT EXECUTED
  rtems_rfs_bitmap_map map;                                           
  int                  index;                                         
  int                  rc;                                            
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   58a4a:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_bitmap_map_test (rtems_rfs_bitmap_control* control,         
                           rtems_rfs_bitmap_bit      bit,             
                           bool*                     state)           
{                                                                     
   58a4e:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  rtems_rfs_bitmap_map map;                                           
  int                  index;                                         
  int                  rc;                                            
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   58a52:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58a54:	4eba fc32      	jsr %pc@(58688 <rtems_rfs_bitmap_load_map>) <== NOT EXECUTED
  if (rc > 0)                                                         
   58a58:	508f           	addql #8,%sp                                <== NOT EXECUTED
   58a5a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58a5c:	6f0a           	bles 58a68 <rtems_rfs_bitmap_map_test+0x26> <== NOT EXECUTED
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  index = rtems_rfs_bitmap_map_index (bit);                           
  *state = rtems_rfs_bitmap_test (map[index], bit);                   
  return 0;                                                           
}                                                                     
   58a5e:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                <== NOT EXECUTED
   58a64:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58a66:	4e75           	rts                                         <== NOT EXECUTED
  int                  index;                                         
  int                  rc;                                            
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
   58a68:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
   58a6c:	b0aa 000c      	cmpl %a2@(12),%d0                           <== NOT EXECUTED
   58a70:	650c           	bcss 58a7e <rtems_rfs_bitmap_map_test+0x3c> <== NOT EXECUTED
    return EINVAL;                                                    
   58a72:	7016           	moveq #22,%d0                               <== NOT EXECUTED
  index = rtems_rfs_bitmap_map_index (bit);                           
  *state = rtems_rfs_bitmap_test (map[index], bit);                   
  return 0;                                                           
}                                                                     
   58a74:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                <== NOT EXECUTED
   58a7a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58a7c:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58a7e:	262e 000c      	movel %fp@(12),%d3                          <== NOT EXECUTED
   58a82:	7201           	moveq #1,%d1                                <== NOT EXECUTED
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  index = rtems_rfs_bitmap_map_index (bit);                           
   58a84:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   58a86:	ea82           	asrl #5,%d2                                 <== NOT EXECUTED
  *state = rtems_rfs_bitmap_test (map[index], bit);                   
  return 0;                                                           
   58a88:	4280           	clrl %d0                                    <== NOT EXECUTED
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58a8a:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
   58a8e:	e7a9           	lsll %d3,%d1                                <== NOT EXECUTED
   58a90:	c2b0 2c00      	andl %a0@(00000000,%d2:l:4),%d1             <== NOT EXECUTED
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  index = rtems_rfs_bitmap_map_index (bit);                           
  *state = rtems_rfs_bitmap_test (map[index], bit);                   
   58a94:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58a98:	57c1           	seq %d1                                     <== NOT EXECUTED
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  index = rtems_rfs_bitmap_map_index (bit);                           
  *state = rtems_rfs_bitmap_test (map[index], bit);                   
  return 0;                                                           
}                                                                     
   58a9a:	4cee 040c fff0 	moveml %fp@(-16),%d2-%d3/%a2                <== NOT EXECUTED
   58aa0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58aa2:	4481           	negl %d1                                    <== NOT EXECUTED
  if (rc > 0)                                                         
    return rc;                                                        
  if (bit >= control->size)                                           
    return EINVAL;                                                    
  index = rtems_rfs_bitmap_map_index (bit);                           
  *state = rtems_rfs_bitmap_test (map[index], bit);                   
   58aa4:	1081           	moveb %d1,%a0@                              <== NOT EXECUTED
  return 0;                                                           
}                                                                     
                                                                      

000588e6 <rtems_rfs_bitmap_mask>: rtems_rfs_bitmap_element rtems_rfs_bitmap_mask (unsigned int size) { rtems_rfs_bitmap_element mask = RTEMS_RFS_BITMAP_ELEMENT_FULL_MASK; mask >>= (rtems_rfs_bitmap_element_bits () - size);
   588e6:	7220           	moveq #32,%d1                               <== NOT EXECUTED
   588e8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  return 0;                                                           
}                                                                     
                                                                      
rtems_rfs_bitmap_element                                              
rtems_rfs_bitmap_mask (unsigned int size)                             
{                                                                     
   588ea:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  rtems_rfs_bitmap_element mask = RTEMS_RFS_BITMAP_ELEMENT_FULL_MASK; 
  mask >>= (rtems_rfs_bitmap_element_bits () - size);                 
   588ee:	92ae 0008      	subl %fp@(8),%d1                            <== NOT EXECUTED
  return mask;                                                        
}                                                                     
   588f2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   588f4:	e2a8           	lsrl %d1,%d0                                <== NOT EXECUTED
                                                                      

000588f8 <rtems_rfs_bitmap_mask_section>: rtems_rfs_bitmap_element rtems_rfs_bitmap_mask_section (unsigned int start, unsigned int end) {
   588f8:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   588fc:	222e 0008      	movel %fp@(8),%d1                           <== NOT EXECUTED
   58900:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
   58904:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  rtems_rfs_bitmap_element mask = 0;                                  
  if (end > start)                                                    
   58906:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   58908:	6412           	bccs 5891c <rtems_rfs_bitmap_mask_section+0x24><== NOT EXECUTED
    mask = rtems_rfs_bitmap_mask (end - start) << start;              
   5890a:	9081           	subl %d1,%d0                                <== NOT EXECUTED
                                                                      
rtems_rfs_bitmap_element                                              
rtems_rfs_bitmap_mask (unsigned int size)                             
{                                                                     
  rtems_rfs_bitmap_element mask = RTEMS_RFS_BITMAP_ELEMENT_FULL_MASK; 
  mask >>= (rtems_rfs_bitmap_element_bits () - size);                 
   5890c:	7420           	moveq #32,%d2                               <== NOT EXECUTED
   5890e:	9480           	subl %d0,%d2                                <== NOT EXECUTED
   58910:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   58912:	e4a8           	lsrl %d2,%d0                                <== NOT EXECUTED
{                                                                     
  rtems_rfs_bitmap_element mask = 0;                                  
  if (end > start)                                                    
    mask = rtems_rfs_bitmap_mask (end - start) << start;              
  return mask;                                                        
}                                                                     
   58914:	241f           	movel %sp@+,%d2                             <== NOT EXECUTED
   58916:	4e5e           	unlk %fp                                    <== NOT EXECUTED
rtems_rfs_bitmap_element                                              
rtems_rfs_bitmap_mask_section (unsigned int start, unsigned int end)  
{                                                                     
  rtems_rfs_bitmap_element mask = 0;                                  
  if (end > start)                                                    
    mask = rtems_rfs_bitmap_mask (end - start) << start;              
   58918:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
  return mask;                                                        
}                                                                     
   5891a:	4e75           	rts                                         <== NOT EXECUTED
   5891c:	241f           	movel %sp@+,%d2                             <== NOT EXECUTED
}                                                                     
                                                                      
rtems_rfs_bitmap_element                                              
rtems_rfs_bitmap_mask_section (unsigned int start, unsigned int end)  
{                                                                     
  rtems_rfs_bitmap_element mask = 0;                                  
   5891e:	4280           	clrl %d0                                    <== NOT EXECUTED
  if (end > start)                                                    
    mask = rtems_rfs_bitmap_mask (end - start) << start;              
  return mask;                                                        
}                                                                     
   58920:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058cfc <rtems_rfs_bitmap_open>: rtems_rfs_bitmap_open (rtems_rfs_bitmap_control* control, rtems_rfs_file_system* fs, rtems_rfs_buffer_handle* buffer, size_t size, rtems_rfs_buffer_block block) {
   58cfc:	4e56 0000      	linkw %fp,#0                                
   58d00:	222e 0014      	movel %fp@(20),%d1                          
  size_t elements = rtems_rfs_bitmap_elements (size);                 
   58d04:	2001           	movel %d1,%d0                               
   58d06:	5380           	subql #1,%d0                                
rtems_rfs_bitmap_open (rtems_rfs_bitmap_control* control,             
                       rtems_rfs_file_system*    fs,                  
                       rtems_rfs_buffer_handle*  buffer,              
                       size_t                    size,                
                       rtems_rfs_buffer_block    block)               
{                                                                     
   58d08:	2f0a           	movel %a2,%sp@-                             
   58d0a:	246e 0008      	moveal %fp@(8),%a2                          
   58d0e:	2f02           	movel %d2,%sp@-                             
  control->buffer = buffer;                                           
  control->fs = fs;                                                   
  control->block = block;                                             
  control->size = size;                                               
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
   58d10:	740a           	moveq #10,%d2                               
   58d12:	e4a8           	lsrl %d2,%d0                                
  control->search_bits = malloc (elements * sizeof (rtems_rfs_bitmap_element));
   58d14:	e588           	lsll #2,%d0                                 
   58d16:	2040           	moveal %d0,%a0                              
   58d18:	4868 0004      	pea %a0@(4)                                 
                       size_t                    size,                
                       rtems_rfs_buffer_block    block)               
{                                                                     
  size_t elements = rtems_rfs_bitmap_elements (size);                 
                                                                      
  control->buffer = buffer;                                           
   58d1c:	24ae 0010      	movel %fp@(16),%a2@                         
  control->fs = fs;                                                   
   58d20:	256e 000c 0004 	movel %fp@(12),%a2@(4)                      
  control->block = block;                                             
   58d26:	256e 0018 0008 	movel %fp@(24),%a2@(8)                      
  control->size = size;                                               
   58d2c:	2541 000c      	movel %d1,%a2@(12)                          
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
  control->search_bits = malloc (elements * sizeof (rtems_rfs_bitmap_element));
   58d30:	4eb9 0004 794c 	jsr 4794c <malloc>                          
                                                                      
  if (!control->search_bits)                                          
   58d36:	588f           	addql #4,%sp                                
  control->fs = fs;                                                   
  control->block = block;                                             
  control->size = size;                                               
                                                                      
  elements = rtems_rfs_bitmap_elements (elements);                    
  control->search_bits = malloc (elements * sizeof (rtems_rfs_bitmap_element));
   58d38:	2540 0014      	movel %d0,%a2@(20)                          
                                                                      
  if (!control->search_bits)                                          
   58d3c:	6714           	beqs 58d52 <rtems_rfs_bitmap_open+0x56>     <== NEVER TAKEN
    return ENOMEM;                                                    
                                                                      
  return rtems_rfs_bitmap_create_search (control);                    
   58d3e:	2d4a 0008      	movel %a2,%fp@(8)                           
}                                                                     
   58d42:	242e fff8      	movel %fp@(-8),%d2                          
   58d46:	246e fffc      	moveal %fp@(-4),%a2                         
   58d4a:	4e5e           	unlk %fp                                    
  control->search_bits = malloc (elements * sizeof (rtems_rfs_bitmap_element));
                                                                      
  if (!control->search_bits)                                          
    return ENOMEM;                                                    
                                                                      
  return rtems_rfs_bitmap_create_search (control);                    
   58d4c:	4ef9 0005 8c52 	jmp 58c52 <rtems_rfs_bitmap_create_search>  
}                                                                     
   58d52:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   58d56:	700c           	moveq #12,%d0                               <== NOT EXECUTED
   58d58:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   58d5c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058ee0 <rtems_rfs_block_find_indirect>: rtems_rfs_block_find_indirect (rtems_rfs_file_system* fs, rtems_rfs_buffer_handle* buffer, rtems_rfs_block_no block, int offset, rtems_rfs_block_no* result) {
   58ee0:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   58ee4:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 <== NOT EXECUTED
                                                                      
  /*                                                                  
   * If the handle has a buffer and this request is a different block the current
   * buffer is released.                                              
   */                                                                 
  rc = rtems_rfs_buffer_handle_request (fs, buffer, block, true);     
   58ee8:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   58eec:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
rtems_rfs_block_find_indirect (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* buffer,       
                               rtems_rfs_block_no       block,        
                               int                      offset,       
                               rtems_rfs_block_no*      result)       
{                                                                     
   58ef0:	266e 000c      	moveal %fp@(12),%a3                         <== NOT EXECUTED
   58ef4:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
                                                                      
  /*                                                                  
   * If the handle has a buffer and this request is a different block the current
   * buffer is released.                                              
   */                                                                 
  rc = rtems_rfs_buffer_handle_request (fs, buffer, block, true);     
   58ef8:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   58efa:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58efc:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
  if (rc > 0)                                                         
   58f02:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   58f06:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58f08:	6f0a           	bles 58f14 <rtems_rfs_block_find_indirect+0x34><== NOT EXECUTED
    *result = 0;                                                      
    rc = EIO;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   58f0a:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   58f10:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58f12:	4e75           	rts                                         <== NOT EXECUTED
   */                                                                 
  rc = rtems_rfs_buffer_handle_request (fs, buffer, block, true);     
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  *result = rtems_rfs_block_get_number (buffer, offset);              
   58f14:	222e 0014      	movel %fp@(20),%d1                          <== NOT EXECUTED
   58f18:	4283           	clrl %d3                                    <== NOT EXECUTED
   58f1a:	4280           	clrl %d0                                    <== NOT EXECUTED
   58f1c:	4282           	clrl %d2                                    <== NOT EXECUTED
   58f1e:	7818           	moveq #24,%d4                               <== NOT EXECUTED
   58f20:	206b 0006      	moveal %a3@(6),%a0                          <== NOT EXECUTED
   58f24:	e589           	lsll #2,%d1                                 <== NOT EXECUTED
   58f26:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   58f2a:	1630 1800      	moveb %a0@(00000000,%d1:l),%d3              <== NOT EXECUTED
   58f2e:	1030 1803      	moveb %a0@(00000003,%d1:l),%d0              <== NOT EXECUTED
   58f32:	1430 1801      	moveb %a0@(00000001,%d1:l),%d2              <== NOT EXECUTED
   58f36:	1230 1802      	moveb %a0@(00000002,%d1:l),%d1              <== NOT EXECUTED
   58f3a:	e9ab           	lsll %d4,%d3                                <== NOT EXECUTED
   58f3c:	4842           	swap %d2                                    <== NOT EXECUTED
   58f3e:	4242           	clrw %d2                                    <== NOT EXECUTED
   58f40:	0281 0000 00ff 	andil #255,%d1                              <== NOT EXECUTED
   58f46:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
  if ((*result + 1) == 0)                                             
    *result = 0;                                                      
   58f48:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
   */                                                                 
  rc = rtems_rfs_buffer_handle_request (fs, buffer, block, true);     
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  *result = rtems_rfs_block_get_number (buffer, offset);              
   58f4c:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   58f4e:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   58f50:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  if ((*result + 1) == 0)                                             
   58f52:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   58f54:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   58f56:	6738           	beqs 58f90 <rtems_rfs_block_find_indirect+0xb0><== NOT EXECUTED
   */                                                                 
  rc = rtems_rfs_buffer_handle_request (fs, buffer, block, true);     
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  *result = rtems_rfs_block_get_number (buffer, offset);              
   58f58:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
  if ((*result + 1) == 0)                                             
    *result = 0;                                                      
                                                                      
  if (*result >= rtems_rfs_fs_blocks (fs))                            
   58f5a:	b0aa 0004      	cmpl %a2@(4),%d0                            <== NOT EXECUTED
   58f5e:	640c           	bccs 58f6c <rtems_rfs_block_find_indirect+0x8c><== NOT EXECUTED
   58f60:	4280           	clrl %d0                                    <== NOT EXECUTED
    *result = 0;                                                      
    rc = EIO;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   58f62:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   58f68:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58f6a:	4e75           	rts                                         <== NOT EXECUTED
  if ((*result + 1) == 0)                                             
    *result = 0;                                                      
                                                                      
  if (*result >= rtems_rfs_fs_blocks (fs))                            
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_FIND))                 
   58f6c:	4878 1000      	pea 1000 <D_MAX_EXP+0x801>                  <== NOT EXECUTED
   58f70:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   58f72:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   58f78:	508f           	addql #8,%sp                                <== NOT EXECUTED
   58f7a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   58f7c:	6618           	bnes 58f96 <rtems_rfs_block_find_indirect+0xb6><== NOT EXECUTED
      printf ("rtems-rfs: block-find: invalid block in table:"        
              " block=%" PRId32 ", indirect=%" PRId32 "/%d\n", *result, block, offset);
    *result = 0;                                                      
   58f7e:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
   58f82:	4280           	clrl %d0                                    <== NOT EXECUTED
   58f84:	4290           	clrl %a0@                                   <== NOT EXECUTED
    rc = EIO;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   58f86:	4cee 0c1c ffec 	moveml %fp@(-20),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   58f8c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58f8e:	4e75           	rts                                         <== NOT EXECUTED
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  *result = rtems_rfs_block_get_number (buffer, offset);              
  if ((*result + 1) == 0)                                             
    *result = 0;                                                      
   58f90:	4290           	clrl %a0@                                   <== NOT EXECUTED
   58f92:	4280           	clrl %d0                                    <== NOT EXECUTED
   58f94:	60c4           	bras 58f5a <rtems_rfs_block_find_indirect+0x7a><== NOT EXECUTED
                                                                      
  if (*result >= rtems_rfs_fs_blocks (fs))                            
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_FIND))                 
      printf ("rtems-rfs: block-find: invalid block in table:"        
   58f96:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   58f9a:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
   58f9e:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   58fa2:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   58fa4:	4879 0007 2108 	pea 72108 <CSWTCH.2+0x40>                   <== NOT EXECUTED
   58faa:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
              " block=%" PRId32 ", indirect=%" PRId32 "/%d\n", *result, block, offset);
    *result = 0;                                                      
   58fb0:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
    *result = 0;                                                      
                                                                      
  if (*result >= rtems_rfs_fs_blocks (fs))                            
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_FIND))                 
      printf ("rtems-rfs: block-find: invalid block in table:"        
   58fb4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              " block=%" PRId32 ", indirect=%" PRId32 "/%d\n", *result, block, offset);
    *result = 0;                                                      
   58fb8:	4280           	clrl %d0                                    <== NOT EXECUTED
   58fba:	4290           	clrl %a0@                                   <== NOT EXECUTED
   58fbc:	60c8           	bras 58f86 <rtems_rfs_block_find_indirect+0xa6><== NOT EXECUTED
                                                                      

00059112 <rtems_rfs_block_get_block_size>: void rtems_rfs_block_get_block_size (rtems_rfs_file_system* fs, rtems_rfs_pos pos, rtems_rfs_block_size* size) {
   59112:	4e56 fff4      	linkw %fp,#-12                              <== NOT EXECUTED
   59116:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     <== NOT EXECUTED
   5911a:	246e 0014      	moveal %fp@(20),%a2                         <== NOT EXECUTED
  if (pos == 0)                                                       
   5911e:	202e 000c      	movel %fp@(12),%d0                          <== NOT EXECUTED
   59122:	80ae 0010      	orl %fp@(16),%d0                            <== NOT EXECUTED
   59126:	6748           	beqs 59170 <rtems_rfs_block_get_block_size+0x5e><== NOT EXECUTED
    rtems_rfs_block_set_size_zero (size);                             
  else                                                                
  {                                                                   
    size->count  = pos / rtems_rfs_fs_block_size (fs) + 1;            
   59128:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5912c:	4282           	clrl %d2                                    <== NOT EXECUTED
   5912e:	2628 0008      	movel %a0@(8),%d3                           <== NOT EXECUTED
   59132:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   59134:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   59136:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5913a:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5913e:	4eb9 0006 dfc8 	jsr 6dfc8 <__udivdi3>                       <== NOT EXECUTED
   59144:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   59148:	5281           	addql #1,%d1                                <== NOT EXECUTED
   5914a:	2481           	movel %d1,%a2@                              <== NOT EXECUTED
    size->offset = pos % rtems_rfs_fs_block_size (fs);                
   5914c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5914e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   59150:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   59154:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   59158:	4eb9 0006 e3cc 	jsr 6e3cc <__umoddi3>                       <== NOT EXECUTED
   5915e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   59162:	2541 0004      	movel %d1,%a2@(4)                           <== NOT EXECUTED
  }                                                                   
}                                                                     
   59166:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   5916c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5916e:	4e75           	rts                                         <== NOT EXECUTED
 * @param size A pointer to the block size.                           
 */                                                                   
static inline void                                                    
rtems_rfs_block_set_size_zero (rtems_rfs_block_size* size)            
{                                                                     
  size->count = 0;                                                    
   59170:	4292           	clrl %a2@                                   <== NOT EXECUTED
  size->offset = 0;                                                   
   59172:	42aa 0004      	clrl %a2@(4)                                <== NOT EXECUTED
   59176:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   5917c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000590a2 <rtems_rfs_block_get_bpos>: void rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs, rtems_rfs_pos pos, rtems_rfs_block_pos* bpos) {
   590a2:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   590a6:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   590aa:	48d7 043c      	moveml %d2-%d5/%a2,%sp@                     <== NOT EXECUTED
  bpos->bno  = pos / rtems_rfs_fs_block_size (fs);                    
   590ae:	2628 0008      	movel %a0@(8),%d3                           <== NOT EXECUTED
   590b2:	4282           	clrl %d2                                    <== NOT EXECUTED
   590b4:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
                                                                      
void                                                                  
rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs,                  
                          rtems_rfs_pos          pos,                 
                          rtems_rfs_block_pos*   bpos)                
{                                                                     
   590b6:	246e 0014      	moveal %fp@(20),%a2                         <== NOT EXECUTED
   590ba:	282e 000c      	movel %fp@(12),%d4                          <== NOT EXECUTED
   590be:	2a2e 0010      	movel %fp@(16),%d5                          <== NOT EXECUTED
  bpos->bno  = pos / rtems_rfs_fs_block_size (fs);                    
   590c2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   590c4:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   590c6:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   590c8:	4eb9 0006 dfc8 	jsr 6dfc8 <__udivdi3>                       <== NOT EXECUTED
  bpos->boff = pos % rtems_rfs_fs_block_size (fs);                    
   590ce:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   590d2:	2e83           	movel %d3,%sp@                              <== NOT EXECUTED
   590d4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
void                                                                  
rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs,                  
                          rtems_rfs_pos          pos,                 
                          rtems_rfs_block_pos*   bpos)                
{                                                                     
  bpos->bno  = pos / rtems_rfs_fs_block_size (fs);                    
   590d6:	2481           	movel %d1,%a2@                              <== NOT EXECUTED
  bpos->boff = pos % rtems_rfs_fs_block_size (fs);                    
   590d8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   590da:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   590dc:	4eb9 0006 e3cc 	jsr 6e3cc <__umoddi3>                       <== NOT EXECUTED
   590e2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   590e6:	2541 0004      	movel %d1,%a2@(4)                           <== NOT EXECUTED
}                                                                     
   590ea:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                <== NOT EXECUTED
   590f0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000590f4 <rtems_rfs_block_get_pos>: rtems_rfs_pos rtems_rfs_block_get_pos (rtems_rfs_file_system* fs, rtems_rfs_block_pos* bpos) { return (bpos->bno * rtems_rfs_fs_block_size (fs)) + bpos->boff; }
   590f4:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
                                                                      
rtems_rfs_pos                                                         
rtems_rfs_block_get_pos (rtems_rfs_file_system* fs,                   
                         rtems_rfs_block_pos*   bpos)                 
{                                                                     
   590f6:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   590fa:	226e 0008      	moveal %fp@(8),%a1                          <== NOT EXECUTED
   590fe:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
  return (bpos->bno * rtems_rfs_fs_block_size (fs)) + bpos->boff;     
}                                                                     
   59102:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      
rtems_rfs_pos                                                         
rtems_rfs_block_get_pos (rtems_rfs_file_system* fs,                   
                         rtems_rfs_block_pos*   bpos)                 
{                                                                     
  return (bpos->bno * rtems_rfs_fs_block_size (fs)) + bpos->boff;     
   59104:	2229 0008      	movel %a1@(8),%d1                           <== NOT EXECUTED
   59108:	4c10 1800      	mulsl %a0@,%d1                              <== NOT EXECUTED
}                                                                     
   5910c:	d2a8 0004      	addl %a0@(4),%d1                            <== NOT EXECUTED
                                                                      

00059180 <rtems_rfs_block_get_size>: rtems_rfs_pos rtems_rfs_block_get_size (rtems_rfs_file_system* fs, rtems_rfs_block_size* size) {
   59180:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   59184:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   59188:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
  uint32_t offset;                                                    
  uint64_t block_size;                                                
  if (size->count == 0)                                               
   5918a:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
}                                                                     
                                                                      
rtems_rfs_pos                                                         
rtems_rfs_block_get_size (rtems_rfs_file_system* fs,                  
                          rtems_rfs_block_size*  size)                
{                                                                     
   5918c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  uint32_t offset;                                                    
  uint64_t block_size;                                                
  if (size->count == 0)                                               
   5918e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59190:	6762           	beqs 591f4 <rtems_rfs_block_get_size+0x74>  <== NOT EXECUTED
    return 0;                                                         
  if (size->offset == 0)                                              
   59192:	2228 0004      	movel %a0@(4),%d1                           <== NOT EXECUTED
   59196:	6636           	bnes 591ce <rtems_rfs_block_get_size+0x4e>  <== NOT EXECUTED
    offset = rtems_rfs_fs_block_size (fs);                            
   59198:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  else                                                                
    offset = size->offset;                                            
  block_size = rtems_rfs_fs_block_size (fs);                          
  return (((uint64_t) (size->count - 1)) * block_size) + offset;      
   5919c:	5380           	subql #1,%d0                                <== NOT EXECUTED
   5919e:	4282           	clrl %d2                                    <== NOT EXECUTED
  uint32_t offset;                                                    
  uint64_t block_size;                                                
  if (size->count == 0)                                               
    return 0;                                                         
  if (size->offset == 0)                                              
    offset = rtems_rfs_fs_block_size (fs);                            
   591a0:	2228 0008      	movel %a0@(8),%d1                           <== NOT EXECUTED
   591a4:	2041           	moveal %d1,%a0                              <== NOT EXECUTED
  else                                                                
    offset = size->offset;                                            
  block_size = rtems_rfs_fs_block_size (fs);                          
  return (((uint64_t) (size->count - 1)) * block_size) + offset;      
   591a6:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   591a8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   591aa:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   591ac:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   591ae:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   591b0:	4eb9 0006 d714 	jsr 6d714 <__muldi3>                        <== NOT EXECUTED
   591b6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   591ba:	d681           	addl %d1,%d3                                <== NOT EXECUTED
   591bc:	d580           	addxl %d0,%d2                               <== NOT EXECUTED
}                                                                     
   591be:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   591c0:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   591c2:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   591c6:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
   591ca:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   591cc:	4e75           	rts                                         <== NOT EXECUTED
   591ce:	226e 0008      	moveal %fp@(8),%a1                          <== NOT EXECUTED
  if (size->offset == 0)                                              
    offset = rtems_rfs_fs_block_size (fs);                            
  else                                                                
    offset = size->offset;                                            
  block_size = rtems_rfs_fs_block_size (fs);                          
  return (((uint64_t) (size->count - 1)) * block_size) + offset;      
   591d2:	5380           	subql #1,%d0                                <== NOT EXECUTED
   591d4:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   591d6:	4282           	clrl %d2                                    <== NOT EXECUTED
   591d8:	2069 0008      	moveal %a1@(8),%a0                          <== NOT EXECUTED
   591dc:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   591de:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   591e0:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   591e2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   591e4:	4eb9 0006 d714 	jsr 6d714 <__muldi3>                        <== NOT EXECUTED
   591ea:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   591ee:	d681           	addl %d1,%d3                                <== NOT EXECUTED
   591f0:	d580           	addxl %d0,%d2                               <== NOT EXECUTED
   591f2:	60ca           	bras 591be <rtems_rfs_block_get_size+0x3e>  <== NOT EXECUTED
                          rtems_rfs_block_size*  size)                
{                                                                     
  uint32_t offset;                                                    
  uint64_t block_size;                                                
  if (size->count == 0)                                               
    return 0;                                                         
   591f4:	4282           	clrl %d2                                    <== NOT EXECUTED
   591f6:	4283           	clrl %d3                                    <== NOT EXECUTED
    offset = rtems_rfs_fs_block_size (fs);                            
  else                                                                
    offset = size->offset;                                            
  block_size = rtems_rfs_fs_block_size (fs);                          
  return (((uint64_t) (size->count - 1)) * block_size) + offset;      
}                                                                     
   591f8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   591fa:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   591fc:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   59200:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
   59204:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00059394 <rtems_rfs_block_map_close>: int rtems_rfs_block_map_close (rtems_rfs_file_system* fs, rtems_rfs_block_map* map) {
   59394:	4e56 ffe8      	linkw %fp,#-24                              
   59398:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
   5939c:	242e 0008      	movel %fp@(8),%d2                           
   593a0:	246e 000c      	moveal %fp@(12),%a2                         
  int rc = 0;                                                         
  int brc;                                                            
                                                                      
  if (map->dirty && map->inode)                                       
   593a4:	4a12           	tstb %a2@                                   
   593a6:	675c           	beqs 59404 <rtems_rfs_block_map_close+0x70> <== NEVER TAKEN
   593a8:	202a 0002      	movel %a2@(2),%d0                           
   593ac:	6756           	beqs 59404 <rtems_rfs_block_map_close+0x70> <== NEVER TAKEN
  {                                                                   
    brc = rtems_rfs_inode_load (fs, map->inode);                      
   593ae:	2f00           	movel %d0,%sp@-                             
   593b0:	2f02           	movel %d2,%sp@-                             
   593b2:	4eb9 0005 11fc 	jsr 511fc <rtems_rfs_inode_load>            
    if (brc > 0)                                                      
   593b8:	508f           	addql #8,%sp                                
   593ba:	4a80           	tstl %d0                                    
   593bc:	6f00 008a      	blew 59448 <rtems_rfs_block_map_close+0xb4> 
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   593c0:	486a 0036      	pea %a2@(54)                                <== NOT EXECUTED
   593c4:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   593c6:	47f9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a3<== NOT EXECUTED
   593cc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
                                                                      
      map->dirty = false;                                             
    }                                                                 
  }                                                                   
                                                                      
  map->inode = NULL;                                                  
   593ce:	42aa 0002      	clrl %a2@(2)                                <== NOT EXECUTED
   593d2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   593d4:	486a 0040      	pea %a2@(64)                                <== NOT EXECUTED
  handle->dirty = false;                                              
   593d8:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   593da:	42aa 0038      	clrl %a2@(56)                               <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   593de:	1540 0036      	moveb %d0,%a2@(54)                          <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   593e2:	42aa 003c      	clrl %a2@(60)                               <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   593e6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   593e8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  handle->dirty = false;                                              
   593ea:	4201           	clrb %d1                                    <== NOT EXECUTED
    rc = brc;                                                         
  brc = rtems_rfs_buffer_handle_close (fs, &map->doubly_buffer);      
  if ((brc > 0) && (rc == 0))                                         
    rc = brc;                                                         
  return rc;                                                          
}                                                                     
   593ec:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   593ee:	1541 0040      	moveb %d1,%a2@(64)                          <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   593f2:	42aa 0042      	clrl %a2@(66)                               <== NOT EXECUTED
  handle->buffer = NULL;                                              
   593f6:	42aa 0046      	clrl %a2@(70)                               <== NOT EXECUTED
   593fa:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   59400:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59402:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   59404:	486a 0036      	pea %a2@(54)                                <== NOT EXECUTED
   59408:	47f9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a3<== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_block_map_close (rtems_rfs_file_system* fs,                 
                           rtems_rfs_block_map*   map)                
{                                                                     
  int rc = 0;                                                         
   5940e:	4283           	clrl %d3                                    <== NOT EXECUTED
   59410:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
                                                                      
      map->dirty = false;                                             
    }                                                                 
  }                                                                   
                                                                      
  map->inode = NULL;                                                  
   59412:	42aa 0002      	clrl %a2@(2)                                <== NOT EXECUTED
   59416:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   59418:	486a 0040      	pea %a2@(64)                                <== NOT EXECUTED
  handle->dirty = false;                                              
   5941c:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5941e:	42aa 0038      	clrl %a2@(56)                               <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   59422:	1540 0036      	moveb %d0,%a2@(54)                          <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   59426:	42aa 003c      	clrl %a2@(60)                               <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5942a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5942c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  handle->dirty = false;                                              
   5942e:	4201           	clrb %d1                                    <== NOT EXECUTED
    rc = brc;                                                         
  brc = rtems_rfs_buffer_handle_close (fs, &map->doubly_buffer);      
  if ((brc > 0) && (rc == 0))                                         
    rc = brc;                                                         
  return rc;                                                          
}                                                                     
   59430:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   59432:	1541 0040      	moveb %d1,%a2@(64)                          <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   59436:	42aa 0042      	clrl %a2@(66)                               <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5943a:	42aa 0046      	clrl %a2@(70)                               <== NOT EXECUTED
   5943e:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   59444:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59446:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
                                                                      
int                                                                   
rtems_rfs_block_map_close (rtems_rfs_file_system* fs,                 
   59448:	47ea 0022      	lea %a2@(34),%a3                            
   5944c:	93c9           	subal %a1,%a1                               
    if (rc == 0)                                                      
    {                                                                 
      int b;                                                          
                                                                      
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                    
        rtems_rfs_inode_set_block (map->inode, b, map->blocks[b]);    
   5944e:	206a 0002      	moveal %a2@(2),%a0                          
 * @param bno The block number.                                       
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block (rtems_rfs_inode_handle* handle, int block, uint32_t bno)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->data.blocks[block], bno);       
   59452:	2009           	movel %a1,%d0                               
   59454:	5e80           	addql #7,%d0                                
   59456:	7618           	moveq #24,%d3                               
                                                                      
    if (rc == 0)                                                      
    {                                                                 
      int b;                                                          
                                                                      
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                    
   59458:	5289           	addql #1,%a1                                
        rtems_rfs_inode_set_block (map->inode, b, map->blocks[b]);    
   5945a:	221b           	movel %a3@+,%d1                             
   5945c:	2801           	movel %d1,%d4                               
   5945e:	e6ac           	lsrl %d3,%d4                                
   59460:	2601           	movel %d1,%d3                               
   59462:	e08b           	lsrl #8,%d3                                 
   59464:	e588           	lsll #2,%d0                                 
   59466:	2868 000c      	moveal %a0@(12),%a4                         
   5946a:	1984 0800      	moveb %d4,%a4@(00000000,%d0:l)              
   5946e:	2801           	movel %d1,%d4                               
   59470:	2868 000c      	moveal %a0@(12),%a4                         
   59474:	4244           	clrw %d4                                    
   59476:	4844           	swap %d4                                    
   59478:	1984 0801      	moveb %d4,%a4@(00000001,%d0:l)              
   5947c:	2868 000c      	moveal %a0@(12),%a4                         
   59480:	1983 0802      	moveb %d3,%a4@(00000002,%d0:l)              
   59484:	2868 000c      	moveal %a0@(12),%a4                         
   59488:	1981 0803      	moveb %d1,%a4@(00000003,%d0:l)              
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5948c:	7001           	moveq #1,%d0                                
                                                                      
    if (rc == 0)                                                      
    {                                                                 
      int b;                                                          
                                                                      
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                    
   5948e:	7205           	moveq #5,%d1                                
   59490:	1140 0010      	moveb %d0,%a0@(16)                          
   59494:	b289           	cmpl %a1,%d1                                
   59496:	66b6           	bnes 5944e <rtems_rfs_block_map_close+0xba> 
        rtems_rfs_inode_set_block (map->inode, b, map->blocks[b]);    
      rtems_rfs_inode_set_block_count (map->inode, map->size.count);  
   59498:	206a 0002      	moveal %a2@(2),%a0                          
 * @param block_count The block count.                                
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block_count (rtems_rfs_inode_handle* handle, uint32_t block_count)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->block_count, block_count);      
   5949c:	123c 0018      	moveb #24,%d1                               
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   594a0:	47f9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a3
   594a6:	202a 0006      	movel %a2@(6),%d0                           
   594aa:	2600           	movel %d0,%d3                               
   594ac:	e2ab           	lsrl %d1,%d3                                
   594ae:	2200           	movel %d0,%d1                               
   594b0:	e089           	lsrl #8,%d1                                 
   594b2:	2268 000c      	moveal %a0@(12),%a1                         
   594b6:	1343 000c      	moveb %d3,%a1@(12)                          
   594ba:	2600           	movel %d0,%d3                               
   594bc:	2268 000c      	moveal %a0@(12),%a1                         
   594c0:	4243           	clrw %d3                                    
   594c2:	4843           	swap %d3                                    
   594c4:	1343 000d      	moveb %d3,%a1@(13)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   594c8:	7601           	moveq #1,%d3                                
 * @param block_count The block count.                                
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block_count (rtems_rfs_inode_handle* handle, uint32_t block_count)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->block_count, block_count);      
   594ca:	2268 000c      	moveal %a0@(12),%a1                         
   594ce:	1341 000e      	moveb %d1,%a1@(14)                          
   594d2:	2268 000c      	moveal %a0@(12),%a1                         
   594d6:	1340 000f      	moveb %d0,%a1@(15)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   594da:	1143 0010      	moveb %d3,%a0@(16)                          
int                                                                   
rtems_rfs_block_map_free_all (rtems_rfs_file_system* fs,              
                              rtems_rfs_block_map*   map)             
{                                                                     
  return rtems_rfs_block_map_shrink (fs, map, map->size.count);       
}                                                                     
   594de:	202a 000a      	movel %a2@(10),%d0                          
      int b;                                                          
                                                                      
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                    
        rtems_rfs_inode_set_block (map->inode, b, map->blocks[b]);    
      rtems_rfs_inode_set_block_count (map->inode, map->size.count);  
      rtems_rfs_inode_set_block_offset (map->inode, map->size.offset);
   594e2:	206a 0002      	moveal %a2@(2),%a0                          
int                                                                   
rtems_rfs_block_map_free_all (rtems_rfs_file_system* fs,              
                              rtems_rfs_block_map*   map)             
{                                                                     
  return rtems_rfs_block_map_shrink (fs, map, map->size.count);       
}                                                                     
   594e6:	0280 0000 ffff 	andil #65535,%d0                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block_offset (rtems_rfs_inode_handle* handle,     
                                  uint16_t                block_offset)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->block_offset, block_offset);    
   594ec:	2268 000c      	moveal %a0@(12),%a1                         
   594f0:	2200           	movel %d0,%d1                               
   594f2:	e089           	lsrl #8,%d1                                 
   594f4:	1341 000a      	moveb %d1,%a1@(10)                          
 * @param block_count The last map block number.                      
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_last_map_block (rtems_rfs_inode_handle* handle, uint32_t last_map_block)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->last_map_block, last_map_block);
   594f8:	7218           	moveq #24,%d1                               
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block_offset (rtems_rfs_inode_handle* handle,     
                                  uint16_t                block_offset)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->block_offset, block_offset);    
   594fa:	2268 000c      	moveal %a0@(12),%a1                         
   594fe:	1340 000b      	moveb %d0,%a1@(11)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   59502:	1143 0010      	moveb %d3,%a0@(16)                          
                                                                      
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                    
        rtems_rfs_inode_set_block (map->inode, b, map->blocks[b]);    
      rtems_rfs_inode_set_block_count (map->inode, map->size.count);  
      rtems_rfs_inode_set_block_offset (map->inode, map->size.offset);
      rtems_rfs_inode_set_last_map_block (map->inode, map->last_map_block);
   59506:	206a 0002      	moveal %a2@(2),%a0                          
   5950a:	202a 001a      	movel %a2@(26),%d0                          
 * @param block_count The last map block number.                      
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_last_map_block (rtems_rfs_inode_handle* handle, uint32_t last_map_block)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->last_map_block, last_map_block);
   5950e:	2600           	movel %d0,%d3                               
   59510:	e2ab           	lsrl %d1,%d3                                
   59512:	2200           	movel %d0,%d1                               
   59514:	e089           	lsrl #8,%d1                                 
   59516:	2268 000c      	moveal %a0@(12),%a1                         
   5951a:	1343 0030      	moveb %d3,%a1@(48)                          
   5951e:	2600           	movel %d0,%d3                               
   59520:	2268 000c      	moveal %a0@(12),%a1                         
   59524:	4243           	clrw %d3                                    
   59526:	4843           	swap %d3                                    
   59528:	1343 0031      	moveb %d3,%a1@(49)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5952c:	7601           	moveq #1,%d3                                
 * @param block_count The last map block number.                      
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_last_map_block (rtems_rfs_inode_handle* handle, uint32_t last_map_block)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->last_map_block, last_map_block);
   5952e:	2268 000c      	moveal %a0@(12),%a1                         
   59532:	1341 0032      	moveb %d1,%a1@(50)                          
 * @param block_count The last data block number.                     
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_last_data_block (rtems_rfs_inode_handle* handle, uint32_t last_data_block)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->last_data_block, last_data_block);
   59536:	7218           	moveq #24,%d1                               
 * @param block_count The last map block number.                      
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_last_map_block (rtems_rfs_inode_handle* handle, uint32_t last_map_block)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->last_map_block, last_map_block);
   59538:	2268 000c      	moveal %a0@(12),%a1                         
   5953c:	1340 0033      	moveb %d0,%a1@(51)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   59540:	1143 0010      	moveb %d3,%a0@(16)                          
      rtems_rfs_inode_set_last_data_block (map->inode, map->last_data_block);
   59544:	206a 0002      	moveal %a2@(2),%a0                          
   59548:	202a 001e      	movel %a2@(30),%d0                          
 * @param block_count The last data block number.                     
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_last_data_block (rtems_rfs_inode_handle* handle, uint32_t last_data_block)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->last_data_block, last_data_block);
   5954c:	2600           	movel %d0,%d3                               
   5954e:	e2ab           	lsrl %d1,%d3                                
   59550:	2200           	movel %d0,%d1                               
   59552:	e089           	lsrl #8,%d1                                 
   59554:	2268 000c      	moveal %a0@(12),%a1                         
   59558:	1343 0034      	moveb %d3,%a1@(52)                          
   5955c:	2600           	movel %d0,%d3                               
   5955e:	2268 000c      	moveal %a0@(12),%a1                         
   59562:	4243           	clrw %d3                                    
   59564:	4843           	swap %d3                                    
   59566:	1343 0035      	moveb %d3,%a1@(53)                          
   5956a:	2268 000c      	moveal %a0@(12),%a1                         
   5956e:	1341 0036      	moveb %d1,%a1@(54)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   59572:	7601           	moveq #1,%d3                                
 * @param block_count The last data block number.                     
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_last_data_block (rtems_rfs_inode_handle* handle, uint32_t last_data_block)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->last_data_block, last_data_block);
   59574:	2268 000c      	moveal %a0@(12),%a1                         
   59578:	1340 0037      	moveb %d0,%a1@(55)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5957c:	1143 0010      	moveb %d3,%a0@(16)                          
                                                                      
      brc = rtems_rfs_inode_unload (fs, map->inode, true);            
   59580:	4878 0001      	pea 1 <ADD>                                 
   59584:	2f2a 0002      	movel %a2@(2),%sp@-                         
   59588:	2f02           	movel %d2,%sp@-                             
   5958a:	4eb9 0005 1384 	jsr 51384 <rtems_rfs_inode_unload>          
   59590:	4fef 000c      	lea %sp@(12),%sp                            
   59594:	2600           	movel %d0,%d3                               
   59596:	4680           	notl %d0                                    
      if (brc > 0)                                                    
        rc = brc;                                                     
                                                                      
      map->dirty = false;                                             
   59598:	4212           	clrb %a2@                                   
   5959a:	d080           	addl %d0,%d0                                
   5959c:	9180           	subxl %d0,%d0                               
   5959e:	486a 0036      	pea %a2@(54)                                
   595a2:	c680           	andl %d0,%d3                                
   595a4:	2f02           	movel %d2,%sp@-                             
    }                                                                 
  }                                                                   
                                                                      
  map->inode = NULL;                                                  
   595a6:	42aa 0002      	clrl %a2@(2)                                
   595aa:	4e93           	jsr %a3@                                    
   595ac:	486a 0040      	pea %a2@(64)                                
  handle->dirty = false;                                              
   595b0:	4200           	clrb %d0                                    
  handle->bnum  = 0;                                                  
   595b2:	42aa 0038      	clrl %a2@(56)                               
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   595b6:	1540 0036      	moveb %d0,%a2@(54)                          
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   595ba:	42aa 003c      	clrl %a2@(60)                               
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   595be:	2f02           	movel %d2,%sp@-                             
   595c0:	4e93           	jsr %a3@                                    
  handle->dirty = false;                                              
   595c2:	4201           	clrb %d1                                    
    rc = brc;                                                         
  brc = rtems_rfs_buffer_handle_close (fs, &map->doubly_buffer);      
  if ((brc > 0) && (rc == 0))                                         
    rc = brc;                                                         
  return rc;                                                          
}                                                                     
   595c4:	2003           	movel %d3,%d0                               
   595c6:	1541 0040      	moveb %d1,%a2@(64)                          
  handle->bnum  = 0;                                                  
   595ca:	42aa 0042      	clrl %a2@(66)                               
  handle->buffer = NULL;                                              
   595ce:	42aa 0046      	clrl %a2@(70)                               
   595d2:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   595d8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000595dc <rtems_rfs_block_map_find>: int rtems_rfs_block_map_find (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, rtems_rfs_block_pos* bpos, rtems_rfs_block_no* block) {
   595dc:	4e56 ffe0      	linkw %fp,#-32                              
   595e0:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
   595e4:	286e 0014      	moveal %fp@(20),%a4                         
   595e8:	266e 0010      	moveal %fp@(16),%a3                         
   595ec:	246e 000c      	moveal %fp@(12),%a2                         
  int rc = 0;                                                         
                                                                      
  *block = 0;                                                         
   595f0:	4294           	clrl %a4@                                   
                                                                      
  /*                                                                  
   * Range checking here makes the remaining logic simpler.           
   */                                                                 
  if (rtems_rfs_block_pos_block_past_end (bpos, &map->size))          
   595f2:	2013           	movel %a3@,%d0                              
   595f4:	222a 0006      	movel %a2@(6),%d1                           
   595f8:	4a80           	tstl %d0                                    
   595fa:	6710           	beqs 5960c <rtems_rfs_block_map_find+0x30>  <== ALWAYS TAKEN
   595fc:	4a81           	tstl %d1                                    <== NOT EXECUTED
   595fe:	660c           	bnes 5960c <rtems_rfs_block_map_find+0x30>  <== NOT EXECUTED
        {                                                             
          /*                                                          
           * This should never happen. Here so Joel can remove once his coverage
           * testing gets to the file systems.                        
           */                                                         
          rc = ENXIO;                                                 
   59600:	7006           	moveq #6,%d0                                
    rtems_rfs_block_copy_bpos (&map->bpos, bpos);                     
    map->bpos.block = *block;                                         
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   59602:	4cee 3c1c ffe0 	moveml %fp@(-32),%d2-%d4/%a2-%a5            
   59608:	4e5e           	unlk %fp                                    
   5960a:	4e75           	rts                                         
  *block = 0;                                                         
                                                                      
  /*                                                                  
   * Range checking here makes the remaining logic simpler.           
   */                                                                 
  if (rtems_rfs_block_pos_block_past_end (bpos, &map->size))          
   5960c:	b280           	cmpl %d0,%d1                                
   5960e:	63f0           	blss 59600 <rtems_rfs_block_map_find+0x24>  <== ALWAYS TAKEN
    return ENXIO;                                                     
                                                                      
  /*                                                                  
   * If the block position is the same and we have found the block just return it.
   */                                                                 
  if ((bpos->bno == map->bpos.bno) && (map->bpos.block != 0))         
   59610:	b0aa 000e      	cmpl %a2@(14),%d0                           <== NOT EXECUTED
   59614:	672a           	beqs 59640 <rtems_rfs_block_map_find+0x64>  <== NOT EXECUTED
    /*                                                                
     * Determine the type of access we need to perform. If the number of blocks
     * is less than or equal to the number of slots in the inode the blocks are
     * directly accessed.                                             
     */                                                               
    if (map->size.count <= RTEMS_RFS_INODE_BLOCKS)                    
   59616:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   59618:	b481           	cmpl %d1,%d2                                <== NOT EXECUTED
   5961a:	6546           	bcss 59662 <rtems_rfs_block_map_find+0x86>  <== NOT EXECUTED
    {                                                                 
      *block = map->blocks[bpos->bno];                                
   5961c:	28b2 0c22      	movel %a2@(00000022,%d0:l:4),%a4@           <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  if (rc == 0)                                                        
  {                                                                   
    rtems_rfs_block_copy_bpos (&map->bpos, bpos);                     
   59620:	2553 000e      	movel %a3@,%a2@(14)                         <== NOT EXECUTED
    map->bpos.block = *block;                                         
   59624:	4280           	clrl %d0                                    <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  if (rc == 0)                                                        
  {                                                                   
    rtems_rfs_block_copy_bpos (&map->bpos, bpos);                     
   59626:	256b 0004 0012 	movel %a3@(4),%a2@(18)                      <== NOT EXECUTED
   5962c:	256b 0008 0016 	movel %a3@(8),%a2@(22)                      <== NOT EXECUTED
    map->bpos.block = *block;                                         
   59632:	2554 0016      	movel %a4@,%a2@(22)                         <== NOT EXECUTED
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   59636:	4cee 3c1c ffe0 	moveml %fp@(-32),%d2-%d4/%a2-%a5            <== NOT EXECUTED
   5963c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5963e:	4e75           	rts                                         <== NOT EXECUTED
    return ENXIO;                                                     
                                                                      
  /*                                                                  
   * If the block position is the same and we have found the block just return it.
   */                                                                 
  if ((bpos->bno == map->bpos.bno) && (map->bpos.block != 0))         
   59640:	206a 0016      	moveal %a2@(22),%a0                         <== NOT EXECUTED
   59644:	4a88           	tstl %a0                                    <== NOT EXECUTED
   59646:	67ce           	beqs 59616 <rtems_rfs_block_map_find+0x3a>  <== NOT EXECUTED
  {                                                                   
    *block = map->bpos.block;                                         
   59648:	2888           	movel %a0,%a4@                              <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  if (rc == 0)                                                        
  {                                                                   
    rtems_rfs_block_copy_bpos (&map->bpos, bpos);                     
   5964a:	2553 000e      	movel %a3@,%a2@(14)                         <== NOT EXECUTED
    map->bpos.block = *block;                                         
   5964e:	4280           	clrl %d0                                    <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  if (rc == 0)                                                        
  {                                                                   
    rtems_rfs_block_copy_bpos (&map->bpos, bpos);                     
   59650:	256b 0004 0012 	movel %a3@(4),%a2@(18)                      <== NOT EXECUTED
   59656:	256b 0008 0016 	movel %a3@(8),%a2@(22)                      <== NOT EXECUTED
    map->bpos.block = *block;                                         
   5965c:	2554 0016      	movel %a4@,%a2@(22)                         <== NOT EXECUTED
   59660:	60d4           	bras 59636 <rtems_rfs_block_map_find+0x5a>  <== NOT EXECUTED
       * The map is either singly or doubly indirect.                 
       */                                                             
      rtems_rfs_block_no direct;                                      
      rtems_rfs_block_no singly;                                      
                                                                      
      direct = bpos->bno % fs->blocks_per_block;                      
   59662:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   59666:	2428 0034      	movel %a0@(52),%d2                          <== NOT EXECUTED
   5966a:	4c42 0004      	remul %d2,%d4,%d0                           <== NOT EXECUTED
   5966e:	4c42 0000      	remul %d2,%d0,%d0                           <== NOT EXECUTED
      singly = bpos->bno / fs->blocks_per_block;                      
   59672:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
                                                                      
      if (map->size.count <= fs->block_map_singly_blocks)             
   59676:	b2a8 0038      	cmpl %a0@(56),%d1                           <== NOT EXECUTED
   5967a:	635e           	blss 596da <rtems_rfs_block_map_find+0xfe>  <== NOT EXECUTED
        rtems_rfs_block_no doubly;                                    
                                                                      
        doubly  = singly / fs->blocks_per_block;                      
        singly %= fs->blocks_per_block;                               
                                                                      
        if (map->size.count < fs->block_map_doubly_blocks)            
   5967c:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
         * The map is doubly indirect.                                
         */                                                           
        rtems_rfs_block_no doubly;                                    
                                                                      
        doubly  = singly / fs->blocks_per_block;                      
        singly %= fs->blocks_per_block;                               
   59680:	4c42 0003      	remul %d2,%d3,%d0                           <== NOT EXECUTED
   59684:	4c42 0000      	remul %d2,%d0,%d0                           <== NOT EXECUTED
   59688:	2d43 fffc      	movel %d3,%fp@(-4)                          <== NOT EXECUTED
                                                                      
        if (map->size.count < fs->block_map_doubly_blocks)            
   5968c:	b2a8 003c      	cmpl %a0@(60),%d1                           <== NOT EXECUTED
   59690:	6400 ff6e      	bccw 59600 <rtems_rfs_block_map_find+0x24>  <== NOT EXECUTED
        {                                                             
          rc = rtems_rfs_block_find_indirect (fs,                     
   59694:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   59698:	4bfa f846      	lea %pc@(58ee0 <rtems_rfs_block_find_indirect>),%a5<== NOT EXECUTED
   5969c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5969e:	2f32 0c22      	movel %a2@(00000022,%d0:l:4),%sp@-          <== NOT EXECUTED
   596a2:	486a 0040      	pea %a2@(64)                                <== NOT EXECUTED
   596a6:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   596a8:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                              &map->doubly_buffer,    
                                              map->blocks[doubly],    
                                              singly, &singly);       
          if (rc == 0)                                                
   596aa:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   596ae:	4a80           	tstl %d0                                    <== NOT EXECUTED
   596b0:	6600 ff50      	bnew 59602 <rtems_rfs_block_map_find+0x26>  <== NOT EXECUTED
          {                                                           
            rc = rtems_rfs_block_find_indirect (fs,                   
   596b4:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   596b6:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   596b8:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   596bc:	486a 0036      	pea %a2@(54)                                <== NOT EXECUTED
   596c0:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   596c4:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   596c6:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
        }                                                             
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if (rc == 0)                                                        
   596ca:	4a80           	tstl %d0                                    <== NOT EXECUTED
   596cc:	6700 ff52      	beqw 59620 <rtems_rfs_block_map_find+0x44>  <== NOT EXECUTED
    rtems_rfs_block_copy_bpos (&map->bpos, bpos);                     
    map->bpos.block = *block;                                         
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   596d0:	4cee 3c1c ffe0 	moveml %fp@(-32),%d2-%d4/%a2-%a5            <== NOT EXECUTED
   596d6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   596d8:	4e75           	rts                                         <== NOT EXECUTED
      {                                                               
        /*                                                            
         * This is a single indirect table of blocks anchored off a slot in the
         * inode.                                                     
         */                                                           
        rc = rtems_rfs_block_find_indirect (fs,                       
   596da:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   596dc:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   596de:	2f32 0c22      	movel %a2@(00000022,%d0:l:4),%sp@-          <== NOT EXECUTED
   596e2:	486a 0036      	pea %a2@(54)                                <== NOT EXECUTED
   596e6:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   596e8:	4eba f7f6      	jsr %pc@(58ee0 <rtems_rfs_block_find_indirect>)<== NOT EXECUTED
   596ec:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
        }                                                             
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if (rc == 0)                                                        
   596f0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   596f2:	66dc           	bnes 596d0 <rtems_rfs_block_map_find+0xf4>  <== NOT EXECUTED
   596f4:	6000 ff2a      	braw 59620 <rtems_rfs_block_map_find+0x44>  <== NOT EXECUTED
                                                                      

00059df0 <rtems_rfs_block_map_free_all>: } int rtems_rfs_block_map_free_all (rtems_rfs_file_system* fs, rtems_rfs_block_map* map) {
   59df0:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   59df4:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
  return rtems_rfs_block_map_shrink (fs, map, map->size.count);       
   59df8:	2f28 0006      	movel %a0@(6),%sp@-                         <== NOT EXECUTED
   59dfc:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   59dfe:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   59e02:	4eb9 0005 9b44 	jsr 59b44 <rtems_rfs_block_map_shrink>      <== NOT EXECUTED
}                                                                     
   59e08:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000597a8 <rtems_rfs_block_map_grow>: int rtems_rfs_block_map_grow (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, size_t blocks, rtems_rfs_block_no* new_block) {
   597a8:	4e56 ffc0      	linkw %fp,#-64                              
   597ac:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  int b;                                                              
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))               
   597b0:	4878 2000      	pea 2000 <D_MAX_EXP+0x1801>                 
int                                                                   
rtems_rfs_block_map_grow (rtems_rfs_file_system* fs,                  
                          rtems_rfs_block_map*   map,                 
                          size_t                 blocks,              
                          rtems_rfs_block_no*    new_block)           
{                                                                     
   597b4:	266e 0008      	moveal %fp@(8),%a3                          
  int b;                                                              
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))               
   597b8:	42a7           	clrl %sp@-                                  
int                                                                   
rtems_rfs_block_map_grow (rtems_rfs_file_system* fs,                  
                          rtems_rfs_block_map*   map,                 
                          size_t                 blocks,              
                          rtems_rfs_block_no*    new_block)           
{                                                                     
   597ba:	246e 000c      	moveal %fp@(12),%a2                         
   597be:	282e 0010      	movel %fp@(16),%d4                          
  int b;                                                              
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))               
   597c2:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   597c8:	508f           	addql #8,%sp                                
   597ca:	4a00           	tstb %d0                                    
   597cc:	661a           	bnes 597e8 <rtems_rfs_block_map_grow+0x40>  <== NEVER TAKEN
    printf ("rtems-rfs: block-map-grow: entry: blocks=%zd count=%" PRIu32 "\n",
            blocks, map->size.count);                                 
                                                                      
  if ((map->size.count + blocks) >= rtems_rfs_fs_max_block_map_blocks (fs))
   597ce:	2004           	movel %d4,%d0                               
   597d0:	d0aa 0006      	addl %a2@(6),%d0                            
   597d4:	b0ab 003c      	cmpl %a3@(60),%d0                           
   597d8:	6530           	bcss 5980a <rtems_rfs_block_map_grow+0x62>  <== ALWAYS TAKEN
    return EFBIG;                                                     
   597da:	721b           	moveq #27,%d1                               <== NOT EXECUTED
    map->last_data_block = block;                                     
    map->dirty = true;                                                
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   597dc:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   597de:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   597e4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   597e6:	4e75           	rts                                         <== NOT EXECUTED
                          rtems_rfs_block_no*    new_block)           
{                                                                     
  int b;                                                              
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))               
    printf ("rtems-rfs: block-map-grow: entry: blocks=%zd count=%" PRIu32 "\n",
   597e8:	2f2a 0006      	movel %a2@(6),%sp@-                         <== NOT EXECUTED
   597ec:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   597ee:	4879 0007 2153 	pea 72153 <CSWTCH.2+0x8b>                   <== NOT EXECUTED
   597f4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   597fa:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
            blocks, map->size.count);                                 
                                                                      
  if ((map->size.count + blocks) >= rtems_rfs_fs_max_block_map_blocks (fs))
   597fe:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   59800:	d0aa 0006      	addl %a2@(6),%d0                            <== NOT EXECUTED
   59804:	b0ab 003c      	cmpl %a3@(60),%d0                           <== NOT EXECUTED
   59808:	64d0           	bccs 597da <rtems_rfs_block_map_grow+0x32>  <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Allocate a block at a time. The buffer handles hold the blocks so adding
   * this way does not thrash the cache with lots of requests.        
   */                                                                 
  for (b = 0; b < blocks; b++)                                        
   5980a:	4a84           	tstl %d4                                    
   5980c:	6778           	beqs 59886 <rtems_rfs_block_map_grow+0xde>  <== NEVER TAKEN
          }                                                           
                                                                      
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,
                                                     singly);         
                                                                      
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   5980e:	2c0a           	movel %a2,%d6                               
                                      singly,                         
                                      singly_block);                  
        }                                                             
        else                                                          
        {                                                             
          rc = rtems_rfs_buffer_handle_request (fs,                   
   59810:	41ea 0040      	lea %a2@(64),%a0                            
          }                                                           
                                                                      
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,
                                                     singly);         
                                                                      
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   59814:	0686 0000 0036 	addil #54,%d6                               
   5981a:	2a0e           	movel %fp,%d5                               
  map->last_map_block = new_block;                                    
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_block_map_grow (rtems_rfs_file_system* fs,                  
   5981c:	4282           	clrl %d2                                    
   5981e:	5185           	subql #8,%d5                                
   59820:	49f9 0005 0d4a 	lea 50d4a <rtems_rfs_group_bitmap_alloc>,%a4
                                      singly,                         
                                      singly_block);                  
        }                                                             
        else                                                          
        {                                                             
          rc = rtems_rfs_buffer_handle_request (fs,                   
   59826:	4bf9 0005 a19a 	lea 5a19a <rtems_rfs_buffer_handle_request>,%a5
   5982c:	202a 001e      	movel %a2@(30),%d0                          
   59830:	2d48 fff4      	movel %a0,%fp@(-12)                         
         * doubly indirect block as well. Both always occur when direct is 0
         * and the doubly indirect block when singly is 0.            
         */                                                           
        if (direct == 0)                                              
        {                                                             
          rc = rtems_rfs_block_map_indirect_alloc (fs, map,           
   59834:	2d46 ffe8      	movel %d6,%fp@(-24)                         
    /*                                                                
     * Allocate the block. If an indirect block is needed and cannot be
     * allocated free this block.                                     
     */                                                               
                                                                      
    rc = rtems_rfs_group_bitmap_alloc (fs, map->last_data_block,      
   59838:	2f05           	movel %d5,%sp@-                             
   5983a:	42a7           	clrl %sp@-                                  
   5983c:	2f00           	movel %d0,%sp@-                             
   5983e:	2f0b           	movel %a3,%sp@-                             
   59840:	4e94           	jsr %a4@                                    
                                       false, &block);                
    if (rc > 0)                                                       
   59842:	4fef 0010      	lea %sp@(16),%sp                            
   59846:	4a80           	tstl %d0                                    
   59848:	6e00 02ec      	bgtw 59b36 <rtems_rfs_block_map_grow+0x38e> 
      return rc;                                                      
                                                                      
    if (map->size.count < RTEMS_RFS_INODE_BLOCKS)                     
   5984c:	202a 0006      	movel %a2@(6),%d0                           
   59850:	7204           	moveq #4,%d1                                
   59852:	b280           	cmpl %d0,%d1                                
   59854:	653e           	bcss 59894 <rtems_rfs_block_map_grow+0xec>  <== NEVER TAKEN
      map->blocks[map->size.count] = block;                           
   59856:	41ee fff8      	lea %fp@(-8),%a0                            
   5985a:	2590 0c22      	movel %a0@,%a2@(00000022,%d0:l:4)           
      }                                                               
                                                                      
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);
    }                                                                 
                                                                      
    map->size.count++;                                                
   5985e:	5280           	addql #1,%d0                                
    map->size.offset = 0;                                             
   59860:	42aa 000a      	clrl %a2@(10)                               
      }                                                               
                                                                      
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);
    }                                                                 
                                                                      
    map->size.count++;                                                
   59864:	2540 0006      	movel %d0,%a2@(6)                           
    map->size.offset = 0;                                             
                                                                      
    if (b == 0)                                                       
   59868:	4a82           	tstl %d2                                    
   5986a:	6608           	bnes 59874 <rtems_rfs_block_map_grow+0xcc>  <== NEVER TAKEN
      *new_block = block;                                             
   5986c:	206e 0014      	moveal %fp@(20),%a0                         
   59870:	20ae fff8      	movel %fp@(-8),%a0@                         
    map->last_data_block = block;                                     
   59874:	202e fff8      	movel %fp@(-8),%d0                          
                                                                      
  /*                                                                  
   * Allocate a block at a time. The buffer handles hold the blocks so adding
   * this way does not thrash the cache with lots of requests.        
   */                                                                 
  for (b = 0; b < blocks; b++)                                        
   59878:	5282           	addql #1,%d2                                
    map->size.offset = 0;                                             
                                                                      
    if (b == 0)                                                       
      *new_block = block;                                             
    map->last_data_block = block;                                     
    map->dirty = true;                                                
   5987a:	14bc 0001      	moveb #1,%a2@                               
    map->size.count++;                                                
    map->size.offset = 0;                                             
                                                                      
    if (b == 0)                                                       
      *new_block = block;                                             
    map->last_data_block = block;                                     
   5987e:	2540 001e      	movel %d0,%a2@(30)                          
                                                                      
  /*                                                                  
   * Allocate a block at a time. The buffer handles hold the blocks so adding
   * this way does not thrash the cache with lots of requests.        
   */                                                                 
  for (b = 0; b < blocks; b++)                                        
   59882:	b882           	cmpl %d2,%d4                                
   59884:	66b2           	bnes 59838 <rtems_rfs_block_map_grow+0x90>  <== NEVER TAKEN
      *new_block = block;                                             
    map->last_data_block = block;                                     
    map->dirty = true;                                                
  }                                                                   
                                                                      
  return 0;                                                           
   59886:	4281           	clrl %d1                                    
}                                                                     
   59888:	2001           	movel %d1,%d0                               
   5988a:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            
   59890:	4e5e           	unlk %fp                                    
   59892:	4e75           	rts                                         
       * Single indirect access is occuring. It could still be doubly indirect.
       */                                                             
      rtems_rfs_block_no direct;                                      
      rtems_rfs_block_no singly;                                      
                                                                      
      direct = map->size.count % fs->blocks_per_block;                
   59894:	222b 0034      	movel %a3@(52),%d1                          <== NOT EXECUTED
   59898:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
   5989a:	4c41 6003      	remul %d1,%d3,%d6                           <== NOT EXECUTED
   5989e:	4c41 6006      	remul %d1,%d6,%d6                           <== NOT EXECUTED
   598a2:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
      singly = map->size.count / fs->blocks_per_block;                
                                                                      
      if (map->size.count < fs->block_map_singly_blocks)              
   598a4:	b0ab 0038      	cmpl %a3@(56),%d0                           <== NOT EXECUTED
   598a8:	6400 00a2      	bccw 5994c <rtems_rfs_block_map_grow+0x1a4> <== NOT EXECUTED
         * Singly indirect tables are being used. Allocate a new block for a
         * mapping table if direct is 0 or we are moving up (upping). If upping
         * move the direct blocks into the table and if not this is the first
         * entry of a new block.                                      
         */                                                           
        if ((direct == 0) ||                                          
   598ac:	4a83           	tstl %d3                                    <== NOT EXECUTED
   598ae:	6774           	beqs 59924 <rtems_rfs_block_map_grow+0x17c> <== NOT EXECUTED
   598b0:	4a86           	tstl %d6                                    <== NOT EXECUTED
   598b2:	6606           	bnes 598ba <rtems_rfs_block_map_grow+0x112> <== NOT EXECUTED
            ((singly == 0) && (direct == RTEMS_RFS_INODE_BLOCKS)))    
   598b4:	7e05           	moveq #5,%d7                                <== NOT EXECUTED
   598b6:	be83           	cmpl %d3,%d7                                <== NOT EXECUTED
   598b8:	676a           	beqs 59924 <rtems_rfs_block_map_grow+0x17c> <== NOT EXECUTED
                                                   &map->blocks[singly],
                                                   upping);           
        }                                                             
        else                                                          
        {                                                             
          rc = rtems_rfs_buffer_handle_request (fs,  &map->singly_buffer,
   598ba:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   598be:	2f32 8c22      	movel %a2@(00000022,%a0:l:4),%sp@-          <== NOT EXECUTED
   598c2:	2f2e ffe8      	movel %fp@(-24),%sp@-                       <== NOT EXECUTED
   598c6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   598c8:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   598ca:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,
                                                     singly);         
                                                                      
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
                                                singly_block, true);  
          if (rc > 0)                                                 
   598ce:	4a80           	tstl %d0                                    <== NOT EXECUTED
   598d0:	6e00 023e      	bgtw 59b10 <rtems_rfs_block_map_grow+0x368> <== NOT EXECUTED
            return rc;                                                
          }                                                           
        }                                                             
      }                                                               
                                                                      
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);
   598d4:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   598d8:	43ee fff8      	lea %fp@(-8),%a1                            <== NOT EXECUTED
   598dc:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   598e0:	e58b           	lsll #2,%d3                                 <== NOT EXECUTED
   598e2:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   598e4:	1191 3800      	moveb %a1@,%a0@(00000000,%d3:l)             <== NOT EXECUTED
   598e8:	43ee fff9      	lea %fp@(-7),%a1                            <== NOT EXECUTED
   598ec:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   598f0:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   598f4:	1191 3801      	moveb %a1@,%a0@(00000001,%d3:l)             <== NOT EXECUTED
   598f8:	43ee fffa      	lea %fp@(-6),%a1                            <== NOT EXECUTED
   598fc:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   59900:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59904:	1191 3802      	moveb %a1@,%a0@(00000002,%d3:l)             <== NOT EXECUTED
   59908:	43ee fffb      	lea %fp@(-5),%a1                            <== NOT EXECUTED
   5990c:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   59910:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59914:	1191 3803      	moveb %a1@,%a0@(00000003,%d3:l)             <== NOT EXECUTED
   59918:	1540 0036      	moveb %d0,%a2@(54)                          <== NOT EXECUTED
   5991c:	202a 0006      	movel %a2@(6),%d0                           <== NOT EXECUTED
   59920:	6000 ff3c      	braw 5985e <rtems_rfs_block_map_grow+0xb6>  <== NOT EXECUTED
        {                                                             
          /*                                                          
           * Upping is when we move from direct to singly indirect.   
           */                                                         
          bool upping;                                                
          upping = map->size.count == RTEMS_RFS_INODE_BLOCKS;         
   59924:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   59926:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   59928:	57c0           	seq %d0                                     <== NOT EXECUTED
   5992a:	49c0           	extbl %d0                                   <== NOT EXECUTED
          rc = rtems_rfs_block_map_indirect_alloc (fs, map,           
   5992c:	4480           	negl %d0                                    <== NOT EXECUTED
   5992e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   59930:	4872 8c22      	pea %a2@(00000022,%a0:l:4)                  <== NOT EXECUTED
   59934:	2f2e ffe8      	movel %fp@(-24),%sp@-                       <== NOT EXECUTED
   59938:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5993a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5993c:	4eba f43a      	jsr %pc@(58d78 <rtems_rfs_block_map_indirect_alloc>)<== NOT EXECUTED
         * move the direct blocks into the table and if not this is the first
         * entry of a new block.                                      
         */                                                           
        if ((direct == 0) ||                                          
            ((singly == 0) && (direct == RTEMS_RFS_INODE_BLOCKS)))    
        {                                                             
   59940:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,
                                                     singly);         
                                                                      
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
                                                singly_block, true);  
          if (rc > 0)                                                 
   59944:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59946:	6f8c           	bles 598d4 <rtems_rfs_block_map_grow+0x12c> <== NOT EXECUTED
   59948:	6000 01c6      	braw 59b10 <rtems_rfs_block_map_grow+0x368> <== NOT EXECUTED
         * Doubly indirect tables are being used.                     
         */                                                           
        rtems_rfs_block_no doubly;                                    
        rtems_rfs_block_no singly_block;                              
                                                                      
        doubly  = singly / fs->blocks_per_block;                      
   5994c:	4c41 6007      	remul %d1,%d7,%d6                           <== NOT EXECUTED
   59950:	4c41 6006      	remul %d1,%d6,%d6                           <== NOT EXECUTED
         * Allocate a new block for a singly indirect table if direct is 0 as
         * it is the first entry of a new block. We may also need to allocate a
         * doubly indirect block as well. Both always occur when direct is 0
         * and the doubly indirect block when singly is 0.            
         */                                                           
        if (direct == 0)                                              
   59954:	4a83           	tstl %d3                                    <== NOT EXECUTED
   59956:	6600 0146      	bnew 59a9e <rtems_rfs_block_map_grow+0x2f6> <== NOT EXECUTED
        {                                                             
          rc = rtems_rfs_block_map_indirect_alloc (fs, map,           
   5995a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5995c:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   59960:	2f2e ffe8      	movel %fp@(-24),%sp@-                       <== NOT EXECUTED
   59964:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59966:	2d46 fff0      	movel %d6,%fp@(-16)                         <== NOT EXECUTED
   5996a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5996c:	4eba f40a      	jsr %pc@(58d78 <rtems_rfs_block_map_indirect_alloc>)<== NOT EXECUTED
                                                   &map->singly_buffer,
                                                   &singly_block,     
                                                   false);            
          if (rc > 0)                                                 
   59970:	222e fff0      	movel %fp@(-16),%d1                         <== NOT EXECUTED
   59974:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   59978:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5997a:	6e00 0194      	bgtw 59b10 <rtems_rfs_block_map_grow+0x368> <== NOT EXECUTED
                                                                      
          /*                                                          
           * Allocate a new block for a doubly indirect table if singly is 0 as
           * it is the first entry of a new singly indirect block.    
           */                                                         
          if ((singly == 0) ||                                        
   5997e:	4a87           	tstl %d7                                    <== NOT EXECUTED
   59980:	6700 00c0      	beqw 59a42 <rtems_rfs_block_map_grow+0x29a> <== NOT EXECUTED
   59984:	4a81           	tstl %d1                                    <== NOT EXECUTED
   59986:	6608           	bnes 59990 <rtems_rfs_block_map_grow+0x1e8> <== NOT EXECUTED
              ((doubly == 0) && (singly == RTEMS_RFS_INODE_BLOCKS)))  
   59988:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   5998a:	b087           	cmpl %d7,%d0                                <== NOT EXECUTED
   5998c:	6700 00b4      	beqw 59a42 <rtems_rfs_block_map_grow+0x29a> <== NOT EXECUTED
              return rc;                                              
            }                                                         
          }                                                           
          else                                                        
          {                                                           
            rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,
   59990:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   59994:	2f32 1c22      	movel %a2@(00000022,%d1:l:4),%sp@-          <== NOT EXECUTED
   59998:	2f2e fff4      	movel %fp@(-12),%sp@-                       <== NOT EXECUTED
   5999c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5999e:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                  map->blocks[doubly], true);
            if (rc > 0)                                               
   599a0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   599a4:	4a80           	tstl %d0                                    <== NOT EXECUTED
   599a6:	6e00 00c4      	bgtw 59a6c <rtems_rfs_block_map_grow+0x2c4> <== NOT EXECUTED
              rtems_rfs_group_bitmap_free (fs, false, block);         
              return rc;                                              
            }                                                         
          }                                                           
                                                                      
          rtems_rfs_block_set_number (&map->doubly_buffer,            
   599aa:	206a 0046      	moveal %a2@(70),%a0                         <== NOT EXECUTED
   599ae:	43ee fffc      	lea %fp@(-4),%a1                            <== NOT EXECUTED
   599b2:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   599b6:	e58f           	lsll #2,%d7                                 <== NOT EXECUTED
   599b8:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            return rc;                                                
          }                                                           
        }                                                             
      }                                                               
                                                                      
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);
   599ba:	e58b           	lsll #2,%d3                                 <== NOT EXECUTED
              rtems_rfs_group_bitmap_free (fs, false, block);         
              return rc;                                              
            }                                                         
          }                                                           
                                                                      
          rtems_rfs_block_set_number (&map->doubly_buffer,            
   599bc:	1191 7800      	moveb %a1@,%a0@(00000000,%d7:l)             <== NOT EXECUTED
   599c0:	43ee fffd      	lea %fp@(-3),%a1                            <== NOT EXECUTED
   599c4:	206a 0046      	moveal %a2@(70),%a0                         <== NOT EXECUTED
   599c8:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   599cc:	1191 7801      	moveb %a1@,%a0@(00000001,%d7:l)             <== NOT EXECUTED
   599d0:	43ee fffe      	lea %fp@(-2),%a1                            <== NOT EXECUTED
   599d4:	206a 0046      	moveal %a2@(70),%a0                         <== NOT EXECUTED
   599d8:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   599dc:	1191 7802      	moveb %a1@,%a0@(00000002,%d7:l)             <== NOT EXECUTED
   599e0:	43ee ffff      	lea %fp@(-1),%a1                            <== NOT EXECUTED
   599e4:	206a 0046      	moveal %a2@(70),%a0                         <== NOT EXECUTED
   599e8:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   599ec:	1191 7803      	moveb %a1@,%a0@(00000003,%d7:l)             <== NOT EXECUTED
            return rc;                                                
          }                                                           
        }                                                             
      }                                                               
                                                                      
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);
   599f0:	43ee fff8      	lea %fp@(-8),%a1                            <== NOT EXECUTED
   599f4:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   599f8:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
              rtems_rfs_group_bitmap_free (fs, false, block);         
              return rc;                                              
            }                                                         
          }                                                           
                                                                      
          rtems_rfs_block_set_number (&map->doubly_buffer,            
   599fc:	1540 0040      	moveb %d0,%a2@(64)                          <== NOT EXECUTED
            return rc;                                                
          }                                                           
        }                                                             
      }                                                               
                                                                      
      rtems_rfs_block_set_number (&map->singly_buffer, direct, block);
   59a00:	1191 3800      	moveb %a1@,%a0@(00000000,%d3:l)             <== NOT EXECUTED
   59a04:	43ee fff9      	lea %fp@(-7),%a1                            <== NOT EXECUTED
   59a08:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   59a0c:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59a10:	1191 3801      	moveb %a1@,%a0@(00000001,%d3:l)             <== NOT EXECUTED
   59a14:	43ee fffa      	lea %fp@(-6),%a1                            <== NOT EXECUTED
   59a18:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   59a1c:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59a20:	1191 3802      	moveb %a1@,%a0@(00000002,%d3:l)             <== NOT EXECUTED
   59a24:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   59a26:	43ee fffb      	lea %fp@(-5),%a1                            <== NOT EXECUTED
   59a2a:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   59a2e:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59a32:	1191 3803      	moveb %a1@,%a0@(00000003,%d3:l)             <== NOT EXECUTED
   59a36:	1540 0036      	moveb %d0,%a2@(54)                          <== NOT EXECUTED
   59a3a:	202a 0006      	movel %a2@(6),%d0                           <== NOT EXECUTED
   59a3e:	6000 fe1e      	braw 5985e <rtems_rfs_block_map_grow+0xb6>  <== NOT EXECUTED
           */                                                         
          if ((singly == 0) ||                                        
              ((doubly == 0) && (singly == RTEMS_RFS_INODE_BLOCKS)))  
          {                                                           
            bool upping;                                              
            upping = map->size.count == fs->block_map_singly_blocks;  
   59a42:	2c2b 0038      	movel %a3@(56),%d6                          <== NOT EXECUTED
   59a46:	bcaa 0006      	cmpl %a2@(6),%d6                            <== NOT EXECUTED
   59a4a:	57c0           	seq %d0                                     <== NOT EXECUTED
   59a4c:	49c0           	extbl %d0                                   <== NOT EXECUTED
            rc = rtems_rfs_block_map_indirect_alloc (fs, map,         
   59a4e:	4480           	negl %d0                                    <== NOT EXECUTED
   59a50:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   59a52:	4872 1c22      	pea %a2@(00000022,%d1:l:4)                  <== NOT EXECUTED
   59a56:	2f2e fff4      	movel %fp@(-12),%sp@-                       <== NOT EXECUTED
   59a5a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59a5c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59a5e:	4eba f318      	jsr %pc@(58d78 <rtems_rfs_block_map_indirect_alloc>)<== NOT EXECUTED
                                                     &map->doubly_buffer,
                                                     &map->blocks[doubly],
                                                     upping);         
            if (rc > 0)                                               
   59a62:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   59a66:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59a68:	6f00 ff40      	blew 599aa <rtems_rfs_block_map_grow+0x202> <== NOT EXECUTED
          {                                                           
            rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,
                                                  map->blocks[doubly], true);
            if (rc > 0)                                               
            {                                                         
              rtems_rfs_group_bitmap_free (fs, false, singly_block);  
   59a6c:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   59a70:	45f9 0005 0f5c 	lea 50f5c <rtems_rfs_group_bitmap_free>,%a2 <== NOT EXECUTED
   59a76:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59a78:	2d40 fff0      	movel %d0,%fp@(-16)                         <== NOT EXECUTED
   59a7c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59a7e:	4e92           	jsr %a2@                                    <== NOT EXECUTED
              rtems_rfs_group_bitmap_free (fs, false, block);         
   59a80:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
   59a84:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59a86:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59a88:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   59a8a:	222e fff0      	movel %fp@(-16),%d1                         <== NOT EXECUTED
   59a8e:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
    map->last_data_block = block;                                     
    map->dirty = true;                                                
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   59a92:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   59a94:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   59a9a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59a9c:	4e75           	rts                                         <== NOT EXECUTED
                                      singly,                         
                                      singly_block);                  
        }                                                             
        else                                                          
        {                                                             
          rc = rtems_rfs_buffer_handle_request (fs,                   
   59a9e:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   59aa2:	2f32 6c22      	movel %a2@(00000022,%d6:l:4),%sp@-          <== NOT EXECUTED
   59aa6:	2f2e fff4      	movel %fp@(-12),%sp@-                       <== NOT EXECUTED
   59aaa:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59aac:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                &map->doubly_buffer,  
                                                map->blocks[doubly],  
                                                true);                
          if (rc > 0)                                                 
   59aae:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   59ab2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59ab4:	6e5a           	bgts 59b10 <rtems_rfs_block_map_grow+0x368> <== NOT EXECUTED
          {                                                           
            rtems_rfs_group_bitmap_free (fs, false, block);           
            return rc;                                                
          }                                                           
                                                                      
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,
   59ab6:	206a 0046      	moveal %a2@(70),%a0                         <== NOT EXECUTED
   59aba:	4286           	clrl %d6                                    <== NOT EXECUTED
   59abc:	4281           	clrl %d1                                    <== NOT EXECUTED
   59abe:	4280           	clrl %d0                                    <== NOT EXECUTED
   59ac0:	e58f           	lsll #2,%d7                                 <== NOT EXECUTED
   59ac2:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59ac6:	1c30 7801      	moveb %a0@(00000001,%d7:l),%d6              <== NOT EXECUTED
   59aca:	1230 7800      	moveb %a0@(00000000,%d7:l),%d1              <== NOT EXECUTED
   59ace:	1030 7803      	moveb %a0@(00000003,%d7:l),%d0              <== NOT EXECUTED
   59ad2:	1e30 7802      	moveb %a0@(00000002,%d7:l),%d7              <== NOT EXECUTED
                                                     singly);         
                                                                      
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   59ad6:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
          {                                                           
            rtems_rfs_group_bitmap_free (fs, false, block);           
            return rc;                                                
          }                                                           
                                                                      
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,
   59ada:	0287 0000 00ff 	andil #255,%d7                              <== NOT EXECUTED
   59ae0:	2d46 ffec      	movel %d6,%fp@(-20)                         <== NOT EXECUTED
   59ae4:	7c18           	moveq #24,%d6                               <== NOT EXECUTED
   59ae6:	eda9           	lsll %d6,%d1                                <== NOT EXECUTED
   59ae8:	e18f           	lsll #8,%d7                                 <== NOT EXECUTED
   59aea:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   59aec:	222e ffec      	movel %fp@(-20),%d1                         <== NOT EXECUTED
   59af0:	4841           	swap %d1                                    <== NOT EXECUTED
   59af2:	4241           	clrw %d1                                    <== NOT EXECUTED
   59af4:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   59af6:	8087           	orl %d7,%d0                                 <== NOT EXECUTED
                                                     singly);         
                                                                      
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   59af8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   59afa:	2f2e ffe8      	movel %fp@(-24),%sp@-                       <== NOT EXECUTED
          {                                                           
            rtems_rfs_group_bitmap_free (fs, false, block);           
            return rc;                                                
          }                                                           
                                                                      
          singly_block = rtems_rfs_block_get_number (&map->doubly_buffer,
   59afe:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
                                                     singly);         
                                                                      
          rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   59b02:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59b04:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                singly_block, true);  
          if (rc > 0)                                                 
   59b06:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   59b0a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59b0c:	6f00 fdc6      	blew 598d4 <rtems_rfs_block_map_grow+0x12c> <== NOT EXECUTED
          {                                                           
            rtems_rfs_group_bitmap_free (fs, false, block);           
   59b10:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
   59b14:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59b16:	2d40 fff0      	movel %d0,%fp@(-16)                         <== NOT EXECUTED
   59b1a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59b1c:	4eb9 0005 0f5c 	jsr 50f5c <rtems_rfs_group_bitmap_free>     <== NOT EXECUTED
   59b22:	222e fff0      	movel %fp@(-16),%d1                         <== NOT EXECUTED
   59b26:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    map->last_data_block = block;                                     
    map->dirty = true;                                                
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   59b2a:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   59b2c:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   59b32:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59b34:	4e75           	rts                                         <== NOT EXECUTED
   59b36:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   59b38:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   59b3a:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   59b40:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00058d78 <rtems_rfs_block_map_indirect_alloc>: rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, rtems_rfs_buffer_handle* buffer, rtems_rfs_block_no* block, bool upping) {
   58d78:	4e56 ffe4      	linkw %fp,#-28                              <== NOT EXECUTED
   58d7c:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 <== NOT EXECUTED
  int                  rc;                                            
  /*                                                                  
   * Save the new block locally because upping can have *block pointing to the
   * slots which are cleared when upping.                             
   */                                                                 
  rc = rtems_rfs_group_bitmap_alloc (fs, map->last_map_block, false, &new_block);
   58d80:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system*   fs,      
                                    rtems_rfs_block_map*     map,     
                                    rtems_rfs_buffer_handle* buffer,  
                                    rtems_rfs_block_no*      block,   
                                    bool                     upping)  
{                                                                     
   58d84:	266e 000c      	moveal %fp@(12),%a3                         <== NOT EXECUTED
  int                  rc;                                            
  /*                                                                  
   * Save the new block locally because upping can have *block pointing to the
   * slots which are cleared when upping.                             
   */                                                                 
  rc = rtems_rfs_group_bitmap_alloc (fs, map->last_map_block, false, &new_block);
   58d88:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   58d8a:	2f2b 001a      	movel %a3@(26),%sp@-                        <== NOT EXECUTED
rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system*   fs,      
                                    rtems_rfs_block_map*     map,     
                                    rtems_rfs_buffer_handle* buffer,  
                                    rtems_rfs_block_no*      block,   
                                    bool                     upping)  
{                                                                     
   58d8e:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
   58d92:	286e 0010      	moveal %fp@(16),%a4                         <== NOT EXECUTED
  int                  rc;                                            
  /*                                                                  
   * Save the new block locally because upping can have *block pointing to the
   * slots which are cleared when upping.                             
   */                                                                 
  rc = rtems_rfs_group_bitmap_alloc (fs, map->last_map_block, false, &new_block);
   58d96:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system*   fs,      
                                    rtems_rfs_block_map*     map,     
                                    rtems_rfs_buffer_handle* buffer,  
                                    rtems_rfs_block_no*      block,   
                                    bool                     upping)  
{                                                                     
   58d98:	162e 001b      	moveb %fp@(27),%d3                          <== NOT EXECUTED
  int                  rc;                                            
  /*                                                                  
   * Save the new block locally because upping can have *block pointing to the
   * slots which are cleared when upping.                             
   */                                                                 
  rc = rtems_rfs_group_bitmap_alloc (fs, map->last_map_block, false, &new_block);
   58d9c:	4eb9 0005 0d4a 	jsr 50d4a <rtems_rfs_group_bitmap_alloc>    <== NOT EXECUTED
  if (rc > 0)                                                         
   58da2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  int                  rc;                                            
  /*                                                                  
   * Save the new block locally because upping can have *block pointing to the
   * slots which are cleared when upping.                             
   */                                                                 
  rc = rtems_rfs_group_bitmap_alloc (fs, map->last_map_block, false, &new_block);
   58da6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   58da8:	6f0c           	bles 58db6 <rtems_rfs_block_map_indirect_alloc+0x3e><== NOT EXECUTED
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
  *block = new_block;                                                 
  map->last_map_block = new_block;                                    
  return 0;                                                           
}                                                                     
   58daa:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   58dac:	4cee 3c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a5            <== NOT EXECUTED
   58db2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58db4:	4e75           	rts                                         <== NOT EXECUTED
   * slots which are cleared when upping.                             
   */                                                                 
  rc = rtems_rfs_group_bitmap_alloc (fs, map->last_map_block, false, &new_block);
  if (rc > 0)                                                         
    return rc;                                                        
  rc = rtems_rfs_buffer_handle_request (fs, buffer, new_block, false);
   58db6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   58db8:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   58dbc:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   58dbe:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58dc0:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
  if (rc > 0)                                                         
   58dc6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   * slots which are cleared when upping.                             
   */                                                                 
  rc = rtems_rfs_group_bitmap_alloc (fs, map->last_map_block, false, &new_block);
  if (rc > 0)                                                         
    return rc;                                                        
  rc = rtems_rfs_buffer_handle_request (fs, buffer, new_block, false);
   58dca:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   58dcc:	6f1e           	bles 58dec <rtems_rfs_block_map_indirect_alloc+0x74><== NOT EXECUTED
  {                                                                   
    rtems_rfs_group_bitmap_free (fs, false, new_block);               
   58dce:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   58dd2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   58dd4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   58dd6:	4eb9 0005 0f5c 	jsr 50f5c <rtems_rfs_group_bitmap_free>     <== NOT EXECUTED
   58ddc:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
  *block = new_block;                                                 
  map->last_map_block = new_block;                                    
  return 0;                                                           
}                                                                     
   58de0:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   58de2:	4cee 3c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a5            <== NOT EXECUTED
   58de8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58dea:	4e75           	rts                                         <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_group_bitmap_free (fs, false, new_block);               
    return rc;                                                        
  }                                                                   
  memset (rtems_rfs_buffer_data (buffer), 0xff, rtems_rfs_fs_block_size (fs));
   58dec:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   58df0:	206c 0006      	moveal %a4@(6),%a0                          <== NOT EXECUTED
   58df4:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  <== NOT EXECUTED
   58df8:	2f28 001a      	movel %a0@(26),%sp@-                        <== NOT EXECUTED
   58dfc:	4eb9 0006 159c 	jsr 6159c <memset>                          <== NOT EXECUTED
  if (upping)                                                         
   58e02:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   58e06:	4a03           	tstb %d3                                    <== NOT EXECUTED
   58e08:	6620           	bnes 58e2a <rtems_rfs_block_map_indirect_alloc+0xb2><== NOT EXECUTED
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
    memset (map->blocks, 0, sizeof (map->blocks));                    
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
  *block = new_block;                                                 
   58e0a:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
  map->last_map_block = new_block;                                    
  return 0;                                                           
   58e0e:	4282           	clrl %d2                                    <== NOT EXECUTED
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
    memset (map->blocks, 0, sizeof (map->blocks));                    
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
  *block = new_block;                                                 
   58e10:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
              map->size.count);                                       
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
    memset (map->blocks, 0, sizeof (map->blocks));                    
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
   58e14:	18bc 0001      	moveb #1,%a4@                               <== NOT EXECUTED
  *block = new_block;                                                 
   58e18:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
  map->last_map_block = new_block;                                    
   58e1a:	2740 001a      	movel %d0,%a3@(26)                          <== NOT EXECUTED
  return 0;                                                           
}                                                                     
   58e1e:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   58e20:	4cee 3c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a5            <== NOT EXECUTED
   58e26:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58e28:	4e75           	rts                                         <== NOT EXECUTED
  }                                                                   
  memset (rtems_rfs_buffer_data (buffer), 0xff, rtems_rfs_fs_block_size (fs));
  if (upping)                                                         
  {                                                                   
    int b;                                                            
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
   58e2a:	4878 2000      	pea 2000 <D_MAX_EXP+0x1801>                 <== NOT EXECUTED
   58e2e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   58e30:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   58e36:	508f           	addql #8,%sp                                <== NOT EXECUTED
   58e38:	4a00           	tstb %d0                                    <== NOT EXECUTED
   58e3a:	6600 0082      	bnew 58ebe <rtems_rfs_block_map_indirect_alloc+0x146><== NOT EXECUTED
 * @param block The block number of the indirect block allocated.     
 * @param upping True is upping the map to the next indirect level.   
 * @return int The error number (errno). No error if 0.               
 */                                                                   
static int                                                            
rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system*   fs,      
   58e3e:	240b           	movel %a3,%d2                               <== NOT EXECUTED
   58e40:	0682 0000 0022 	addil #34,%d2                               <== NOT EXECUTED
   58e46:	2042           	moveal %d2,%a0                              <== NOT EXECUTED
   58e48:	4280           	clrl %d0                                    <== NOT EXECUTED
    int b;                                                            
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
              map->size.count);                                       
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
   58e4a:	226c 0006      	moveal %a4@(6),%a1                          <== NOT EXECUTED
   58e4e:	4be8 0001      	lea %a0@(1),%a5                             <== NOT EXECUTED
 * @param block The block number of the indirect block allocated.     
 * @param upping True is upping the map to the next indirect level.   
 * @return int The error number (errno). No error if 0.               
 */                                                                   
static int                                                            
rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system*   fs,      
   58e52:	2448           	moveal %a0,%a2                              <== NOT EXECUTED
    int b;                                                            
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
              map->size.count);                                       
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
   58e54:	568a           	addql #3,%a2                                <== NOT EXECUTED
   58e56:	2269 001a      	moveal %a1@(26),%a1                         <== NOT EXECUTED
   58e5a:	1390 0800      	moveb %a0@,%a1@(00000000,%d0:l)             <== NOT EXECUTED
   58e5e:	226c 0006      	moveal %a4@(6),%a1                          <== NOT EXECUTED
   58e62:	2269 001a      	moveal %a1@(26),%a1                         <== NOT EXECUTED
   58e66:	1395 0801      	moveb %a5@,%a1@(00000001,%d0:l)             <== NOT EXECUTED
   58e6a:	226c 0006      	moveal %a4@(6),%a1                          <== NOT EXECUTED
   58e6e:	2218           	movel %a0@+,%d1                             <== NOT EXECUTED
   58e70:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   58e72:	2269 001a      	moveal %a1@(26),%a1                         <== NOT EXECUTED
   58e76:	1381 0802      	moveb %d1,%a1@(00000002,%d0:l)              <== NOT EXECUTED
  {                                                                   
    int b;                                                            
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
              map->size.count);                                       
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
   58e7a:	7214           	moveq #20,%d1                               <== NOT EXECUTED
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
   58e7c:	226c 0006      	moveal %a4@(6),%a1                          <== NOT EXECUTED
   58e80:	2269 001a      	moveal %a1@(26),%a1                         <== NOT EXECUTED
   58e84:	1392 0803      	moveb %a2@,%a1@(00000003,%d0:l)             <== NOT EXECUTED
   58e88:	18bc 0001      	moveb #1,%a4@                               <== NOT EXECUTED
   58e8c:	5880           	addql #4,%d0                                <== NOT EXECUTED
  {                                                                   
    int b;                                                            
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
              map->size.count);                                       
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
   58e8e:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   58e90:	66b8           	bnes 58e4a <rtems_rfs_block_map_indirect_alloc+0xd2><== NOT EXECUTED
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
    memset (map->blocks, 0, sizeof (map->blocks));                    
   58e92:	2042           	moveal %d2,%a0                              <== NOT EXECUTED
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
  *block = new_block;                                                 
  map->last_map_block = new_block;                                    
  return 0;                                                           
   58e94:	4282           	clrl %d2                                    <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
              map->size.count);                                       
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
    memset (map->blocks, 0, sizeof (map->blocks));                    
   58e96:	4290           	clrl %a0@                                   <== NOT EXECUTED
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
  *block = new_block;                                                 
   58e98:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
              map->size.count);                                       
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
    memset (map->blocks, 0, sizeof (map->blocks));                    
   58e9c:	42ab 0026      	clrl %a3@(38)                               <== NOT EXECUTED
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
  *block = new_block;                                                 
   58ea0:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
              map->size.count);                                       
    for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                      
      rtems_rfs_block_set_number (buffer, b, map->blocks[b]);         
    memset (map->blocks, 0, sizeof (map->blocks));                    
   58ea4:	42ab 002a      	clrl %a3@(42)                               <== NOT EXECUTED
   58ea8:	42ab 002e      	clrl %a3@(46)                               <== NOT EXECUTED
   58eac:	42ab 0032      	clrl %a3@(50)                               <== NOT EXECUTED
  }                                                                   
  rtems_rfs_buffer_mark_dirty (buffer);                               
   58eb0:	18bc 0001      	moveb #1,%a4@                               <== NOT EXECUTED
  *block = new_block;                                                 
   58eb4:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
  map->last_map_block = new_block;                                    
   58eb6:	2740 001a      	movel %d0,%a3@(26)                          <== NOT EXECUTED
   58eba:	6000 ff62      	braw 58e1e <rtems_rfs_block_map_indirect_alloc+0xa6><== NOT EXECUTED
  memset (rtems_rfs_buffer_data (buffer), 0xff, rtems_rfs_fs_block_size (fs));
  if (upping)                                                         
  {                                                                   
    int b;                                                            
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
   58ebe:	2f2b 0006      	movel %a3@(6),%sp@-                         <== NOT EXECUTED
 * @param block The block number of the indirect block allocated.     
 * @param upping True is upping the map to the next indirect level.   
 * @return int The error number (errno). No error if 0.               
 */                                                                   
static int                                                            
rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system*   fs,      
   58ec2:	240b           	movel %a3,%d2                               <== NOT EXECUTED
  memset (rtems_rfs_buffer_data (buffer), 0xff, rtems_rfs_fs_block_size (fs));
  if (upping)                                                         
  {                                                                   
    int b;                                                            
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
   58ec4:	4879 0007 20d4 	pea 720d4 <CSWTCH.2+0xc>                    <== NOT EXECUTED
 * @param block The block number of the indirect block allocated.     
 * @param upping True is upping the map to the next indirect level.   
 * @return int The error number (errno). No error if 0.               
 */                                                                   
static int                                                            
rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system*   fs,      
   58eca:	0682 0000 0022 	addil #34,%d2                               <== NOT EXECUTED
  memset (rtems_rfs_buffer_data (buffer), 0xff, rtems_rfs_fs_block_size (fs));
  if (upping)                                                         
  {                                                                   
    int b;                                                            
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_GROW))             
      printf ("rtems-rfs: block-map-grow: upping: block-count=%" PRId32 "\n",
   58ed0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   58ed6:	508f           	addql #8,%sp                                <== NOT EXECUTED
 * @param block The block number of the indirect block allocated.     
 * @param upping True is upping the map to the next indirect level.   
 * @return int The error number (errno). No error if 0.               
 */                                                                   
static int                                                            
rtems_rfs_block_map_indirect_alloc (rtems_rfs_file_system*   fs,      
   58ed8:	2042           	moveal %d2,%a0                              <== NOT EXECUTED
   58eda:	4280           	clrl %d0                                    <== NOT EXECUTED
   58edc:	6000 ff6c      	braw 58e4a <rtems_rfs_block_map_indirect_alloc+0xd2><== NOT EXECUTED
                                                                      

00058fbe <rtems_rfs_block_map_indirect_shrink.isra.12>: * @param indirect The index index in the inode's block table. * @param index The index in the indirect table of the block. * @return int The error number (errno). No error if 0. */ static int rtems_rfs_block_map_indirect_shrink (rtems_rfs_file_system* fs,
   58fbe:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   58fc2:	202e 0014      	movel %fp@(20),%d0                          <== NOT EXECUTED
   58fc6:	48d7 043c      	moveml %d2-%d5/%a2,%sp@                     <== NOT EXECUTED
   58fca:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
   * block to be freed and the indirect block is now also free, or we have only
   * one indirect table and we can fit the remaining blocks into the inode,
   * then either move to the next indirect block or move the remaining blocks
   * into the inode and free the indirect table's block.              
   */                                                                 
  if ((index == 0) ||                                                 
   58fce:	4aae 0018      	tstl %fp@(24)                               <== NOT EXECUTED
   58fd2:	671a           	beqs 58fee <rtems_rfs_block_map_indirect_shrink.isra.12+0x30><== NOT EXECUTED
   58fd4:	4a80           	tstl %d0                                    <== NOT EXECUTED
   58fd6:	6642           	bnes 5901a <rtems_rfs_block_map_indirect_shrink.isra.12+0x5c><== NOT EXECUTED
      ((indirect == 0) && (index == RTEMS_RFS_INODE_BLOCKS)))         
   58fd8:	103c 0005      	moveb #5,%d0                                <== NOT EXECUTED
   58fdc:	b0ae 0018      	cmpl %fp@(24),%d0                           <== NOT EXECUTED
   58fe0:	6744           	beqs 59026 <rtems_rfs_block_map_indirect_shrink.isra.12+0x68><== NOT EXECUTED
                                     rtems_rfs_block_map*     map,    
                                     rtems_rfs_buffer_handle* buffer, 
                                     rtems_rfs_block_no       indirect,
                                     rtems_rfs_block_no       index)  
{                                                                     
  int rc = 0;                                                         
   58fe2:	4200           	clrb %d0                                    <== NOT EXECUTED
                                                                      
    map->last_map_block = block_to_free;                              
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   58fe4:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                <== NOT EXECUTED
   58fea:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58fec:	4e75           	rts                                         <== NOT EXECUTED
   * into the inode and free the indirect table's block.              
   */                                                                 
  if ((index == 0) ||                                                 
      ((indirect == 0) && (index == RTEMS_RFS_INODE_BLOCKS)))         
  {                                                                   
    rtems_rfs_block_no block_to_free = map->blocks[indirect];         
   58fee:	2632 0c22      	movel %a2@(00000022,%d0:l:4),%d3            <== NOT EXECUTED
    else                                                              
    {                                                                 
      /*                                                              
       * One less singly indirect block in the inode.                 
       */                                                             
      map->blocks[indirect] = 0;                                      
   58ff2:	42b2 0c22      	clrl %a2@(00000022,%d0:l:4)                 <== NOT EXECUTED
    }                                                                 
                                                                      
    rc = rtems_rfs_group_bitmap_free (fs, false, block_to_free);      
   58ff6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   58ff8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   58ffa:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   58ffe:	4eb9 0005 0f5c 	jsr 50f5c <rtems_rfs_group_bitmap_free>     <== NOT EXECUTED
    if (rc > 0)                                                       
   59004:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   59008:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5900a:	6ed8           	bgts 58fe4 <rtems_rfs_block_map_indirect_shrink.isra.12+0x26><== NOT EXECUTED
      return rc;                                                      
                                                                      
    map->last_map_block = block_to_free;                              
   5900c:	2543 001a      	movel %d3,%a2@(26)                          <== NOT EXECUTED
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   59010:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                <== NOT EXECUTED
   59016:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59018:	4e75           	rts                                         <== NOT EXECUTED
                                     rtems_rfs_block_map*     map,    
                                     rtems_rfs_buffer_handle* buffer, 
                                     rtems_rfs_block_no       indirect,
                                     rtems_rfs_block_no       index)  
{                                                                     
  int rc = 0;                                                         
   5901a:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
    map->last_map_block = block_to_free;                              
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5901c:	4cee 043c ffec 	moveml %fp@(-20),%d2-%d5/%a2                <== NOT EXECUTED
   59022:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59024:	4e75           	rts                                         <== NOT EXECUTED
   59026:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
 * @param indirect The index index in the inode's block table.        
 * @param index The index in the indirect table of the block.         
 * @return int The error number (errno). No error if 0.               
 */                                                                   
static int                                                            
rtems_rfs_block_map_indirect_shrink (rtems_rfs_file_system*   fs,     
   5902a:	43ea 0022      	lea %a2@(34),%a1                            <== NOT EXECUTED
   5902e:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
   59030:	2a28 001a      	movel %a0@(26),%d5                          <== NOT EXECUTED
   59034:	2045           	moveal %d5,%a0                              <== NOT EXECUTED
   59036:	5288           	addql #1,%a0                                <== NOT EXECUTED
   59038:	0685 0000 0015 	addil #21,%d5                               <== NOT EXECUTED
   * into the inode and free the indirect table's block.              
   */                                                                 
  if ((index == 0) ||                                                 
      ((indirect == 0) && (index == RTEMS_RFS_INODE_BLOCKS)))         
  {                                                                   
    rtems_rfs_block_no block_to_free = map->blocks[indirect];         
   5903e:	262a 0022      	movel %a2@(34),%d3                          <== NOT EXECUTED
      /*                                                              
       * Move to direct inode access.                                 
       */                                                             
      int b;                                                          
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                    
        map->blocks[b] = rtems_rfs_block_get_number (buffer, b);      
   59042:	4280           	clrl %d0                                    <== NOT EXECUTED
   59044:	4282           	clrl %d2                                    <== NOT EXECUTED
   59046:	1028 ffff      	moveb %a0@(-1),%d0                          <== NOT EXECUTED
   5904a:	1410           	moveb %a0@,%d2                              <== NOT EXECUTED
   5904c:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5904e:	4284           	clrl %d4                                    <== NOT EXECUTED
   59050:	1828 0002      	moveb %a0@(2),%d4                           <== NOT EXECUTED
   59054:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   59056:	4842           	swap %d2                                    <== NOT EXECUTED
   59058:	4242           	clrw %d2                                    <== NOT EXECUTED
   5905a:	4281           	clrl %d1                                    <== NOT EXECUTED
   5905c:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
   59060:	5888           	addql #4,%a0                                <== NOT EXECUTED
   59062:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   59064:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   59066:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
   59068:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5906a:	22c0           	movel %d0,%a1@+                             <== NOT EXECUTED
    {                                                                 
      /*                                                              
       * Move to direct inode access.                                 
       */                                                             
      int b;                                                          
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                    
   5906c:	ba88           	cmpl %a0,%d5                                <== NOT EXECUTED
   5906e:	6786           	beqs 58ff6 <rtems_rfs_block_map_indirect_shrink.isra.12+0x38><== NOT EXECUTED
        map->blocks[b] = rtems_rfs_block_get_number (buffer, b);      
   59070:	4280           	clrl %d0                                    <== NOT EXECUTED
   59072:	4282           	clrl %d2                                    <== NOT EXECUTED
   59074:	1028 ffff      	moveb %a0@(-1),%d0                          <== NOT EXECUTED
   59078:	1410           	moveb %a0@,%d2                              <== NOT EXECUTED
   5907a:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5907c:	4284           	clrl %d4                                    <== NOT EXECUTED
   5907e:	1828 0002      	moveb %a0@(2),%d4                           <== NOT EXECUTED
   59082:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   59084:	4842           	swap %d2                                    <== NOT EXECUTED
   59086:	4242           	clrw %d2                                    <== NOT EXECUTED
   59088:	4281           	clrl %d1                                    <== NOT EXECUTED
   5908a:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
   5908e:	5888           	addql #4,%a0                                <== NOT EXECUTED
   59090:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   59092:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   59094:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
   59096:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   59098:	22c0           	movel %d0,%a1@+                             <== NOT EXECUTED
    {                                                                 
      /*                                                              
       * Move to direct inode access.                                 
       */                                                             
      int b;                                                          
      for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                    
   5909a:	ba88           	cmpl %a0,%d5                                <== NOT EXECUTED
   5909c:	66a4           	bnes 59042 <rtems_rfs_block_map_indirect_shrink.isra.12+0x84><== NOT EXECUTED
   5909e:	6000 ff56      	braw 58ff6 <rtems_rfs_block_map_indirect_shrink.isra.12+0x38><== NOT EXECUTED
                                                                      

00059776 <rtems_rfs_block_map_next_block>: int rtems_rfs_block_map_next_block (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, rtems_rfs_block_no* block) {
   59776:	4e56 fff4      	linkw %fp,#-12                              <== NOT EXECUTED
  rtems_rfs_block_pos bpos;                                           
  bpos.bno = map->bpos.bno + 1;                                       
  bpos.boff = 0;                                                      
  bpos.block = 0;                                                     
  return rtems_rfs_block_map_find (fs, map, &bpos, block);            
   5977a:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_block_map_next_block (rtems_rfs_file_system* fs,            
                                rtems_rfs_block_map*   map,           
                                rtems_rfs_block_no*    block)         
{                                                                     
   5977e:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
  rtems_rfs_block_pos bpos;                                           
  bpos.bno = map->bpos.bno + 1;                                       
  bpos.boff = 0;                                                      
  bpos.block = 0;                                                     
  return rtems_rfs_block_map_find (fs, map, &bpos, block);            
   59782:	486e fff4      	pea %fp@(-12)                               <== NOT EXECUTED
rtems_rfs_block_map_next_block (rtems_rfs_file_system* fs,            
                                rtems_rfs_block_map*   map,           
                                rtems_rfs_block_no*    block)         
{                                                                     
  rtems_rfs_block_pos bpos;                                           
  bpos.bno = map->bpos.bno + 1;                                       
   59786:	2028 000e      	movel %a0@(14),%d0                          <== NOT EXECUTED
   5978a:	5280           	addql #1,%d0                                <== NOT EXECUTED
  bpos.boff = 0;                                                      
  bpos.block = 0;                                                     
  return rtems_rfs_block_map_find (fs, map, &bpos, block);            
   5978c:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5978e:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
rtems_rfs_block_map_next_block (rtems_rfs_file_system* fs,            
                                rtems_rfs_block_map*   map,           
                                rtems_rfs_block_no*    block)         
{                                                                     
  rtems_rfs_block_pos bpos;                                           
  bpos.bno = map->bpos.bno + 1;                                       
   59792:	2d40 fff4      	movel %d0,%fp@(-12)                         <== NOT EXECUTED
  bpos.boff = 0;                                                      
   59796:	42ae fff8      	clrl %fp@(-8)                               <== NOT EXECUTED
  bpos.block = 0;                                                     
   5979a:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
  return rtems_rfs_block_map_find (fs, map, &bpos, block);            
   5979e:	4eb9 0005 95dc 	jsr 595dc <rtems_rfs_block_map_find>        <== NOT EXECUTED
}                                                                     
   597a4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00059208 <rtems_rfs_block_map_open>: int rtems_rfs_block_map_open (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* inode, rtems_rfs_block_map* map) {
   59208:	4e56 ffe4      	linkw %fp,#-28                              
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5920c:	4200           	clrb %d0                                    
   5920e:	48d7 1c3c      	moveml %d2-%d5/%a2-%a4,%sp@                 
   59212:	286e 000c      	moveal %fp@(12),%a4                         
   59216:	246e 0010      	moveal %fp@(16),%a2                         
    return rc;                                                        
  rc = rtems_rfs_buffer_handle_open (fs, &map->doubly_buffer);        
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  rc = rtems_rfs_inode_load (fs, inode);                              
   5921a:	2f0c           	movel %a4,%sp@-                             
                                                                      
int                                                                   
rtems_rfs_block_map_open (rtems_rfs_file_system*  fs,                 
                          rtems_rfs_inode_handle* inode,              
                          rtems_rfs_block_map*    map)                
{                                                                     
   5921c:	2a2e 0008      	movel %fp@(8),%d5                           
   * sure the inode has been loaded into memory. If we did not load the inode
   * do not unload it. The caller may assume it is still loaded when we return.
   */                                                                 
                                                                      
  map->dirty = false;                                                 
  map->inode = NULL;                                                  
   59220:	42aa 0002      	clrl %a2@(2)                                
   * Set the count to 0 so at least find fails, then open the handle and make
   * sure the inode has been loaded into memory. If we did not load the inode
   * do not unload it. The caller may assume it is still loaded when we return.
   */                                                                 
                                                                      
  map->dirty = false;                                                 
   59224:	4212           	clrb %a2@                                   
 * @param size A pointer to the block size.                           
 */                                                                   
static inline void                                                    
rtems_rfs_block_set_size_zero (rtems_rfs_block_size* size)            
{                                                                     
  size->count = 0;                                                    
   59226:	42aa 0006      	clrl %a2@(6)                                
   5922a:	1540 0036      	moveb %d0,%a2@(54)                          
  size->offset = 0;                                                   
   5922e:	42aa 000a      	clrl %a2@(10)                               
   59232:	1540 0040      	moveb %d0,%a2@(64)                          
 * @param bpos A pointer to the block position.                       
 */                                                                   
static inline void                                                    
rtems_rfs_block_set_bpos_zero (rtems_rfs_block_pos* bpos)             
{                                                                     
  bpos->bno = 0;                                                      
   59236:	42aa 000e      	clrl %a2@(14)                               
  bpos->boff = 0;                                                     
   5923a:	42aa 0012      	clrl %a2@(18)                               
  bpos->block = 0;                                                    
   5923e:	42aa 0016      	clrl %a2@(22)                               
  handle->bnum  = 0;                                                  
   59242:	42aa 0038      	clrl %a2@(56)                               
  handle->buffer = NULL;                                              
   59246:	42aa 003c      	clrl %a2@(60)                               
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
   5924a:	42aa 0042      	clrl %a2@(66)                               
  handle->buffer = NULL;                                              
   5924e:	42aa 0046      	clrl %a2@(70)                               
    return rc;                                                        
  rc = rtems_rfs_buffer_handle_open (fs, &map->doubly_buffer);        
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  rc = rtems_rfs_inode_load (fs, inode);                              
   59252:	2f05           	movel %d5,%sp@-                             
   59254:	4eb9 0005 11fc 	jsr 511fc <rtems_rfs_inode_load>            
  if (rc > 0)                                                         
   5925a:	508f           	addql #8,%sp                                
    return rc;                                                        
  rc = rtems_rfs_buffer_handle_open (fs, &map->doubly_buffer);        
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  rc = rtems_rfs_inode_load (fs, inode);                              
   5925c:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   5925e:	6e00 00f2      	bgtw 59352 <rtems_rfs_block_map_open+0x14a> 
   59262:	226c 000c      	moveal %a4@(12),%a1                         
  block_size = rtems_rfs_fs_block_size (fs);                          
  return (((uint64_t) (size->count - 1)) * block_size) + offset;      
}                                                                     
                                                                      
int                                                                   
rtems_rfs_block_map_open (rtems_rfs_file_system*  fs,                 
   59266:	47ea 0022      	lea %a2@(34),%a3                            
  /*                                                                  
   * Extract the block and block count data from the inode into the targets
   * byte order.                                                      
   */                                                                 
  map->inode = inode;                                                 
  for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                        
   5926a:	4281           	clrl %d1                                    
                                                                      
  /*                                                                  
   * Extract the block and block count data from the inode into the targets
   * byte order.                                                      
   */                                                                 
  map->inode = inode;                                                 
   5926c:	254c 0002      	movel %a4,%a2@(2)                           
 * @return uint32_t The block number.                                 
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block (rtems_rfs_inode_handle* handle, int block) 
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->data.blocks[block]);      
   59270:	4280           	clrl %d0                                    
   59272:	4283           	clrl %d3                                    
   59274:	7418           	moveq #24,%d2                               
   59276:	4284           	clrl %d4                                    
   59278:	41f1 1c1c      	lea %a1@(0000001c,%d1:l:4),%a0              
  for (b = 0; b < RTEMS_RFS_INODE_BLOCKS; b++)                        
   5927c:	5281           	addql #1,%d1                                
   5927e:	1010           	moveb %a0@,%d0                              
   59280:	1628 0001      	moveb %a0@(1),%d3                           
   59284:	1828 0003      	moveb %a0@(3),%d4                           
   59288:	e5a8           	lsll %d2,%d0                                
   5928a:	4843           	swap %d3                                    
   5928c:	4243           	clrw %d3                                    
   5928e:	4282           	clrl %d2                                    
   59290:	1428 0002      	moveb %a0@(2),%d2                           
   59294:	8083           	orl %d3,%d0                                 
   59296:	e18a           	lsll #8,%d2                                 
   59298:	8084           	orl %d4,%d0                                 
   5929a:	8082           	orl %d2,%d0                                 
   5929c:	26c0           	movel %d0,%a3@+                             
   5929e:	7005           	moveq #5,%d0                                
   592a0:	b081           	cmpl %d1,%d0                                
   592a2:	66cc           	bnes 59270 <rtems_rfs_block_map_open+0x68>  
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   592a4:	4280           	clrl %d0                                    
   592a6:	4282           	clrl %d2                                    
   592a8:	1029 000c      	moveb %a1@(12),%d0                          
   592ac:	1429 000d      	moveb %a1@(13),%d2                          
   592b0:	7218           	moveq #24,%d1                               
   592b2:	4283           	clrl %d3                                    
   592b4:	1629 000f      	moveb %a1@(15),%d3                          
   592b8:	e3a8           	lsll %d1,%d0                                
   592ba:	4842           	swap %d2                                    
   592bc:	4242           	clrw %d2                                    
   592be:	4281           	clrl %d1                                    
   592c0:	1229 000e      	moveb %a1@(14),%d1                          
   592c4:	8082           	orl %d2,%d0                                 
   592c6:	e189           	lsll #8,%d1                                 
 * @return uint32_t The last map block number.                        
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_last_map_block (rtems_rfs_inode_handle* handle)   
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->last_map_block);          
   592c8:	4282           	clrl %d2                                    
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   592ca:	8083           	orl %d3,%d0                                 
   592cc:	8081           	orl %d1,%d0                                 
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   592ce:	4281           	clrl %d1                                    
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   592d0:	2540 0006      	movel %d0,%a2@(6)                           
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   592d4:	4280           	clrl %d0                                    
   592d6:	1029 000a      	moveb %a1@(10),%d0                          
   592da:	1229 000b      	moveb %a1@(11),%d1                          
   592de:	e188           	lsll #8,%d0                                 
    map->blocks[b] = rtems_rfs_inode_get_block (inode, b);            
  map->size.count = rtems_rfs_inode_get_block_count (inode);          
  map->size.offset = rtems_rfs_inode_get_block_offset (inode);        
   592e0:	8081           	orl %d1,%d0                                 
 * @return uint32_t The last map block number.                        
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_last_map_block (rtems_rfs_inode_handle* handle)   
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->last_map_block);          
   592e2:	7218           	moveq #24,%d1                               
   592e4:	2540 000a      	movel %d0,%a2@(10)                          
   592e8:	4280           	clrl %d0                                    
   592ea:	1029 0030      	moveb %a1@(48),%d0                          
   592ee:	1429 0031      	moveb %a1@(49),%d2                          
   592f2:	1629 0033      	moveb %a1@(51),%d3                          
   592f6:	e3a8           	lsll %d1,%d0                                
   592f8:	4842           	swap %d2                                    
   592fa:	4242           	clrw %d2                                    
   592fc:	4281           	clrl %d1                                    
   592fe:	1229 0032      	moveb %a1@(50),%d1                          
   59302:	8082           	orl %d2,%d0                                 
   59304:	e189           	lsll #8,%d1                                 
 * @return uint32_t The last data block number.                       
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_last_data_block (rtems_rfs_inode_handle* handle)  
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->last_data_block);         
   59306:	4282           	clrl %d2                                    
 * @return uint32_t The last map block number.                        
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_last_map_block (rtems_rfs_inode_handle* handle)   
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->last_map_block);          
   59308:	8083           	orl %d3,%d0                                 
   5930a:	8081           	orl %d1,%d0                                 
 * @return uint32_t The last data block number.                       
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_last_data_block (rtems_rfs_inode_handle* handle)  
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->last_data_block);         
   5930c:	7218           	moveq #24,%d1                               
 * @return uint32_t The last map block number.                        
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_last_map_block (rtems_rfs_inode_handle* handle)   
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->last_map_block);          
   5930e:	2540 001a      	movel %d0,%a2@(26)                          
 * @return uint32_t The last data block number.                       
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_last_data_block (rtems_rfs_inode_handle* handle)  
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->last_data_block);         
   59312:	4280           	clrl %d0                                    
   59314:	1029 0034      	moveb %a1@(52),%d0                          
   59318:	1429 0035      	moveb %a1@(53),%d2                          
   5931c:	1629 0037      	moveb %a1@(55),%d3                          
   59320:	e3a8           	lsll %d1,%d0                                
   59322:	4842           	swap %d2                                    
   59324:	4242           	clrw %d2                                    
   59326:	4281           	clrl %d1                                    
   59328:	1229 0036      	moveb %a1@(54),%d1                          
   5932c:	8082           	orl %d2,%d0                                 
   5932e:	e189           	lsll #8,%d1                                 
  map->last_map_block = rtems_rfs_inode_get_last_map_block (inode);   
  map->last_data_block = rtems_rfs_inode_get_last_data_block (inode); 
                                                                      
  rc = rtems_rfs_inode_unload (fs, inode, false);                     
   59330:	2d4c 000c      	movel %a4,%fp@(12)                          
   59334:	8083           	orl %d3,%d0                                 
   59336:	2d45 0008      	movel %d5,%fp@(8)                           
   5933a:	8081           	orl %d1,%d0                                 
   5933c:	42ae 0010      	clrl %fp@(16)                               
   59340:	2540 001e      	movel %d0,%a2@(30)                          
                                                                      
  return rc;                                                          
}                                                                     
   59344:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            
   5934a:	4e5e           	unlk %fp                                    
  map->size.count = rtems_rfs_inode_get_block_count (inode);          
  map->size.offset = rtems_rfs_inode_get_block_offset (inode);        
  map->last_map_block = rtems_rfs_inode_get_last_map_block (inode);   
  map->last_data_block = rtems_rfs_inode_get_last_data_block (inode); 
                                                                      
  rc = rtems_rfs_inode_unload (fs, inode, false);                     
   5934c:	4ef9 0005 1384 	jmp 51384 <rtems_rfs_inode_unload>          
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   59352:	486a 0036      	pea %a2@(54)                                <== NOT EXECUTED
   59356:	47f9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a3<== NOT EXECUTED
   5935c:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5935e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   59360:	486a 0040      	pea %a2@(64)                                <== NOT EXECUTED
  handle->dirty = false;                                              
   59364:	4201           	clrb %d1                                    <== NOT EXECUTED
   59366:	1541 0036      	moveb %d1,%a2@(54)                          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5936a:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
   5936c:	42aa 0038      	clrl %a2@(56)                               <== NOT EXECUTED
  handle->buffer = NULL;                                              
   59370:	42aa 003c      	clrl %a2@(60)                               <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   59374:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   59376:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5937a:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5937c:	42aa 0042      	clrl %a2@(66)                               <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   59380:	1540 0040      	moveb %d0,%a2@(64)                          <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
   59384:	2002           	movel %d2,%d0                               <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   59386:	42aa 0046      	clrl %a2@(70)                               <== NOT EXECUTED
   5938a:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            <== NOT EXECUTED
   59390:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000596f8 <rtems_rfs_block_map_seek>: int rtems_rfs_block_map_seek (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, rtems_rfs_pos_rel offset, rtems_rfs_block_no* block) {
   596f8:	4e56 ffdc      	linkw %fp,#-36                              <== NOT EXECUTED
   596fc:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 <== NOT EXECUTED
   59700:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
void                                                                  
rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs,                  
                          rtems_rfs_pos          pos,                 
                          rtems_rfs_block_pos*   bpos)                
{                                                                     
  bpos->bno  = pos / rtems_rfs_fs_block_size (fs);                    
   59704:	4284           	clrl %d4                                    <== NOT EXECUTED
                                                                      
rtems_rfs_pos                                                         
rtems_rfs_block_get_pos (rtems_rfs_file_system* fs,                   
                         rtems_rfs_block_pos*   bpos)                 
{                                                                     
  return (bpos->bno * rtems_rfs_fs_block_size (fs)) + bpos->boff;     
   59706:	4282           	clrl %d2                                    <== NOT EXECUTED
int                                                                   
rtems_rfs_block_map_seek (rtems_rfs_file_system* fs,                  
                          rtems_rfs_block_map*   map,                 
                          rtems_rfs_pos_rel      offset,              
                          rtems_rfs_block_no*    block)               
{                                                                     
   59708:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
                                                                      
rtems_rfs_pos                                                         
rtems_rfs_block_get_pos (rtems_rfs_file_system* fs,                   
                         rtems_rfs_block_pos*   bpos)                 
{                                                                     
  return (bpos->bno * rtems_rfs_fs_block_size (fs)) + bpos->boff;     
   5970c:	202a 000e      	movel %a2@(14),%d0                          <== NOT EXECUTED
int                                                                   
rtems_rfs_block_map_free_all (rtems_rfs_file_system* fs,              
                              rtems_rfs_block_map*   map)             
{                                                                     
  return rtems_rfs_block_map_shrink (fs, map, map->size.count);       
}                                                                     
   59710:	222b 0008      	movel %a3@(8),%d1                           <== NOT EXECUTED
                                                                      
rtems_rfs_pos                                                         
rtems_rfs_block_get_pos (rtems_rfs_file_system* fs,                   
                         rtems_rfs_block_pos*   bpos)                 
{                                                                     
  return (bpos->bno * rtems_rfs_fs_block_size (fs)) + bpos->boff;     
   59714:	4c01 0800      	mulsl %d1,%d0                               <== NOT EXECUTED
void                                                                  
rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs,                  
                          rtems_rfs_pos          pos,                 
                          rtems_rfs_block_pos*   bpos)                
{                                                                     
  bpos->bno  = pos / rtems_rfs_fs_block_size (fs);                    
   59718:	2a01           	movel %d1,%d5                               <== NOT EXECUTED
   5971a:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5971c:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
                                                                      
rtems_rfs_pos                                                         
rtems_rfs_block_get_pos (rtems_rfs_file_system* fs,                   
                         rtems_rfs_block_pos*   bpos)                 
{                                                                     
  return (bpos->bno * rtems_rfs_fs_block_size (fs)) + bpos->boff;     
   5971e:	d0aa 0012      	addl %a2@(18),%d0                           <== NOT EXECUTED
   59722:	2600           	movel %d0,%d3                               <== NOT EXECUTED
static inline void                                                    
rtems_rfs_block_add_pos (rtems_rfs_file_system*  fs,                  
                         rtems_rfs_pos_rel       offset,              
                         rtems_rfs_block_pos*    bpos)                
{                                                                     
  rtems_rfs_block_get_bpos (fs,                                       
   59724:	202e 0010      	movel %fp@(16),%d0                          <== NOT EXECUTED
   59728:	d6ae 0014      	addl %fp@(20),%d3                           <== NOT EXECUTED
   5972c:	d580           	addxl %d0,%d2                               <== NOT EXECUTED
void                                                                  
rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs,                  
                          rtems_rfs_pos          pos,                 
                          rtems_rfs_block_pos*   bpos)                
{                                                                     
  bpos->bno  = pos / rtems_rfs_fs_block_size (fs);                    
   5972e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   59730:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   59732:	4eb9 0006 dfc8 	jsr 6dfc8 <__udivdi3>                       <== NOT EXECUTED
  bpos->boff = pos % rtems_rfs_fs_block_size (fs);                    
   59738:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5973c:	2e85           	movel %d5,%sp@                              <== NOT EXECUTED
   5973e:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   59740:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
void                                                                  
rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs,                  
                          rtems_rfs_pos          pos,                 
                          rtems_rfs_block_pos*   bpos)                
{                                                                     
  bpos->bno  = pos / rtems_rfs_fs_block_size (fs);                    
   59742:	2d41 fff4      	movel %d1,%fp@(-12)                         <== NOT EXECUTED
  bpos->boff = pos % rtems_rfs_fs_block_size (fs);                    
   59746:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   59748:	4eb9 0006 e3cc 	jsr 6e3cc <__umoddi3>                       <== NOT EXECUTED
                          rtems_rfs_block_no*    block)               
{                                                                     
  rtems_rfs_block_pos bpos;                                           
  rtems_rfs_block_copy_bpos (&bpos, &map->bpos);                      
  rtems_rfs_block_add_pos (fs, offset, &bpos);                        
  return rtems_rfs_block_map_find (fs, map, &bpos, block);            
   5974e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   59752:	2eae 0018      	movel %fp@(24),%sp@                         <== NOT EXECUTED
   59756:	486e fff4      	pea %fp@(-12)                               <== NOT EXECUTED
   5975a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
rtems_rfs_block_get_bpos (rtems_rfs_file_system* fs,                  
                          rtems_rfs_pos          pos,                 
                          rtems_rfs_block_pos*   bpos)                
{                                                                     
  bpos->bno  = pos / rtems_rfs_fs_block_size (fs);                    
  bpos->boff = pos % rtems_rfs_fs_block_size (fs);                    
   5975c:	2d41 fff8      	movel %d1,%fp@(-8)                          <== NOT EXECUTED
                          rtems_rfs_block_no*    block)               
{                                                                     
  rtems_rfs_block_pos bpos;                                           
  rtems_rfs_block_copy_bpos (&bpos, &map->bpos);                      
  rtems_rfs_block_add_pos (fs, offset, &bpos);                        
  return rtems_rfs_block_map_find (fs, map, &bpos, block);            
   59760:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
                            rtems_rfs_block_get_pos (fs, bpos) + offset,
                            bpos);                                    
  bpos->block = 0;                                                    
   59762:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
   59766:	4eb9 0005 95dc 	jsr 595dc <rtems_rfs_block_map_find>        <== NOT EXECUTED
}                                                                     
   5976c:	4cee 0c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a3            <== NOT EXECUTED
   59772:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00059b44 <rtems_rfs_block_map_shrink>: int rtems_rfs_block_map_shrink (rtems_rfs_file_system* fs, rtems_rfs_block_map* map, size_t blocks) {
   59b44:	4e56 ffc0      	linkw %fp,#-64                              <== NOT EXECUTED
   59b48:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_SHRINK))             
   59b4c:	4878 4000      	pea 4000 <D_MAX_EXP+0x3801>                 <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_block_map_shrink (rtems_rfs_file_system* fs,                
                            rtems_rfs_block_map*   map,               
                            size_t                 blocks)            
{                                                                     
   59b50:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_SHRINK))             
   59b54:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_block_map_shrink (rtems_rfs_file_system* fs,                
                            rtems_rfs_block_map*   map,               
                            size_t                 blocks)            
{                                                                     
   59b56:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_SHRINK))             
   59b5a:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   59b60:	508f           	addql #8,%sp                                <== NOT EXECUTED
   59b62:	4a00           	tstb %d0                                    <== NOT EXECUTED
   59b64:	6600 0248      	bnew 59dae <rtems_rfs_block_map_shrink+0x26a><== NOT EXECUTED
    printf ("rtems-rfs: block-map-shrink: entry: blocks=%zd count=%" PRIu32 "\n",
            blocks, map->size.count);                                 
                                                                      
  if (map->size.count == 0)                                           
   59b68:	222a 0006      	movel %a2@(6),%d1                           <== NOT EXECUTED
   59b6c:	6700 00a4      	beqw 59c12 <rtems_rfs_block_map_shrink+0xce><== NOT EXECUTED
   59b70:	262e 0010      	movel %fp@(16),%d3                          <== NOT EXECUTED
   59b74:	b283           	cmpl %d3,%d1                                <== NOT EXECUTED
   59b76:	6500 0230      	bcsw 59da8 <rtems_rfs_block_map_shrink+0x264><== NOT EXECUTED
    return 0;                                                         
                                                                      
  if (blocks > map->size.count)                                       
    blocks = map->size.count;                                         
                                                                      
  while (blocks)                                                      
   59b7a:	4a83           	tstl %d3                                    <== NOT EXECUTED
   59b7c:	6700 024c      	beqw 59dca <rtems_rfs_block_map_shrink+0x286><== NOT EXECUTED
        rtems_rfs_block_no doubly_singly;                             
                                                                      
        doubly        = singly / fs->blocks_per_block;                
        doubly_singly = singly % fs->blocks_per_block;                
                                                                      
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,
   59b80:	41ea 0040      	lea %a2@(64),%a0                            <== NOT EXECUTED
   59b84:	49f9 0005 a19a 	lea 5a19a <rtems_rfs_buffer_handle_request>,%a4<== NOT EXECUTED
   59b8a:	2d48 fff8      	movel %a0,%fp@(-8)                          <== NOT EXECUTED
                                             doubly_singly);          
                                                                      
        /*                                                            
         * Read the singly indirect table and get the block number.   
         */                                                           
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   59b8e:	41ea 0036      	lea %a2@(54),%a0                            <== NOT EXECUTED
   59b92:	2d48 fffc      	movel %a0,%fp@(-4)                          <== NOT EXECUTED
int                                                                   
rtems_rfs_block_map_free_all (rtems_rfs_file_system* fs,              
                              rtems_rfs_block_map*   map)             
{                                                                     
  return rtems_rfs_block_map_shrink (fs, map, map->size.count);       
}                                                                     
   59b96:	41ea 0046      	lea %a2@(70),%a0                            <== NOT EXECUTED
   59b9a:	2d48 fff0      	movel %a0,%fp@(-16)                         <== NOT EXECUTED
   59b9e:	41ea 003c      	lea %a2@(60),%a0                            <== NOT EXECUTED
   59ba2:	2d48 fff4      	movel %a0,%fp@(-12)                         <== NOT EXECUTED
  {                                                                   
    rtems_rfs_block_no block;                                         
    rtems_rfs_block_no block_to_free;                                 
    int                rc;                                            
                                                                      
    block = map->size.count - 1;                                      
   59ba6:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   59ba8:	5380           	subql #1,%d0                                <== NOT EXECUTED
                                                                      
    if (block < RTEMS_RFS_INODE_BLOCKS)                               
   59baa:	7404           	moveq #4,%d2                                <== NOT EXECUTED
   59bac:	b480           	cmpl %d0,%d2                                <== NOT EXECUTED
   59bae:	656e           	bcss 59c1e <rtems_rfs_block_map_shrink+0xda><== NOT EXECUTED
    {                                                                 
      /*                                                              
       * We have less than RTEMS_RFS_INODE_BLOCKS so they are held in the
       * inode.                                                       
       */                                                             
      block_to_free = map->blocks[block];                             
   59bb0:	2432 0c22      	movel %a2@(00000022,%d0:l:4),%d2            <== NOT EXECUTED
   59bb4:	4bf9 0005 0f5c 	lea 50f5c <rtems_rfs_group_bitmap_free>,%a5 <== NOT EXECUTED
      map->blocks[block] = 0;                                         
   59bba:	42b2 0c22      	clrl %a2@(00000022,%d0:l:4)                 <== NOT EXECUTED
      {                                                               
        rc = EIO;                                                     
        break;                                                        
      }                                                               
    }                                                                 
    rc = rtems_rfs_group_bitmap_free (fs, false, block_to_free);      
   59bbe:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   59bc0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59bc2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59bc4:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    if (rc > 0)                                                       
   59bc6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   59bca:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59bcc:	6e46           	bgts 59c14 <rtems_rfs_block_map_shrink+0xd0><== NOT EXECUTED
      return rc;                                                      
    map->size.count--;                                                
   59bce:	222a 0006      	movel %a2@(6),%d1                           <== NOT EXECUTED
   59bd2:	5381           	subql #1,%d1                                <== NOT EXECUTED
    map->size.offset = 0;                                             
    map->last_data_block = block_to_free;                             
    map->dirty = true;                                                
    blocks--;                                                         
   59bd4:	5383           	subql #1,%d3                                <== NOT EXECUTED
    if (rc > 0)                                                       
      return rc;                                                      
    map->size.count--;                                                
    map->size.offset = 0;                                             
    map->last_data_block = block_to_free;                             
    map->dirty = true;                                                
   59bd6:	14bc 0001      	moveb #1,%a2@                               <== NOT EXECUTED
      }                                                               
    }                                                                 
    rc = rtems_rfs_group_bitmap_free (fs, false, block_to_free);      
    if (rc > 0)                                                       
      return rc;                                                      
    map->size.count--;                                                
   59bda:	2541 0006      	movel %d1,%a2@(6)                           <== NOT EXECUTED
    map->size.offset = 0;                                             
   59bde:	42aa 000a      	clrl %a2@(10)                               <== NOT EXECUTED
    map->last_data_block = block_to_free;                             
   59be2:	2542 001e      	movel %d2,%a2@(30)                          <== NOT EXECUTED
    return 0;                                                         
                                                                      
  if (blocks > map->size.count)                                       
    blocks = map->size.count;                                         
                                                                      
  while (blocks)                                                      
   59be6:	4a83           	tstl %d3                                    <== NOT EXECUTED
   59be8:	66bc           	bnes 59ba6 <rtems_rfs_block_map_shrink+0x62><== NOT EXECUTED
    map->last_data_block = block_to_free;                             
    map->dirty = true;                                                
    blocks--;                                                         
  }                                                                   
                                                                      
  if (map->size.count == 0)                                           
   59bea:	4a81           	tstl %d1                                    <== NOT EXECUTED
   59bec:	6600 01dc      	bnew 59dca <rtems_rfs_block_map_shrink+0x286><== NOT EXECUTED
  {                                                                   
    map->last_map_block = 0;                                          
   59bf0:	42aa 001a      	clrl %a2@(26)                               <== NOT EXECUTED
    map->last_data_block = 0;                                         
   59bf4:	42aa 001e      	clrl %a2@(30)                               <== NOT EXECUTED
   59bf8:	202a 000a      	movel %a2@(10),%d0                          <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Keep the position inside the map.                                
   */                                                                 
  if (rtems_rfs_block_pos_past_end (&map->bpos, &map->size))          
    rtems_rfs_block_size_get_bpos (&map->size, &map->bpos);           
   59bfc:	2541 000e      	movel %d1,%a2@(14)                          <== NOT EXECUTED
   59c00:	2540 0012      	movel %d0,%a2@(18)                          <== NOT EXECUTED
   59c04:	42aa 0016      	clrl %a2@(22)                               <== NOT EXECUTED
   59c08:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59c0a:	6706           	beqs 59c12 <rtems_rfs_block_map_shrink+0xce><== NOT EXECUTED
   59c0c:	5381           	subql #1,%d1                                <== NOT EXECUTED
   59c0e:	2541 000e      	movel %d1,%a2@(14)                          <== NOT EXECUTED
                                                                      
  return 0;                                                           
   59c12:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   59c14:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   59c1a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59c1c:	4e75           	rts                                         <== NOT EXECUTED
       * table of block numbers.                                      
       */                                                             
      rtems_rfs_block_no direct;                                      
      rtems_rfs_block_no singly;                                      
                                                                      
      direct = block % fs->blocks_per_block;                          
   59c1e:	242b 0034      	movel %a3@(52),%d2                          <== NOT EXECUTED
   59c22:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
   59c24:	4c42 6005      	remul %d2,%d5,%d6                           <== NOT EXECUTED
   59c28:	4c42 6006      	remul %d2,%d6,%d6                           <== NOT EXECUTED
      singly = block / fs->blocks_per_block;                          
                                                                      
      if (block < fs->block_map_singly_blocks)                        
   59c2c:	b0ab 0038      	cmpl %a3@(56),%d0                           <== NOT EXECUTED
   59c30:	6500 0100      	bcsw 59d32 <rtems_rfs_block_map_shrink+0x1ee><== NOT EXECUTED
        rc = rtems_rfs_block_map_indirect_shrink (fs, map, &map->singly_buffer,
                                                  singly, direct);    
        if (rc)                                                       
          return rc;                                                  
      }                                                               
      else if (block < fs->block_map_doubly_blocks)                   
   59c34:	b0ab 003c      	cmpl %a3@(60),%d0                           <== NOT EXECUTED
   59c38:	64b0           	bccs 59bea <rtems_rfs_block_map_shrink+0xa6><== NOT EXECUTED
        rtems_rfs_block_no doubly_singly;                             
                                                                      
        doubly        = singly / fs->blocks_per_block;                
        doubly_singly = singly % fs->blocks_per_block;                
                                                                      
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,
   59c3a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
         * value is still valid for doubly indirect tables.           
         */                                                           
        rtems_rfs_block_no doubly;                                    
        rtems_rfs_block_no doubly_singly;                             
                                                                      
        doubly        = singly / fs->blocks_per_block;                
   59c3e:	4c42 6007      	remul %d2,%d7,%d6                           <== NOT EXECUTED
   59c42:	4c42 6006      	remul %d2,%d6,%d6                           <== NOT EXECUTED
        doubly_singly = singly % fs->blocks_per_block;                
                                                                      
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,
   59c46:	2f32 6c22      	movel %a2@(00000022,%d6:l:4),%sp@-          <== NOT EXECUTED
   59c4a:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
         * value is still valid for doubly indirect tables.           
         */                                                           
        rtems_rfs_block_no doubly;                                    
        rtems_rfs_block_no doubly_singly;                             
                                                                      
        doubly        = singly / fs->blocks_per_block;                
   59c4e:	2d47 ffe8      	movel %d7,%fp@(-24)                         <== NOT EXECUTED
        doubly_singly = singly % fs->blocks_per_block;                
                                                                      
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,
   59c52:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
         * value is still valid for doubly indirect tables.           
         */                                                           
        rtems_rfs_block_no doubly;                                    
        rtems_rfs_block_no doubly_singly;                             
                                                                      
        doubly        = singly / fs->blocks_per_block;                
   59c54:	2d46 ffec      	movel %d6,%fp@(-20)                         <== NOT EXECUTED
        doubly_singly = singly % fs->blocks_per_block;                
                                                                      
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,
   59c58:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                              map->blocks[doubly], true);
        if (rc > 0)                                                   
   59c5a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   59c5e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59c60:	6eb2           	bgts 59c14 <rtems_rfs_block_map_shrink+0xd0><== NOT EXECUTED
          return rc;                                                  
                                                                      
        singly = rtems_rfs_block_get_number (&map->doubly_buffer,     
   59c62:	206a 0046      	moveal %a2@(70),%a0                         <== NOT EXECUTED
   59c66:	2007           	movel %d7,%d0                               <== NOT EXECUTED
   59c68:	4282           	clrl %d2                                    <== NOT EXECUTED
   59c6a:	4284           	clrl %d4                                    <== NOT EXECUTED
   59c6c:	4281           	clrl %d1                                    <== NOT EXECUTED
   59c6e:	7c18           	moveq #24,%d6                               <== NOT EXECUTED
   59c70:	e588           	lsll #2,%d0                                 <== NOT EXECUTED
   59c72:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59c76:	1430 0800      	moveb %a0@(00000000,%d0:l),%d2              <== NOT EXECUTED
   59c7a:	1830 0803      	moveb %a0@(00000003,%d0:l),%d4              <== NOT EXECUTED
   59c7e:	1230 0801      	moveb %a0@(00000001,%d0:l),%d1              <== NOT EXECUTED
   59c82:	1030 0802      	moveb %a0@(00000002,%d0:l),%d0              <== NOT EXECUTED
                                             doubly_singly);          
                                                                      
        /*                                                            
         * Read the singly indirect table and get the block number.   
         */                                                           
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   59c86:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->doubly_buffer,
                                              map->blocks[doubly], true);
        if (rc > 0)                                                   
          return rc;                                                  
                                                                      
        singly = rtems_rfs_block_get_number (&map->doubly_buffer,     
   59c8a:	edaa           	lsll %d6,%d2                                <== NOT EXECUTED
   59c8c:	4841           	swap %d1                                    <== NOT EXECUTED
   59c8e:	4241           	clrw %d1                                    <== NOT EXECUTED
   59c90:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   59c96:	8882           	orl %d2,%d4                                 <== NOT EXECUTED
   59c98:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   59c9a:	8881           	orl %d1,%d4                                 <== NOT EXECUTED
   59c9c:	8880           	orl %d0,%d4                                 <== NOT EXECUTED
                                             doubly_singly);          
                                                                      
        /*                                                            
         * Read the singly indirect table and get the block number.   
         */                                                           
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   59c9e:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   59ca0:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   59ca4:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59ca6:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                              singly, true);          
        if (rc > 0)                                                   
   59ca8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   59cac:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59cae:	6e00 ff64      	bgtw 59c14 <rtems_rfs_block_map_shrink+0xd0><== NOT EXECUTED
          return rc;                                                  
                                                                      
        block_to_free = rtems_rfs_block_get_number (&map->singly_buffer,
   59cb2:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   59cb6:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   59cb8:	4287           	clrl %d7                                    <== NOT EXECUTED
   59cba:	4282           	clrl %d2                                    <== NOT EXECUTED
   59cbc:	4281           	clrl %d1                                    <== NOT EXECUTED
   59cbe:	4bf9 0005 0f5c 	lea 50f5c <rtems_rfs_group_bitmap_free>,%a5 <== NOT EXECUTED
   59cc4:	e588           	lsll #2,%d0                                 <== NOT EXECUTED
   59cc6:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59cca:	1e30 0800      	moveb %a0@(00000000,%d0:l),%d7              <== NOT EXECUTED
   59cce:	1430 0803      	moveb %a0@(00000003,%d0:l),%d2              <== NOT EXECUTED
   59cd2:	1230 0801      	moveb %a0@(00000001,%d0:l),%d1              <== NOT EXECUTED
   59cd6:	1030 0802      	moveb %a0@(00000002,%d0:l),%d0              <== NOT EXECUTED
   59cda:	edaf           	lsll %d6,%d7                                <== NOT EXECUTED
   59cdc:	4841           	swap %d1                                    <== NOT EXECUTED
   59cde:	4241           	clrw %d1                                    <== NOT EXECUTED
   59ce0:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   59ce6:	8487           	orl %d7,%d2                                 <== NOT EXECUTED
   59ce8:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   59cea:	8481           	orl %d1,%d2                                 <== NOT EXECUTED
   59cec:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
                                                    direct);          
                                                                      
        if (direct == 0)                                              
   59cee:	4a85           	tstl %d5                                    <== NOT EXECUTED
   59cf0:	6600 fecc      	bnew 59bbe <rtems_rfs_block_map_shrink+0x7a><== NOT EXECUTED
        {                                                             
          rc = rtems_rfs_group_bitmap_free (fs, false, singly);       
   59cf4:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   59cf6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59cf8:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59cfa:	4e95           	jsr %a5@                                    <== NOT EXECUTED
          if (rc > 0)                                                 
   59cfc:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   59d00:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59d02:	6e00 ff10      	bgtw 59c14 <rtems_rfs_block_map_shrink+0xd0><== NOT EXECUTED
            return rc;                                                
                                                                      
          map->last_map_block = singly;                               
                                                                      
          rc = rtems_rfs_block_map_indirect_shrink (fs, map, &map->doubly_buffer,
   59d06:	2f2e ffe8      	movel %fp@(-24),%sp@-                       <== NOT EXECUTED
   59d0a:	2f2e ffec      	movel %fp@(-20),%sp@-                       <== NOT EXECUTED
   59d0e:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   59d12:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
        {                                                             
          rc = rtems_rfs_group_bitmap_free (fs, false, singly);       
          if (rc > 0)                                                 
            return rc;                                                
                                                                      
          map->last_map_block = singly;                               
   59d14:	2544 001a      	movel %d4,%a2@(26)                          <== NOT EXECUTED
                                                                      
          rc = rtems_rfs_block_map_indirect_shrink (fs, map, &map->doubly_buffer,
   59d18:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59d1a:	4eba f2a2      	jsr %pc@(58fbe <rtems_rfs_block_map_indirect_shrink.isra.12>)<== NOT EXECUTED
                                                    doubly, doubly_singly);
          if (rc)                                                     
   59d1e:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   59d22:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59d24:	6700 fe98      	beqw 59bbe <rtems_rfs_block_map_shrink+0x7a><== NOT EXECUTED
   */                                                                 
  if (rtems_rfs_block_pos_past_end (&map->bpos, &map->size))          
    rtems_rfs_block_size_get_bpos (&map->size, &map->bpos);           
                                                                      
  return 0;                                                           
}                                                                     
   59d28:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   59d2e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59d30:	4e75           	rts                                         <== NOT EXECUTED
      {                                                               
        /*                                                            
         * Request the indirect block and then obtain the block number from the
         * indirect block.                                            
         */                                                           
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
   59d32:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   59d36:	2f32 6c22      	movel %a2@(00000022,%d6:l:4),%sp@-          <== NOT EXECUTED
   59d3a:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   59d3e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   59d40:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                              map->blocks[singly], true);
        if (rc > 0)                                                   
   59d42:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   59d46:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59d48:	6e00 feca      	bgtw 59c14 <rtems_rfs_block_map_shrink+0xd0><== NOT EXECUTED
          return rc;                                                  
                                                                      
        block_to_free = rtems_rfs_block_get_number (&map->singly_buffer,
   59d4c:	206a 003c      	moveal %a2@(60),%a0                         <== NOT EXECUTED
   59d50:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   59d52:	4282           	clrl %d2                                    <== NOT EXECUTED
   59d54:	4284           	clrl %d4                                    <== NOT EXECUTED
   59d56:	4281           	clrl %d1                                    <== NOT EXECUTED
   59d58:	e588           	lsll #2,%d0                                 <== NOT EXECUTED
   59d5a:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   59d5e:	1430 0803      	moveb %a0@(00000003,%d0:l),%d2              <== NOT EXECUTED
   59d62:	1830 0800      	moveb %a0@(00000000,%d0:l),%d4              <== NOT EXECUTED
   59d66:	1230 0801      	moveb %a0@(00000001,%d0:l),%d1              <== NOT EXECUTED
   59d6a:	1030 0802      	moveb %a0@(00000002,%d0:l),%d0              <== NOT EXECUTED
                                                    direct);          
                                                                      
        rc = rtems_rfs_block_map_indirect_shrink (fs, map, &map->singly_buffer,
   59d6e:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
                                              map->blocks[singly], true);
        if (rc > 0)                                                   
          return rc;                                                  
                                                                      
        block_to_free = rtems_rfs_block_get_number (&map->singly_buffer,
   59d70:	7a18           	moveq #24,%d5                               <== NOT EXECUTED
                                                    direct);          
                                                                      
        rc = rtems_rfs_block_map_indirect_shrink (fs, map, &map->singly_buffer,
   59d72:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   59d74:	2f2e fff4      	movel %fp@(-12),%sp@-                       <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
                                              map->blocks[singly], true);
        if (rc > 0)                                                   
          return rc;                                                  
                                                                      
        block_to_free = rtems_rfs_block_get_number (&map->singly_buffer,
   59d78:	ebac           	lsll %d5,%d4                                <== NOT EXECUTED
   59d7a:	4841           	swap %d1                                    <== NOT EXECUTED
   59d7c:	4241           	clrw %d1                                    <== NOT EXECUTED
   59d7e:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   59d84:	8484           	orl %d4,%d2                                 <== NOT EXECUTED
                                                    direct);          
                                                                      
        rc = rtems_rfs_block_map_indirect_shrink (fs, map, &map->singly_buffer,
   59d86:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
                                              map->blocks[singly], true);
        if (rc > 0)                                                   
          return rc;                                                  
                                                                      
        block_to_free = rtems_rfs_block_get_number (&map->singly_buffer,
   59d88:	8481           	orl %d1,%d2                                 <== NOT EXECUTED
                                                    direct);          
                                                                      
        rc = rtems_rfs_block_map_indirect_shrink (fs, map, &map->singly_buffer,
   59d8a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
        rc = rtems_rfs_buffer_handle_request (fs, &map->singly_buffer,
                                              map->blocks[singly], true);
        if (rc > 0)                                                   
          return rc;                                                  
                                                                      
        block_to_free = rtems_rfs_block_get_number (&map->singly_buffer,
   59d8c:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   59d8e:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
                                                    direct);          
                                                                      
        rc = rtems_rfs_block_map_indirect_shrink (fs, map, &map->singly_buffer,
   59d90:	4eba f22c      	jsr %pc@(58fbe <rtems_rfs_block_map_indirect_shrink.isra.12>)<== NOT EXECUTED
                                                  singly, direct);    
        if (rc)                                                       
   59d94:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   59d98:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59d9a:	6600 fe78      	bnew 59c14 <rtems_rfs_block_map_shrink+0xd0><== NOT EXECUTED
   59d9e:	4bf9 0005 0f5c 	lea 50f5c <rtems_rfs_group_bitmap_free>,%a5 <== NOT EXECUTED
   59da4:	6000 fe18      	braw 59bbe <rtems_rfs_block_map_shrink+0x7a><== NOT EXECUTED
   59da8:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   59daa:	6000 fdce      	braw 59b7a <rtems_rfs_block_map_shrink+0x36><== NOT EXECUTED
rtems_rfs_block_map_shrink (rtems_rfs_file_system* fs,                
                            rtems_rfs_block_map*   map,               
                            size_t                 blocks)            
{                                                                     
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BLOCK_MAP_SHRINK))             
    printf ("rtems-rfs: block-map-shrink: entry: blocks=%zd count=%" PRIu32 "\n",
   59dae:	2f2a 0006      	movel %a2@(6),%sp@-                         <== NOT EXECUTED
   59db2:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   59db6:	4879 0007 218b 	pea 7218b <CSWTCH.2+0xc3>                   <== NOT EXECUTED
   59dbc:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   59dc2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   59dc6:	6000 fda0      	braw 59b68 <rtems_rfs_block_map_shrink+0x24><== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * Keep the position inside the map.                                
   */                                                                 
  if (rtems_rfs_block_pos_past_end (&map->bpos, &map->size))          
   59dca:	206a 000e      	moveal %a2@(14),%a0                         <== NOT EXECUTED
   59dce:	b288           	cmpl %a0,%d1                                <== NOT EXECUTED
   59dd0:	6300 fe26      	blsw 59bf8 <rtems_rfs_block_map_shrink+0xb4><== NOT EXECUTED
   59dd4:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   59dd6:	5380           	subql #1,%d0                                <== NOT EXECUTED
   59dd8:	b1c0           	cmpal %d0,%a0                               <== NOT EXECUTED
   59dda:	6600 fe36      	bnew 59c12 <rtems_rfs_block_map_shrink+0xce><== NOT EXECUTED
   59dde:	202a 000a      	movel %a2@(10),%d0                          <== NOT EXECUTED
   59de2:	b0aa 0012      	cmpl %a2@(18),%d0                           <== NOT EXECUTED
   59de6:	6500 fe14      	bcsw 59bfc <rtems_rfs_block_map_shrink+0xb8><== NOT EXECUTED
    rtems_rfs_block_size_get_bpos (&map->size, &map->bpos);           
                                                                      
  return 0;                                                           
   59dea:	4280           	clrl %d0                                    <== NOT EXECUTED
   59dec:	6000 fe26      	braw 59c14 <rtems_rfs_block_map_shrink+0xd0><== NOT EXECUTED
                                                                      

00060052 <rtems_rfs_buffer_bdbuf_release>: } int rtems_rfs_buffer_bdbuf_release (rtems_rfs_buffer* buffer, bool modified) {
   60052:	4e56 0000      	linkw %fp,#0                                
   60056:	2f0a           	movel %a2,%sp@-                             
   60058:	246e 0008      	moveal %fp@(8),%a2                          
   6005c:	2f02           	movel %d2,%sp@-                             
  rtems_status_code sc;                                               
  int               rc = 0;                                           
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))               
   6005e:	4878 0040      	pea 40 <DBL_MANT_DIG+0xb>                   
}                                                                     
                                                                      
int                                                                   
rtems_rfs_buffer_bdbuf_release (rtems_rfs_buffer* buffer,             
                                bool              modified)           
{                                                                     
   60062:	142e 000f      	moveb %fp@(15),%d2                          
  rtems_status_code sc;                                               
  int               rc = 0;                                           
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))               
   60066:	42a7           	clrl %sp@-                                  
   60068:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   6006e:	508f           	addql #8,%sp                                
   60070:	4a00           	tstb %d0                                    
   60072:	6724           	beqs 60098 <rtems_rfs_buffer_bdbuf_release+0x46><== ALWAYS TAKEN
    printf ("rtems-rfs: bdbuf-release: block=%" PRIuPTR " bdbuf=%" PRIu32 " %s\n",
   60074:	4a02           	tstb %d2                                    <== NOT EXECUTED
   60076:	674c           	beqs 600c4 <rtems_rfs_buffer_bdbuf_release+0x72><== NOT EXECUTED
   60078:	203c 0007 3678 	movel #472696,%d0                           <== NOT EXECUTED
   6007e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   60080:	2f2a 0016      	movel %a2@(22),%sp@-                        <== NOT EXECUTED
   60084:	2f2a 0032      	movel %a2@(50),%sp@-                        <== NOT EXECUTED
   60088:	4879 0007 3683 	pea 73683 <rtems_rfs_rtems_file_handlers+0x37><== NOT EXECUTED
   6008e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   60094:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            ((intptr_t) buffer->user),                                
            buffer->block, modified ? "(modified)" : "");             
                                                                      
  if (modified)                                                       
   60098:	4a02           	tstb %d2                                    
   6009a:	671c           	beqs 600b8 <rtems_rfs_buffer_bdbuf_release+0x66>
    sc = rtems_bdbuf_release_modified (buffer);                       
   6009c:	2f0a           	movel %a2,%sp@-                             
   6009e:	4eb9 0005 519e 	jsr 5519e <rtems_bdbuf_release_modified>    
   600a4:	588f           	addql #4,%sp                                
  else                                                                
    sc = rtems_bdbuf_release (buffer);                                
                                                                      
  if (sc != RTEMS_SUCCESSFUL)                                         
   600a6:	4a80           	tstl %d0                                    
   600a8:	6702           	beqs 600ac <rtems_rfs_buffer_bdbuf_release+0x5a><== ALWAYS TAKEN
#if RTEMS_RFS_BUFFER_ERRORS                                           
    printf ("rtems-rfs: buffer-release: bdbuf-%s: %s(%d)\n",          
            modified ? "modified" : "not-modified",                   
            rtems_status_text (sc), sc);                              
#endif                                                                
    rc = EIO;                                                         
   600aa:	7005           	moveq #5,%d0                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   600ac:	242e fff8      	movel %fp@(-8),%d2                          
   600b0:	246e fffc      	moveal %fp@(-4),%a2                         
   600b4:	4e5e           	unlk %fp                                    
   600b6:	4e75           	rts                                         
            buffer->block, modified ? "(modified)" : "");             
                                                                      
  if (modified)                                                       
    sc = rtems_bdbuf_release_modified (buffer);                       
  else                                                                
    sc = rtems_bdbuf_release (buffer);                                
   600b8:	2f0a           	movel %a2,%sp@-                             
   600ba:	4eb9 0005 50e4 	jsr 550e4 <rtems_bdbuf_release>             
   600c0:	588f           	addql #4,%sp                                
   600c2:	60e2           	bras 600a6 <rtems_rfs_buffer_bdbuf_release+0x54>
{                                                                     
  rtems_status_code sc;                                               
  int               rc = 0;                                           
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))               
    printf ("rtems-rfs: bdbuf-release: block=%" PRIuPTR " bdbuf=%" PRIu32 " %s\n",
   600c4:	203c 0007 0e04 	movel #462340,%d0                           <== NOT EXECUTED
   600ca:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   600cc:	2f2a 0016      	movel %a2@(22),%sp@-                        <== NOT EXECUTED
   600d0:	2f2a 0032      	movel %a2@(50),%sp@-                        <== NOT EXECUTED
   600d4:	4879 0007 3683 	pea 73683 <rtems_rfs_rtems_file_handlers+0x37><== NOT EXECUTED
   600da:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   600e0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   600e4:	60b2           	bras 60098 <rtems_rfs_buffer_bdbuf_release+0x46><== NOT EXECUTED
	...                                                                  
                                                                      

0006000c <rtems_rfs_buffer_bdbuf_request>: int rtems_rfs_buffer_bdbuf_request (rtems_rfs_file_system* fs, rtems_rfs_buffer_block block, bool read, rtems_rfs_buffer** buffer) {
   6000c:	4e56 0000      	linkw %fp,#0                                
   60010:	206e 0008      	moveal %fp@(8),%a0                          
  rtems_status_code sc;                                               
  int               rc = 0;                                           
                                                                      
  if (read)                                                           
   60014:	4a2e 0013      	tstb %fp@(19)                               
   60018:	6720           	beqs 6003a <rtems_rfs_buffer_bdbuf_request+0x2e>
    sc = rtems_bdbuf_read (rtems_rfs_fs_device (fs), block, buffer);  
   6001a:	2f2e 0014      	movel %fp@(20),%sp@-                        
   6001e:	2f2e 000c      	movel %fp@(12),%sp@-                        
   60022:	2f28 0010      	movel %a0@(16),%sp@-                        
   60026:	4eb9 0005 4f12 	jsr 54f12 <rtems_bdbuf_read>                
   6002c:	4fef 000c      	lea %sp@(12),%sp                            
  else                                                                
    sc = rtems_bdbuf_get (rtems_rfs_fs_device (fs), block, buffer);   
                                                                      
  if (sc != RTEMS_SUCCESSFUL)                                         
   60030:	4a80           	tstl %d0                                    
   60032:	6702           	beqs 60036 <rtems_rfs_buffer_bdbuf_request+0x2a><== ALWAYS TAKEN
  {                                                                   
#if RTEMS_RFS_BUFFER_ERRORS                                           
    printf ("rtems-rfs: buffer-bdbuf-request: block=%lu: bdbuf-%s: %d: %s\n",
            block, read ? "read" : "get", sc, rtems_status_text (sc));
#endif                                                                
    rc = EIO;                                                         
   60034:	7005           	moveq #5,%d0                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   60036:	4e5e           	unlk %fp                                    
   60038:	4e75           	rts                                         
  int               rc = 0;                                           
                                                                      
  if (read)                                                           
    sc = rtems_bdbuf_read (rtems_rfs_fs_device (fs), block, buffer);  
  else                                                                
    sc = rtems_bdbuf_get (rtems_rfs_fs_device (fs), block, buffer);   
   6003a:	2f2e 0014      	movel %fp@(20),%sp@-                        
   6003e:	2f2e 000c      	movel %fp@(12),%sp@-                        
   60042:	2f28 0010      	movel %a0@(16),%sp@-                        
   60046:	4eb9 0005 4e10 	jsr 54e10 <rtems_bdbuf_get>                 
   6004c:	4fef 000c      	lea %sp@(12),%sp                            
   60050:	60de           	bras 60030 <rtems_rfs_buffer_bdbuf_request+0x24>
                                                                      

0005a83e <rtems_rfs_buffer_close>: return 0; } int rtems_rfs_buffer_close (rtems_rfs_file_system* fs) {
   5a83e:	4e56 fff4      	linkw %fp,#-12                              
   5a842:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                 
   5a846:	4878 0010      	pea 10 <INVALID_OPERATION>                  
   5a84a:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_buffer_close (rtems_rfs_file_system* fs)                    
{                                                                     
   5a850:	246e 0008      	moveal %fp@(8),%a2                          
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                 
   5a854:	42a7           	clrl %sp@-                                  
   5a856:	4e93           	jsr %a3@                                    
   5a858:	508f           	addql #8,%sp                                
   5a85a:	4a00           	tstb %d0                                    
   5a85c:	6640           	bnes 5a89e <rtems_rfs_buffer_close+0x60>    <== NEVER TAKEN
                                                                      
  /*                                                                  
   * Change the block size to the media device size. It will release and sync
   * all buffers.                                                     
   */                                                                 
  rc = rtems_rfs_buffer_setblksize (fs, rtems_rfs_fs_media_block_size (fs));
   5a85e:	206a 0010      	moveal %a2@(16),%a0                         
   5a862:	2f28 0020      	movel %a0@(32),%sp@-                        
   5a866:	2f0a           	movel %a2,%sp@-                             
   5a868:	4eb9 0005 a738 	jsr 5a738 <rtems_rfs_buffer_setblksize>     
                                                                      
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))     
   5a86e:	508f           	addql #8,%sp                                
                                                                      
  /*                                                                  
   * Change the block size to the media device size. It will release and sync
   * all buffers.                                                     
   */                                                                 
  rc = rtems_rfs_buffer_setblksize (fs, rtems_rfs_fs_media_block_size (fs));
   5a870:	2400           	movel %d0,%d2                               
                                                                      
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))     
   5a872:	6f0e           	bles 5a882 <rtems_rfs_buffer_close+0x44>    <== ALWAYS TAKEN
   5a874:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   5a878:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a87a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5a87c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a87e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a880:	666c           	bnes 5a8ee <rtems_rfs_buffer_close+0xb0>    <== NOT EXECUTED
    printf ("rtems-rfs: buffer-close: set media block size failed: %d: %s\n",
            rc, strerror (rc));                                       
                                                                      
  if (close (fs->device) < 0)                                         
   5a882:	2f2a 000c      	movel %a2@(12),%sp@-                        
   5a886:	4eb9 0004 7070 	jsr 47070 <close>                           
   5a88c:	588f           	addql #4,%sp                                
   5a88e:	4a80           	tstl %d0                                    
   5a890:	6d1c           	blts 5a8ae <rtems_rfs_buffer_close+0x70>    <== NEVER TAKEN
      printf ("rtems-rfs: buffer-close: file close failed: %d: %s\n", 
              rc, strerror (rc));                                     
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5a892:	2002           	movel %d2,%d0                               
   5a894:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   5a89a:	4e5e           	unlk %fp                                    
   5a89c:	4e75           	rts                                         
rtems_rfs_buffer_close (rtems_rfs_file_system* fs)                    
{                                                                     
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))                 
    printf ("rtems-rfs: buffer-close: closing\n");                    
   5a89e:	4879 0007 260f 	pea 7260f <CSWTCH.2+0x547>                  <== NOT EXECUTED
   5a8a4:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5a8aa:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5a8ac:	60b0           	bras 5a85e <rtems_rfs_buffer_close+0x20>    <== NOT EXECUTED
    printf ("rtems-rfs: buffer-close: set media block size failed: %d: %s\n",
            rc, strerror (rc));                                       
                                                                      
  if (close (fs->device) < 0)                                         
  {                                                                   
    rc = errno;                                                       
   5a8ae:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5a8b4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a8b6:	2410           	movel %a0@,%d2                              <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))               
   5a8b8:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   5a8bc:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a8be:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5a8c0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a8c2:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a8c4:	67cc           	beqs 5a892 <rtems_rfs_buffer_close+0x54>    <== NOT EXECUTED
      printf ("rtems-rfs: buffer-close: file close failed: %d: %s\n", 
   5a8c6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a8c8:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5a8ce:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a8d0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a8d2:	4879 0007 266e 	pea 7266e <CSWTCH.2+0x5a6>                  <== NOT EXECUTED
   5a8d8:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a8de:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              rc, strerror (rc));                                     
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5a8e2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5a8e4:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   5a8ea:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a8ec:	4e75           	rts                                         <== NOT EXECUTED
   * all buffers.                                                     
   */                                                                 
  rc = rtems_rfs_buffer_setblksize (fs, rtems_rfs_fs_media_block_size (fs));
                                                                      
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CLOSE))     
    printf ("rtems-rfs: buffer-close: set media block size failed: %d: %s\n",
   5a8ee:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a8f0:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5a8f6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a8f8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a8fa:	4879 0007 2630 	pea 72630 <CSWTCH.2+0x568>                  <== NOT EXECUTED
   5a900:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a906:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
  if (close (fs->device) < 0)                                         
   5a90a:	2f2a 000c      	movel %a2@(12),%sp@-                        <== NOT EXECUTED
   5a90e:	4eb9 0004 7070 	jsr 47070 <close>                           <== NOT EXECUTED
   5a914:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5a916:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5a918:	6c00 ff78      	bgew 5a892 <rtems_rfs_buffer_close+0x54>    <== NOT EXECUTED
   5a91c:	6090           	bras 5a8ae <rtems_rfs_buffer_close+0x70>    <== NOT EXECUTED
	...                                                                  
                                                                      

00059fc0 <rtems_rfs_buffer_handle_release>: } int rtems_rfs_buffer_handle_release (rtems_rfs_file_system* fs, rtems_rfs_buffer_handle* handle) {
   59fc0:	4e56 ffec      	linkw %fp,#-20                              
   59fc4:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
   59fc8:	266e 0008      	moveal %fp@(8),%a3                          
   59fcc:	246e 000c      	moveal %fp@(12),%a2                         
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_buffer_handle_has_block (handle))                     
   59fd0:	4aaa 0006      	tstl %a2@(6)                                
   59fd4:	6700 00c4      	beqw 5a09a <rtems_rfs_buffer_handle_release+0xda>
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))      
   59fd8:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                
   59fdc:	49f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a4             
   59fe2:	42a7           	clrl %sp@-                                  
   59fe4:	4e94           	jsr %a4@                                    
   59fe6:	508f           	addql #8,%sp                                
   59fe8:	4a00           	tstb %d0                                    
   59fea:	6624           	bnes 5a010 <rtems_rfs_buffer_handle_release+0x50><== NEVER TAKEN
              rtems_rfs_buffer_bnum (handle),                         
              rtems_rfs_buffer_dirty (handle) ? "(dirty)" : "",       
              rtems_rfs_buffer_refs (handle),                         
              rtems_rfs_buffer_refs (handle) == 0 ? "BAD REF COUNT" : "");
                                                                      
    if (rtems_rfs_buffer_refs (handle) > 0)                           
   59fec:	206a 0006      	moveal %a2@(6),%a0                          
   59ff0:	2428 002e      	movel %a0@(46),%d2                          
   59ff4:	6f06           	bles 59ffc <rtems_rfs_buffer_handle_release+0x3c><== NEVER TAKEN
      rtems_rfs_buffer_refs_down (handle);                            
   59ff6:	5382           	subql #1,%d2                                
   59ff8:	2142 002e      	movel %d2,%a0@(46)                          
                                                                      
    if (rtems_rfs_buffer_refs (handle) == 0)                          
   59ffc:	4a82           	tstl %d2                                    
   59ffe:	674a           	beqs 5a04a <rtems_rfs_buffer_handle_release+0x8a><== ALWAYS TAKEN
                                                                      
int                                                                   
rtems_rfs_buffer_handle_release (rtems_rfs_file_system*   fs,         
                                 rtems_rfs_buffer_handle* handle)     
{                                                                     
  int rc = 0;                                                         
   5a000:	4280           	clrl %d0                                    <== NOT EXECUTED
          rtems_chain_append (&fs->release, rtems_rfs_buffer_link (handle));
          fs->release_count++;                                        
        }                                                             
      }                                                               
    }                                                                 
    handle->buffer = NULL;                                            
   5a002:	42aa 0006      	clrl %a2@(6)                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5a006:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   5a00c:	4e5e           	unlk %fp                                    
   5a00e:	4e75           	rts                                         
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))      
      printf ("rtems-rfs: buffer-release: block=%" PRIu32 " %s refs=%d %s\n",
              rtems_rfs_buffer_bnum (handle),                         
              rtems_rfs_buffer_dirty (handle) ? "(dirty)" : "",       
              rtems_rfs_buffer_refs (handle),                         
              rtems_rfs_buffer_refs (handle) == 0 ? "BAD REF COUNT" : "");
   5a010:	206a 0006      	moveal %a2@(6),%a0                          <== NOT EXECUTED
   5a014:	2028 002e      	movel %a0@(46),%d0                          <== NOT EXECUTED
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_buffer_handle_has_block (handle))                     
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))      
      printf ("rtems-rfs: buffer-release: block=%" PRIu32 " %s refs=%d %s\n",
   5a018:	6600 008c      	bnew 5a0a6 <rtems_rfs_buffer_handle_release+0xe6><== NOT EXECUTED
   5a01c:	41f9 0007 223d 	lea 7223d <CSWTCH.2+0x175>,%a0              <== NOT EXECUTED
   5a022:	4a12           	tstb %a2@                                   <== NOT EXECUTED
   5a024:	6700 008c      	beqw 5a0b2 <rtems_rfs_buffer_handle_release+0xf2><== NOT EXECUTED
   5a028:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5a02a:	223c 0007 224b 	movel #467531,%d1                           <== NOT EXECUTED
   5a030:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a032:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5a034:	2f2a 0002      	movel %a2@(2),%sp@-                         <== NOT EXECUTED
   5a038:	4879 0007 2253 	pea 72253 <CSWTCH.2+0x18b>                  <== NOT EXECUTED
   5a03e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a044:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5a048:	60a2           	bras 59fec <rtems_rfs_buffer_handle_release+0x2c><== NOT EXECUTED
   5a04a:	2f08           	movel %a0,%sp@-                             
   5a04c:	4eb9 0005 7274 	jsr 57274 <_Chain_Extract>                  
    if (rtems_rfs_buffer_refs (handle) == 0)                          
    {                                                                 
      rtems_chain_extract (rtems_rfs_buffer_link (handle));           
      fs->buffers_count--;                                            
                                                                      
      if (rtems_rfs_fs_no_local_cache (fs))                           
   5a052:	588f           	addql #4,%sp                                
   5a054:	7002           	moveq #2,%d0                                
      rtems_rfs_buffer_refs_down (handle);                            
                                                                      
    if (rtems_rfs_buffer_refs (handle) == 0)                          
    {                                                                 
      rtems_chain_extract (rtems_rfs_buffer_link (handle));           
      fs->buffers_count--;                                            
   5a056:	53ab 0050      	subql #1,%a3@(80)                           
                                                                      
      if (rtems_rfs_fs_no_local_cache (fs))                           
   5a05a:	c093           	andl %a3@,%d0                               
   5a05c:	6678           	bnes 5a0d6 <rtems_rfs_buffer_handle_release+0x116><== ALWAYS TAKEN
         * head.                                                      
         *                                                            
         * This code stops a large series of transactions causing all the
         * buffers in the cache being held in queues of this file system.
         */                                                           
        if ((fs->release_count +                                      
   5a05e:	202b 0070      	movel %a3@(112),%d0                         <== NOT EXECUTED
   5a062:	d0ab 0060      	addl %a3@(96),%d0                           <== NOT EXECUTED
   5a066:	b0ab 0040      	cmpl %a3@(64),%d0                           <== NOT EXECUTED
   5a06a:	6400 00ae      	bccw 5a11a <rtems_rfs_buffer_handle_release+0x15a><== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_buffer_handle_release (rtems_rfs_file_system*   fs,         
                                 rtems_rfs_buffer_handle* handle)     
{                                                                     
  int rc = 0;                                                         
   5a06e:	4280           	clrl %d0                                    <== NOT EXECUTED
          }                                                           
          buffer->user = (void*) 0;                                   
          rc = rtems_rfs_buffer_io_release (buffer, modified);        
        }                                                             
                                                                      
        if (rtems_rfs_buffer_dirty (handle))                          
   5a070:	4a12           	tstb %a2@                                   <== NOT EXECUTED
   5a072:	6700 0082      	beqw 5a0f6 <rtems_rfs_buffer_handle_release+0x136><== NOT EXECUTED
RTEMS_INLINE_ROUTINE void rtems_chain_append(                         
  rtems_chain_control *the_chain,                                     
  rtems_chain_node    *the_node                                       
)                                                                     
{                                                                     
  _Chain_Append( the_chain, the_node );                               
   5a076:	2f2a 0006      	movel %a2@(6),%sp@-                         <== NOT EXECUTED
   5a07a:	486b 0064      	pea %a3@(100)                               <== NOT EXECUTED
   5a07e:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
   5a082:	4eb9 0004 cce8 	jsr 4cce8 <_Chain_Append>                   <== NOT EXECUTED
   5a088:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
        {                                                             
          rtems_chain_append (&fs->release_modified,                  
                              rtems_rfs_buffer_link (handle));        
          fs->release_modified_count++;                               
   5a08c:	52ab 0070      	addql #1,%a3@(112)                          <== NOT EXECUTED
   5a090:	508f           	addql #8,%sp                                <== NOT EXECUTED
          rtems_chain_append (&fs->release, rtems_rfs_buffer_link (handle));
          fs->release_count++;                                        
        }                                                             
      }                                                               
    }                                                                 
    handle->buffer = NULL;                                            
   5a092:	42aa 0006      	clrl %a2@(6)                                <== NOT EXECUTED
   5a096:	6000 ff6e      	braw 5a006 <rtems_rfs_buffer_handle_release+0x46><== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_buffer_handle_release (rtems_rfs_file_system*   fs,         
                                 rtems_rfs_buffer_handle* handle)     
{                                                                     
  int rc = 0;                                                         
   5a09a:	4280           	clrl %d0                                    
    }                                                                 
    handle->buffer = NULL;                                            
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5a09c:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   5a0a2:	4e5e           	unlk %fp                                    
   5a0a4:	4e75           	rts                                         
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_buffer_handle_has_block (handle))                     
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))      
      printf ("rtems-rfs: buffer-release: block=%" PRIu32 " %s refs=%d %s\n",
   5a0a6:	41f9 0007 0e04 	lea 70e04 <rtems_termios_baud_table+0x10a>,%a0<== NOT EXECUTED
   5a0ac:	4a12           	tstb %a2@                                   <== NOT EXECUTED
   5a0ae:	6600 ff78      	bnew 5a028 <rtems_rfs_buffer_handle_release+0x68><== NOT EXECUTED
   5a0b2:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5a0b4:	223c 0007 0e04 	movel #462340,%d1                           <== NOT EXECUTED
   5a0ba:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a0bc:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5a0be:	2f2a 0002      	movel %a2@(2),%sp@-                         <== NOT EXECUTED
   5a0c2:	4879 0007 2253 	pea 72253 <CSWTCH.2+0x18b>                  <== NOT EXECUTED
   5a0c8:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a0ce:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5a0d2:	6000 ff18      	braw 59fec <rtems_rfs_buffer_handle_release+0x2c><== NOT EXECUTED
      fs->buffers_count--;                                            
                                                                      
      if (rtems_rfs_fs_no_local_cache (fs))                           
      {                                                               
        handle->buffer->user = (void*) 0;                             
        rc = rtems_rfs_buffer_io_release (handle->buffer,             
   5a0d6:	4280           	clrl %d0                                    
   5a0d8:	1012           	moveb %a2@,%d0                              
      rtems_chain_extract (rtems_rfs_buffer_link (handle));           
      fs->buffers_count--;                                            
                                                                      
      if (rtems_rfs_fs_no_local_cache (fs))                           
      {                                                               
        handle->buffer->user = (void*) 0;                             
   5a0da:	206a 0006      	moveal %a2@(6),%a0                          
   5a0de:	42a8 0032      	clrl %a0@(50)                               
        rc = rtems_rfs_buffer_io_release (handle->buffer,             
   5a0e2:	2f00           	movel %d0,%sp@-                             
   5a0e4:	2f08           	movel %a0,%sp@-                             
   5a0e6:	4eb9 0006 0052 	jsr 60052 <rtems_rfs_buffer_bdbuf_release>  
   5a0ec:	508f           	addql #8,%sp                                
          rtems_chain_append (&fs->release, rtems_rfs_buffer_link (handle));
          fs->release_count++;                                        
        }                                                             
      }                                                               
    }                                                                 
    handle->buffer = NULL;                                            
   5a0ee:	42aa 0006      	clrl %a2@(6)                                
   5a0f2:	6000 ff12      	braw 5a006 <rtems_rfs_buffer_handle_release+0x46>
   5a0f6:	2f2a 0006      	movel %a2@(6),%sp@-                         <== NOT EXECUTED
   5a0fa:	486b 0054      	pea %a3@(84)                                <== NOT EXECUTED
   5a0fe:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
   5a102:	4eb9 0004 cce8 	jsr 4cce8 <_Chain_Append>                   <== NOT EXECUTED
   5a108:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
          fs->release_modified_count++;                               
        }                                                             
        else                                                          
        {                                                             
          rtems_chain_append (&fs->release, rtems_rfs_buffer_link (handle));
          fs->release_count++;                                        
   5a10c:	52ab 0060      	addql #1,%a3@(96)                           <== NOT EXECUTED
   5a110:	508f           	addql #8,%sp                                <== NOT EXECUTED
        }                                                             
      }                                                               
    }                                                                 
    handle->buffer = NULL;                                            
   5a112:	42aa 0006      	clrl %a2@(6)                                <== NOT EXECUTED
   5a116:	6000 feee      	braw 5a006 <rtems_rfs_buffer_handle_release+0x46><== NOT EXECUTED
             fs->release_modified_count) >= fs->max_held_buffers)     
        {                                                             
          rtems_rfs_buffer* buffer;                                   
          bool              modified;                                 
                                                                      
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))
   5a11a:	4878 0200      	pea 200 <DBL_MANT_DIG+0x1cb>                <== NOT EXECUTED
   5a11e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a120:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5a122:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a124:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a126:	6630           	bnes 5a158 <rtems_rfs_buffer_handle_release+0x198><== NOT EXECUTED
            printf ("rtems-rfs: buffer-release: local cache overflow:"
                    " %" PRIu32 "\n", fs->release_count + fs->release_modified_count);
                                                                      
          if (fs->release_count > fs->release_modified_count)         
   5a128:	206b 0070      	moveal %a3@(112),%a0                        <== NOT EXECUTED
   5a12c:	b1eb 0060      	cmpal %a3@(96),%a0                          <== NOT EXECUTED
   5a130:	6440           	bccs 5a172 <rtems_rfs_buffer_handle_release+0x1b2><== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get(               
  rtems_chain_control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Get( the_chain );                                     
   5a132:	486b 0054      	pea %a3@(84)                                <== NOT EXECUTED
   5a136:	4eb9 0004 cd20 	jsr 4cd20 <_Chain_Get>                      <== NOT EXECUTED
          {                                                           
            buffer = (rtems_rfs_buffer*) rtems_chain_get (&fs->release);
            fs->release_count--;                                      
   5a13c:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5a13e:	53ab 0060      	subql #1,%a3@(96)                           <== NOT EXECUTED
            buffer =                                                  
              (rtems_rfs_buffer*) rtems_chain_get (&fs->release_modified);
            fs->release_modified_count--;                             
            modified = true;                                          
          }                                                           
          buffer->user = (void*) 0;                                   
   5a142:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a144:	42a8 0032      	clrl %a0@(50)                               <== NOT EXECUTED
          rc = rtems_rfs_buffer_io_release (buffer, modified);        
   5a148:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a14a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a14c:	4eb9 0006 0052 	jsr 60052 <rtems_rfs_buffer_bdbuf_release>  <== NOT EXECUTED
   5a152:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a154:	6000 ff1a      	braw 5a070 <rtems_rfs_buffer_handle_release+0xb0><== NOT EXECUTED
        {                                                             
          rtems_rfs_buffer* buffer;                                   
          bool              modified;                                 
                                                                      
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_RELEASE))
            printf ("rtems-rfs: buffer-release: local cache overflow:"
   5a158:	202b 0070      	movel %a3@(112),%d0                         <== NOT EXECUTED
   5a15c:	d0ab 0060      	addl %a3@(96),%d0                           <== NOT EXECUTED
   5a160:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a162:	4879 0007 2287 	pea 72287 <CSWTCH.2+0x1bf>                  <== NOT EXECUTED
   5a168:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a16e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a170:	60b6           	bras 5a128 <rtems_rfs_buffer_handle_release+0x168><== NOT EXECUTED
   5a172:	486b 0064      	pea %a3@(100)                               <== NOT EXECUTED
          }                                                           
          else                                                        
          {                                                           
            buffer =                                                  
              (rtems_rfs_buffer*) rtems_chain_get (&fs->release_modified);
            fs->release_modified_count--;                             
   5a176:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   5a178:	4eb9 0004 cd20 	jsr 4cd20 <_Chain_Get>                      <== NOT EXECUTED
   5a17e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5a180:	53ab 0070      	subql #1,%a3@(112)                          <== NOT EXECUTED
            modified = true;                                          
          }                                                           
          buffer->user = (void*) 0;                                   
   5a184:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a186:	42a8 0032      	clrl %a0@(50)                               <== NOT EXECUTED
          rc = rtems_rfs_buffer_io_release (buffer, modified);        
   5a18a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a18c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a18e:	4eb9 0006 0052 	jsr 60052 <rtems_rfs_buffer_bdbuf_release>  <== NOT EXECUTED
   5a194:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a196:	6000 fed8      	braw 5a070 <rtems_rfs_buffer_handle_release+0xb0><== NOT EXECUTED
                                                                      

0005a19a <rtems_rfs_buffer_handle_request>: int rtems_rfs_buffer_handle_request (rtems_rfs_file_system* fs, rtems_rfs_buffer_handle* handle, rtems_rfs_buffer_block block, bool read) {
   5a19a:	4e56 ffe8      	linkw %fp,#-24                              
   5a19e:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
   5a1a2:	266e 0008      	moveal %fp@(8),%a3                          
   5a1a6:	49f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a4             
   5a1ac:	246e 000c      	moveal %fp@(12),%a2                         
   5a1b0:	262e 0010      	movel %fp@(16),%d3                          
   5a1b4:	182e 0017      	moveb %fp@(23),%d4                          
                                                                      
  /*                                                                  
   * If the handle has a buffer release it. This allows a handle to be reused
   * without needing to close then open it again.                     
   */                                                                 
  if (rtems_rfs_buffer_handle_has_block (handle))                     
   5a1b8:	4aaa 0006      	tstl %a2@(6)                                
   5a1bc:	6744           	beqs 5a202 <rtems_rfs_buffer_handle_request+0x68>
  {                                                                   
    /*                                                                
     * Treat block 0 as special to handle the loading of the super block.
     */                                                               
    if (block && (rtems_rfs_buffer_bnum (handle) == block))           
   5a1be:	4a83           	tstl %d3                                    
   5a1c0:	6708           	beqs 5a1ca <rtems_rfs_buffer_handle_request+0x30><== NEVER TAKEN
   5a1c2:	b6aa 0002      	cmpl %a2@(2),%d3                            
   5a1c6:	6700 00fa      	beqw 5a2c2 <rtems_rfs_buffer_handle_request+0x128>
      return 0;                                                       
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))      
   5a1ca:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
   5a1ce:	49f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a4             
   5a1d4:	42a7           	clrl %sp@-                                  
   5a1d6:	4e94           	jsr %a4@                                    
   5a1d8:	508f           	addql #8,%sp                                
   5a1da:	4a00           	tstb %d0                                    
   5a1dc:	6600 00bc      	bnew 5a29a <rtems_rfs_buffer_handle_request+0x100>
      printf ("rtems-rfs: buffer-request: handle has buffer: %" PRIu32 "\n",
              rtems_rfs_buffer_bnum (handle));                        
                                                                      
    rc = rtems_rfs_buffer_handle_release (fs, handle);                
   5a1e0:	2f0a           	movel %a2,%sp@-                             
   5a1e2:	2f0b           	movel %a3,%sp@-                             
   5a1e4:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> 
    if (rc > 0)                                                       
   5a1ea:	508f           	addql #8,%sp                                
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))      
      printf ("rtems-rfs: buffer-request: handle has buffer: %" PRIu32 "\n",
              rtems_rfs_buffer_bnum (handle));                        
                                                                      
    rc = rtems_rfs_buffer_handle_release (fs, handle);                
   5a1ec:	2400           	movel %d0,%d2                               
    if (rc > 0)                                                       
   5a1ee:	6f0c           	bles 5a1fc <rtems_rfs_buffer_handle_request+0x62><== ALWAYS TAKEN
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
            block, read ? "read" : "get", handle->buffer->block,      
            handle->buffer->references);                              
                                                                      
  return 0;                                                           
}                                                                     
   5a1f0:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5a1f2:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   5a1f8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a1fa:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_buffer_handle_release (fs, handle);                
    if (rc > 0)                                                       
      return rc;                                                      
    handle->dirty = false;                                            
    handle->bnum = 0;                                                 
   5a1fc:	42aa 0002      	clrl %a2@(2)                                
              rtems_rfs_buffer_bnum (handle));                        
                                                                      
    rc = rtems_rfs_buffer_handle_release (fs, handle);                
    if (rc > 0)                                                       
      return rc;                                                      
    handle->dirty = false;                                            
   5a200:	4212           	clrb %a2@                                   
    handle->bnum = 0;                                                 
  }                                                                   
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))        
   5a202:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
   5a206:	42a7           	clrl %sp@-                                  
   5a208:	4e94           	jsr %a4@                                    
   5a20a:	508f           	addql #8,%sp                                
   5a20c:	4a00           	tstb %d0                                    
   5a20e:	6600 012e      	bnew 5a33e <rtems_rfs_buffer_handle_request+0x1a4>
   * currently attached to a handle. If it is share the access. A buffer could
   * be shared where different parts of the block have separate functions. An
   * example is an inode block and the file system needs to handle 2 inodes in
   * the same block at the same time.                                 
   */                                                                 
  if (fs->buffers_count)                                              
   5a212:	4aab 0050      	tstl %a3@(80)                               
   5a216:	6600 013e      	bnew 5a356 <rtems_rfs_buffer_handle_request+0x1bc>
   5a21a:	206a 0006      	moveal %a2@(6),%a0                          
  /*                                                                  
   * If the buffer has not been found check the local cache of released
   * buffers. There are release and released modified lists to preserve the
   * state.                                                           
   */                                                                 
  if (!rtems_rfs_fs_no_local_cache (fs) &&                            
   5a21e:	7002           	moveq #2,%d0                                
   5a220:	c093           	andl %a3@,%d0                               
   5a222:	6600 00ac      	bnew 5a2d0 <rtems_rfs_buffer_handle_request+0x136>
   5a226:	4a88           	tstl %a0                                    <== NOT EXECUTED
   5a228:	6700 01aa      	beqw 5a3d4 <rtems_rfs_buffer_handle_request+0x23a><== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * Increase the reference count of the buffer.                      
   */                                                                 
  rtems_rfs_buffer_refs_up (handle);                                  
   5a22c:	52a8 002e      	addql #1,%a0@(46)                           
RTEMS_INLINE_ROUTINE void rtems_chain_append(                         
  rtems_chain_control *the_chain,                                     
  rtems_chain_node    *the_node                                       
)                                                                     
{                                                                     
  _Chain_Append( the_chain, the_node );                               
   5a230:	2f08           	movel %a0,%sp@-                             
   5a232:	486b 0044      	pea %a3@(68)                                
   5a236:	4eb9 0004 cce8 	jsr 4cce8 <_Chain_Append>                   
  rtems_chain_append (&fs->buffers, rtems_rfs_buffer_link (handle));  
  fs->buffers_count++;                                                
                                                                      
  handle->buffer->user = (void*) ((intptr_t) block);                  
   5a23c:	206a 0006      	moveal %a2@(6),%a0                          
  /*                                                                  
   * Increase the reference count of the buffer.                      
   */                                                                 
  rtems_rfs_buffer_refs_up (handle);                                  
  rtems_chain_append (&fs->buffers, rtems_rfs_buffer_link (handle));  
  fs->buffers_count++;                                                
   5a240:	52ab 0050      	addql #1,%a3@(80)                           
                                                                      
  handle->buffer->user = (void*) ((intptr_t) block);                  
   5a244:	2143 0032      	movel %d3,%a0@(50)                          
  handle->bnum = block;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))        
   5a248:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 
   5a24c:	42a7           	clrl %sp@-                                  
  rtems_rfs_buffer_refs_up (handle);                                  
  rtems_chain_append (&fs->buffers, rtems_rfs_buffer_link (handle));  
  fs->buffers_count++;                                                
                                                                      
  handle->buffer->user = (void*) ((intptr_t) block);                  
  handle->bnum = block;                                               
   5a24e:	2543 0002      	movel %d3,%a2@(2)                           
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))        
   5a252:	4e94           	jsr %a4@                                    
   5a254:	4fef 0010      	lea %sp@(16),%sp                            
   5a258:	4a00           	tstb %d0                                    
   5a25a:	6766           	beqs 5a2c2 <rtems_rfs_buffer_handle_request+0x128><== ALWAYS TAKEN
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
            block, read ? "read" : "get", handle->buffer->block,      
            handle->buffer->references);                              
   5a25c:	206a 0006      	moveal %a2@(6),%a0                          <== NOT EXECUTED
                                                                      
  handle->buffer->user = (void*) ((intptr_t) block);                  
  handle->bnum = block;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))        
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
   5a260:	2268 002e      	moveal %a0@(46),%a1                         <== NOT EXECUTED
   5a264:	2228 0016      	movel %a0@(22),%d1                          <== NOT EXECUTED
   5a268:	4a04           	tstb %d4                                    <== NOT EXECUTED
   5a26a:	6700 013c      	beqw 5a3a8 <rtems_rfs_buffer_handle_request+0x20e><== NOT EXECUTED
   5a26e:	2f09           	movel %a1,%sp@-                             <== NOT EXECUTED
   5a270:	203c 0007 1e6b 	movel #466539,%d0                           <== NOT EXECUTED
   5a276:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
            block, read ? "read" : "get", handle->buffer->block,      
            handle->buffer->references);                              
                                                                      
  return 0;                                                           
   5a278:	4282           	clrl %d2                                    <== NOT EXECUTED
                                                                      
  handle->buffer->user = (void*) ((intptr_t) block);                  
  handle->bnum = block;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))        
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
   5a27a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a27c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5a27e:	4879 0007 2386 	pea 72386 <CSWTCH.2+0x2be>                  <== NOT EXECUTED
   5a284:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a28a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
            block, read ? "read" : "get", handle->buffer->block,      
            handle->buffer->references);                              
                                                                      
  return 0;                                                           
}                                                                     
   5a28e:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5a290:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   5a296:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a298:	4e75           	rts                                         <== NOT EXECUTED
     */                                                               
    if (block && (rtems_rfs_buffer_bnum (handle) == block))           
      return 0;                                                       
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))      
      printf ("rtems-rfs: buffer-request: handle has buffer: %" PRIu32 "\n",
   5a29a:	2f2a 0002      	movel %a2@(2),%sp@-                         <== NOT EXECUTED
   5a29e:	4879 0007 22c1 	pea 722c1 <CSWTCH.2+0x1f9>                  <== NOT EXECUTED
   5a2a4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a2aa:	508f           	addql #8,%sp                                <== NOT EXECUTED
              rtems_rfs_buffer_bnum (handle));                        
                                                                      
    rc = rtems_rfs_buffer_handle_release (fs, handle);                
   5a2ac:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5a2ae:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5a2b0:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
    if (rc > 0)                                                       
   5a2b6:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))      
      printf ("rtems-rfs: buffer-request: handle has buffer: %" PRIu32 "\n",
              rtems_rfs_buffer_bnum (handle));                        
                                                                      
    rc = rtems_rfs_buffer_handle_release (fs, handle);                
   5a2b8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5a2ba:	6e00 ff34      	bgtw 5a1f0 <rtems_rfs_buffer_handle_request+0x56><== NOT EXECUTED
   5a2be:	6000 ff3c      	braw 5a1fc <rtems_rfs_buffer_handle_request+0x62><== NOT EXECUTED
  {                                                                   
    /*                                                                
     * Treat block 0 as special to handle the loading of the super block.
     */                                                               
    if (block && (rtems_rfs_buffer_bnum (handle) == block))           
      return 0;                                                       
   5a2c2:	4282           	clrl %d2                                    
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
            block, read ? "read" : "get", handle->buffer->block,      
            handle->buffer->references);                              
                                                                      
  return 0;                                                           
}                                                                     
   5a2c4:	2002           	movel %d2,%d0                               
   5a2c6:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   5a2cc:	4e5e           	unlk %fp                                    
   5a2ce:	4e75           	rts                                         
  }                                                                   
                                                                      
  /*                                                                  
   * If not located we request the buffer from the I/O layer.         
   */                                                                 
  if (!rtems_rfs_buffer_handle_has_block (handle))                    
   5a2d0:	4a88           	tstl %a0                                    
   5a2d2:	6600 ff58      	bnew 5a22c <rtems_rfs_buffer_handle_request+0x92>
  {                                                                   
    rc = rtems_rfs_buffer_io_request (fs, block, read, &handle->buffer);
   5a2d6:	486a 0006      	pea %a2@(6)                                 
   5a2da:	4280           	clrl %d0                                    
   5a2dc:	1004           	moveb %d4,%d0                               
   5a2de:	2f00           	movel %d0,%sp@-                             
   5a2e0:	2f03           	movel %d3,%sp@-                             
   5a2e2:	2f0b           	movel %a3,%sp@-                             
   5a2e4:	4eb9 0006 000c 	jsr 6000c <rtems_rfs_buffer_bdbuf_request>  
                                                                      
    if (rc > 0)                                                       
   5a2ea:	4fef 0010      	lea %sp@(16),%sp                            
  /*                                                                  
   * If not located we request the buffer from the I/O layer.         
   */                                                                 
  if (!rtems_rfs_buffer_handle_has_block (handle))                    
  {                                                                   
    rc = rtems_rfs_buffer_io_request (fs, block, read, &handle->buffer);
   5a2ee:	2400           	movel %d0,%d2                               
                                                                      
    if (rc > 0)                                                       
   5a2f0:	6f00 0114      	blew 5a406 <rtems_rfs_buffer_handle_request+0x26c>
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))    
   5a2f4:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 <== NOT EXECUTED
   5a2f8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a2fa:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5a2fc:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a2fe:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a300:	6700 feee      	beqw 5a1f0 <rtems_rfs_buffer_handle_request+0x56><== NOT EXECUTED
        printf ("rtems-rfs: buffer-request: block=%" PRIu32 ": bdbuf-%s: %d: %s\n",
   5a304:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a306:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5a30c:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5a30e:	4a04           	tstb %d4                                    <== NOT EXECUTED
   5a310:	6700 0120      	beqw 5a432 <rtems_rfs_buffer_handle_request+0x298><== NOT EXECUTED
   5a314:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a316:	223c 0007 1e6b 	movel #466539,%d1                           <== NOT EXECUTED
   5a31c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a31e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5a320:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5a322:	4879 0007 234e 	pea 7234e <CSWTCH.2+0x286>                  <== NOT EXECUTED
   5a328:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a32e:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
            block, read ? "read" : "get", handle->buffer->block,      
            handle->buffer->references);                              
                                                                      
  return 0;                                                           
}                                                                     
   5a332:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5a334:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   5a33a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a33c:	4e75           	rts                                         <== NOT EXECUTED
    handle->dirty = false;                                            
    handle->bnum = 0;                                                 
  }                                                                   
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))        
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 "\n", block); 
   5a33e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5a340:	4879 0007 22f4 	pea 722f4 <CSWTCH.2+0x22c>                  <== NOT EXECUTED
   5a346:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a34c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   * currently attached to a handle. If it is share the access. A buffer could
   * be shared where different parts of the block have separate functions. An
   * example is an inode block and the file system needs to handle 2 inodes in
   * the same block at the same time.                                 
   */                                                                 
  if (fs->buffers_count)                                              
   5a34e:	4aab 0050      	tstl %a3@(80)                               <== NOT EXECUTED
   5a352:	6700 fec6      	beqw 5a21a <rtems_rfs_buffer_handle_request+0x80><== NOT EXECUTED
  {                                                                   
    /*                                                                
     * Check the active buffer list for shared buffers.               
     */                                                               
    handle->buffer = rtems_rfs_scan_chain (&fs->buffers,              
   5a356:	2f03           	movel %d3,%sp@-                             
   5a358:	486b 0050      	pea %a3@(80)                                
   5a35c:	486b 0044      	pea %a3@(68)                                
   5a360:	4eba fb46      	jsr %pc@(59ea8 <rtems_rfs_scan_chain>)      
                                           &fs->buffers_count,        
                                           block);                    
    if (rtems_rfs_buffer_handle_has_block (handle) &&                 
   5a364:	4fef 000c      	lea %sp@(12),%sp                            
  if (fs->buffers_count)                                              
  {                                                                   
    /*                                                                
     * Check the active buffer list for shared buffers.               
     */                                                               
    handle->buffer = rtems_rfs_scan_chain (&fs->buffers,              
   5a368:	2540 0006      	movel %d0,%a2@(6)                           
                                           &fs->buffers_count,        
                                           block);                    
    if (rtems_rfs_buffer_handle_has_block (handle) &&                 
   5a36c:	675e           	beqs 5a3cc <rtems_rfs_buffer_handle_request+0x232><== ALWAYS TAKEN
        rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))      
   5a36e:	4878 0100      	pea 100 <DBL_MANT_DIG+0xcb>                 <== NOT EXECUTED
   5a372:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a374:	4e94           	jsr %a4@                                    <== NOT EXECUTED
      printf ("rtems-rfs: buffer-request: buffer shared: refs: %d\n", 
              rtems_rfs_buffer_refs (handle) + 1);                    
   5a376:	206a 0006      	moveal %a2@(6),%a0                          <== NOT EXECUTED
     * Check the active buffer list for shared buffers.               
     */                                                               
    handle->buffer = rtems_rfs_scan_chain (&fs->buffers,              
                                           &fs->buffers_count,        
                                           block);                    
    if (rtems_rfs_buffer_handle_has_block (handle) &&                 
   5a37a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a37c:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a37e:	6700 fe9e      	beqw 5a21e <rtems_rfs_buffer_handle_request+0x84><== NOT EXECUTED
        rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))      
      printf ("rtems-rfs: buffer-request: buffer shared: refs: %d\n", 
   5a382:	2068 002e      	moveal %a0@(46),%a0                         <== NOT EXECUTED
   5a386:	5288           	addql #1,%a0                                <== NOT EXECUTED
   5a388:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5a38a:	4879 0007 231a 	pea 7231a <CSWTCH.2+0x252>                  <== NOT EXECUTED
   5a390:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a396:	206a 0006      	moveal %a2@(6),%a0                          <== NOT EXECUTED
  /*                                                                  
   * If the buffer has not been found check the local cache of released
   * buffers. There are release and released modified lists to preserve the
   * state.                                                           
   */                                                                 
  if (!rtems_rfs_fs_no_local_cache (fs) &&                            
   5a39a:	7002           	moveq #2,%d0                                <== NOT EXECUTED
   5a39c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a39e:	c093           	andl %a3@,%d0                               <== NOT EXECUTED
   5a3a0:	6600 ff2e      	bnew 5a2d0 <rtems_rfs_buffer_handle_request+0x136><== NOT EXECUTED
   5a3a4:	6000 fe80      	braw 5a226 <rtems_rfs_buffer_handle_request+0x8c><== NOT EXECUTED
                                                                      
  handle->buffer->user = (void*) ((intptr_t) block);                  
  handle->bnum = block;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))        
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
   5a3a8:	2f09           	movel %a1,%sp@-                             <== NOT EXECUTED
   5a3aa:	203c 0007 22bd 	movel #467645,%d0                           <== NOT EXECUTED
   5a3b0:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
            block, read ? "read" : "get", handle->buffer->block,      
            handle->buffer->references);                              
                                                                      
  return 0;                                                           
   5a3b2:	4282           	clrl %d2                                    <== NOT EXECUTED
                                                                      
  handle->buffer->user = (void*) ((intptr_t) block);                  
  handle->bnum = block;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))        
    printf ("rtems-rfs: buffer-request: block=%" PRIu32 " bdbuf-%s=%" PRIu32 " refs=%d\n",
   5a3b4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a3b6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5a3b8:	4879 0007 2386 	pea 72386 <CSWTCH.2+0x2be>                  <== NOT EXECUTED
   5a3be:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a3c4:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5a3c8:	6000 fec4      	braw 5a28e <rtems_rfs_buffer_handle_request+0xf4><== NOT EXECUTED
  /*                                                                  
   * If the buffer has not been found check the local cache of released
   * buffers. There are release and released modified lists to preserve the
   * state.                                                           
   */                                                                 
  if (!rtems_rfs_fs_no_local_cache (fs) &&                            
   5a3cc:	7002           	moveq #2,%d0                                
   5a3ce:	c093           	andl %a3@,%d0                               
   5a3d0:	6600 ff04      	bnew 5a2d6 <rtems_rfs_buffer_handle_request+0x13c>
      !rtems_rfs_buffer_handle_has_block (handle))                    
  {                                                                   
    /*                                                                
     * Check the local cache of released buffers.                     
     */                                                               
    if (fs->release_count)                                            
   5a3d4:	4aab 0060      	tstl %a3@(96)                               <== NOT EXECUTED
   5a3d8:	663a           	bnes 5a414 <rtems_rfs_buffer_handle_request+0x27a><== NOT EXECUTED
      handle->buffer = rtems_rfs_scan_chain (&fs->release,            
                                             &fs->release_count,      
                                             block);                  
                                                                      
    if (!rtems_rfs_buffer_handle_has_block (handle) &&                
   5a3da:	4aab 0070      	tstl %a3@(112)                              <== NOT EXECUTED
   5a3de:	6700 fef6      	beqw 5a2d6 <rtems_rfs_buffer_handle_request+0x13c><== NOT EXECUTED
        fs->release_modified_count)                                   
    {                                                                 
      handle->buffer = rtems_rfs_scan_chain (&fs->release_modified,   
   5a3e2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5a3e4:	486b 0070      	pea %a3@(112)                               <== NOT EXECUTED
   5a3e8:	486b 0064      	pea %a3@(100)                               <== NOT EXECUTED
   5a3ec:	4eba faba      	jsr %pc@(59ea8 <rtems_rfs_scan_chain>)      <== NOT EXECUTED
                                             &fs->release_modified_count,
                                             block);                  
      /*                                                              
       * If we found a buffer retain the dirty buffer state.          
       */                                                             
      if (rtems_rfs_buffer_handle_has_block (handle))                 
   5a3f0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                             block);                  
                                                                      
    if (!rtems_rfs_buffer_handle_has_block (handle) &&                
        fs->release_modified_count)                                   
    {                                                                 
      handle->buffer = rtems_rfs_scan_chain (&fs->release_modified,   
   5a3f4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a3f6:	2540 0006      	movel %d0,%a2@(6)                           <== NOT EXECUTED
                                             &fs->release_modified_count,
                                             block);                  
      /*                                                              
       * If we found a buffer retain the dirty buffer state.          
       */                                                             
      if (rtems_rfs_buffer_handle_has_block (handle))                 
   5a3fa:	6700 feda      	beqw 5a2d6 <rtems_rfs_buffer_handle_request+0x13c><== NOT EXECUTED
        rtems_rfs_buffer_mark_dirty (handle);                         
   5a3fe:	14bc 0001      	moveb #1,%a2@                               <== NOT EXECUTED
   5a402:	6000 fe28      	braw 5a22c <rtems_rfs_buffer_handle_request+0x92><== NOT EXECUTED
        printf ("rtems-rfs: buffer-request: block=%" PRIu32 ": bdbuf-%s: %d: %s\n",
                block, read ? "read" : "get", rc, strerror (rc));     
      return rc;                                                      
    }                                                                 
                                                                      
    rtems_chain_set_off_chain (rtems_rfs_buffer_link(handle));        
   5a406:	206a 0006      	moveal %a2@(6),%a0                          
   5a40a:	42a8 0004      	clrl %a0@(4)                                
   5a40e:	4290           	clrl %a0@                                   
   5a410:	6000 fe1a      	braw 5a22c <rtems_rfs_buffer_handle_request+0x92>
  {                                                                   
    /*                                                                
     * Check the local cache of released buffers.                     
     */                                                               
    if (fs->release_count)                                            
      handle->buffer = rtems_rfs_scan_chain (&fs->release,            
   5a414:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5a416:	486b 0060      	pea %a3@(96)                                <== NOT EXECUTED
   5a41a:	486b 0054      	pea %a3@(84)                                <== NOT EXECUTED
   5a41e:	4eba fa88      	jsr %pc@(59ea8 <rtems_rfs_scan_chain>)      <== NOT EXECUTED
                                             &fs->release_count,      
                                             block);                  
                                                                      
    if (!rtems_rfs_buffer_handle_has_block (handle) &&                
   5a422:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  {                                                                   
    /*                                                                
     * Check the local cache of released buffers.                     
     */                                                               
    if (fs->release_count)                                            
      handle->buffer = rtems_rfs_scan_chain (&fs->release,            
   5a426:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a428:	2540 0006      	movel %d0,%a2@(6)                           <== NOT EXECUTED
                                             &fs->release_count,      
                                             block);                  
                                                                      
    if (!rtems_rfs_buffer_handle_has_block (handle) &&                
   5a42c:	6600 fdfe      	bnew 5a22c <rtems_rfs_buffer_handle_request+0x92><== NOT EXECUTED
   5a430:	60a8           	bras 5a3da <rtems_rfs_buffer_handle_request+0x240><== NOT EXECUTED
    rc = rtems_rfs_buffer_io_request (fs, block, read, &handle->buffer);
                                                                      
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_HANDLE_REQUEST))    
        printf ("rtems-rfs: buffer-request: block=%" PRIu32 ": bdbuf-%s: %d: %s\n",
   5a432:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a434:	223c 0007 22bd 	movel #467645,%d1                           <== NOT EXECUTED
   5a43a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a43c:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5a43e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5a440:	4879 0007 234e 	pea 7234e <CSWTCH.2+0x286>                  <== NOT EXECUTED
   5a446:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a44c:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5a450:	6000 fee0      	braw 5a332 <rtems_rfs_buffer_handle_request+0x198><== NOT EXECUTED
                                                                      

0005a454 <rtems_rfs_buffer_open>: return rc; } int rtems_rfs_buffer_open (const char* name, rtems_rfs_file_system* fs) {
   5a454:	4e56 ffac      	linkw %fp,#-84                              
   5a458:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  struct stat st;                                                     
#if RTEMS_RFS_USE_LIBBLOCK                                            
  int rv;                                                             
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
   5a45c:	4878 0020      	pea 20 <OPER2+0xc>                          
   5a460:	45f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a2             
  return rc;                                                          
}                                                                     
                                                                      
int                                                                   
rtems_rfs_buffer_open (const char* name, rtems_rfs_file_system* fs)   
{                                                                     
   5a466:	242e 0008      	movel %fp@(8),%d2                           
  struct stat st;                                                     
#if RTEMS_RFS_USE_LIBBLOCK                                            
  int rv;                                                             
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
   5a46a:	42a7           	clrl %sp@-                                  
  return rc;                                                          
}                                                                     
                                                                      
int                                                                   
rtems_rfs_buffer_open (const char* name, rtems_rfs_file_system* fs)   
{                                                                     
   5a46c:	266e 000c      	moveal %fp@(12),%a3                         
  struct stat st;                                                     
#if RTEMS_RFS_USE_LIBBLOCK                                            
  int rv;                                                             
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
   5a470:	4e92           	jsr %a2@                                    
   5a472:	508f           	addql #8,%sp                                
   5a474:	4a00           	tstb %d0                                    
   5a476:	6656           	bnes 5a4ce <rtems_rfs_buffer_open+0x7a>     <== NEVER TAKEN
    printf ("rtems-rfs: buffer-open: opening: %s\n", name);           
                                                                      
  fs->device = open (name, O_RDWR);                                   
   5a478:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   5a47c:	2f02           	movel %d2,%sp@-                             
   5a47e:	4eb9 0004 82f8 	jsr 482f8 <open>                            
  if (fs->device < 0)                                                 
   5a484:	508f           	addql #8,%sp                                
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
    printf ("rtems-rfs: buffer-open: opening: %s\n", name);           
                                                                      
  fs->device = open (name, O_RDWR);                                   
   5a486:	2740 000c      	movel %d0,%a3@(12)                          
  if (fs->device < 0)                                                 
   5a48a:	6d66           	blts 5a4f2 <rtems_rfs_buffer_open+0x9e>     <== NEVER TAKEN
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                
      printf ("rtems-rfs: buffer-open: cannot open file\n");          
    return ENXIO;                                                     
  }                                                                   
                                                                      
  if (fstat (fs->device, &st) < 0)                                    
   5a48c:	486e ffba      	pea %fp@(-70)                               
   5a490:	2f00           	movel %d0,%sp@-                             
   5a492:	4eb9 0004 73d4 	jsr 473d4 <fstat>                           
   5a498:	508f           	addql #8,%sp                                
   5a49a:	4a80           	tstl %d0                                    
   5a49c:	6d00 00d6      	bltw 5a574 <rtems_rfs_buffer_open+0x120>    
                                                                      
#if RTEMS_RFS_USE_LIBBLOCK                                            
  /*                                                                  
   * Is the device a block device ?                                   
   */                                                                 
  if (!S_ISBLK (st.st_mode))                                          
   5a4a0:	202e ffc6      	movel %fp@(-58),%d0                         
   5a4a4:	0280 0000 f000 	andil #61440,%d0                            
   5a4aa:	0c80 0000 6000 	cmpil #24576,%d0                            
   5a4b0:	6760           	beqs 5a512 <rtems_rfs_buffer_open+0xbe>     <== ALWAYS TAKEN
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                
   5a4b2:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5a4b6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a4b8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5a4ba:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a4bc:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a4be:	6600 0098      	bnew 5a558 <rtems_rfs_buffer_open+0x104>    <== NOT EXECUTED
  fs->device = open (name, O_RDWR);                                   
  if (fs->device < 0)                                                 
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                
      printf ("rtems-rfs: buffer-open: cannot open file\n");          
    return ENXIO;                                                     
   5a4c2:	7006           	moveq #6,%d0                                <== NOT EXECUTED
    printf ("rtems-rfs: buffer-open: blks=%" PRId32 ", blk-size=%" PRId32 "\n",
            rtems_rfs_fs_media_blocks (fs),                           
            rtems_rfs_fs_media_block_size (fs));                      
                                                                      
  return 0;                                                           
}                                                                     
   5a4c4:	4cee 0c04 ffac 	moveml %fp@(-84),%d2/%a2-%a3                <== NOT EXECUTED
   5a4ca:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a4cc:	4e75           	rts                                         <== NOT EXECUTED
#if RTEMS_RFS_USE_LIBBLOCK                                            
  int rv;                                                             
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
    printf ("rtems-rfs: buffer-open: opening: %s\n", name);           
   5a4ce:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a4d0:	4879 0007 23c1 	pea 723c1 <CSWTCH.2+0x2f9>                  <== NOT EXECUTED
   5a4d6:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a4dc:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
  fs->device = open (name, O_RDWR);                                   
   5a4de:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   5a4e2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a4e4:	4eb9 0004 82f8 	jsr 482f8 <open>                            <== NOT EXECUTED
  if (fs->device < 0)                                                 
   5a4ea:	508f           	addql #8,%sp                                <== NOT EXECUTED
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
    printf ("rtems-rfs: buffer-open: opening: %s\n", name);           
                                                                      
  fs->device = open (name, O_RDWR);                                   
   5a4ec:	2740 000c      	movel %d0,%a3@(12)                          <== NOT EXECUTED
  if (fs->device < 0)                                                 
   5a4f0:	6c9a           	bges 5a48c <rtems_rfs_buffer_open+0x38>     <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                
   5a4f2:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5a4f6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a4f8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5a4fa:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a4fc:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a4fe:	67c2           	beqs 5a4c2 <rtems_rfs_buffer_open+0x6e>     <== NOT EXECUTED
      printf ("rtems-rfs: buffer-open: cannot open file\n");          
   5a500:	4879 0007 23e6 	pea 723e6 <CSWTCH.2+0x31e>                  <== NOT EXECUTED
   5a506:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5a50c:	588f           	addql #4,%sp                                <== NOT EXECUTED
    return ENXIO;                                                     
   5a50e:	7006           	moveq #6,%d0                                <== NOT EXECUTED
   5a510:	60b2           	bras 5a4c4 <rtems_rfs_buffer_open+0x70>     <== NOT EXECUTED
static inline int rtems_disk_fd_get_disk_device(                      
  int fd,                                                             
  rtems_disk_device **dd_ptr                                          
)                                                                     
{                                                                     
  return ioctl(fd, RTEMS_BLKIO_GETDISKDEV, dd_ptr);                   
   5a512:	486b 0010      	pea %a3@(16)                                
   5a516:	2f3c 4004 4209 	movel #1074020873,%sp@-                     
   5a51c:	2f2b 000c      	movel %a3@(12),%sp@-                        
   5a520:	4eb9 0004 7544 	jsr 47544 <ioctl>                           
                                                                      
  /*                                                                  
   * Check that device is registred as a block device and lock it.    
   */                                                                 
  rv = rtems_disk_fd_get_disk_device (fs->device, &fs->disk);         
  if (rv != 0)                                                        
   5a526:	4fef 000c      	lea %sp@(12),%sp                            
   5a52a:	4a80           	tstl %d0                                    
   5a52c:	6700 0086      	beqw 5a5b4 <rtems_rfs_buffer_open+0x160>    
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                
   5a530:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5a534:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a536:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5a538:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a53a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a53c:	6784           	beqs 5a4c2 <rtems_rfs_buffer_open+0x6e>     <== NOT EXECUTED
      printf ("rtems-rfs: buffer-open: cannot obtain the disk\n");    
   5a53e:	4879 0007 2471 	pea 72471 <CSWTCH.2+0x3a9>                  <== NOT EXECUTED
   5a544:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5a54a:	588f           	addql #4,%sp                                <== NOT EXECUTED
    return ENXIO;                                                     
   5a54c:	7006           	moveq #6,%d0                                <== NOT EXECUTED
    printf ("rtems-rfs: buffer-open: blks=%" PRId32 ", blk-size=%" PRId32 "\n",
            rtems_rfs_fs_media_blocks (fs),                           
            rtems_rfs_fs_media_block_size (fs));                      
                                                                      
  return 0;                                                           
}                                                                     
   5a54e:	4cee 0c04 ffac 	moveml %fp@(-84),%d2/%a2-%a3                <== NOT EXECUTED
   5a554:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a556:	4e75           	rts                                         <== NOT EXECUTED
   * Is the device a block device ?                                   
   */                                                                 
  if (!S_ISBLK (st.st_mode))                                          
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                
      printf ("rtems-rfs: buffer-open: '%s' is not a block device\n", name);
   5a558:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a55a:	4879 0007 243d 	pea 7243d <CSWTCH.2+0x375>                  <== NOT EXECUTED
   5a560:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a566:	508f           	addql #8,%sp                                <== NOT EXECUTED
    return ENXIO;                                                     
   5a568:	7006           	moveq #6,%d0                                <== NOT EXECUTED
    printf ("rtems-rfs: buffer-open: blks=%" PRId32 ", blk-size=%" PRId32 "\n",
            rtems_rfs_fs_media_blocks (fs),                           
            rtems_rfs_fs_media_block_size (fs));                      
                                                                      
  return 0;                                                           
}                                                                     
   5a56a:	4cee 0c04 ffac 	moveml %fp@(-84),%d2/%a2-%a3                <== NOT EXECUTED
   5a570:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a572:	4e75           	rts                                         <== NOT EXECUTED
    return ENXIO;                                                     
  }                                                                   
                                                                      
  if (fstat (fs->device, &st) < 0)                                    
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                
   5a574:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5a578:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a57a:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5a57c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a57e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a580:	6700 ff40      	beqw 5a4c2 <rtems_rfs_buffer_open+0x6e>     <== NOT EXECUTED
      printf ("rtems-rfs: buffer-open: stat '%s' failed: %s\n",       
              name, strerror (errno));                                
   5a584:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
  }                                                                   
                                                                      
  if (fstat (fs->device, &st) < 0)                                    
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_OPEN))                
      printf ("rtems-rfs: buffer-open: stat '%s' failed: %s\n",       
   5a58a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5a58c:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5a58e:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5a594:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a596:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a598:	4879 0007 240f 	pea 7240f <CSWTCH.2+0x347>                  <== NOT EXECUTED
   5a59e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a5a4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              name, strerror (errno));                                
    return ENXIO;                                                     
   5a5a8:	7006           	moveq #6,%d0                                <== NOT EXECUTED
    printf ("rtems-rfs: buffer-open: blks=%" PRId32 ", blk-size=%" PRId32 "\n",
            rtems_rfs_fs_media_blocks (fs),                           
            rtems_rfs_fs_media_block_size (fs));                      
                                                                      
  return 0;                                                           
}                                                                     
   5a5aa:	4cee 0c04 ffac 	moveml %fp@(-84),%d2/%a2-%a3                <== NOT EXECUTED
   5a5b0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a5b2:	4e75           	rts                                         <== NOT EXECUTED
#else                                                                 
  fs->media_size = st.st_size;                                        
  strcat (fs->name, name);                                            
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
   5a5b4:	4878 0020      	pea 20 <OPER2+0xc>                          
   5a5b8:	42a7           	clrl %sp@-                                  
   5a5ba:	4e92           	jsr %a2@                                    
   5a5bc:	508f           	addql #8,%sp                                
   5a5be:	4a00           	tstb %d0                                    
   5a5c0:	660c           	bnes 5a5ce <rtems_rfs_buffer_open+0x17a>    <== NEVER TAKEN
    printf ("rtems-rfs: buffer-open: blks=%" PRId32 ", blk-size=%" PRId32 "\n",
            rtems_rfs_fs_media_blocks (fs),                           
            rtems_rfs_fs_media_block_size (fs));                      
                                                                      
  return 0;                                                           
   5a5c2:	4280           	clrl %d0                                    
}                                                                     
   5a5c4:	4cee 0c04 ffac 	moveml %fp@(-84),%d2/%a2-%a3                
   5a5ca:	4e5e           	unlk %fp                                    
   5a5cc:	4e75           	rts                                         
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
    printf ("rtems-rfs: buffer-open: blks=%" PRId32 ", blk-size=%" PRId32 "\n",
            rtems_rfs_fs_media_blocks (fs),                           
            rtems_rfs_fs_media_block_size (fs));                      
   5a5ce:	206b 0010      	moveal %a3@(16),%a0                         <== NOT EXECUTED
  fs->media_size = st.st_size;                                        
  strcat (fs->name, name);                                            
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
    printf ("rtems-rfs: buffer-open: blks=%" PRId32 ", blk-size=%" PRId32 "\n",
   5a5d2:	2f28 0020      	movel %a0@(32),%sp@-                        <== NOT EXECUTED
   5a5d6:	2f28 001c      	movel %a0@(28),%sp@-                        <== NOT EXECUTED
   5a5da:	4879 0007 24a0 	pea 724a0 <CSWTCH.2+0x3d8>                  <== NOT EXECUTED
   5a5e0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a5e6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
            rtems_rfs_fs_media_blocks (fs),                           
            rtems_rfs_fs_media_block_size (fs));                      
                                                                      
  return 0;                                                           
   5a5ea:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5a5ec:	4cee 0c04 ffac 	moveml %fp@(-84),%d2/%a2-%a3                <== NOT EXECUTED
   5a5f2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a738 <rtems_rfs_buffer_setblksize>: return result; } int rtems_rfs_buffer_setblksize (rtems_rfs_file_system* fs, size_t size) {
   5a738:	4e56 fff4      	linkw %fp,#-12                              
   5a73c:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))            
   5a740:	4878 0400      	pea 400 <D_BIAS+0x2>                        
   5a744:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             
  return result;                                                      
}                                                                     
                                                                      
int                                                                   
rtems_rfs_buffer_setblksize (rtems_rfs_file_system* fs, size_t size)  
{                                                                     
   5a74a:	246e 0008      	moveal %fp@(8),%a2                          
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))            
   5a74e:	42a7           	clrl %sp@-                                  
   5a750:	4e93           	jsr %a3@                                    
   5a752:	508f           	addql #8,%sp                                
   5a754:	4a00           	tstb %d0                                    
   5a756:	6660           	bnes 5a7b8 <rtems_rfs_buffer_setblksize+0x80><== NEVER TAKEN
    printf ("rtems-rfs: buffer-setblksize: block size: %zu\n", size); 
                                                                      
  rc = rtems_rfs_buffers_release (fs);                                
   5a758:	2f0a           	movel %a2,%sp@-                             
   5a75a:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))
   5a760:	588f           	addql #4,%sp                                
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))            
    printf ("rtems-rfs: buffer-setblksize: block size: %zu\n", size); 
                                                                      
  rc = rtems_rfs_buffers_release (fs);                                
   5a762:	2400           	movel %d0,%d2                               
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))
   5a764:	6f0e           	bles 5a774 <rtems_rfs_buffer_setblksize+0x3c><== ALWAYS TAKEN
   5a766:	4878 0400      	pea 400 <D_BIAS+0x2>                        <== NOT EXECUTED
   5a76a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a76c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5a76e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a770:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a772:	666c           	bnes 5a7e0 <rtems_rfs_buffer_setblksize+0xa8><== NOT EXECUTED
    printf ("rtems-rfs: buffer-setblksize: buffer release failed: %d: %s\n",
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_buffer_sync (fs);                                    
   5a774:	2f0a           	movel %a2,%sp@-                             
   5a776:	4eb9 0005 a5f6 	jsr 5a5f6 <rtems_rfs_buffer_sync>           
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))
   5a77c:	588f           	addql #4,%sp                                
  rc = rtems_rfs_buffers_release (fs);                                
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))
    printf ("rtems-rfs: buffer-setblksize: buffer release failed: %d: %s\n",
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_buffer_sync (fs);                                    
   5a77e:	2400           	movel %d0,%d2                               
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))
   5a780:	6f0e           	bles 5a790 <rtems_rfs_buffer_setblksize+0x58><== ALWAYS TAKEN
   5a782:	4878 0400      	pea 400 <D_BIAS+0x2>                        <== NOT EXECUTED
   5a786:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a788:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5a78a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a78c:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a78e:	6670           	bnes 5a800 <rtems_rfs_buffer_setblksize+0xc8><== NOT EXECUTED
    printf ("rtems-rfs: buffer-setblksize: device sync failed: %d: %s\n",
            rc, strerror (rc));                                       
                                                                      
#if RTEMS_RFS_USE_LIBBLOCK                                            
  rc = fs->disk->ioctl (fs->disk, RTEMS_BLKIO_SETBLKSIZE, &size);     
   5a790:	486e 000c      	pea %fp@(12)                                
   5a794:	206a 0010      	moveal %a2@(16),%a0                         
   5a798:	2f3c 8004 4204 	movel #-2147204604,%sp@-                    
   5a79e:	2f08           	movel %a0,%sp@-                             
   5a7a0:	2068 0038      	moveal %a0@(56),%a0                         
   5a7a4:	4e90           	jsr %a0@                                    
  if (rc < 0)                                                         
   5a7a6:	4fef 000c      	lea %sp@(12),%sp                            
   5a7aa:	4a80           	tstl %d0                                    
   5a7ac:	6d1e           	blts 5a7cc <rtems_rfs_buffer_setblksize+0x94><== NEVER TAKEN
    rc = errno;                                                       
#endif                                                                
  return rc;                                                          
}                                                                     
   5a7ae:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   5a7b4:	4e5e           	unlk %fp                                    
   5a7b6:	4e75           	rts                                         
rtems_rfs_buffer_setblksize (rtems_rfs_file_system* fs, size_t size)  
{                                                                     
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))            
    printf ("rtems-rfs: buffer-setblksize: block size: %zu\n", size); 
   5a7b8:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5a7bc:	4879 0007 2569 	pea 72569 <CSWTCH.2+0x4a1>                  <== NOT EXECUTED
   5a7c2:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a7c8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a7ca:	608c           	bras 5a758 <rtems_rfs_buffer_setblksize+0x20><== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
#if RTEMS_RFS_USE_LIBBLOCK                                            
  rc = fs->disk->ioctl (fs->disk, RTEMS_BLKIO_SETBLKSIZE, &size);     
  if (rc < 0)                                                         
    rc = errno;                                                       
   5a7cc:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5a7d2:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
#endif                                                                
  return rc;                                                          
}                                                                     
   5a7d4:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
#if RTEMS_RFS_USE_LIBBLOCK                                            
  rc = fs->disk->ioctl (fs->disk, RTEMS_BLKIO_SETBLKSIZE, &size);     
  if (rc < 0)                                                         
    rc = errno;                                                       
   5a7da:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
#endif                                                                
  return rc;                                                          
}                                                                     
   5a7dc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a7de:	4e75           	rts                                         <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))            
    printf ("rtems-rfs: buffer-setblksize: block size: %zu\n", size); 
                                                                      
  rc = rtems_rfs_buffers_release (fs);                                
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))
    printf ("rtems-rfs: buffer-setblksize: buffer release failed: %d: %s\n",
   5a7e0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a7e2:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5a7e8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a7ea:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a7ec:	4879 0007 2598 	pea 72598 <CSWTCH.2+0x4d0>                  <== NOT EXECUTED
   5a7f2:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a7f8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5a7fc:	6000 ff76      	braw 5a774 <rtems_rfs_buffer_setblksize+0x3c><== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_buffer_sync (fs);                                    
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SETBLKSIZE))
    printf ("rtems-rfs: buffer-setblksize: device sync failed: %d: %s\n",
   5a800:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a802:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5a808:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a80a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5a80c:	4879 0007 25d5 	pea 725d5 <CSWTCH.2+0x50d>                  <== NOT EXECUTED
   5a812:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a818:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
#if RTEMS_RFS_USE_LIBBLOCK                                            
  rc = fs->disk->ioctl (fs->disk, RTEMS_BLKIO_SETBLKSIZE, &size);     
   5a81c:	486e 000c      	pea %fp@(12)                                <== NOT EXECUTED
   5a820:	206a 0010      	moveal %a2@(16),%a0                         <== NOT EXECUTED
   5a824:	2f3c 8004 4204 	movel #-2147204604,%sp@-                    <== NOT EXECUTED
   5a82a:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5a82c:	2068 0038      	moveal %a0@(56),%a0                         <== NOT EXECUTED
   5a830:	4e90           	jsr %a0@                                    <== NOT EXECUTED
  if (rc < 0)                                                         
   5a832:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5a836:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5a838:	6c00 ff74      	bgew 5a7ae <rtems_rfs_buffer_setblksize+0x76><== NOT EXECUTED
   5a83c:	608e           	bras 5a7cc <rtems_rfs_buffer_setblksize+0x94><== NOT EXECUTED
                                                                      

0005a5f6 <rtems_rfs_buffer_sync>: return rc; } int rtems_rfs_buffer_sync (rtems_rfs_file_system* fs) {
   5a5f6:	4e56 fff4      	linkw %fp,#-12                              
   5a5fa:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  int result = 0;                                                     
#if RTEMS_RFS_USE_LIBBLOCK                                            
  rtems_status_code sc;                                               
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
   5a5fe:	4878 0020      	pea 20 <OPER2+0xc>                          
   5a602:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             
  return rc;                                                          
}                                                                     
                                                                      
int                                                                   
rtems_rfs_buffer_sync (rtems_rfs_file_system* fs)                     
{                                                                     
   5a608:	246e 0008      	moveal %fp@(8),%a2                          
  int result = 0;                                                     
#if RTEMS_RFS_USE_LIBBLOCK                                            
  rtems_status_code sc;                                               
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
   5a60c:	42a7           	clrl %sp@-                                  
   5a60e:	4e93           	jsr %a3@                                    
   5a610:	508f           	addql #8,%sp                                
   5a612:	4a00           	tstb %d0                                    
   5a614:	6628           	bnes 5a63e <rtems_rfs_buffer_sync+0x48>     <== NEVER TAKEN
                                                                      
  /*                                                                  
   * @todo Split in the separate files for each type.                 
   */                                                                 
#if RTEMS_RFS_USE_LIBBLOCK                                            
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                
   5a616:	2f2a 0010      	movel %a2@(16),%sp@-                        
   5a61a:	4eb9 0005 5340 	jsr 55340 <rtems_bdbuf_syncdev>             
  if (sc != RTEMS_SUCCESSFUL)                                         
   5a620:	588f           	addql #4,%sp                                
                                                                      
  /*                                                                  
   * @todo Split in the separate files for each type.                 
   */                                                                 
#if RTEMS_RFS_USE_LIBBLOCK                                            
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                
   5a622:	2400           	movel %d0,%d2                               
  if (sc != RTEMS_SUCCESSFUL)                                         
   5a624:	6636           	bnes 5a65c <rtems_rfs_buffer_sync+0x66>     <== NEVER TAKEN
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                
      printf ("rtems-rfs: buffer-sync: device sync failed: %s\n",     
              rtems_status_text (sc));                                
    result = EIO;                                                     
  }                                                                   
  rtems_disk_release (fs->disk);                                      
   5a626:	2f2a 0010      	movel %a2@(16),%sp@-                        
}                                                                     
                                                                      
int                                                                   
rtems_rfs_buffer_sync (rtems_rfs_file_system* fs)                     
{                                                                     
  int result = 0;                                                     
   5a62a:	4282           	clrl %d2                                    
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                
      printf ("rtems-rfs: buffer-sync: device sync failed: %s\n",     
              rtems_status_text (sc));                                
    result = EIO;                                                     
  }                                                                   
  rtems_disk_release (fs->disk);                                      
   5a62c:	4eb9 0004 3d4e 	jsr 43d4e <rtems_disk_release>              
      printf ("rtems-rfs: buffer-sync: file sync failed: %d: %s\n",   
              result, strerror (result));                             
  }                                                                   
#endif                                                                
  return result;                                                      
}                                                                     
   5a632:	2002           	movel %d2,%d0                               
   5a634:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   5a63a:	4e5e           	unlk %fp                                    
   5a63c:	4e75           	rts                                         
#if RTEMS_RFS_USE_LIBBLOCK                                            
  rtems_status_code sc;                                               
#endif                                                                
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                  
    printf ("rtems-rfs: buffer-sync: syncing\n");                     
   5a63e:	4879 0007 24d0 	pea 724d0 <CSWTCH.2+0x408>                  <== NOT EXECUTED
   5a644:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5a64a:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  /*                                                                  
   * @todo Split in the separate files for each type.                 
   */                                                                 
#if RTEMS_RFS_USE_LIBBLOCK                                            
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                
   5a64c:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   5a650:	4eb9 0005 5340 	jsr 55340 <rtems_bdbuf_syncdev>             <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5a656:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  /*                                                                  
   * @todo Split in the separate files for each type.                 
   */                                                                 
#if RTEMS_RFS_USE_LIBBLOCK                                            
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                
   5a658:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5a65a:	67ca           	beqs 5a626 <rtems_rfs_buffer_sync+0x30>     <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                
   5a65c:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5a660:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a662:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5a664:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a666:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a668:	6618           	bnes 5a682 <rtems_rfs_buffer_sync+0x8c>     <== NOT EXECUTED
      printf ("rtems-rfs: buffer-sync: device sync failed: %s\n",     
              rtems_status_text (sc));                                
    result = EIO;                                                     
  }                                                                   
  rtems_disk_release (fs->disk);                                      
   5a66a:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                
      printf ("rtems-rfs: buffer-sync: device sync failed: %s\n",     
              rtems_status_text (sc));                                
    result = EIO;                                                     
   5a66e:	7405           	moveq #5,%d2                                <== NOT EXECUTED
  }                                                                   
  rtems_disk_release (fs->disk);                                      
   5a670:	4eb9 0004 3d4e 	jsr 43d4e <rtems_disk_release>              <== NOT EXECUTED
      printf ("rtems-rfs: buffer-sync: file sync failed: %d: %s\n",   
              result, strerror (result));                             
  }                                                                   
#endif                                                                
  return result;                                                      
}                                                                     
   5a676:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5a678:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   5a67e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a680:	4e75           	rts                                         <== NOT EXECUTED
#if RTEMS_RFS_USE_LIBBLOCK                                            
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                
      printf ("rtems-rfs: buffer-sync: device sync failed: %s\n",     
   5a682:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
              rtems_status_text (sc));                                
    result = EIO;                                                     
   5a684:	7405           	moveq #5,%d2                                <== NOT EXECUTED
#if RTEMS_RFS_USE_LIBBLOCK                                            
  sc = rtems_bdbuf_syncdev (rtems_rfs_fs_device (fs));                
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_SYNC))                
      printf ("rtems-rfs: buffer-sync: device sync failed: %s\n",     
   5a686:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5a68c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a68e:	4879 0007 24f0 	pea 724f0 <CSWTCH.2+0x428>                  <== NOT EXECUTED
   5a694:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a69a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
              rtems_status_text (sc));                                
    result = EIO;                                                     
  }                                                                   
  rtems_disk_release (fs->disk);                                      
   5a69e:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   5a6a2:	4eb9 0004 3d4e 	jsr 43d4e <rtems_disk_release>              <== NOT EXECUTED
      printf ("rtems-rfs: buffer-sync: file sync failed: %d: %s\n",   
              result, strerror (result));                             
  }                                                                   
#endif                                                                
  return result;                                                      
}                                                                     
   5a6a8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5a6aa:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   5a6b0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a6b4 <rtems_rfs_buffers_release>: return rrc; } int rtems_rfs_buffers_release (rtems_rfs_file_system* fs) {
   5a6b4:	4e56 fff4      	linkw %fp,#-12                              
   5a6b8:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  int rrc = 0;                                                        
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))               
   5a6bc:	4878 0040      	pea 40 <DBL_MANT_DIG+0xb>                   
  return rrc;                                                         
}                                                                     
                                                                      
int                                                                   
rtems_rfs_buffers_release (rtems_rfs_file_system* fs)                 
{                                                                     
   5a6c0:	246e 0008      	moveal %fp@(8),%a2                          
  int rrc = 0;                                                        
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))               
   5a6c4:	42a7           	clrl %sp@-                                  
   5a6c6:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   5a6cc:	508f           	addql #8,%sp                                
   5a6ce:	4a00           	tstb %d0                                    
   5a6d0:	6648           	bnes 5a71a <rtems_rfs_buffers_release+0x66> <== NEVER TAKEN
    printf ("rtems-rfs: buffers-release: active:%" PRIu32 " "         
            "release:%" PRIu32 " release-modified:%" PRIu32 "\n",     
            fs->buffers_count, fs->release_count, fs->release_modified_count);
                                                                      
  rc = rtems_rfs_release_chain (&fs->release,                         
   5a6d2:	42a7           	clrl %sp@-                                  
   5a6d4:	486a 0060      	pea %a2@(96)                                
   5a6d8:	47fa f732      	lea %pc@(59e0c <rtems_rfs_release_chain>),%a3
   5a6dc:	486a 0054      	pea %a2@(84)                                
   5a6e0:	4e93           	jsr %a3@                                    
   5a6e2:	4fef 000c      	lea %sp@(12),%sp                            
   5a6e6:	2200           	movel %d0,%d1                               
                                &fs->release_count,                   
                                false);                               
  if ((rc > 0) && (rrc == 0))                                         
    rrc = rc;                                                         
  rc = rtems_rfs_release_chain (&fs->release_modified,                
   5a6e8:	4878 0001      	pea 1 <ADD>                                 
   5a6ec:	4681           	notl %d1                                    
   5a6ee:	486a 0070      	pea %a2@(112)                               
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))               
    printf ("rtems-rfs: buffers-release: active:%" PRIu32 " "         
            "release:%" PRIu32 " release-modified:%" PRIu32 "\n",     
            fs->buffers_count, fs->release_count, fs->release_modified_count);
                                                                      
  rc = rtems_rfs_release_chain (&fs->release,                         
   5a6f2:	2400           	movel %d0,%d2                               
                                &fs->release_count,                   
                                false);                               
  if ((rc > 0) && (rrc == 0))                                         
    rrc = rc;                                                         
  rc = rtems_rfs_release_chain (&fs->release_modified,                
   5a6f4:	486a 0064      	pea %a2@(100)                               
   5a6f8:	d281           	addl %d1,%d1                                
   5a6fa:	9381           	subxl %d1,%d1                               
   5a6fc:	c481           	andl %d1,%d2                                
   5a6fe:	4e93           	jsr %a3@                                    
                                &fs->release_modified_count,          
                                true);                                
  if ((rc > 0) && (rrc == 0))                                         
   5a700:	4fef 000c      	lea %sp@(12),%sp                            
   5a704:	4a80           	tstl %d0                                    
   5a706:	6f06           	bles 5a70e <rtems_rfs_buffers_release+0x5a> <== ALWAYS TAKEN
   5a708:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5a70a:	6602           	bnes 5a70e <rtems_rfs_buffers_release+0x5a> <== NOT EXECUTED
   5a70c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    rrc = rc;                                                         
                                                                      
  return rrc;                                                         
}                                                                     
   5a70e:	2002           	movel %d2,%d0                               
   5a710:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                
   5a716:	4e5e           	unlk %fp                                    
   5a718:	4e75           	rts                                         
{                                                                     
  int rrc = 0;                                                        
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_RELEASE))               
    printf ("rtems-rfs: buffers-release: active:%" PRIu32 " "         
   5a71a:	2f2a 0070      	movel %a2@(112),%sp@-                       <== NOT EXECUTED
   5a71e:	2f2a 0060      	movel %a2@(96),%sp@-                        <== NOT EXECUTED
   5a722:	2f2a 0050      	movel %a2@(80),%sp@-                        <== NOT EXECUTED
   5a726:	4879 0007 2520 	pea 72520 <CSWTCH.2+0x458>                  <== NOT EXECUTED
   5a72c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5a732:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5a736:	609a           	bras 5a6d2 <rtems_rfs_buffers_release+0x1e> <== NOT EXECUTED
                                                                      

0005aeca <rtems_rfs_dir_add_entry>: rtems_rfs_dir_add_entry (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, const char* name, size_t length, rtems_rfs_ino ino) {
   5aeca:	4e56 ff6c      	linkw %fp,#-148                             
   5aece:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  rtems_rfs_block_map     map;                                        
  rtems_rfs_block_pos     bpos;                                       
  rtems_rfs_buffer_handle buffer;                                     
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                
   5aed2:	2f3c 2000 0000 	movel #536870912,%sp@-                      
rtems_rfs_dir_add_entry (rtems_rfs_file_system*  fs,                  
                         rtems_rfs_inode_handle* dir,                 
                         const char*             name,                
                         size_t                  length,              
                         rtems_rfs_ino           ino)                 
{                                                                     
   5aed8:	266e 0008      	moveal %fp@(8),%a3                          
  rtems_rfs_block_map     map;                                        
  rtems_rfs_block_pos     bpos;                                       
  rtems_rfs_buffer_handle buffer;                                     
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                
   5aedc:	49f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a4             
   5aee2:	42a7           	clrl %sp@-                                  
rtems_rfs_dir_add_entry (rtems_rfs_file_system*  fs,                  
                         rtems_rfs_inode_handle* dir,                 
                         const char*             name,                
                         size_t                  length,              
                         rtems_rfs_ino           ino)                 
{                                                                     
   5aee4:	2a6e 0010      	moveal %fp@(16),%a5                         
   5aee8:	2c2e 0014      	movel %fp@(20),%d6                          
  rtems_rfs_block_map     map;                                        
  rtems_rfs_block_pos     bpos;                                       
  rtems_rfs_buffer_handle buffer;                                     
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                
   5aeec:	4e94           	jsr %a4@                                    
   5aeee:	508f           	addql #8,%sp                                
   5aef0:	4a00           	tstb %d0                                    
   5aef2:	6600 024c      	bnew 5b140 <rtems_rfs_dir_add_entry+0x276>  
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (", len=%zd\n", length);                                   
  }                                                                   
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5aef6:	2e0e           	movel %fp,%d7                               
   5aef8:	0687 ffff ffb6 	addil #-74,%d7                              
   5aefe:	2f07           	movel %d7,%sp@-                             
   5af00:	2f2e 000c      	movel %fp@(12),%sp@-                        
   5af04:	2f0b           	movel %a3,%sp@-                             
   5af06:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        
  if (rc > 0)                                                         
   5af0c:	4fef 000c      	lea %sp@(12),%sp                            
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (", len=%zd\n", length);                                   
  }                                                                   
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5af10:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   5af12:	6f0c           	bles 5af20 <rtems_rfs_dir_add_entry+0x56>   <== ALWAYS TAKEN
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5af14:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5af16:	4cee 3cfc ff6c 	moveml %fp@(-148),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5af1c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5af1e:	4e75           	rts                                         <== NOT EXECUTED
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
      {                                                               
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
   5af20:	2206           	movel %d6,%d1                               
   5af22:	0681 0000 000a 	addil #10,%d1                               
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5af28:	4203           	clrb %d3                                    
  handle->bnum  = 0;                                                  
   5af2a:	42ae ffa2      	clrl %fp@(-94)                              
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5af2e:	1d43 ffa0      	moveb %d3,%fp@(-96)                         
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5af32:	42ae ffa6      	clrl %fp@(-90)                              
 * @param bpos A pointer to the block position.                       
 */                                                                   
static inline void                                                    
rtems_rfs_block_set_bpos_zero (rtems_rfs_block_pos* bpos)             
{                                                                     
  bpos->bno = 0;                                                      
   5af36:	42ae ffaa      	clrl %fp@(-86)                              
  bpos->boff = 0;                                                     
   5af3a:	42ae ffae      	clrl %fp@(-82)                              
  bpos->block = 0;                                                    
   5af3e:	42ae ffb2      	clrl %fp@(-78)                              
   5af42:	2d41 ff98      	movel %d1,%fp@(-104)                        
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5af46:	2d4d ff94      	movel %a5,%fp@(-108)                        
    /*                                                                
     * Locate the first block. If an error the block will be 0. If the map is
     * empty which happens when creating a directory and adding the first entry
     * the seek will return ENXIO. In this case we need to grow the directory.
     */                                                               
    rc = rtems_rfs_block_map_find (fs, &map, &bpos, &block);          
   5af4a:	486e ff9c      	pea %fp@(-100)                              
   5af4e:	486e ffaa      	pea %fp@(-86)                               
   5af52:	2f07           	movel %d7,%sp@-                             
   5af54:	2f0b           	movel %a3,%sp@-                             
   5af56:	4eb9 0005 95dc 	jsr 595dc <rtems_rfs_block_map_find>        
    if (rc > 0)                                                       
   5af5c:	4fef 0010      	lea %sp@(16),%sp                            
   5af60:	4a80           	tstl %d0                                    
   5af62:	6f00 02dc      	blew 5b240 <rtems_rfs_dir_add_entry+0x376>  
    {                                                                 
      if (rc != ENXIO)                                                
   5af66:	7806           	moveq #6,%d4                                
   5af68:	b880           	cmpl %d0,%d4                                
   5af6a:	6600 0362      	bnew 5b2ce <rtems_rfs_dir_add_entry+0x404>  
      }                                                               
                                                                      
      /*                                                              
       * We have reached the end of the directory so add a block.     
       */                                                             
      rc = rtems_rfs_block_map_grow (fs, &map, 1, &block);            
   5af6e:	486e ff9c      	pea %fp@(-100)                              
   5af72:	4878 0001      	pea 1 <ADD>                                 
   5af76:	2f07           	movel %d7,%sp@-                             
   5af78:	2f0b           	movel %a3,%sp@-                             
   5af7a:	4eb9 0005 97a8 	jsr 597a8 <rtems_rfs_block_map_grow>        
      if (rc > 0)                                                     
   5af80:	4fef 0010      	lea %sp@(16),%sp                            
   5af84:	4a80           	tstl %d0                                    
   5af86:	6e00 0394      	bgtw 5b31c <rtems_rfs_dir_add_entry+0x452>  
   5af8a:	4280           	clrl %d0                                    
                  "block map grow failed for ino %" PRIu32 ": %d: %s\n",
                  rtems_rfs_inode_ino (dir), rc, strerror (rc));      
        break;                                                        
      }                                                               
                                                                      
      read = false;                                                   
   5af8c:	4202           	clrb %d2                                    
    }                                                                 
                                                                      
    bpos.bno++;                                                       
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);  
   5af8e:	2f00           	movel %d0,%sp@-                             
   5af90:	2f2e ff9c      	movel %fp@(-100),%sp@-                      
   5af94:	486e ffa0      	pea %fp@(-96)                               
      }                                                               
                                                                      
      read = false;                                                   
    }                                                                 
                                                                      
    bpos.bno++;                                                       
   5af98:	52ae ffaa      	addql #1,%fp@(-86)                          
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);  
   5af9c:	2f0b           	movel %a3,%sp@-                             
   5af9e:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> 
    if (rc > 0)                                                       
   5afa4:	4fef 0010      	lea %sp@(16),%sp                            
   5afa8:	4a80           	tstl %d0                                    
   5afaa:	6e00 029c      	bgtw 5b248 <rtems_rfs_dir_add_entry+0x37e>  
                "block buffer req failed for ino %" PRIu32 ": %d: %s\n",
                rtems_rfs_inode_ino (dir), rc, strerror (rc));        
      break;                                                          
    }                                                                 
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
   5afae:	206e ffa6      	moveal %fp@(-90),%a0                        
   5afb2:	2468 001a      	moveal %a0@(26),%a2                         
                                                                      
    if (!read)                                                        
   5afb6:	4a02           	tstb %d2                                    
   5afb8:	6700 023a      	beqw 5b1f4 <rtems_rfs_dir_add_entry+0x32a>  
      memset (entry, 0xff, rtems_rfs_fs_block_size (fs));             
                                                                      
    offset = 0;                                                       
                                                                      
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5afbc:	2a6b 0008      	moveal %a3@(8),%a5                          
   5afc0:	41ed fff6      	lea %a5@(-10),%a0                           
   5afc4:	4a88           	tstl %a0                                    
   5afc6:	6782           	beqs 5af4a <rtems_rfs_dir_add_entry+0x80>   <== NEVER TAKEN
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5afc8:	4282           	clrl %d2                                    
   5afca:	4280           	clrl %d0                                    
   5afcc:	1412           	moveb %a2@,%d2                              
   5afce:	102a 0002      	moveb %a2@(2),%d0                           
   5afd2:	7218           	moveq #24,%d1                               
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5afd4:	4283           	clrl %d3                                    
   5afd6:	162a 0008      	moveb %a2@(8),%d3                           
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5afda:	4284           	clrl %d4                                    
   5afdc:	182a 0003      	moveb %a2@(3),%d4                           
   5afe0:	e3aa           	lsll %d1,%d2                                
   5afe2:	e188           	lsll #8,%d0                                 
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5afe4:	4281           	clrl %d1                                    
   5afe6:	122a 0009      	moveb %a2@(9),%d1                           
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5afea:	8480           	orl %d0,%d2                                 
   5afec:	4280           	clrl %d0                                    
   5afee:	102a 0001      	moveb %a2@(1),%d0                           
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5aff2:	e18b           	lsll #8,%d3                                 
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5aff4:	8484           	orl %d4,%d2                                 
   5aff6:	4840           	swap %d0                                    
   5aff8:	4240           	clrw %d0                                    
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5affa:	8681           	orl %d1,%d3                                 
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5affc:	8480           	orl %d0,%d2                                 
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
   5affe:	0c83 0000 ffff 	cmpil #65535,%d3                            
   5b004:	6700 02b8      	beqw 5b2be <rtems_rfs_dir_add_entry+0x3f4>  
   5b008:	4284           	clrl %d4                                    <== NOT EXECUTED
        rtems_rfs_buffer_handle_close (fs, &buffer);                  
        rtems_rfs_block_map_close (fs, &map);                         
        return EIO;                                                   
      }                                                               
                                                                      
      entry  += elength;                                              
   5b00a:	d5c3           	addal %d3,%a2                               <== NOT EXECUTED
        }                                                             
                                                                      
        break;                                                        
      }                                                               
                                                                      
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
   5b00c:	700a           	moveq #10,%d0                               <== NOT EXECUTED
   5b00e:	b083           	cmpl %d3,%d0                                <== NOT EXECUTED
   5b010:	6c00 019c      	bgew 5b1ae <rtems_rfs_dir_add_entry+0x2e4>  <== NOT EXECUTED
   5b014:	b6ab 001c      	cmpl %a3@(28),%d3                           <== NOT EXECUTED
   5b018:	6400 0194      	bccw 5b1ae <rtems_rfs_dir_add_entry+0x2e4>  <== NOT EXECUTED
   5b01c:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5b01e:	6700 018e      	beqw 5b1ae <rtems_rfs_dir_add_entry+0x2e4>  <== NOT EXECUTED
   5b022:	b4ab 0014      	cmpl %a3@(20),%d2                           <== NOT EXECUTED
   5b026:	6200 0186      	bhiw 5b1ae <rtems_rfs_dir_add_entry+0x2e4>  <== NOT EXECUTED
        rtems_rfs_block_map_close (fs, &map);                         
        return EIO;                                                   
      }                                                               
                                                                      
      entry  += elength;                                              
      offset += elength;                                              
   5b02a:	d883           	addl %d3,%d4                                <== NOT EXECUTED
    if (!read)                                                        
      memset (entry, 0xff, rtems_rfs_fs_block_size (fs));             
                                                                      
    offset = 0;                                                       
                                                                      
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5b02c:	2244           	moveal %d4,%a1                              <== NOT EXECUTED
   5b02e:	b1c4           	cmpal %d4,%a0                               <== NOT EXECUTED
   5b030:	6300 ff18      	blsw 5af4a <rtems_rfs_dir_add_entry+0x80>   <== NOT EXECUTED
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b034:	4282           	clrl %d2                                    <== NOT EXECUTED
   5b036:	4280           	clrl %d0                                    <== NOT EXECUTED
   5b038:	1412           	moveb %a2@,%d2                              <== NOT EXECUTED
   5b03a:	102a 0001      	moveb %a2@(1),%d0                           <== NOT EXECUTED
   5b03e:	7618           	moveq #24,%d3                               <== NOT EXECUTED
   5b040:	4285           	clrl %d5                                    <== NOT EXECUTED
   5b042:	1a2a 0003      	moveb %a2@(3),%d5                           <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b046:	4281           	clrl %d1                                    <== NOT EXECUTED
   5b048:	122a 0009      	moveb %a2@(9),%d1                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b04c:	e7aa           	lsll %d3,%d2                                <== NOT EXECUTED
   5b04e:	4840           	swap %d0                                    <== NOT EXECUTED
   5b050:	4240           	clrw %d0                                    <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b052:	4283           	clrl %d3                                    <== NOT EXECUTED
   5b054:	162a 0008      	moveb %a2@(8),%d3                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b058:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
   5b05a:	4280           	clrl %d0                                    <== NOT EXECUTED
   5b05c:	102a 0002      	moveb %a2@(2),%d0                           <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b060:	e18b           	lsll #8,%d3                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b062:	8485           	orl %d5,%d2                                 <== NOT EXECUTED
   5b064:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b066:	8681           	orl %d1,%d3                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b068:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
   5b06a:	0c83 0000 ffff 	cmpil #65535,%d3                            <== NOT EXECUTED
   5b070:	6698           	bnes 5b00a <rtems_rfs_dir_add_entry+0x140>  <== NOT EXECUTED
      {                                                               
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
   5b072:	9bc9           	subal %a1,%a5                               <== NOT EXECUTED
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
      {                                                               
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
   5b074:	bbee ff98      	cmpal %fp@(-104),%a5                        <== NOT EXECUTED
   5b078:	6300 fed0      	blsw 5af4a <rtems_rfs_dir_add_entry+0x80>   <== NOT EXECUTED
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
   5b07c:	2f06           	movel %d6,%sp@-                             
   5b07e:	2a6e ff94      	moveal %fp@(-108),%a5                       
                                          RTEMS_RFS_DIR_ENTRY_SIZE + length);
          memcpy (entry + RTEMS_RFS_DIR_ENTRY_SIZE, name, length);    
          rtems_rfs_buffer_mark_dirty (&buffer);                      
          rtems_rfs_buffer_handle_close (fs, &buffer);                
          rtems_rfs_block_map_close (fs, &map);                       
          return 0;                                                   
   5b082:	4282           	clrl %d2                                    
      {                                                               
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
   5b084:	2f0d           	movel %a5,%sp@-                             
   5b086:	4eb9 0006 00e8 	jsr 600e8 <rtems_rfs_dir_hash>              
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
   5b08c:	2a2e 0018      	movel %fp@(24),%d5                          
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b090:	7218           	moveq #24,%d1                               
   5b092:	2800           	movel %d0,%d4                               
   5b094:	e2ac           	lsrl %d1,%d4                                
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
   5b096:	e2ad           	lsrl %d1,%d5                                
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b098:	2200           	movel %d0,%d1                               
   5b09a:	2844           	moveal %d4,%a4                              
   5b09c:	2600           	movel %d0,%d3                               
   5b09e:	e08b           	lsrl #8,%d3                                 
   5b0a0:	2043           	moveal %d3,%a0                              
   5b0a2:	4241           	clrw %d1                                    
   5b0a4:	4841           	swap %d1                                    
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
          rtems_rfs_dir_set_entry_length (entry,                      
   5b0a6:	282e ff98      	movel %fp@(-104),%d4                        
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b0aa:	2241           	moveal %d1,%a1                              
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
          rtems_rfs_dir_set_entry_length (entry,                      
   5b0ac:	e08c           	lsrl #8,%d4                                 
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b0ae:	320c           	movew %a4,%d1                               
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
          rtems_rfs_dir_set_entry_length (entry,                      
   5b0b0:	2d44 ff94      	movel %d4,%fp@(-108)                        
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
   5b0b4:	282e 0018      	movel %fp@(24),%d4                          
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b0b8:	1541 0004      	moveb %d1,%a2@(4)                           
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
   5b0bc:	262e 0018      	movel %fp@(24),%d3                          
   5b0c0:	e08b           	lsrl #8,%d3                                 
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b0c2:	3209           	movew %a1,%d1                               
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
   5b0c4:	4244           	clrw %d4                                    
   5b0c6:	4844           	swap %d4                                    
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b0c8:	1540 0007      	moveb %d0,%a2@(7)                           
   5b0cc:	1541 0005      	moveb %d1,%a2@(5)                           
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
   5b0d0:	1544 0001      	moveb %d4,%a2@(1)                           
   5b0d4:	1543 0002      	moveb %d3,%a2@(2)                           
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b0d8:	3208           	movew %a0,%d1                               
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
   5b0da:	162e 001b      	moveb %fp@(27),%d3                          
          rtems_rfs_dir_set_entry_length (entry,                      
   5b0de:	182e ff97      	moveb %fp@(-105),%d4                        
   5b0e2:	102e ff9b      	moveb %fp@(-101),%d0                        
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
        {                                                             
          uint32_t hash;                                              
          hash = rtems_rfs_dir_hash (name, length);                   
          rtems_rfs_dir_set_entry_hash (entry, hash);                 
   5b0e6:	1541 0006      	moveb %d1,%a2@(6)                           
          rtems_rfs_dir_set_entry_ino (entry, ino);                   
   5b0ea:	1543 0003      	moveb %d3,%a2@(3)                           
   5b0ee:	1485           	moveb %d5,%a2@                              
          rtems_rfs_dir_set_entry_length (entry,                      
   5b0f0:	1544 0008      	moveb %d4,%a2@(8)                           
   5b0f4:	1540 0009      	moveb %d0,%a2@(9)                           
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5b0f8:	4203           	clrb %d3                                    
                                          RTEMS_RFS_DIR_ENTRY_SIZE + length);
          memcpy (entry + RTEMS_RFS_DIR_ENTRY_SIZE, name, length);    
   5b0fa:	2f06           	movel %d6,%sp@-                             
   5b0fc:	2f0d           	movel %a5,%sp@-                             
   5b0fe:	486a 000a      	pea %a2@(10)                                
   5b102:	4eb9 0006 1438 	jsr 61438 <memcpy>                          
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b108:	486e ffa0      	pea %fp@(-96)                               
          rtems_rfs_buffer_mark_dirty (&buffer);                      
   5b10c:	7201           	moveq #1,%d1                                
   5b10e:	2f0b           	movel %a3,%sp@-                             
   5b110:	1d41 ffa0      	moveb %d1,%fp@(-96)                         
   5b114:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> 
  handle->dirty = false;                                              
   5b11a:	1d43 ffa0      	moveb %d3,%fp@(-96)                         
          rtems_rfs_buffer_handle_close (fs, &buffer);                
          rtems_rfs_block_map_close (fs, &map);                       
   5b11e:	2f07           	movel %d7,%sp@-                             
  handle->bnum  = 0;                                                  
   5b120:	42ae ffa2      	clrl %fp@(-94)                              
   5b124:	2f0b           	movel %a3,%sp@-                             
  handle->buffer = NULL;                                              
   5b126:	42ae ffa6      	clrl %fp@(-90)                              
   5b12a:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       
   5b130:	4fef 0024      	lea %sp@(36),%sp                            
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5b134:	2002           	movel %d2,%d0                               
   5b136:	4cee 3cfc ff6c 	moveml %fp@(-148),%d2-%d7/%a2-%a5           
   5b13c:	4e5e           	unlk %fp                                    
   5b13e:	4e75           	rts                                         
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: dir-add-entry: dir=%" PRId32 ", name=",       
   5b140:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b144:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b148:	263c 0006 16ec 	movel #399084,%d3                           <== NOT EXECUTED
   5b14e:	4879 0007 294a 	pea 7294a <CSWTCH.2+0x882>                  <== NOT EXECUTED
   5b154:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   5b156:	4e90           	jsr %a0@                                    <== NOT EXECUTED
            rtems_rfs_inode_ino (dir));                               
    for (c = 0; c < length; c++)                                      
   5b158:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b15a:	4a86           	tstl %d6                                    <== NOT EXECUTED
   5b15c:	671e           	beqs 5b17c <rtems_rfs_dir_add_entry+0x2b2>  <== NOT EXECUTED
   5b15e:	4281           	clrl %d1                                    <== NOT EXECUTED
   5b160:	4282           	clrl %d2                                    <== NOT EXECUTED
   5b162:	45f9 0006 187c 	lea 6187c <putchar>,%a2                     <== NOT EXECUTED
   5b168:	5282           	addql #1,%d2                                <== NOT EXECUTED
      printf ("%c", name[c]);                                         
   5b16a:	1235 1800      	moveb %a5@(00000000,%d1:l),%d1              <== NOT EXECUTED
   5b16e:	49c1           	extbl %d1                                   <== NOT EXECUTED
   5b170:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5b172:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))                
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: dir-add-entry: dir=%" PRId32 ", name=",       
            rtems_rfs_inode_ino (dir));                               
    for (c = 0; c < length; c++)                                      
   5b174:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5b176:	2202           	movel %d2,%d1                               <== NOT EXECUTED
   5b178:	bc82           	cmpl %d2,%d6                                <== NOT EXECUTED
   5b17a:	66ec           	bnes 5b168 <rtems_rfs_dir_add_entry+0x29e>  <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf (", len=%zd\n", length);                                   
   5b17c:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5b17e:	4879 0007 2973 	pea 72973 <CSWTCH.2+0x8ab>                  <== NOT EXECUTED
   5b184:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b186:	2e0e           	movel %fp,%d7                               <== NOT EXECUTED
   5b188:	0687 ffff ffb6 	addil #-74,%d7                              <== NOT EXECUTED
    int c;                                                            
    printf ("rtems-rfs: dir-add-entry: dir=%" PRId32 ", name=",       
            rtems_rfs_inode_ino (dir));                               
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (", len=%zd\n", length);                                   
   5b18e:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   5b190:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b192:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   5b194:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5b198:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b19a:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5b1a0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (", len=%zd\n", length);                                   
  }                                                                   
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b1a4:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5b1a6:	6e00 fd6c      	bgtw 5af14 <rtems_rfs_dir_add_entry+0x4a>   <== NOT EXECUTED
   5b1aa:	6000 fd74      	braw 5af20 <rtems_rfs_dir_add_entry+0x56>   <== NOT EXECUTED
        break;                                                        
      }                                                               
                                                                      
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))          
   5b1ae:	2f3c 2000 0000 	movel #536870912,%sp@-                      <== NOT EXECUTED
   5b1b4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b1b6:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b1b8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b1ba:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b1bc:	664e           	bnes 5b20c <rtems_rfs_dir_add_entry+0x342>  <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b1be:	486e ffa0      	pea %fp@(-96)                               <== NOT EXECUTED
          printf ("rtems-rfs: dir-add-entry: "                        
                  "bad length or ino for ino %" PRIu32 ": %u/%" PRId32 " @ %04x\n",
                  rtems_rfs_inode_ino (dir), elength, eino, offset);  
        rtems_rfs_buffer_handle_close (fs, &buffer);                  
        rtems_rfs_block_map_close (fs, &map);                         
        return EIO;                                                   
   5b1c2:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   5b1c4:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b1c6:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b1cc:	4200           	clrb %d0                                    <== NOT EXECUTED
   5b1ce:	1d40 ffa0      	moveb %d0,%fp@(-96)                         <== NOT EXECUTED
      offset += elength;                                              
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
   5b1d2:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5b1d4:	42ae ffa2      	clrl %fp@(-94)                              <== NOT EXECUTED
   5b1d8:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5b1da:	42ae ffa6      	clrl %fp@(-90)                              <== NOT EXECUTED
   5b1de:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5b1e4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  return rc;                                                          
}                                                                     
   5b1e8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5b1ea:	4cee 3cfc ff6c 	moveml %fp@(-148),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5b1f0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5b1f2:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
                                                                      
    if (!read)                                                        
      memset (entry, 0xff, rtems_rfs_fs_block_size (fs));             
   5b1f4:	2f2b 0008      	movel %a3@(8),%sp@-                         
   5b1f8:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  
   5b1fc:	2f0a           	movel %a2,%sp@-                             
   5b1fe:	4eb9 0006 159c 	jsr 6159c <memset>                          
   5b204:	4fef 000c      	lea %sp@(12),%sp                            
   5b208:	6000 fdb2      	braw 5afbc <rtems_rfs_dir_add_entry+0xf2>   
      }                                                               
                                                                      
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))          
          printf ("rtems-rfs: dir-add-entry: "                        
   5b20c:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5b20e:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b212:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
                  "bad length or ino for ino %" PRIu32 ": %u/%" PRId32 " @ %04x\n",
                  rtems_rfs_inode_ino (dir), elength, eino, offset);  
        rtems_rfs_buffer_handle_close (fs, &buffer);                  
        rtems_rfs_block_map_close (fs, &map);                         
        return EIO;                                                   
   5b214:	7405           	moveq #5,%d2                                <== NOT EXECUTED
      }                                                               
                                                                      
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))          
          printf ("rtems-rfs: dir-add-entry: "                        
   5b216:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5b218:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b21c:	4879 0007 2a4f 	pea 72a4f <CSWTCH.2+0x987>                  <== NOT EXECUTED
   5b222:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b228:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b22c:	486e ffa0      	pea %fp@(-96)                               <== NOT EXECUTED
   5b230:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b232:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b238:	4200           	clrb %d0                                    <== NOT EXECUTED
   5b23a:	1d40 ffa0      	moveb %d0,%fp@(-96)                         <== NOT EXECUTED
   5b23e:	6092           	bras 5b1d2 <rtems_rfs_dir_add_entry+0x308>  <== NOT EXECUTED
     * Locate the first block. If an error the block will be 0. If the map is
     * empty which happens when creating a directory and adding the first entry
     * the seek will return ENXIO. In this case we need to grow the directory.
     */                                                               
    rc = rtems_rfs_block_map_find (fs, &map, &bpos, &block);          
    if (rc > 0)                                                       
   5b240:	7001           	moveq #1,%d0                                <== NOT EXECUTED
  while (true)                                                        
  {                                                                   
    rtems_rfs_block_no block;                                         
    uint8_t*           entry;                                         
    int                offset;                                        
    bool               read = true;                                   
   5b242:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   5b244:	6000 fd48      	braw 5af8e <rtems_rfs_dir_add_entry+0xc4>   <== NOT EXECUTED
   5b248:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    bpos.bno++;                                                       
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);  
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))            
   5b24a:	2f3c 2000 0000 	movel #536870912,%sp@-                      <== NOT EXECUTED
   5b250:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b252:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b254:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b256:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b258:	662c           	bnes 5b286 <rtems_rfs_dir_add_entry+0x3bc>  <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b25a:	486e ffa0      	pea %fp@(-96)                               <== NOT EXECUTED
   5b25e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b260:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b266:	4201           	clrb %d1                                    <== NOT EXECUTED
   5b268:	1d41 ffa0      	moveb %d1,%fp@(-96)                         <== NOT EXECUTED
      offset += elength;                                              
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
   5b26c:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5b26e:	42ae ffa2      	clrl %fp@(-94)                              <== NOT EXECUTED
   5b272:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5b274:	42ae ffa6      	clrl %fp@(-90)                              <== NOT EXECUTED
   5b278:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5b27e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5b282:	6000 ff64      	braw 5b1e8 <rtems_rfs_dir_add_entry+0x31e>  <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, read);  
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))            
        printf ("rtems-rfs: dir-add-entry: "                          
   5b286:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b288:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5b28e:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b292:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5b294:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b296:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b29a:	4879 0007 2a08 	pea 72a08 <CSWTCH.2+0x940>                  <== NOT EXECUTED
   5b2a0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b2a6:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b2aa:	486e ffa0      	pea %fp@(-96)                               <== NOT EXECUTED
   5b2ae:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b2b0:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b2b6:	4201           	clrb %d1                                    <== NOT EXECUTED
   5b2b8:	1d41 ffa0      	moveb %d1,%fp@(-96)                         <== NOT EXECUTED
   5b2bc:	60ae           	bras 5b26c <rtems_rfs_dir_add_entry+0x3a2>  <== NOT EXECUTED
    if (!read)                                                        
      memset (entry, 0xff, rtems_rfs_fs_block_size (fs));             
                                                                      
    offset = 0;                                                       
                                                                      
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5b2be:	93c9           	subal %a1,%a1                               
      eino    = rtems_rfs_dir_entry_ino (entry);                      
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
      {                                                               
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
            (rtems_rfs_fs_block_size (fs) - offset))                  
   5b2c0:	9bc9           	subal %a1,%a5                               
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
      {                                                               
        if ((length + RTEMS_RFS_DIR_ENTRY_SIZE) <                     
   5b2c2:	bbee ff98      	cmpal %fp@(-104),%a5                        
   5b2c6:	6300 fc82      	blsw 5af4a <rtems_rfs_dir_add_entry+0x80>   
   5b2ca:	6000 fdb0      	braw 5b07c <rtems_rfs_dir_add_entry+0x1b2>  
   5b2ce:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    rc = rtems_rfs_block_map_find (fs, &map, &bpos, &block);          
    if (rc > 0)                                                       
    {                                                                 
      if (rc != ENXIO)                                                
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))          
   5b2d0:	2f3c 2000 0000 	movel #536870912,%sp@-                      <== NOT EXECUTED
   5b2d6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b2d8:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b2da:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b2dc:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b2de:	6700 ff7a      	beqw 5b25a <rtems_rfs_dir_add_entry+0x390>  <== NOT EXECUTED
          printf ("rtems-rfs: dir-add-entry: "                        
   5b2e2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b2e4:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5b2ea:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b2ee:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5b2f0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b2f2:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b2f6:	4879 0007 297e 	pea 7297e <CSWTCH.2+0x8b6>                  <== NOT EXECUTED
   5b2fc:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b302:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b306:	486e ffa0      	pea %fp@(-96)                               <== NOT EXECUTED
   5b30a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b30c:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b312:	4201           	clrb %d1                                    <== NOT EXECUTED
   5b314:	1d41 ffa0      	moveb %d1,%fp@(-96)                         <== NOT EXECUTED
   5b318:	6000 ff52      	braw 5b26c <rtems_rfs_dir_add_entry+0x3a2>  <== NOT EXECUTED
   5b31c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
       * We have reached the end of the directory so add a block.     
       */                                                             
      rc = rtems_rfs_block_map_grow (fs, &map, 1, &block);            
      if (rc > 0)                                                     
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_ADD_ENTRY))          
   5b31e:	2f3c 2000 0000 	movel #536870912,%sp@-                      <== NOT EXECUTED
   5b324:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b326:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b328:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b32a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b32c:	6700 ff2c      	beqw 5b25a <rtems_rfs_dir_add_entry+0x390>  <== NOT EXECUTED
          printf ("rtems-rfs: dir-add-entry: "                        
   5b330:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b332:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5b338:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b33c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5b33e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b340:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b344:	4879 0007 29c3 	pea 729c3 <CSWTCH.2+0x8fb>                  <== NOT EXECUTED
   5b34a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b350:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b354:	486e ffa0      	pea %fp@(-96)                               <== NOT EXECUTED
   5b358:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b35a:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b360:	4201           	clrb %d1                                    <== NOT EXECUTED
   5b362:	1d41 ffa0      	moveb %d1,%fp@(-96)                         <== NOT EXECUTED
   5b366:	6000 ff04      	braw 5b26c <rtems_rfs_dir_add_entry+0x3a2>  <== NOT EXECUTED
                                                                      

0005b36a <rtems_rfs_dir_del_entry>: int rtems_rfs_dir_del_entry (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, rtems_rfs_ino ino, uint32_t offset) {
   5b36a:	4e56 ff78      	linkw %fp,#-136                             <== NOT EXECUTED
   5b36e:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_rfs_block_no      block;                                      
  rtems_rfs_buffer_handle buffer;                                     
  bool                    search;                                     
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                
   5b372:	2f3c 4000 0000 	movel #1073741824,%sp@-                     <== NOT EXECUTED
int                                                                   
rtems_rfs_dir_del_entry (rtems_rfs_file_system*  fs,                  
                         rtems_rfs_inode_handle* dir,                 
                         rtems_rfs_ino           ino,                 
                         uint32_t                offset)              
{                                                                     
   5b378:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
  rtems_rfs_block_no      block;                                      
  rtems_rfs_buffer_handle buffer;                                     
  bool                    search;                                     
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                
   5b37c:	49f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a4             <== NOT EXECUTED
   5b382:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b384:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b386:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b388:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b38a:	6624           	bnes 5b3b0 <rtems_rfs_dir_del_entry+0x46>   <== NOT EXECUTED
    printf ("rtems-rfs: dir-del-entry: dir=%" PRId32 ", entry=%" PRId32 " offset=%" PRIu32 "\n",
            rtems_rfs_inode_ino (dir), ino, offset);                  
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b38c:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
   5b390:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5b394:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b396:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5b39c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                
    printf ("rtems-rfs: dir-del-entry: dir=%" PRId32 ", entry=%" PRId32 " offset=%" PRIu32 "\n",
            rtems_rfs_inode_ino (dir), ino, offset);                  
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b3a0:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5b3a2:	6f44           	bles 5b3e8 <rtems_rfs_dir_del_entry+0x7e>   <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5b3a4:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   5b3a6:	4cee 3cfc ff78 	moveml %fp@(-136),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5b3ac:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5b3ae:	4e75           	rts                                         <== NOT EXECUTED
  rtems_rfs_buffer_handle buffer;                                     
  bool                    search;                                     
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                
    printf ("rtems-rfs: dir-del-entry: dir=%" PRId32 ", entry=%" PRId32 " offset=%" PRIu32 "\n",
   5b3b0:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5b3b4:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b3b8:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5b3bc:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b3c0:	4879 0007 2a97 	pea 72a97 <CSWTCH.2+0x9cf>                  <== NOT EXECUTED
   5b3c6:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b3cc:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rtems_rfs_inode_ino (dir), ino, offset);                  
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b3d0:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
   5b3d4:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5b3d8:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b3da:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5b3e0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))                
    printf ("rtems-rfs: dir-del-entry: dir=%" PRId32 ", entry=%" PRId32 " offset=%" PRIu32 "\n",
            rtems_rfs_inode_ino (dir), ino, offset);                  
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b3e4:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5b3e6:	6ebc           	bgts 5b3a4 <rtems_rfs_dir_del_entry+0x3a>   <== NOT EXECUTED
    return rc;                                                        
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);           
   5b3e8:	486e ffa8      	pea %fp@(-88)                               <== NOT EXECUTED
   5b3ec:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5b3f0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b3f2:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
   5b3f6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b3f8:	4eb9 0005 96f8 	jsr 596f8 <rtems_rfs_block_map_seek>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5b3fe:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);           
   5b402:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5b404:	6f32           	bles 5b438 <rtems_rfs_dir_del_entry+0xce>   <== NOT EXECUTED
  {                                                                   
    if (rc == ENXIO)                                                  
   5b406:	7006           	moveq #6,%d0                                <== NOT EXECUTED
   5b408:	b085           	cmpl %d5,%d0                                <== NOT EXECUTED
   5b40a:	671a           	beqs 5b426 <rtems_rfs_dir_del_entry+0xbc>   <== NOT EXECUTED
      rc = ENOENT;                                                    
    rtems_rfs_block_map_close (fs, &map);                             
   5b40c:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
   5b410:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b412:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5b418:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5b41a:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   5b41c:	4cee 3cfc ff78 	moveml %fp@(-136),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5b422:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5b424:	4e75           	rts                                         <== NOT EXECUTED
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);           
  if (rc > 0)                                                         
  {                                                                   
    if (rc == ENXIO)                                                  
      rc = ENOENT;                                                    
    rtems_rfs_block_map_close (fs, &map);                             
   5b426:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);           
  if (rc > 0)                                                         
  {                                                                   
    if (rc == ENXIO)                                                  
      rc = ENOENT;                                                    
   5b42a:	7a02           	moveq #2,%d5                                <== NOT EXECUTED
    rtems_rfs_block_map_close (fs, &map);                             
   5b42c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b42e:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5b434:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b436:	60e2           	bras 5b41a <rtems_rfs_dir_del_entry+0xb0>   <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * Only search if the offset is 0 else we are at that position.     
   */                                                                 
  search = offset ? false : true;                                     
   5b438:	4aae 0014      	tstl %fp@(20)                               <== NOT EXECUTED
   5b43c:	57c7           	seq %d7                                     <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5b43e:	4201           	clrb %d1                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5b440:	2c2e 0010      	movel %fp@(16),%d6                          <== NOT EXECUTED
   5b444:	4487           	negl %d7                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5b446:	1d41 ffac      	moveb %d1,%fp@(-84)                         <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5b44a:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5b44e:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
  while (rc == 0)                                                     
  {                                                                   
    uint8_t* entry;                                                   
    int      eoffset;                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);  
   5b452:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5b456:	2f2e ffa8      	movel %fp@(-88),%sp@-                       <== NOT EXECUTED
   5b45a:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
   5b45e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b460:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
    if (rc > 0)                                                       
   5b466:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  while (rc == 0)                                                     
  {                                                                   
    uint8_t* entry;                                                   
    int      eoffset;                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);  
   5b46a:	2d40 ffa0      	movel %d0,%fp@(-96)                         <== NOT EXECUTED
    if (rc > 0)                                                       
   5b46e:	6e00 0346      	bgtw 5b7b6 <rtems_rfs_dir_del_entry+0x44c>  <== NOT EXECUTED
                                                                      
    /*                                                                
     * If we are searching start at the beginning of the block. If not searching
     * skip to the offset in the block.                               
     */                                                               
    if (search)                                                       
   5b472:	4a07           	tstb %d7                                    <== NOT EXECUTED
   5b474:	6700 0164      	beqw 5b5da <rtems_rfs_dir_del_entry+0x270>  <== NOT EXECUTED
   5b478:	202b 0008      	movel %a3@(8),%d0                           <== NOT EXECUTED
   5b47c:	4281           	clrl %d1                                    <== NOT EXECUTED
      eoffset = 0;                                                    
   5b47e:	4284           	clrl %d4                                    <== NOT EXECUTED
   5b480:	2d40 ffa4      	movel %d0,%fp@(-92)                         <== NOT EXECUTED
    else                                                              
      eoffset = offset % rtems_rfs_fs_block_size (fs);                
                                                                      
    entry = rtems_rfs_buffer_data (&buffer) + eoffset;                
   5b484:	226e ffb2      	moveal %fp@(-78),%a1                        <== NOT EXECUTED
                                                                      
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5b488:	206e ffa4      	moveal %fp@(-92),%a0                        <== NOT EXECUTED
   5b48c:	41e8 fff6      	lea %a0@(-10),%a0                           <== NOT EXECUTED
    if (search)                                                       
      eoffset = 0;                                                    
    else                                                              
      eoffset = offset % rtems_rfs_fs_block_size (fs);                
                                                                      
    entry = rtems_rfs_buffer_data (&buffer) + eoffset;                
   5b490:	2469 001a      	moveal %a1@(26),%a2                         <== NOT EXECUTED
   5b494:	d5c1           	addal %d1,%a2                               <== NOT EXECUTED
                                                                      
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5b496:	b288           	cmpl %a0,%d1                                <== NOT EXECUTED
   5b498:	6400 00b6      	bccw 5b550 <rtems_rfs_dir_del_entry+0x1e6>  <== NOT EXECUTED
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b49c:	4282           	clrl %d2                                    <== NOT EXECUTED
   5b49e:	4281           	clrl %d1                                    <== NOT EXECUTED
   5b4a0:	142a 0001      	moveb %a2@(1),%d2                           <== NOT EXECUTED
   5b4a4:	122a 0002      	moveb %a2@(2),%d1                           <== NOT EXECUTED
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b4a8:	4280           	clrl %d0                                    <== NOT EXECUTED
   5b4aa:	102a 0009      	moveb %a2@(9),%d0                           <== NOT EXECUTED
   5b4ae:	4283           	clrl %d3                                    <== NOT EXECUTED
   5b4b0:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5b4b2:	162a 0008      	moveb %a2@(8),%d3                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b4b6:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   5b4b8:	4842           	swap %d2                                    <== NOT EXECUTED
   5b4ba:	4242           	clrw %d2                                    <== NOT EXECUTED
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b4bc:	e18b           	lsll #8,%d3                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b4be:	8481           	orl %d1,%d2                                 <== NOT EXECUTED
   5b4c0:	4281           	clrl %d1                                    <== NOT EXECUTED
   5b4c2:	122a 0003      	moveb %a2@(3),%d1                           <== NOT EXECUTED
   5b4c6:	2a41           	moveal %d1,%a5                              <== NOT EXECUTED
   5b4c8:	200d           	movel %a5,%d0                               <== NOT EXECUTED
   5b4ca:	1212           	moveb %a2@,%d1                              <== NOT EXECUTED
   5b4cc:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
   5b4ce:	7018           	moveq #24,%d0                               <== NOT EXECUTED
   5b4d0:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b4d2:	2009           	movel %a1,%d0                               <== NOT EXECUTED
   5b4d4:	8680           	orl %d0,%d3                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b4d6:	8481           	orl %d1,%d2                                 <== NOT EXECUTED
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
   5b4d8:	0c83 0000 ffff 	cmpil #65535,%d3                            <== NOT EXECUTED
   5b4de:	6770           	beqs 5b550 <rtems_rfs_dir_del_entry+0x1e6>  <== NOT EXECUTED
        break;                                                        
                                                                      
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
   5b4e0:	700a           	moveq #10,%d0                               <== NOT EXECUTED
   5b4e2:	b083           	cmpl %d3,%d0                                <== NOT EXECUTED
   5b4e4:	6c00 00ac      	bgew 5b592 <rtems_rfs_dir_del_entry+0x228>  <== NOT EXECUTED
   5b4e8:	b6ab 001c      	cmpl %a3@(28),%d3                           <== NOT EXECUTED
   5b4ec:	6400 00a4      	bccw 5b592 <rtems_rfs_dir_del_entry+0x228>  <== NOT EXECUTED
   5b4f0:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5b4f2:	6700 009e      	beqw 5b592 <rtems_rfs_dir_del_entry+0x228>  <== NOT EXECUTED
   5b4f6:	b4ab 0014      	cmpl %a3@(20),%d2                           <== NOT EXECUTED
   5b4fa:	6200 0096      	bhiw 5b592 <rtems_rfs_dir_del_entry+0x228>  <== NOT EXECUTED
                  rtems_rfs_inode_ino (dir), elength, eino, block, eoffset);
        rc = EIO;                                                     
        break;                                                        
      }                                                               
                                                                      
      if (ino == rtems_rfs_dir_entry_ino (entry))                     
   5b4fe:	b486           	cmpl %d6,%d2                                <== NOT EXECUTED
   5b500:	6700 0118      	beqw 5b61a <rtems_rfs_dir_del_entry+0x2b0>  <== NOT EXECUTED
      {                                                               
        rc = EIO;                                                     
        break;                                                        
      }                                                               
                                                                      
      entry   += elength;                                             
   5b504:	d5c3           	addal %d3,%a2                               <== NOT EXECUTED
      eoffset += elength;                                             
   5b506:	d883           	addl %d3,%d4                                <== NOT EXECUTED
        rtems_rfs_buffer_handle_close (fs, &buffer);                  
        rtems_rfs_block_map_close (fs, &map);                         
        return 0;                                                     
      }                                                               
                                                                      
      if (!search)                                                    
   5b508:	4a07           	tstb %d7                                    <== NOT EXECUTED
   5b50a:	6700 00b8      	beqw 5b5c4 <rtems_rfs_dir_del_entry+0x25a>  <== NOT EXECUTED
    else                                                              
      eoffset = offset % rtems_rfs_fs_block_size (fs);                
                                                                      
    entry = rtems_rfs_buffer_data (&buffer) + eoffset;                
                                                                      
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5b50e:	b1c4           	cmpal %d4,%a0                               <== NOT EXECUTED
   5b510:	633e           	blss 5b550 <rtems_rfs_dir_del_entry+0x1e6>  <== NOT EXECUTED
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b512:	4282           	clrl %d2                                    <== NOT EXECUTED
   5b514:	4280           	clrl %d0                                    <== NOT EXECUTED
   5b516:	1412           	moveb %a2@,%d2                              <== NOT EXECUTED
   5b518:	102a 0001      	moveb %a2@(1),%d0                           <== NOT EXECUTED
   5b51c:	7218           	moveq #24,%d1                               <== NOT EXECUTED
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b51e:	4283           	clrl %d3                                    <== NOT EXECUTED
   5b520:	162a 0008      	moveb %a2@(8),%d3                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b524:	4285           	clrl %d5                                    <== NOT EXECUTED
   5b526:	1a2a 0003      	moveb %a2@(3),%d5                           <== NOT EXECUTED
   5b52a:	e3aa           	lsll %d1,%d2                                <== NOT EXECUTED
   5b52c:	4840           	swap %d0                                    <== NOT EXECUTED
   5b52e:	4240           	clrw %d0                                    <== NOT EXECUTED
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b530:	4281           	clrl %d1                                    <== NOT EXECUTED
   5b532:	122a 0009      	moveb %a2@(9),%d1                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b536:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
   5b538:	4280           	clrl %d0                                    <== NOT EXECUTED
   5b53a:	102a 0002      	moveb %a2@(2),%d0                           <== NOT EXECUTED
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b53e:	e18b           	lsll #8,%d3                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b540:	8485           	orl %d5,%d2                                 <== NOT EXECUTED
   5b542:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
    while (eoffset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5b544:	8681           	orl %d1,%d3                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5b546:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
   5b548:	0c83 0000 ffff 	cmpil #65535,%d3                            <== NOT EXECUTED
   5b54e:	6690           	bnes 5b4e0 <rtems_rfs_dir_del_entry+0x176>  <== NOT EXECUTED
                                                                      
      entry   += elength;                                             
      eoffset += elength;                                             
    }                                                                 
                                                                      
    if (rc == 0)                                                      
   5b550:	4aae ffa0      	tstl %fp@(-96)                              <== NOT EXECUTED
   5b554:	6700 009c      	beqw 5b5f2 <rtems_rfs_dir_del_entry+0x288>  <== NOT EXECUTED
   5b558:	2a2e ffa0      	movel %fp@(-96),%d5                         <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b55c:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
   5b560:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b562:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b568:	4200           	clrb %d0                                    <== NOT EXECUTED
   5b56a:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
        rc = ENOENT;                                                  
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
   5b56e:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5b572:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
   5b576:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5b578:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5b57c:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5b582:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  return rc;                                                          
}                                                                     
   5b586:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   5b588:	4cee 3cfc ff78 	moveml %fp@(-136),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5b58e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5b590:	4e75           	rts                                         <== NOT EXECUTED
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
        break;                                                        
                                                                      
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))          
   5b592:	2f3c 4000 0000 	movel #1073741824,%sp@-                     <== NOT EXECUTED
   5b598:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b59a:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b59c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b59e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b5a0:	6722           	beqs 5b5c4 <rtems_rfs_dir_del_entry+0x25a>  <== NOT EXECUTED
          printf ("rtems-rfs: dir-del-entry: "                        
   5b5a2:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5b5a4:	2f2e ffa8      	movel %fp@(-88),%sp@-                       <== NOT EXECUTED
   5b5a8:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b5ac:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b5ae:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5b5b0:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b5b4:	4879 0007 2b17 	pea 72b17 <CSWTCH.2+0xa4f>                  <== NOT EXECUTED
   5b5ba:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b5c0:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b5c4:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
        }                                                             
                                                                      
        rtems_rfs_buffer_mark_dirty (&buffer);                        
        rtems_rfs_buffer_handle_close (fs, &buffer);                  
        rtems_rfs_block_map_close (fs, &map);                         
        return 0;                                                     
   5b5c8:	7a05           	moveq #5,%d5                                <== NOT EXECUTED
   5b5ca:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b5cc:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b5d2:	4200           	clrb %d0                                    <== NOT EXECUTED
   5b5d4:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
   5b5d8:	6094           	bras 5b56e <rtems_rfs_dir_del_entry+0x204>  <== NOT EXECUTED
     * skip to the offset in the block.                               
     */                                                               
    if (search)                                                       
      eoffset = 0;                                                    
    else                                                              
      eoffset = offset % rtems_rfs_fs_block_size (fs);                
   5b5da:	222b 0008      	movel %a3@(8),%d1                           <== NOT EXECUTED
   5b5de:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5b5e0:	242e 0014      	movel %fp@(20),%d2                          <== NOT EXECUTED
   5b5e4:	2d41 ffa4      	movel %d1,%fp@(-92)                         <== NOT EXECUTED
   5b5e8:	4c40 2001      	remul %d0,%d1,%d2                           <== NOT EXECUTED
   5b5ec:	2801           	movel %d1,%d4                               <== NOT EXECUTED
   5b5ee:	6000 fe94      	braw 5b484 <rtems_rfs_dir_del_entry+0x11a>  <== NOT EXECUTED
      eoffset += elength;                                             
    }                                                                 
                                                                      
    if (rc == 0)                                                      
    {                                                                 
      rc = rtems_rfs_block_map_next_block (fs, &map, &block);         
   5b5f2:	486e ffa8      	pea %fp@(-88)                               <== NOT EXECUTED
   5b5f6:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
   5b5fa:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b5fc:	4eb9 0005 9776 	jsr 59776 <rtems_rfs_block_map_next_block>  <== NOT EXECUTED
      if (rc == ENXIO)                                                
   5b602:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5b606:	7206           	moveq #6,%d1                                <== NOT EXECUTED
   5b608:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5b60a:	6700 01a4      	beqw 5b7b0 <rtems_rfs_dir_del_entry+0x446>  <== NOT EXECUTED
  /*                                                                  
   * Only search if the offset is 0 else we are at that position.     
   */                                                                 
  search = offset ? false : true;                                     
                                                                      
  while (rc == 0)                                                     
   5b60e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5b610:	6700 fe40      	beqw 5b452 <rtems_rfs_dir_del_entry+0xe8>   <== NOT EXECUTED
   5b614:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
   5b616:	6000 ff44      	braw 5b55c <rtems_rfs_dir_del_entry+0x1f2>  <== NOT EXECUTED
   5b61a:	2a6e ffa4      	moveal %fp@(-92),%a5                        <== NOT EXECUTED
      }                                                               
                                                                      
      if (ino == rtems_rfs_dir_entry_ino (entry))                     
      {                                                               
        uint32_t remaining;                                           
        remaining = rtems_rfs_fs_block_size (fs) - (eoffset + elength);
   5b61e:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5b620:	d084           	addl %d4,%d0                                <== NOT EXECUTED
   5b622:	9bc0           	subal %d0,%a5                               <== NOT EXECUTED
         * block and it is the last block in the map shrink the map.  
         *                                                            
         * @note We could check again to see if the new end block in the map is
         *       also empty. This way we could clean up an empty directory.
         */                                                           
        elength = rtems_rfs_dir_entry_length (entry);                 
   5b624:	4282           	clrl %d2                                    <== NOT EXECUTED
                                                                      
      if (ino == rtems_rfs_dir_entry_ino (entry))                     
      {                                                               
        uint32_t remaining;                                           
        remaining = rtems_rfs_fs_block_size (fs) - (eoffset + elength);
        memmove (entry, entry + elength, remaining);                  
   5b626:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5b628:	4872 3800      	pea %a2@(00000000,%d3:l)                    <== NOT EXECUTED
   5b62c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5b62e:	4eb9 0006 14a8 	jsr 614a8 <memmove>                         <== NOT EXECUTED
        memset (entry + remaining, 0xff, elength);                    
   5b634:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5b636:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  <== NOT EXECUTED
   5b63a:	4872 d800      	pea %a2@(00000000,%a5:l)                    <== NOT EXECUTED
   5b63e:	4eb9 0006 159c 	jsr 6159c <memset>                          <== NOT EXECUTED
         * block and it is the last block in the map shrink the map.  
         *                                                            
         * @note We could check again to see if the new end block in the map is
         *       also empty. This way we could clean up an empty directory.
         */                                                           
        elength = rtems_rfs_dir_entry_length (entry);                 
   5b644:	4280           	clrl %d0                                    <== NOT EXECUTED
   5b646:	142a 0008      	moveb %a2@(8),%d2                           <== NOT EXECUTED
   5b64a:	102a 0009      	moveb %a2@(9),%d0                           <== NOT EXECUTED
                                                                      
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))          
   5b64e:	2f3c 4000 0000 	movel #1073741824,%sp@-                     <== NOT EXECUTED
         * block and it is the last block in the map shrink the map.  
         *                                                            
         * @note We could check again to see if the new end block in the map is
         *       also empty. This way we could clean up an empty directory.
         */                                                           
        elength = rtems_rfs_dir_entry_length (entry);                 
   5b654:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
                                                                      
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))          
   5b656:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
         * block and it is the last block in the map shrink the map.  
         *                                                            
         * @note We could check again to see if the new end block in the map is
         *       also empty. This way we could clean up an empty directory.
         */                                                           
        elength = rtems_rfs_dir_entry_length (entry);                 
   5b658:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
                                                                      
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))          
   5b65a:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b65c:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
   5b660:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b662:	673e           	beqs 5b6a2 <rtems_rfs_dir_del_entry+0x338>  <== NOT EXECUTED
          printf ("rtems-rfs: dir-del-entry: "                        
                  "last block free for ino %" PRIu32 ": elength=%i block=%" PRIu32
                  " offset=%d last=%s\n",                             
                  ino, elength, block, eoffset,                       
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");    
   5b664:	202e ffc4      	movel %fp@(-60),%d0                         <== NOT EXECUTED
   5b668:	222e ffbc      	movel %fp@(-68),%d1                         <== NOT EXECUTED
         *       also empty. This way we could clean up an empty directory.
         */                                                           
        elength = rtems_rfs_dir_entry_length (entry);                 
                                                                      
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))          
          printf ("rtems-rfs: dir-del-entry: "                        
   5b66c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5b66e:	6606           	bnes 5b676 <rtems_rfs_dir_del_entry+0x30c>  <== NOT EXECUTED
                  "last block free for ino %" PRIu32 ": elength=%i block=%" PRIu32
                  " offset=%d last=%s\n",                             
                  ino, elength, block, eoffset,                       
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");    
   5b670:	4a81           	tstl %d1                                    <== NOT EXECUTED
   5b672:	6700 00ee      	beqw 5b762 <rtems_rfs_dir_del_entry+0x3f8>  <== NOT EXECUTED
   5b676:	5381           	subql #1,%d1                                <== NOT EXECUTED
   5b678:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5b67a:	6700 00e6      	beqw 5b762 <rtems_rfs_dir_del_entry+0x3f8>  <== NOT EXECUTED
         *       also empty. This way we could clean up an empty directory.
         */                                                           
        elength = rtems_rfs_dir_entry_length (entry);                 
                                                                      
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))          
          printf ("rtems-rfs: dir-del-entry: "                        
   5b67e:	203c 0007 1dff 	movel #466431,%d0                           <== NOT EXECUTED
   5b684:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5b686:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5b688:	2f2e ffa8      	movel %fp@(-88),%sp@-                       <== NOT EXECUTED
   5b68c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b68e:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5b692:	4879 0007 2b63 	pea 72b63 <CSWTCH.2+0xa9b>                  <== NOT EXECUTED
   5b698:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b69e:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                  "last block free for ino %" PRIu32 ": elength=%i block=%" PRIu32
                  " offset=%d last=%s\n",                             
                  ino, elength, block, eoffset,                       
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");    
                                                                      
        if ((elength == RTEMS_RFS_DIR_ENTRY_EMPTY) &&                 
   5b6a2:	0c82 0000 ffff 	cmpil #65535,%d2                            <== NOT EXECUTED
   5b6a8:	6736           	beqs 5b6e0 <rtems_rfs_dir_del_entry+0x376>  <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b6aa:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
        }                                                             
                                                                      
        rtems_rfs_buffer_mark_dirty (&buffer);                        
        rtems_rfs_buffer_handle_close (fs, &buffer);                  
        rtems_rfs_block_map_close (fs, &map);                         
        return 0;                                                     
   5b6ae:	4285           	clrl %d5                                    <== NOT EXECUTED
                      "block map shrink failed for ino %" PRIu32 ": %d: %s\n",
                      rtems_rfs_inode_ino (dir), rc, strerror (rc));  
          }                                                           
        }                                                             
                                                                      
        rtems_rfs_buffer_mark_dirty (&buffer);                        
   5b6b0:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5b6b2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b6b4:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
   5b6b8:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b6be:	4201           	clrb %d1                                    <== NOT EXECUTED
   5b6c0:	1d41 ffac      	moveb %d1,%fp@(-84)                         <== NOT EXECUTED
        rc = ENOENT;                                                  
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
   5b6c4:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5b6c8:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
   5b6cc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5b6ce:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5b6d2:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5b6d8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5b6dc:	6000 fea8      	braw 5b586 <rtems_rfs_dir_del_entry+0x21c>  <== NOT EXECUTED
                  "last block free for ino %" PRIu32 ": elength=%i block=%" PRIu32
                  " offset=%d last=%s\n",                             
                  ino, elength, block, eoffset,                       
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");    
                                                                      
        if ((elength == RTEMS_RFS_DIR_ENTRY_EMPTY) &&                 
   5b6e0:	4a84           	tstl %d4                                    <== NOT EXECUTED
   5b6e2:	66c6           	bnes 5b6aa <rtems_rfs_dir_del_entry+0x340>  <== NOT EXECUTED
            (eoffset == 0) && rtems_rfs_block_map_last (&map))        
   5b6e4:	202e ffc4      	movel %fp@(-60),%d0                         <== NOT EXECUTED
   5b6e8:	222e ffbc      	movel %fp@(-68),%d1                         <== NOT EXECUTED
   5b6ec:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5b6ee:	6600 009a      	bnew 5b78a <rtems_rfs_dir_del_entry+0x420>  <== NOT EXECUTED
   5b6f2:	4a81           	tstl %d1                                    <== NOT EXECUTED
   5b6f4:	6600 0094      	bnew 5b78a <rtems_rfs_dir_del_entry+0x420>  <== NOT EXECUTED
        {                                                             
          rc = rtems_rfs_block_map_shrink (fs, &map, 1);              
   5b6f8:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5b6fc:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
   5b700:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b702:	4eb9 0005 9b44 	jsr 59b44 <rtems_rfs_block_map_shrink>      <== NOT EXECUTED
          if (rc > 0)                                                 
   5b708:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");    
                                                                      
        if ((elength == RTEMS_RFS_DIR_ENTRY_EMPTY) &&                 
            (eoffset == 0) && rtems_rfs_block_map_last (&map))        
        {                                                             
          rc = rtems_rfs_block_map_shrink (fs, &map, 1);              
   5b70c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
          if (rc > 0)                                                 
   5b70e:	6f9a           	bles 5b6aa <rtems_rfs_dir_del_entry+0x340>  <== NOT EXECUTED
          {                                                           
            if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))      
   5b710:	2f3c 4000 0000 	movel #1073741824,%sp@-                     <== NOT EXECUTED
   5b716:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b718:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b71a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b71c:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b71e:	678a           	beqs 5b6aa <rtems_rfs_dir_del_entry+0x340>  <== NOT EXECUTED
              printf ("rtems-rfs: dir-del-entry: "                    
   5b720:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
        }                                                             
                                                                      
        rtems_rfs_buffer_mark_dirty (&buffer);                        
        rtems_rfs_buffer_handle_close (fs, &buffer);                  
        rtems_rfs_block_map_close (fs, &map);                         
        return 0;                                                     
   5b722:	4285           	clrl %d5                                    <== NOT EXECUTED
        {                                                             
          rc = rtems_rfs_block_map_shrink (fs, &map, 1);              
          if (rc > 0)                                                 
          {                                                           
            if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))      
              printf ("rtems-rfs: dir-del-entry: "                    
   5b724:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5b72a:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b72e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5b730:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b732:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b736:	4879 0007 2bc2 	pea 72bc2 <CSWTCH.2+0xafa>                  <== NOT EXECUTED
   5b73c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b742:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b746:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
                      "block map shrink failed for ino %" PRIu32 ": %d: %s\n",
                      rtems_rfs_inode_ino (dir), rc, strerror (rc));  
          }                                                           
        }                                                             
                                                                      
        rtems_rfs_buffer_mark_dirty (&buffer);                        
   5b74a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5b74c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b74e:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
   5b752:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b758:	4201           	clrb %d1                                    <== NOT EXECUTED
   5b75a:	1d41 ffac      	moveb %d1,%fp@(-84)                         <== NOT EXECUTED
   5b75e:	6000 ff64      	braw 5b6c4 <rtems_rfs_dir_del_entry+0x35a>  <== NOT EXECUTED
         *       also empty. This way we could clean up an empty directory.
         */                                                           
        elength = rtems_rfs_dir_entry_length (entry);                 
                                                                      
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))          
          printf ("rtems-rfs: dir-del-entry: "                        
   5b762:	203c 0007 19c4 	movel #465348,%d0                           <== NOT EXECUTED
   5b768:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5b76a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5b76c:	2f2e ffa8      	movel %fp@(-88),%sp@-                       <== NOT EXECUTED
   5b770:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b772:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5b776:	4879 0007 2b63 	pea 72b63 <CSWTCH.2+0xa9b>                  <== NOT EXECUTED
   5b77c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b782:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   5b786:	6000 ff1a      	braw 5b6a2 <rtems_rfs_dir_del_entry+0x338>  <== NOT EXECUTED
                  " offset=%d last=%s\n",                             
                  ino, elength, block, eoffset,                       
                  rtems_rfs_block_map_last (&map) ? "yes" : "no");    
                                                                      
        if ((elength == RTEMS_RFS_DIR_ENTRY_EMPTY) &&                 
            (eoffset == 0) && rtems_rfs_block_map_last (&map))        
   5b78a:	5381           	subql #1,%d1                                <== NOT EXECUTED
   5b78c:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5b78e:	6700 ff68      	beqw 5b6f8 <rtems_rfs_dir_del_entry+0x38e>  <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b792:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
        }                                                             
                                                                      
        rtems_rfs_buffer_mark_dirty (&buffer);                        
        rtems_rfs_buffer_handle_close (fs, &buffer);                  
        rtems_rfs_block_map_close (fs, &map);                         
        return 0;                                                     
   5b796:	4285           	clrl %d5                                    <== NOT EXECUTED
                      "block map shrink failed for ino %" PRIu32 ": %d: %s\n",
                      rtems_rfs_inode_ino (dir), rc, strerror (rc));  
          }                                                           
        }                                                             
                                                                      
        rtems_rfs_buffer_mark_dirty (&buffer);                        
   5b798:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5b79a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b79c:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
   5b7a0:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b7a6:	4201           	clrb %d1                                    <== NOT EXECUTED
   5b7a8:	1d41 ffac      	moveb %d1,%fp@(-84)                         <== NOT EXECUTED
   5b7ac:	6000 ff16      	braw 5b6c4 <rtems_rfs_dir_del_entry+0x35a>  <== NOT EXECUTED
                                                                      
    if (rc == 0)                                                      
    {                                                                 
      rc = rtems_rfs_block_map_next_block (fs, &map, &block);         
      if (rc == ENXIO)                                                
        rc = ENOENT;                                                  
   5b7b0:	7a02           	moveq #2,%d5                                <== NOT EXECUTED
   5b7b2:	6000 fda8      	braw 5b55c <rtems_rfs_dir_del_entry+0x1f2>  <== NOT EXECUTED
   5b7b6:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
    int      eoffset;                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);  
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_DEL_ENTRY))            
   5b7b8:	2f3c 4000 0000 	movel #1073741824,%sp@-                     <== NOT EXECUTED
   5b7be:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b7c0:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5b7c2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b7c4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b7c6:	6700 fd94      	beqw 5b55c <rtems_rfs_dir_del_entry+0x1f2>  <== NOT EXECUTED
        printf ("rtems-rfs: dir-del-entry: "                          
   5b7ca:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5b7cc:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5b7d2:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b7d6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5b7d8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5b7da:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b7de:	4879 0007 2ad0 	pea 72ad0 <CSWTCH.2+0xa08>                  <== NOT EXECUTED
   5b7e4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b7ea:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5b7ee:	6000 fd6c      	braw 5b55c <rtems_rfs_dir_del_entry+0x1f2>  <== NOT EXECUTED
                                                                      

0005bbfa <rtems_rfs_dir_empty>: } int rtems_rfs_dir_empty (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir) {
   5bbfa:	4e56 ff80      	linkw %fp,#-128                             <== NOT EXECUTED
   5bbfe:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_rfs_buffer_handle buffer;                                     
  rtems_rfs_block_no      block;                                      
  bool                    empty;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
   5bc02:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    <== NOT EXECUTED
}                                                                     
                                                                      
int                                                                   
rtems_rfs_dir_empty (rtems_rfs_file_system*  fs,                      
                     rtems_rfs_inode_handle* dir)                     
{                                                                     
   5bc08:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  rtems_rfs_buffer_handle buffer;                                     
  rtems_rfs_block_no      block;                                      
  bool                    empty;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
   5bc0c:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             <== NOT EXECUTED
   5bc12:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5bc14:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5bc16:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5bc18:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5bc1a:	662c           	bnes 5bc48 <rtems_rfs_dir_empty+0x4e>       <== NOT EXECUTED
    printf ("rtems-rfs: dir-empty: dir=%" PRId32 "\n", rtems_rfs_inode_ino (dir));
                                                                      
  empty = true;                                                       
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5bc1c:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5bc1e:	0685 ffff ffb6 	addil #-74,%d5                              <== NOT EXECUTED
   5bc24:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5bc26:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5bc2a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bc2c:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5bc32:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
    printf ("rtems-rfs: dir-empty: dir=%" PRId32 "\n", rtems_rfs_inode_ino (dir));
                                                                      
  empty = true;                                                       
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5bc36:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
  if (rc > 0)                                                         
   5bc38:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5bc3a:	6f42           	bles 5bc7e <rtems_rfs_dir_empty+0x84>       <== NOT EXECUTED
    rc = ENOTEMPTY;                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5bc3c:	200d           	movel %a5,%d0                               <== NOT EXECUTED
   5bc3e:	4cee 3cfc ff80 	moveml %fp@(-128),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5bc44:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5bc46:	4e75           	rts                                         <== NOT EXECUTED
  rtems_rfs_block_no      block;                                      
  bool                    empty;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
    printf ("rtems-rfs: dir-empty: dir=%" PRId32 "\n", rtems_rfs_inode_ino (dir));
   5bc48:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
                                                                      
  empty = true;                                                       
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5bc4c:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5bc4e:	0685 ffff ffb6 	addil #-74,%d5                              <== NOT EXECUTED
  rtems_rfs_block_no      block;                                      
  bool                    empty;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
    printf ("rtems-rfs: dir-empty: dir=%" PRId32 "\n", rtems_rfs_inode_ino (dir));
   5bc54:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5bc58:	4879 0007 2ce2 	pea 72ce2 <CSWTCH.2+0xc1a>                  <== NOT EXECUTED
   5bc5e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5bc64:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
  empty = true;                                                       
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5bc66:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5bc68:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5bc6c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bc6e:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5bc74:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
    printf ("rtems-rfs: dir-empty: dir=%" PRId32 "\n", rtems_rfs_inode_ino (dir));
                                                                      
  empty = true;                                                       
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5bc78:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
  if (rc > 0)                                                         
   5bc7a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5bc7c:	6ebe           	bgts 5bc3c <rtems_rfs_dir_empty+0x42>       <== NOT EXECUTED
    return rc;                                                        
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);                
   5bc7e:	486e ffa8      	pea %fp@(-88)                               <== NOT EXECUTED
   5bc82:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5bc84:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5bc86:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5bc88:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bc8a:	4eb9 0005 96f8 	jsr 596f8 <rtems_rfs_block_map_seek>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5bc90:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);                
   5bc94:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
  if (rc > 0)                                                         
   5bc96:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5bc98:	6e00 0202      	bgtw 5be9c <rtems_rfs_dir_empty+0x2a2>      <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5bc9c:	2a6e 000c      	moveal %fp@(12),%a5                         <== NOT EXECUTED
   5bca0:	49f9 0005 a19a 	lea 5a19a <rtems_rfs_buffer_handle_request>,%a4<== NOT EXECUTED
   5bca6:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5bca8:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5bcac:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5bcb0:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
  while (empty)                                                       
  {                                                                   
    uint8_t* entry;                                                   
    int      offset;                                                  
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);  
   5bcb4:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5bcb8:	2f2e ffa8      	movel %fp@(-88),%sp@-                       <== NOT EXECUTED
   5bcbc:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
   5bcc0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bcc2:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (rc > 0)                                                       
   5bcc4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5bcc8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5bcca:	6e00 01e8      	bgtw 5beb4 <rtems_rfs_dir_empty+0x2ba>      <== NOT EXECUTED
      break;                                                          
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
   5bcce:	206e ffb2      	moveal %fp@(-78),%a0                        <== NOT EXECUTED
    offset = 0;                                                       
                                                                      
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5bcd2:	226a 0008      	moveal %a2@(8),%a1                          <== NOT EXECUTED
   5bcd6:	43e9 fff6      	lea %a1@(-10),%a1                           <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);  
    if (rc > 0)                                                       
      break;                                                          
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
   5bcda:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
    offset = 0;                                                       
                                                                      
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5bcde:	4a89           	tstl %a1                                    <== NOT EXECUTED
   5bce0:	6700 00d4      	beqw 5bdb6 <rtems_rfs_dir_empty+0x1bc>      <== NOT EXECUTED
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bce4:	4283           	clrl %d3                                    <== NOT EXECUTED
   5bce6:	4281           	clrl %d1                                    <== NOT EXECUTED
   5bce8:	1610           	moveb %a0@,%d3                              <== NOT EXECUTED
   5bcea:	1228 0002      	moveb %a0@(2),%d1                           <== NOT EXECUTED
   5bcee:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   5bcf0:	4286           	clrl %d6                                    <== NOT EXECUTED
   5bcf2:	1c28 0003      	moveb %a0@(3),%d6                           <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5bcf6:	4284           	clrl %d4                                    <== NOT EXECUTED
   5bcf8:	1828 0009      	moveb %a0@(9),%d4                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bcfc:	e5ab           	lsll %d2,%d3                                <== NOT EXECUTED
   5bcfe:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5bd00:	4282           	clrl %d2                                    <== NOT EXECUTED
   5bd02:	1428 0008      	moveb %a0@(8),%d2                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bd06:	8681           	orl %d1,%d3                                 <== NOT EXECUTED
   5bd08:	4281           	clrl %d1                                    <== NOT EXECUTED
   5bd0a:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5bd0e:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bd10:	8686           	orl %d6,%d3                                 <== NOT EXECUTED
   5bd12:	4841           	swap %d1                                    <== NOT EXECUTED
   5bd14:	4241           	clrw %d1                                    <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5bd16:	8484           	orl %d4,%d2                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bd18:	8681           	orl %d1,%d3                                 <== NOT EXECUTED
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
   5bd1a:	0c82 0000 ffff 	cmpil #65535,%d2                            <== NOT EXECUTED
   5bd20:	6700 0094      	beqw 5bdb6 <rtems_rfs_dir_empty+0x1bc>      <== NOT EXECUTED
   5bd24:	4284           	clrl %d4                                    <== NOT EXECUTED
        break;                                                        
                                                                      
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
   5bd26:	720a           	moveq #10,%d1                               <== NOT EXECUTED
   5bd28:	b282           	cmpl %d2,%d1                                <== NOT EXECUTED
   5bd2a:	6c00 012a      	bgew 5be56 <rtems_rfs_dir_empty+0x25c>      <== NOT EXECUTED
   5bd2e:	b4aa 001c      	cmpl %a2@(28),%d2                           <== NOT EXECUTED
   5bd32:	6400 0122      	bccw 5be56 <rtems_rfs_dir_empty+0x25c>      <== NOT EXECUTED
   5bd36:	4a83           	tstl %d3                                    <== NOT EXECUTED
   5bd38:	6700 011c      	beqw 5be56 <rtems_rfs_dir_empty+0x25c>      <== NOT EXECUTED
   5bd3c:	b6aa 0014      	cmpl %a2@(20),%d3                           <== NOT EXECUTED
   5bd40:	6200 0114      	bhiw 5be56 <rtems_rfs_dir_empty+0x25c>      <== NOT EXECUTED
                                                                      
      /*                                                              
       * Ignore the current (.) and parent (..) entries. Anything else means
       * the directory is not empty.                                  
       */                                                             
      if (((elength != (RTEMS_RFS_DIR_ENTRY_SIZE + 1)) ||             
   5bd44:	760b           	moveq #11,%d3                               <== NOT EXECUTED
   5bd46:	b682           	cmpl %d2,%d3                                <== NOT EXECUTED
   5bd48:	6700 00c8      	beqw 5be12 <rtems_rfs_dir_empty+0x218>      <== NOT EXECUTED
           (entry[RTEMS_RFS_DIR_ENTRY_SIZE] != '.')) &&               
   5bd4c:	720c           	moveq #12,%d1                               <== NOT EXECUTED
   5bd4e:	b282           	cmpl %d2,%d1                                <== NOT EXECUTED
   5bd50:	6600 00d0      	bnew 5be22 <rtems_rfs_dir_empty+0x228>      <== NOT EXECUTED
          ((elength != (RTEMS_RFS_DIR_ENTRY_SIZE + 2)) ||             
   5bd54:	4281           	clrl %d1                                    <== NOT EXECUTED
   5bd56:	1228 000a      	moveb %a0@(10),%d1                          <== NOT EXECUTED
   5bd5a:	762e           	moveq #46,%d3                               <== NOT EXECUTED
   5bd5c:	b681           	cmpl %d1,%d3                                <== NOT EXECUTED
   5bd5e:	6600 00c2      	bnew 5be22 <rtems_rfs_dir_empty+0x228>      <== NOT EXECUTED
           (entry[RTEMS_RFS_DIR_ENTRY_SIZE] != '.') ||                
   5bd62:	4281           	clrl %d1                                    <== NOT EXECUTED
   5bd64:	1228 000b      	moveb %a0@(11),%d1                          <== NOT EXECUTED
   5bd68:	b681           	cmpl %d1,%d3                                <== NOT EXECUTED
   5bd6a:	6600 00b6      	bnew 5be22 <rtems_rfs_dir_empty+0x228>      <== NOT EXECUTED
      {                                                               
        empty = false;                                                
        break;                                                        
      }                                                               
                                                                      
      entry  += elength;                                              
   5bd6e:	d1c2           	addal %d2,%a0                               <== NOT EXECUTED
      offset += elength;                                              
   5bd70:	d882           	addl %d2,%d4                                <== NOT EXECUTED
      break;                                                          
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
    offset = 0;                                                       
                                                                      
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5bd72:	b3c4           	cmpal %d4,%a1                               <== NOT EXECUTED
   5bd74:	6340           	blss 5bdb6 <rtems_rfs_dir_empty+0x1bc>      <== NOT EXECUTED
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bd76:	4283           	clrl %d3                                    <== NOT EXECUTED
   5bd78:	4281           	clrl %d1                                    <== NOT EXECUTED
   5bd7a:	1610           	moveb %a0@,%d3                              <== NOT EXECUTED
   5bd7c:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
   5bd80:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   5bd82:	4287           	clrl %d7                                    <== NOT EXECUTED
   5bd84:	1e28 0003      	moveb %a0@(3),%d7                           <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5bd88:	4286           	clrl %d6                                    <== NOT EXECUTED
   5bd8a:	1c28 0009      	moveb %a0@(9),%d6                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bd8e:	e5ab           	lsll %d2,%d3                                <== NOT EXECUTED
   5bd90:	4841           	swap %d1                                    <== NOT EXECUTED
   5bd92:	4241           	clrw %d1                                    <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5bd94:	4282           	clrl %d2                                    <== NOT EXECUTED
   5bd96:	1428 0008      	moveb %a0@(8),%d2                           <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bd9a:	8681           	orl %d1,%d3                                 <== NOT EXECUTED
   5bd9c:	4281           	clrl %d1                                    <== NOT EXECUTED
   5bd9e:	1228 0002      	moveb %a0@(2),%d1                           <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5bda2:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bda4:	8687           	orl %d7,%d3                                 <== NOT EXECUTED
   5bda6:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
    while (offset < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
    {                                                                 
      rtems_rfs_ino eino;                                             
      int           elength;                                          
                                                                      
      elength = rtems_rfs_dir_entry_length (entry);                   
   5bda8:	8486           	orl %d6,%d2                                 <== NOT EXECUTED
      eino    = rtems_rfs_dir_entry_ino (entry);                      
   5bdaa:	8681           	orl %d1,%d3                                 <== NOT EXECUTED
                                                                      
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
   5bdac:	0c82 0000 ffff 	cmpil #65535,%d2                            <== NOT EXECUTED
   5bdb2:	6600 ff72      	bnew 5bd26 <rtems_rfs_dir_empty+0x12c>      <== NOT EXECUTED
      offset += elength;                                              
    }                                                                 
                                                                      
    if (empty)                                                        
    {                                                                 
      rc = rtems_rfs_block_map_next_block (fs, &map, &block);         
   5bdb6:	486e ffa8      	pea %fp@(-88)                               <== NOT EXECUTED
   5bdba:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5bdbc:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bdbe:	4eb9 0005 9776 	jsr 59776 <rtems_rfs_block_map_next_block>  <== NOT EXECUTED
      if (rc > 0)                                                     
   5bdc4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5bdc8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5bdca:	6f00 fee8      	blew 5bcb4 <rtems_rfs_dir_empty+0xba>       <== NOT EXECUTED
   5bdce:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
      {                                                               
        if (rc == ENXIO)                                              
   5bdd0:	7006           	moveq #6,%d0                                <== NOT EXECUTED
   5bdd2:	b08d           	cmpl %a5,%d0                                <== NOT EXECUTED
   5bdd4:	56c0           	sne %d0                                     <== NOT EXECUTED
   5bdd6:	220d           	movel %a5,%d1                               <== NOT EXECUTED
   5bdd8:	49c0           	extbl %d0                                   <== NOT EXECUTED
   5bdda:	c280           	andl %d0,%d1                                <== NOT EXECUTED
   5bddc:	2a41           	moveal %d1,%a5                              <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5bdde:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
  handle->dirty = false;                                              
   5bde2:	4202           	clrb %d2                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5bde4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bde6:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5bdec:	1d42 ffac      	moveb %d2,%fp@(-84)                         <== NOT EXECUTED
                                                                      
  if ((rc == 0) && !empty)                                            
    rc = ENOTEMPTY;                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
   5bdf0:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5bdf2:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
   5bdf6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5bdf8:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5bdfc:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5be02:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  return rc;                                                          
}                                                                     
   5be06:	200d           	movel %a5,%d0                               <== NOT EXECUTED
   5be08:	4cee 3cfc ff80 	moveml %fp@(-128),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5be0e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5be10:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
      /*                                                              
       * Ignore the current (.) and parent (..) entries. Anything else means
       * the directory is not empty.                                  
       */                                                             
      if (((elength != (RTEMS_RFS_DIR_ENTRY_SIZE + 1)) ||             
   5be12:	4281           	clrl %d1                                    <== NOT EXECUTED
   5be14:	1228 000a      	moveb %a0@(10),%d1                          <== NOT EXECUTED
   5be18:	163c 002e      	moveb #46,%d3                               <== NOT EXECUTED
   5be1c:	b681           	cmpl %d1,%d3                                <== NOT EXECUTED
   5be1e:	6700 ff4e      	beqw 5bd6e <rtems_rfs_dir_empty+0x174>      <== NOT EXECUTED
   5be22:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
        break;                                                        
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if ((rc == 0) && !empty)                                            
   5be24:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5be26:	66b6           	bnes 5bdde <rtems_rfs_dir_empty+0x1e4>      <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5be28:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
    rc = ENOTEMPTY;                                                   
   5be2c:	3a7c 005a      	moveaw #90,%a5                              <== NOT EXECUTED
  handle->dirty = false;                                              
   5be30:	4202           	clrb %d2                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5be32:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5be34:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5be3a:	1d42 ffac      	moveb %d2,%fp@(-84)                         <== NOT EXECUTED
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
   5be3e:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5be40:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
   5be44:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5be46:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5be4a:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5be50:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5be54:	60b0           	bras 5be06 <rtems_rfs_dir_empty+0x20c>      <== NOT EXECUTED
      if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                       
        break;                                                        
                                                                      
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_EMPTY))              
   5be56:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5be58:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5be5c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5be5e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5be60:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5be62:	6700 ff52      	beqw 5bdb6 <rtems_rfs_dir_empty+0x1bc>      <== NOT EXECUTED
          printf ("rtems-rfs: dir-empty: "                            
   5be66:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5be68:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5be6a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5be6c:	2f2d 0008      	movel %a5@(8),%sp@-                         <== NOT EXECUTED
   5be70:	4879 0007 2d01 	pea 72d01 <CSWTCH.2+0xc39>                  <== NOT EXECUTED
   5be76:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5be7c:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
      offset += elength;                                              
    }                                                                 
                                                                      
    if (empty)                                                        
    {                                                                 
      rc = rtems_rfs_block_map_next_block (fs, &map, &block);         
   5be80:	486e ffa8      	pea %fp@(-88)                               <== NOT EXECUTED
   5be84:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5be86:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5be88:	4eb9 0005 9776 	jsr 59776 <rtems_rfs_block_map_next_block>  <== NOT EXECUTED
      if (rc > 0)                                                     
   5be8e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5be92:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5be94:	6f00 fe1e      	blew 5bcb4 <rtems_rfs_dir_empty+0xba>       <== NOT EXECUTED
   5be98:	6000 ff34      	braw 5bdce <rtems_rfs_dir_empty+0x1d4>      <== NOT EXECUTED
    return rc;                                                        
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);                
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_block_map_close (fs, &map);                             
   5be9c:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5be9e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bea0:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5bea6:	508f           	addql #8,%sp                                <== NOT EXECUTED
    rc = ENOTEMPTY;                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5bea8:	200d           	movel %a5,%d0                               <== NOT EXECUTED
   5beaa:	4cee 3cfc ff80 	moveml %fp@(-128),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5beb0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5beb2:	4e75           	rts                                         <== NOT EXECUTED
   5beb4:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
   5beb6:	6000 ff26      	braw 5bdde <rtems_rfs_dir_empty+0x1e4>      <== NOT EXECUTED
	...                                                                  
                                                                      

000600e8 <rtems_rfs_dir_hash>: } else { /* need to read the key one byte at a time */ const uint8_t *k = (const uint8_t *)key; /*--------------- all but the last block: affect some 32 bits of (a,b,c) */ while (length > 12)
   600e8:	700c           	moveq #12,%d0                               
*/                                                                    
                                                                      
#define initval (20010928)                                            
uint32_t                                                              
rtems_rfs_dir_hash (const void *key, size_t length)                   
{                                                                     
   600ea:	4e56 ffe8      	linkw %fp,#-24                              
   600ee:	226e 000c      	moveal %fp@(12),%a1                         
   600f2:	48d7 00fc      	moveml %d2-%d7,%sp@                         
  uint32_t a,b,c;                             /* internal state */    
  union { const void *ptr; size_t i; } u;     /* needed for Mac Powerbook G4 */
                                                                      
  /* Set up the internal state */                                     
  a = b = c = 0xdeadbeef + ((uint32_t)length) + initval;              
   600f6:	2809           	movel %a1,%d4                               
   600f8:	0684 dfdf 169f 	addil #-539027809,%d4                       
                                                                      
  } else {                        /* need to read the key one byte at a time */
    const uint8_t *k = (const uint8_t *)key;                          
                                                                      
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
   600fe:	2204           	movel %d4,%d1                               
   60100:	2604           	movel %d4,%d3                               
   60102:	206e 0008      	moveal %fp@(8),%a0                          
   60106:	b089           	cmpl %a1,%d0                                
   60108:	6400 00fc      	bccw 60206 <rtems_rfs_dir_hash+0x11e>       
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
   6010c:	4280           	clrl %d0                                    <== NOT EXECUTED
      c += ((uint32_t)k[10])<<16;                                     
   6010e:	4285           	clrl %d5                                    <== NOT EXECUTED
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
   60110:	1028 0009      	moveb %a0@(9),%d0                           <== NOT EXECUTED
      c += ((uint32_t)k[10])<<16;                                     
   60114:	1a28 000a      	moveb %a0@(10),%d5                          <== NOT EXECUTED
      a += ((uint32_t)k[3])<<24;                                      
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
   60118:	4286           	clrl %d6                                    <== NOT EXECUTED
   6011a:	1c28 0008      	moveb %a0@(8),%d6                           <== NOT EXECUTED
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
   6011e:	4282           	clrl %d2                                    <== NOT EXECUTED
   60120:	1428 000b      	moveb %a0@(11),%d2                          <== NOT EXECUTED
                                                                      
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
   60124:	4287           	clrl %d7                                    <== NOT EXECUTED
   60126:	1e28 0001      	moveb %a0@(1),%d7                           <== NOT EXECUTED
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
      length -= 12;                                                   
   6012a:	43e9 fff4      	lea %a1@(-12),%a1                           <== NOT EXECUTED
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
   6012e:	4845           	swap %d5                                    <== NOT EXECUTED
   60130:	4245           	clrw %d5                                    <== NOT EXECUTED
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
   60132:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
                                                                      
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
   60134:	e18f           	lsll #8,%d7                                 <== NOT EXECUTED
      a += ((uint32_t)k[3])<<24;                                      
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
   60136:	d085           	addl %d5,%d0                                <== NOT EXECUTED
      c += ((uint32_t)k[9])<<8;                                       
   60138:	d086           	addl %d6,%d0                                <== NOT EXECUTED
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
   6013a:	1c28 0002      	moveb %a0@(2),%d6                           <== NOT EXECUTED
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
   6013e:	7a18           	moveq #24,%d5                               <== NOT EXECUTED
   60140:	ebaa           	lsll %d5,%d2                                <== NOT EXECUTED
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
   60142:	4846           	swap %d6                                    <== NOT EXECUTED
   60144:	4246           	clrw %d6                                    <== NOT EXECUTED
      a += ((uint32_t)k[3])<<24;                                      
   60146:	4285           	clrl %d5                                    <== NOT EXECUTED
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
   60148:	d480           	addl %d0,%d2                                <== NOT EXECUTED
    const uint8_t *k = (const uint8_t *)key;                          
                                                                      
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
   6014a:	2007           	movel %d7,%d0                               <== NOT EXECUTED
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
   6014c:	d882           	addl %d2,%d4                                <== NOT EXECUTED
    const uint8_t *k = (const uint8_t *)key;                          
                                                                      
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
   6014e:	d086           	addl %d6,%d0                                <== NOT EXECUTED
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
   60150:	1a28 0003      	moveb %a0@(3),%d5                           <== NOT EXECUTED
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   60154:	2e04           	movel %d4,%d7                               <== NOT EXECUTED
   60156:	7c1c           	moveq #28,%d6                               <== NOT EXECUTED
   60158:	ecaf           	lsrl %d6,%d7                                <== NOT EXECUTED
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
   6015a:	1c3c 0018      	moveb #24,%d6                               <== NOT EXECUTED
    const uint8_t *k = (const uint8_t *)key;                          
                                                                      
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
   6015e:	4282           	clrl %d2                                    <== NOT EXECUTED
   60160:	1410           	moveb %a0@,%d2                              <== NOT EXECUTED
      a += ((uint32_t)k[1])<<8;                                       
   60162:	d082           	addl %d2,%d0                                <== NOT EXECUTED
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
   60164:	1428 0007      	moveb %a0@(7),%d2                           <== NOT EXECUTED
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
   60168:	edad           	lsll %d6,%d5                                <== NOT EXECUTED
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
   6016a:	4286           	clrl %d6                                    <== NOT EXECUTED
   6016c:	1c28 0005      	moveb %a0@(5),%d6                           <== NOT EXECUTED
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
    {                                                                 
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
   60170:	d085           	addl %d5,%d0                                <== NOT EXECUTED
      a += ((uint32_t)k[3])<<24;                                      
   60172:	9084           	subl %d4,%d0                                <== NOT EXECUTED
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   60174:	d083           	addl %d3,%d0                                <== NOT EXECUTED
   60176:	2604           	movel %d4,%d3                               <== NOT EXECUTED
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
   60178:	4285           	clrl %d5                                    <== NOT EXECUTED
   6017a:	1a28 0006      	moveb %a0@(6),%d5                           <== NOT EXECUTED
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   6017e:	e98b           	lsll #4,%d3                                 <== NOT EXECUTED
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
   60180:	e18e           	lsll #8,%d6                                 <== NOT EXECUTED
      b += ((uint32_t)k[6])<<16;                                      
   60182:	4845           	swap %d5                                    <== NOT EXECUTED
   60184:	4245           	clrw %d5                                    <== NOT EXECUTED
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   60186:	8687           	orl %d7,%d3                                 <== NOT EXECUTED
    {                                                                 
      a += k[0];                                                      
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
      b += k[4];                                                      
   60188:	4287           	clrl %d7                                    <== NOT EXECUTED
   6018a:	1e28 0004      	moveb %a0@(4),%d7                           <== NOT EXECUTED
   6018e:	da86           	addl %d6,%d5                                <== NOT EXECUTED
      b += ((uint32_t)k[5])<<8;                                       
   60190:	da87           	addl %d7,%d5                                <== NOT EXECUTED
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   60192:	7c18           	moveq #24,%d6                               <== NOT EXECUTED
      length -= 12;                                                   
      k += 12;                                                        
   60194:	41e8 000c      	lea %a0@(12),%a0                            <== NOT EXECUTED
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   60198:	b780           	eorl %d3,%d0                                <== NOT EXECUTED
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
      b += ((uint32_t)k[7])<<24;                                      
   6019a:	7618           	moveq #24,%d3                               <== NOT EXECUTED
   6019c:	e7aa           	lsll %d3,%d2                                <== NOT EXECUTED
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   6019e:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
   601a0:	2600           	movel %d0,%d3                               <== NOT EXECUTED
      a += ((uint32_t)k[1])<<8;                                       
      a += ((uint32_t)k[2])<<16;                                      
      a += ((uint32_t)k[3])<<24;                                      
      b += k[4];                                                      
      b += ((uint32_t)k[5])<<8;                                       
      b += ((uint32_t)k[6])<<16;                                      
   601a2:	d485           	addl %d5,%d2                                <== NOT EXECUTED
      b += ((uint32_t)k[7])<<24;                                      
   601a4:	d282           	addl %d2,%d1                                <== NOT EXECUTED
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   601a6:	2401           	movel %d1,%d2                               <== NOT EXECUTED
   601a8:	9480           	subl %d0,%d2                                <== NOT EXECUTED
   601aa:	7a1a           	moveq #26,%d5                               <== NOT EXECUTED
   601ac:	eaaf           	lsrl %d5,%d7                                <== NOT EXECUTED
   601ae:	d881           	addl %d1,%d4                                <== NOT EXECUTED
   601b0:	d684           	addl %d4,%d3                                <== NOT EXECUTED
   601b2:	1a3c 000d      	moveb #13,%d5                               <== NOT EXECUTED
   601b6:	ed88           	lsll #6,%d0                                 <== NOT EXECUTED
   601b8:	8087           	orl %d7,%d0                                 <== NOT EXECUTED
   601ba:	b580           	eorl %d2,%d0                                <== NOT EXECUTED
   601bc:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   601be:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   601c0:	eca9           	lsrl %d6,%d1                                <== NOT EXECUTED
   601c2:	9880           	subl %d0,%d4                                <== NOT EXECUTED
   601c4:	d083           	addl %d3,%d0                                <== NOT EXECUTED
   601c6:	1c3c 001c      	moveb #28,%d6                               <== NOT EXECUTED
   601ca:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
   601cc:	8481           	orl %d1,%d2                                 <== NOT EXECUTED
   601ce:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   601d0:	b982           	eorl %d4,%d2                                <== NOT EXECUTED
   601d2:	7813           	moveq #19,%d4                               <== NOT EXECUTED
   601d4:	2602           	movel %d2,%d3                               <== NOT EXECUTED
   601d6:	9282           	subl %d2,%d1                                <== NOT EXECUTED
   601d8:	4843           	swap %d3                                    <== NOT EXECUTED
   601da:	d480           	addl %d0,%d2                                <== NOT EXECUTED
   601dc:	b383           	eorl %d1,%d3                                <== NOT EXECUTED
   601de:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   601e0:	9083           	subl %d3,%d0                                <== NOT EXECUTED
   601e2:	e9a9           	lsll %d4,%d1                                <== NOT EXECUTED
   601e4:	2803           	movel %d3,%d4                               <== NOT EXECUTED
   601e6:	eaac           	lsrl %d5,%d4                                <== NOT EXECUTED
   601e8:	d682           	addl %d2,%d3                                <== NOT EXECUTED
   601ea:	8284           	orl %d4,%d1                                 <== NOT EXECUTED
   601ec:	b181           	eorl %d0,%d1                                <== NOT EXECUTED
   601ee:	2801           	movel %d1,%d4                               <== NOT EXECUTED
   601f0:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   601f2:	eca8           	lsrl %d6,%d0                                <== NOT EXECUTED
   601f4:	9481           	subl %d1,%d2                                <== NOT EXECUTED
   601f6:	d283           	addl %d3,%d1                                <== NOT EXECUTED
   601f8:	e98c           	lsll #4,%d4                                 <== NOT EXECUTED
   601fa:	8880           	orl %d0,%d4                                 <== NOT EXECUTED
                                                                      
  } else {                        /* need to read the key one byte at a time */
    const uint8_t *k = (const uint8_t *)key;                          
                                                                      
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
   601fc:	700c           	moveq #12,%d0                               <== NOT EXECUTED
      b += ((uint32_t)k[7])<<24;                                      
      c += k[8];                                                      
      c += ((uint32_t)k[9])<<8;                                       
      c += ((uint32_t)k[10])<<16;                                     
      c += ((uint32_t)k[11])<<24;                                     
      mix(a,b,c);                                                     
   601fe:	b584           	eorl %d2,%d4                                <== NOT EXECUTED
                                                                      
  } else {                        /* need to read the key one byte at a time */
    const uint8_t *k = (const uint8_t *)key;                          
                                                                      
    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
    while (length > 12)                                               
   60200:	b089           	cmpl %a1,%d0                                <== NOT EXECUTED
   60202:	6500 ff08      	bcsw 6010c <rtems_rfs_dir_hash+0x24>        <== NOT EXECUTED
      length -= 12;                                                   
      k += 12;                                                        
    }                                                                 
                                                                      
    /*-------------------------------- last block: affect all 32 bits of (c) */
    switch(length)                   /* all the case statements fall through */
   60206:	740c           	moveq #12,%d2                               
   60208:	b489           	cmpl %a1,%d2                                
   6020a:	6500 011a      	bcsw 60326 <rtems_rfs_dir_hash+0x23e>       
   6020e:	303b 9a08      	movew %pc@(60218 <rtems_rfs_dir_hash+0x130>,%a1:l:2),%d0
   60212:	48c0           	extl %d0                                    
   60214:	4efb 0802      	jmp %pc@(60218 <rtems_rfs_dir_hash+0x130>,%d0:l)
   60218:	010e           	.short 0x010e                               <== NOT EXECUTED
   6021a:	0090 0086 007a 	oril #8781946,%d0                           <== NOT EXECUTED
   60220:	006e           	.short 0x006e                               <== NOT EXECUTED
   60222:	0066           	.short 0x0066                               <== NOT EXECUTED
   60224:	005c           	.short 0x005c                               <== NOT EXECUTED
   60226:	0050           	.short 0x0050                               <== NOT EXECUTED
   60228:	0044           	.short 0x0044                               <== NOT EXECUTED
   6022a:	003c           	.short 0x003c                               <== NOT EXECUTED
   6022c:	0032           	.short 0x0032                               <== NOT EXECUTED
   6022e:	0026           	.short 0x0026                               <== NOT EXECUTED
   60230:	001a           	.short 0x001a                               <== NOT EXECUTED
    {                                                                 
      case 12: c+=((uint32_t)k[11])<<24;                              
   60232:	4280           	clrl %d0                                    <== NOT EXECUTED
   60234:	1028 000b      	moveb %a0@(11),%d0                          <== NOT EXECUTED
   60238:	7a18           	moveq #24,%d5                               <== NOT EXECUTED
   6023a:	eba8           	lsll %d5,%d0                                <== NOT EXECUTED
   6023c:	d880           	addl %d0,%d4                                <== NOT EXECUTED
      case 11: c+=((uint32_t)k[10])<<16;                              
   6023e:	4280           	clrl %d0                                    <== NOT EXECUTED
   60240:	1028 000a      	moveb %a0@(10),%d0                          <== NOT EXECUTED
   60244:	4840           	swap %d0                                    <== NOT EXECUTED
   60246:	4240           	clrw %d0                                    <== NOT EXECUTED
   60248:	d880           	addl %d0,%d4                                <== NOT EXECUTED
      case 10: c+=((uint32_t)k[9])<<8;                                
   6024a:	4280           	clrl %d0                                    <== NOT EXECUTED
   6024c:	1028 0009      	moveb %a0@(9),%d0                           <== NOT EXECUTED
   60250:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   60252:	d880           	addl %d0,%d4                                <== NOT EXECUTED
      case 9 : c+=k[8];                                               
   60254:	4280           	clrl %d0                                    <== NOT EXECUTED
   60256:	1028 0008      	moveb %a0@(8),%d0                           <== NOT EXECUTED
   6025a:	d880           	addl %d0,%d4                                <== NOT EXECUTED
      case 8 : b+=((uint32_t)k[7])<<24;                               
   6025c:	4280           	clrl %d0                                    <== NOT EXECUTED
   6025e:	1028 0007      	moveb %a0@(7),%d0                           <== NOT EXECUTED
   60262:	7c18           	moveq #24,%d6                               <== NOT EXECUTED
   60264:	eda8           	lsll %d6,%d0                                <== NOT EXECUTED
   60266:	d280           	addl %d0,%d1                                <== NOT EXECUTED
      case 7 : b+=((uint32_t)k[6])<<16;                               
   60268:	4280           	clrl %d0                                    <== NOT EXECUTED
   6026a:	1028 0006      	moveb %a0@(6),%d0                           <== NOT EXECUTED
   6026e:	4840           	swap %d0                                    <== NOT EXECUTED
   60270:	4240           	clrw %d0                                    <== NOT EXECUTED
   60272:	d280           	addl %d0,%d1                                <== NOT EXECUTED
      case 6 : b+=((uint32_t)k[5])<<8;                                
   60274:	4280           	clrl %d0                                    <== NOT EXECUTED
   60276:	1028 0005      	moveb %a0@(5),%d0                           <== NOT EXECUTED
   6027a:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   6027c:	d280           	addl %d0,%d1                                <== NOT EXECUTED
      case 5 : b+=k[4];                                               
   6027e:	4280           	clrl %d0                                    <== NOT EXECUTED
   60280:	1028 0004      	moveb %a0@(4),%d0                           <== NOT EXECUTED
   60284:	d280           	addl %d0,%d1                                <== NOT EXECUTED
      case 4 : a+=((uint32_t)k[3])<<24;                               
   60286:	4280           	clrl %d0                                    <== NOT EXECUTED
   60288:	1028 0003      	moveb %a0@(3),%d0                           <== NOT EXECUTED
   6028c:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   6028e:	e5a8           	lsll %d2,%d0                                <== NOT EXECUTED
   60290:	d680           	addl %d0,%d3                                <== NOT EXECUTED
      case 3 : a+=((uint32_t)k[2])<<16;                               
   60292:	4280           	clrl %d0                                    <== NOT EXECUTED
   60294:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   60298:	4840           	swap %d0                                    <== NOT EXECUTED
   6029a:	4240           	clrw %d0                                    <== NOT EXECUTED
   6029c:	d680           	addl %d0,%d3                                <== NOT EXECUTED
      case 2 : a+=((uint32_t)k[1])<<8;                                
   6029e:	4280           	clrl %d0                                    <== NOT EXECUTED
   602a0:	1028 0001      	moveb %a0@(1),%d0                           <== NOT EXECUTED
   602a4:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   602a6:	d680           	addl %d0,%d3                                <== NOT EXECUTED
        break;                                                        
      case 0 : return c;                                              
    }                                                                 
  }                                                                   
                                                                      
  final(a,b,c);                                                       
   602a8:	2001           	movel %d1,%d0                               
   602aa:	7c0e           	moveq #14,%d6                               
   602ac:	2401           	movel %d1,%d2                               
   602ae:	7a12           	moveq #18,%d5                               
   602b0:	eaaa           	lsrl %d5,%d2                                
   602b2:	2a04           	movel %d4,%d5                               
   602b4:	780b           	moveq #11,%d4                               
   602b6:	eda8           	lsll %d6,%d0                                
   602b8:	b385           	eorl %d1,%d5                                
   602ba:	1c3c 0019      	moveb #25,%d6                               
   602be:	8480           	orl %d0,%d2                                 
      case 6 : b+=((uint32_t)k[5])<<8;                                
      case 5 : b+=k[4];                                               
      case 4 : a+=((uint32_t)k[3])<<24;                               
      case 3 : a+=((uint32_t)k[2])<<16;                               
      case 2 : a+=((uint32_t)k[1])<<8;                                
      case 1 : a+=k[0];                                               
   602c0:	4280           	clrl %d0                                    
   602c2:	1010           	moveb %a0@,%d0                              
        break;                                                        
      case 0 : return c;                                              
    }                                                                 
  }                                                                   
                                                                      
  final(a,b,c);                                                       
   602c4:	9a82           	subl %d2,%d5                                
      case 6 : b+=((uint32_t)k[5])<<8;                                
      case 5 : b+=k[4];                                               
      case 4 : a+=((uint32_t)k[3])<<24;                               
      case 3 : a+=((uint32_t)k[2])<<16;                               
      case 2 : a+=((uint32_t)k[1])<<8;                                
      case 1 : a+=k[0];                                               
   602c6:	d680           	addl %d0,%d3                                
        break;                                                        
      case 0 : return c;                                              
    }                                                                 
  }                                                                   
                                                                      
  final(a,b,c);                                                       
   602c8:	2405           	movel %d5,%d2                               
   602ca:	7015           	moveq #21,%d0                               
   602cc:	e0aa           	lsrl %d0,%d2                                
   602ce:	2005           	movel %d5,%d0                               
   602d0:	e9a8           	lsll %d4,%d0                                
   602d2:	bb83           	eorl %d5,%d3                                
   602d4:	183c 0012      	moveb #18,%d4                               
   602d8:	8082           	orl %d2,%d0                                 
   602da:	9680           	subl %d0,%d3                                
   602dc:	2003           	movel %d3,%d0                               
   602de:	2403           	movel %d3,%d2                               
   602e0:	ee8a           	lsrl #7,%d2                                 
   602e2:	eda8           	lsll %d6,%d0                                
   602e4:	b781           	eorl %d3,%d1                                
   602e6:	1c3c 000e      	moveb #14,%d6                               
   602ea:	8082           	orl %d2,%d0                                 
   602ec:	9280           	subl %d0,%d1                                
   602ee:	2001           	movel %d1,%d0                               
   602f0:	4840           	swap %d0                                    
   602f2:	b385           	eorl %d1,%d5                                
   602f4:	9a80           	subl %d0,%d5                                
   602f6:	701c           	moveq #28,%d0                               
   602f8:	2405           	movel %d5,%d2                               
   602fa:	e0aa           	lsrl %d0,%d2                                
   602fc:	2005           	movel %d5,%d0                               
   602fe:	e988           	lsll #4,%d0                                 
   60300:	bb83           	eorl %d5,%d3                                
   60302:	8082           	orl %d2,%d0                                 
   60304:	9680           	subl %d0,%d3                                
   60306:	2003           	movel %d3,%d0                               
   60308:	2403           	movel %d3,%d2                               
   6030a:	e8aa           	lsrl %d4,%d2                                
   6030c:	2803           	movel %d3,%d4                               
   6030e:	eda8           	lsll %d6,%d0                                
   60310:	b384           	eorl %d1,%d4                                
   60312:	8082           	orl %d2,%d0                                 
   60314:	7418           	moveq #24,%d2                               
   60316:	9880           	subl %d0,%d4                                
   60318:	2004           	movel %d4,%d0                               
   6031a:	2204           	movel %d4,%d1                               
   6031c:	e089           	lsrl #8,%d1                                 
   6031e:	e5a8           	lsll %d2,%d0                                
   60320:	bb84           	eorl %d5,%d4                                
   60322:	8081           	orl %d1,%d0                                 
   60324:	9880           	subl %d0,%d4                                
  return c;                                                           
}                                                                     
   60326:	2004           	movel %d4,%d0                               
   60328:	4cd7 00fc      	moveml %sp@,%d2-%d7                         
   6032c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005a920 <rtems_rfs_dir_lookup_ino>: rtems_rfs_inode_handle* inode, const char* name, int length, rtems_rfs_ino* ino, uint32_t* offset) {
   5a920:	4e56 ff74      	linkw %fp,#-140                             <== NOT EXECUTED
   5a924:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_rfs_block_map     map;                                        
  rtems_rfs_buffer_handle entries;                                    
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))               
   5a928:	2f3c 0400 0000 	movel #67108864,%sp@-                       <== NOT EXECUTED
                          rtems_rfs_inode_handle* inode,              
                          const char*             name,               
                          int                     length,             
                          rtems_rfs_ino*          ino,                
                          uint32_t*               offset)             
{                                                                     
   5a92e:	2a6e 0008      	moveal %fp@(8),%a5                          <== NOT EXECUTED
  rtems_rfs_block_map     map;                                        
  rtems_rfs_buffer_handle entries;                                    
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))               
   5a932:	49f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a4             <== NOT EXECUTED
   5a938:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
                          rtems_rfs_inode_handle* inode,              
                          const char*             name,               
                          int                     length,             
                          rtems_rfs_ino*          ino,                
                          uint32_t*               offset)             
{                                                                     
   5a93a:	266e 0018      	moveal %fp@(24),%a3                         <== NOT EXECUTED
  rtems_rfs_block_map     map;                                        
  rtems_rfs_buffer_handle entries;                                    
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))               
   5a93e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5a940:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a942:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a944:	6644           	bnes 5a98a <rtems_rfs_dir_lookup_ino+0x6a>  <== NOT EXECUTED
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
  *offset = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
   5a946:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf (", len=%d\n", length);                                    
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
  *offset = 0;                                                        
   5a94a:	206e 001c      	moveal %fp@(28),%a0                         <== NOT EXECUTED
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (", len=%d\n", length);                                    
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
   5a94e:	4293           	clrl %a3@                                   <== NOT EXECUTED
  *offset = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
   5a950:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf (", len=%d\n", length);                                    
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
  *offset = 0;                                                        
   5a954:	4290           	clrl %a0@                                   <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
   5a956:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5a958:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5a95e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
  *offset = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
   5a962:	2d40 ffa0      	movel %d0,%fp@(-96)                         <== NOT EXECUTED
  if (rc > 0)                                                         
   5a966:	6f00 009e      	blew 5aa06 <rtems_rfs_dir_lookup_ino+0xe6>  <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))             
   5a96a:	2f3c 0400 0000 	movel #67108864,%sp@-                       <== NOT EXECUTED
   5a970:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5a972:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5a974:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a976:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5a978:	6600 0120      	bnew 5aa9a <rtems_rfs_dir_lookup_ino+0x17a> <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &entries);                       
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5a97c:	202e ffa0      	movel %fp@(-96),%d0                         <== NOT EXECUTED
   5a980:	4cee 3cfc ff74 	moveml %fp@(-140),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5a986:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5a988:	4e75           	rts                                         <== NOT EXECUTED
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))               
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: dir-lookup-ino: lookup ino: root=%" PRId32 ", path=",
   5a98a:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5a98e:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5a992:	283c 0006 16ec 	movel #399084,%d4                           <== NOT EXECUTED
   5a998:	4879 0007 26a2 	pea 726a2 <CSWTCH.2+0x5da>                  <== NOT EXECUTED
   5a99e:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   5a9a0:	4e90           	jsr %a0@                                    <== NOT EXECUTED
            inode->ino);                                              
    for (c = 0; c < length; c++)                                      
   5a9a2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5a9a4:	4aae 0014      	tstl %fp@(20)                               <== NOT EXECUTED
   5a9a8:	6f28           	bles 5a9d2 <rtems_rfs_dir_lookup_ino+0xb2>  <== NOT EXECUTED
#define rtems_rfs_dir_entry_valid(_f, _l, _i) \                       
  (((_l) <= RTEMS_RFS_DIR_ENTRY_SIZE) || ((_l) >= rtems_rfs_fs_max_name (_f)) \
   || (_i < RTEMS_RFS_ROOT_INO) || (_i > rtems_rfs_fs_inodes (_f)))   
                                                                      
int                                                                   
rtems_rfs_dir_lookup_ino (rtems_rfs_file_system*  fs,                 
   5a9aa:	242e 0010      	movel %fp@(16),%d2                          <== NOT EXECUTED
   5a9ae:	200b           	movel %a3,%d0                               <== NOT EXECUTED
   5a9b0:	d4ae 0014      	addl %fp@(20),%d2                           <== NOT EXECUTED
   5a9b4:	45f9 0006 187c 	lea 6187c <putchar>,%a2                     <== NOT EXECUTED
   5a9ba:	262e 0010      	movel %fp@(16),%d3                          <== NOT EXECUTED
   5a9be:	2643           	moveal %d3,%a3                              <== NOT EXECUTED
   5a9c0:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: dir-lookup-ino: lookup ino: root=%" PRId32 ", path=",
            inode->ino);                                              
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
   5a9c2:	101b           	moveb %a3@+,%d0                             <== NOT EXECUTED
   5a9c4:	49c0           	extbl %d0                                   <== NOT EXECUTED
   5a9c6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5a9c8:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))               
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: dir-lookup-ino: lookup ino: root=%" PRId32 ", path=",
            inode->ino);                                              
    for (c = 0; c < length; c++)                                      
   5a9ca:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5a9cc:	b48b           	cmpl %a3,%d2                                <== NOT EXECUTED
   5a9ce:	66f2           	bnes 5a9c2 <rtems_rfs_dir_lookup_ino+0xa2>  <== NOT EXECUTED
   5a9d0:	2643           	moveal %d3,%a3                              <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf (", len=%d\n", length);                                    
   5a9d2:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5a9d6:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   5a9d8:	4879 0007 26d9 	pea 726d9 <CSWTCH.2+0x611>                  <== NOT EXECUTED
   5a9de:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   5a9e0:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
  *offset = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
   5a9e2:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf (", len=%d\n", length);                                    
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
  *offset = 0;                                                        
   5a9e6:	206e 001c      	moveal %fp@(28),%a0                         <== NOT EXECUTED
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (", len=%d\n", length);                                    
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
   5a9ea:	4293           	clrl %a3@                                   <== NOT EXECUTED
  *offset = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
   5a9ec:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf (", len=%d\n", length);                                    
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
  *offset = 0;                                                        
   5a9f0:	4290           	clrl %a0@                                   <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
   5a9f2:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5a9f4:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5a9fa:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  *ino = RTEMS_RFS_EMPTY_INO;                                         
  *offset = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
   5a9fe:	2d40 ffa0      	movel %d0,%fp@(-96)                         <== NOT EXECUTED
  if (rc > 0)                                                         
   5aa02:	6e00 ff66      	bgtw 5a96a <rtems_rfs_dir_lookup_ino+0x4a>  <== NOT EXECUTED
    uint32_t           hash;                                          
                                                                      
    /*                                                                
     * Calculate the hash of the look up string.                      
     */                                                               
    hash = rtems_rfs_dir_hash (name, length);                         
   5aa06:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5aa0a:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5aa0e:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5aa10:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5aa14:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5aa18:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5aa1c:	4eb9 0006 00e8 	jsr 600e8 <rtems_rfs_dir_hash>              <== NOT EXECUTED
                                                                      
    /*                                                                
     * Locate the first block. The map points to the start after open so just
     * seek 0. If an error the block will be 0.                       
     */                                                               
    rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);              
   5aa22:	486e ffa8      	pea %fp@(-88)                               <== NOT EXECUTED
   5aa26:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5aa28:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5aa2a:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
    uint32_t           hash;                                          
                                                                      
    /*                                                                
     * Calculate the hash of the look up string.                      
     */                                                               
    hash = rtems_rfs_dir_hash (name, length);                         
   5aa2e:	2d40 ffa4      	movel %d0,%fp@(-92)                         <== NOT EXECUTED
                                                                      
    /*                                                                
     * Locate the first block. The map points to the start after open so just
     * seek 0. If an error the block will be 0.                       
     */                                                               
    rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);              
   5aa32:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5aa34:	4eb9 0005 96f8 	jsr 596f8 <rtems_rfs_block_map_seek>        <== NOT EXECUTED
    if (rc > 0)                                                       
   5aa3a:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
                                                                      
    /*                                                                
     * Locate the first block. The map points to the start after open so just
     * seek 0. If an error the block will be 0.                       
     */                                                               
    rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);              
   5aa3e:	2d40 ffa0      	movel %d0,%fp@(-96)                         <== NOT EXECUTED
    if (rc > 0)                                                       
   5aa42:	6f00 0140      	blew 5ab84 <rtems_rfs_dir_lookup_ino+0x264> <== NOT EXECUTED
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))           
   5aa46:	2f3c 0400 0000 	movel #67108864,%sp@-                       <== NOT EXECUTED
   5aa4c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5aa4e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5aa50:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5aa52:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5aa54:	6600 0318      	bnew 5ad6e <rtems_rfs_dir_lookup_ino+0x44e> <== NOT EXECUTED
        printf ("rtems-rfs: dir-lookup-ino: block map find failed: %d: %s\n",
                rc, strerror (rc));                                   
      if (rc == ENXIO)                                                
   5aa58:	7206           	moveq #6,%d1                                <== NOT EXECUTED
   5aa5a:	b2ae ffa0      	cmpl %fp@(-96),%d1                          <== NOT EXECUTED
   5aa5e:	6700 0338      	beqw 5ad98 <rtems_rfs_dir_lookup_ino+0x478> <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5aa62:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
  handle->dirty = false;                                              
   5aa66:	4203           	clrb %d3                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5aa68:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5aa6a:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5aa70:	1d43 ffac      	moveb %d3,%fp@(-84)                         <== NOT EXECUTED
                rtems_rfs_inode_ino (inode), rc, strerror (rc));      
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &entries);                       
  rtems_rfs_block_map_close (fs, &map);                               
   5aa74:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5aa78:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
   5aa7c:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5aa7e:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5aa82:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5aa88:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  return rc;                                                          
}                                                                     
   5aa8c:	202e ffa0      	movel %fp@(-96),%d0                         <== NOT EXECUTED
   5aa90:	4cee 3cfc ff74 	moveml %fp@(-140),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5aa96:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5aa98:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))             
      printf ("rtems-rfs: dir-lookup-ino: map open failed for ino %" PRIu32 ": %d: %s",
   5aa9a:	2f2e ffa0      	movel %fp@(-96),%sp@-                       <== NOT EXECUTED
   5aa9e:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5aaa4:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5aaa8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5aaaa:	2f2e ffa0      	movel %fp@(-96),%sp@-                       <== NOT EXECUTED
   5aaae:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5aab2:	4879 0007 26e3 	pea 726e3 <CSWTCH.2+0x61b>                  <== NOT EXECUTED
   5aab8:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &entries);                       
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5aabe:	202e ffa0      	movel %fp@(-96),%d0                         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, inode, &map);                    
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))             
      printf ("rtems-rfs: dir-lookup-ino: map open failed for ino %" PRIu32 ": %d: %s",
   5aac2:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &entries);                       
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5aac6:	4cee 3cfc ff74 	moveml %fp@(-140),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5aacc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5aace:	4e75           	rts                                         <== NOT EXECUTED
    while ((rc == 0) && block)                                        
    {                                                                 
      uint8_t* entry;                                                 
                                                                      
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))           
        printf ("rtems-rfs: dir-lookup-ino: block read, ino=%" PRIu32 " bno=%" PRId32 "\n",
   5aad0:	2f2e ffc4      	movel %fp@(-60),%sp@-                       <== NOT EXECUTED
   5aad4:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5aad8:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5aadc:	4879 0007 275c 	pea 7275c <CSWTCH.2+0x694>                  <== NOT EXECUTED
   5aae2:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5aae8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                rtems_rfs_inode_ino (inode), map.bpos.bno);           
                                                                      
      rc = rtems_rfs_buffer_handle_request (fs, &entries, block, true);
   5aaec:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5aaf0:	2f2e ffa8      	movel %fp@(-88),%sp@-                       <== NOT EXECUTED
   5aaf4:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
   5aaf8:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5aafa:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
      if (rc > 0)                                                     
   5ab00:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))           
        printf ("rtems-rfs: dir-lookup-ino: block read, ino=%" PRIu32 " bno=%" PRId32 "\n",
                rtems_rfs_inode_ino (inode), map.bpos.bno);           
                                                                      
      rc = rtems_rfs_buffer_handle_request (fs, &entries, block, true);
   5ab04:	2d40 ff9c      	movel %d0,%fp@(-100)                        <== NOT EXECUTED
      if (rc > 0)                                                     
   5ab08:	6e00 0306      	bgtw 5ae10 <rtems_rfs_dir_lookup_ino+0x4f0> <== NOT EXECUTED
      /*                                                              
       * Search the block to see if the name matches. A hash of 0xffff or 0x0
       * means the entry is empty.                                    
       */                                                             
                                                                      
      entry = rtems_rfs_buffer_data (&entries);                       
   5ab0c:	206e ffb2      	moveal %fp@(-78),%a0                        <== NOT EXECUTED
                                                                      
      map.bpos.boff = 0;                                              
                                                                      
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5ab10:	700a           	moveq #10,%d0                               <== NOT EXECUTED
      /*                                                              
       * Search the block to see if the name matches. A hash of 0xffff or 0x0
       * means the entry is empty.                                    
       */                                                             
                                                                      
      entry = rtems_rfs_buffer_data (&entries);                       
   5ab12:	2468 001a      	moveal %a0@(26),%a2                         <== NOT EXECUTED
                                                                      
      map.bpos.boff = 0;                                              
   5ab16:	42ae ffc8      	clrl %fp@(-56)                              <== NOT EXECUTED
                                                                      
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5ab1a:	b0ad 0008      	cmpl %a5@(8),%d0                            <== NOT EXECUTED
   5ab1e:	6600 011c      	bnew 5ac3c <rtems_rfs_dir_lookup_ino+0x31c> <== NOT EXECUTED
                                                                      
        map.bpos.boff += elength;                                     
        entry += elength;                                             
      }                                                               
                                                                      
      if (rc == 0)                                                    
   5ab22:	4aae ff9c      	tstl %fp@(-100)                             <== NOT EXECUTED
   5ab26:	6600 01d0      	bnew 5acf8 <rtems_rfs_dir_lookup_ino+0x3d8> <== NOT EXECUTED
      {                                                               
        rc = rtems_rfs_block_map_next_block (fs, &map, &block);       
   5ab2a:	486e ffa8      	pea %fp@(-88)                               <== NOT EXECUTED
   5ab2e:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
   5ab32:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5ab34:	4eb9 0005 9776 	jsr 59776 <rtems_rfs_block_map_next_block>  <== NOT EXECUTED
        if ((rc > 0) && (rc != ENXIO))                                
   5ab3a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
        entry += elength;                                             
      }                                                               
                                                                      
      if (rc == 0)                                                    
      {                                                               
        rc = rtems_rfs_block_map_next_block (fs, &map, &block);       
   5ab3e:	2d40 ffa0      	movel %d0,%fp@(-96)                         <== NOT EXECUTED
        if ((rc > 0) && (rc != ENXIO))                                
   5ab42:	6f40           	bles 5ab84 <rtems_rfs_dir_lookup_ino+0x264> <== NOT EXECUTED
   5ab44:	7206           	moveq #6,%d1                                <== NOT EXECUTED
   5ab46:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5ab48:	6700 020c      	beqw 5ad56 <rtems_rfs_dir_lookup_ino+0x436> <== NOT EXECUTED
        {                                                             
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))       
   5ab4c:	2f3c 0400 0000 	movel #67108864,%sp@-                       <== NOT EXECUTED
   5ab52:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ab54:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5ab56:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ab58:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ab5a:	6728           	beqs 5ab84 <rtems_rfs_dir_lookup_ino+0x264> <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                     
   5ab5c:	2f2e ffa0      	movel %fp@(-96),%sp@-                       <== NOT EXECUTED
   5ab60:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5ab66:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5ab6a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ab6c:	2f2e ffa0      	movel %fp@(-96),%sp@-                       <== NOT EXECUTED
   5ab70:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5ab74:	4879 0007 28c5 	pea 728c5 <CSWTCH.2+0x7fd>                  <== NOT EXECUTED
   5ab7a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ab80:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &entries);                   
      rtems_rfs_block_map_close (fs, &map);                           
      return rc;                                                      
    }                                                                 
                                                                      
    while ((rc == 0) && block)                                        
   5ab84:	4aae ffa0      	tstl %fp@(-96)                              <== NOT EXECUTED
   5ab88:	6600 01d2      	bnew 5ad5c <rtems_rfs_dir_lookup_ino+0x43c> <== NOT EXECUTED
   5ab8c:	4aae ffa8      	tstl %fp@(-88)                              <== NOT EXECUTED
   5ab90:	6700 02c8      	beqw 5ae5a <rtems_rfs_dir_lookup_ino+0x53a> <== NOT EXECUTED
    {                                                                 
      uint8_t* entry;                                                 
                                                                      
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))           
   5ab94:	2f3c 0400 0000 	movel #67108864,%sp@-                       <== NOT EXECUTED
   5ab9a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ab9c:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5ab9e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5aba0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5aba2:	6700 ff48      	beqw 5aaec <rtems_rfs_dir_lookup_ino+0x1cc> <== NOT EXECUTED
   5aba6:	6000 ff28      	braw 5aad0 <rtems_rfs_dir_lookup_ino+0x1b0> <== NOT EXECUTED
          break;                                                      
        }                                                             
                                                                      
        if (ehash == hash)                                            
        {                                                             
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_CHECK)) 
   5abaa:	2f3c 0800 0000 	movel #134217728,%sp@-                      <== NOT EXECUTED
   5abb0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5abb2:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5abb4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5abb6:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5abb8:	674a           	beqs 5ac04 <rtems_rfs_dir_lookup_ino+0x2e4> <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                     
                    "checking entry for ino %" PRId32 ": bno=%04" PRIx32 "/off=%04" PRIx32
                    " length:%d ino:%" PRId32 "\n",                   
                    rtems_rfs_inode_ino (inode), map.bpos.bno, map.bpos.boff,
                    elength, rtems_rfs_dir_entry_ino (entry));        
   5abba:	4280           	clrl %d0                                    <== NOT EXECUTED
   5abbc:	4282           	clrl %d2                                    <== NOT EXECUTED
   5abbe:	1012           	moveb %a2@,%d0                              <== NOT EXECUTED
   5abc0:	142a 0001      	moveb %a2@(1),%d2                           <== NOT EXECUTED
   5abc4:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5abc6:	4284           	clrl %d4                                    <== NOT EXECUTED
   5abc8:	182a 0003      	moveb %a2@(3),%d4                           <== NOT EXECUTED
   5abcc:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   5abce:	4842           	swap %d2                                    <== NOT EXECUTED
   5abd0:	4242           	clrw %d2                                    <== NOT EXECUTED
   5abd2:	4281           	clrl %d1                                    <== NOT EXECUTED
   5abd4:	122a 0002      	moveb %a2@(2),%d1                           <== NOT EXECUTED
   5abd8:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   5abda:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
        }                                                             
                                                                      
        if (ehash == hash)                                            
        {                                                             
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_CHECK)) 
            printf ("rtems-rfs: dir-lookup-ino: "                     
   5abdc:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
                    "checking entry for ino %" PRId32 ": bno=%04" PRIx32 "/off=%04" PRIx32
                    " length:%d ino:%" PRId32 "\n",                   
                    rtems_rfs_inode_ino (inode), map.bpos.bno, map.bpos.boff,
                    elength, rtems_rfs_dir_entry_ino (entry));        
   5abe0:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
        }                                                             
                                                                      
        if (ehash == hash)                                            
        {                                                             
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_CHECK)) 
            printf ("rtems-rfs: dir-lookup-ino: "                     
   5abe2:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5abe4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5abe6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5abe8:	2f2e ffc8      	movel %fp@(-56),%sp@-                       <== NOT EXECUTED
   5abec:	2f2e ffc4      	movel %fp@(-60),%sp@-                       <== NOT EXECUTED
   5abf0:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5abf4:	4879 0007 2820 	pea 72820 <CSWTCH.2+0x758>                  <== NOT EXECUTED
   5abfa:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ac00:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                    "checking entry for ino %" PRId32 ": bno=%04" PRIx32 "/off=%04" PRIx32
                    " length:%d ino:%" PRId32 "\n",                   
                    rtems_rfs_inode_ino (inode), map.bpos.bno, map.bpos.boff,
                    elength, rtems_rfs_dir_entry_ino (entry));        
                                                                      
          if (memcmp (entry + RTEMS_RFS_DIR_ENTRY_SIZE, name, length) == 0)
   5ac04:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5ac08:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5ac0c:	486a 000a      	pea %a2@(10)                                <== NOT EXECUTED
   5ac10:	4eb9 0006 13a8 	jsr 613a8 <memcmp>                          <== NOT EXECUTED
   5ac16:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5ac1a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5ac1c:	6700 0196      	beqw 5adb4 <rtems_rfs_dir_lookup_ino+0x494> <== NOT EXECUTED
            rtems_rfs_block_map_close (fs, &map);                     
            return 0;                                                 
          }                                                           
        }                                                             
                                                                      
        map.bpos.boff += elength;                                     
   5ac20:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5ac22:	d0ae ffc8      	addl %fp@(-56),%d0                          <== NOT EXECUTED
        entry += elength;                                             
   5ac26:	d5c3           	addal %d3,%a2                               <== NOT EXECUTED
                                                                      
      entry = rtems_rfs_buffer_data (&entries);                       
                                                                      
      map.bpos.boff = 0;                                              
                                                                      
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5ac28:	222d 0008      	movel %a5@(8),%d1                           <== NOT EXECUTED
   5ac2c:	0681 ffff fff6 	addil #-10,%d1                              <== NOT EXECUTED
            rtems_rfs_block_map_close (fs, &map);                     
            return 0;                                                 
          }                                                           
        }                                                             
                                                                      
        map.bpos.boff += elength;                                     
   5ac32:	2d40 ffc8      	movel %d0,%fp@(-56)                         <== NOT EXECUTED
                                                                      
      entry = rtems_rfs_buffer_data (&entries);                       
                                                                      
      map.bpos.boff = 0;                                              
                                                                      
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5ac36:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   5ac38:	6400 fee8      	bccw 5ab22 <rtems_rfs_dir_lookup_ino+0x202> <== NOT EXECUTED
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
        elength = rtems_rfs_dir_entry_length (entry);                 
        *ino = rtems_rfs_dir_entry_ino (entry);                       
   5ac3c:	4280           	clrl %d0                                    <== NOT EXECUTED
   5ac3e:	4282           	clrl %d2                                    <== NOT EXECUTED
   5ac40:	1012           	moveb %a2@,%d0                              <== NOT EXECUTED
   5ac42:	142a 0001      	moveb %a2@(1),%d2                           <== NOT EXECUTED
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
      {                                                               
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
   5ac46:	4281           	clrl %d1                                    <== NOT EXECUTED
   5ac48:	4285           	clrl %d5                                    <== NOT EXECUTED
   5ac4a:	122a 0004      	moveb %a2@(4),%d1                           <== NOT EXECUTED
   5ac4e:	1a2a 0005      	moveb %a2@(5),%d5                           <== NOT EXECUTED
        elength = rtems_rfs_dir_entry_length (entry);                 
        *ino = rtems_rfs_dir_entry_ino (entry);                       
   5ac52:	7618           	moveq #24,%d3                               <== NOT EXECUTED
   5ac54:	4286           	clrl %d6                                    <== NOT EXECUTED
   5ac56:	4284           	clrl %d4                                    <== NOT EXECUTED
   5ac58:	1c2a 0003      	moveb %a2@(3),%d6                           <== NOT EXECUTED
   5ac5c:	182a 0002      	moveb %a2@(2),%d4                           <== NOT EXECUTED
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
      {                                                               
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
   5ac60:	4287           	clrl %d7                                    <== NOT EXECUTED
   5ac62:	1e2a 0007      	moveb %a2@(7),%d7                           <== NOT EXECUTED
        elength = rtems_rfs_dir_entry_length (entry);                 
        *ino = rtems_rfs_dir_entry_ino (entry);                       
   5ac66:	e7a8           	lsll %d3,%d0                                <== NOT EXECUTED
   5ac68:	4842           	swap %d2                                    <== NOT EXECUTED
   5ac6a:	4242           	clrw %d2                                    <== NOT EXECUTED
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
      {                                                               
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
   5ac6c:	e7a9           	lsll %d3,%d1                                <== NOT EXECUTED
   5ac6e:	4845           	swap %d5                                    <== NOT EXECUTED
   5ac70:	4245           	clrw %d5                                    <== NOT EXECUTED
        elength = rtems_rfs_dir_entry_length (entry);                 
   5ac72:	4283           	clrl %d3                                    <== NOT EXECUTED
   5ac74:	162a 0008      	moveb %a2@(8),%d3                           <== NOT EXECUTED
        *ino = rtems_rfs_dir_entry_ino (entry);                       
   5ac78:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
      {                                                               
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
   5ac7a:	8285           	orl %d5,%d1                                 <== NOT EXECUTED
   5ac7c:	4282           	clrl %d2                                    <== NOT EXECUTED
   5ac7e:	142a 0006      	moveb %a2@(6),%d2                           <== NOT EXECUTED
        elength = rtems_rfs_dir_entry_length (entry);                 
   5ac82:	4285           	clrl %d5                                    <== NOT EXECUTED
   5ac84:	1a2a 0009      	moveb %a2@(9),%d5                           <== NOT EXECUTED
        *ino = rtems_rfs_dir_entry_ino (entry);                       
   5ac88:	8086           	orl %d6,%d0                                 <== NOT EXECUTED
   5ac8a:	e18c           	lsll #8,%d4                                 <== NOT EXECUTED
      {                                                               
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
        elength = rtems_rfs_dir_entry_length (entry);                 
   5ac8c:	e18b           	lsll #8,%d3                                 <== NOT EXECUTED
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
      {                                                               
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
   5ac8e:	8287           	orl %d7,%d1                                 <== NOT EXECUTED
        elength = rtems_rfs_dir_entry_length (entry);                 
        *ino = rtems_rfs_dir_entry_ino (entry);                       
   5ac90:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
      {                                                               
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
   5ac92:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
        elength = rtems_rfs_dir_entry_length (entry);                 
   5ac94:	8685           	orl %d5,%d3                                 <== NOT EXECUTED
        *ino = rtems_rfs_dir_entry_ino (entry);                       
   5ac96:	2680           	movel %d0,%a3@                              <== NOT EXECUTED
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
      {                                                               
        uint32_t ehash;                                               
        int      elength;                                             
                                                                      
        ehash  = rtems_rfs_dir_entry_hash (entry);                    
   5ac98:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
        elength = rtems_rfs_dir_entry_length (entry);                 
        *ino = rtems_rfs_dir_entry_ino (entry);                       
                                                                      
        if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                     
   5ac9a:	0c83 0000 ffff 	cmpil #65535,%d3                            <== NOT EXECUTED
   5aca0:	6700 fe80      	beqw 5ab22 <rtems_rfs_dir_lookup_ino+0x202> <== NOT EXECUTED
          break;                                                      
                                                                      
        if (rtems_rfs_dir_entry_valid (fs, elength, *ino))            
   5aca4:	740a           	moveq #10,%d2                               <== NOT EXECUTED
   5aca6:	b483           	cmpl %d3,%d2                                <== NOT EXECUTED
   5aca8:	6c38           	bges 5ace2 <rtems_rfs_dir_lookup_ino+0x3c2> <== NOT EXECUTED
   5acaa:	b6ad 001c      	cmpl %a5@(28),%d3                           <== NOT EXECUTED
   5acae:	6432           	bccs 5ace2 <rtems_rfs_dir_lookup_ino+0x3c2> <== NOT EXECUTED
   5acb0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5acb2:	672e           	beqs 5ace2 <rtems_rfs_dir_lookup_ino+0x3c2> <== NOT EXECUTED
   5acb4:	b0ad 0014      	cmpl %a5@(20),%d0                           <== NOT EXECUTED
   5acb8:	6228           	bhis 5ace2 <rtems_rfs_dir_lookup_ino+0x3c2> <== NOT EXECUTED
                    rtems_rfs_inode_ino (inode), elength, *ino, map.bpos.boff);
          rc = EIO;                                                   
          break;                                                      
        }                                                             
                                                                      
        if (ehash == hash)                                            
   5acba:	b2ae ffa4      	cmpl %fp@(-92),%d1                          <== NOT EXECUTED
   5acbe:	6700 feea      	beqw 5abaa <rtems_rfs_dir_lookup_ino+0x28a> <== NOT EXECUTED
            rtems_rfs_block_map_close (fs, &map);                     
            return 0;                                                 
          }                                                           
        }                                                             
                                                                      
        map.bpos.boff += elength;                                     
   5acc2:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5acc4:	d0ae ffc8      	addl %fp@(-56),%d0                          <== NOT EXECUTED
        entry += elength;                                             
   5acc8:	d5c3           	addal %d3,%a2                               <== NOT EXECUTED
                                                                      
      entry = rtems_rfs_buffer_data (&entries);                       
                                                                      
      map.bpos.boff = 0;                                              
                                                                      
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5acca:	222d 0008      	movel %a5@(8),%d1                           <== NOT EXECUTED
   5acce:	0681 ffff fff6 	addil #-10,%d1                              <== NOT EXECUTED
            rtems_rfs_block_map_close (fs, &map);                     
            return 0;                                                 
          }                                                           
        }                                                             
                                                                      
        map.bpos.boff += elength;                                     
   5acd4:	2d40 ffc8      	movel %d0,%fp@(-56)                         <== NOT EXECUTED
                                                                      
      entry = rtems_rfs_buffer_data (&entries);                       
                                                                      
      map.bpos.boff = 0;                                              
                                                                      
      while (map.bpos.boff < (rtems_rfs_fs_block_size (fs) - RTEMS_RFS_DIR_ENTRY_SIZE))
   5acd8:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   5acda:	6500 ff60      	bcsw 5ac3c <rtems_rfs_dir_lookup_ino+0x31c> <== NOT EXECUTED
   5acde:	6000 fe42      	braw 5ab22 <rtems_rfs_dir_lookup_ino+0x202> <== NOT EXECUTED
        if (elength == RTEMS_RFS_DIR_ENTRY_EMPTY)                     
          break;                                                      
                                                                      
        if (rtems_rfs_dir_entry_valid (fs, elength, *ino))            
        {                                                             
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))       
   5ace2:	2f3c 0400 0000 	movel #67108864,%sp@-                       <== NOT EXECUTED
   5ace8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5acea:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5acec:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5acee:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5acf0:	663c           	bnes 5ad2e <rtems_rfs_dir_lookup_ino+0x40e> <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &entries);                   
      rtems_rfs_block_map_close (fs, &map);                           
      return rc;                                                      
    }                                                                 
                                                                      
    while ((rc == 0) && block)                                        
   5acf2:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   5acf4:	2d41 ff9c      	movel %d1,%fp@(-100)                        <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                     
                    "block map next block failed in ino %" PRIu32 ": %d: %s\n",
                    rtems_rfs_inode_ino (inode), rc, strerror (rc));  
        }                                                             
        if (rc == ENXIO)                                              
          rc = ENOENT;                                                
   5acf8:	262e ff9c      	movel %fp@(-100),%d3                        <== NOT EXECUTED
   5acfc:	2d43 ffa0      	movel %d3,%fp@(-96)                         <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5ad00:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
   5ad04:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5ad06:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5ad0c:	4200           	clrb %d0                                    <== NOT EXECUTED
   5ad0e:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
                rtems_rfs_inode_ino (inode), rc, strerror (rc));      
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &entries);                       
  rtems_rfs_block_map_close (fs, &map);                               
   5ad12:	486e ffb6      	pea %fp@(-74)                               <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5ad16:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
   5ad1a:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5ad1c:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5ad20:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5ad26:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5ad2a:	6000 fd60      	braw 5aa8c <rtems_rfs_dir_lookup_ino+0x16c> <== NOT EXECUTED
          break;                                                      
                                                                      
        if (rtems_rfs_dir_entry_valid (fs, elength, *ino))            
        {                                                             
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))       
            printf ("rtems-rfs: dir-lookup-ino: "                     
   5ad2e:	2f2e ffc8      	movel %fp@(-56),%sp@-                       <== NOT EXECUTED
   5ad32:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   5ad34:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5ad38:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5ad3a:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5ad3e:	4879 0007 27d6 	pea 727d6 <CSWTCH.2+0x70e>                  <== NOT EXECUTED
   5ad44:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ad4a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &entries);                   
      rtems_rfs_block_map_close (fs, &map);                           
      return rc;                                                      
    }                                                                 
                                                                      
    while ((rc == 0) && block)                                        
   5ad4e:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   5ad50:	2d41 ff9c      	movel %d1,%fp@(-100)                        <== NOT EXECUTED
   5ad54:	60a2           	bras 5acf8 <rtems_rfs_dir_lookup_ino+0x3d8> <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                     
                    "block map next block failed in ino %" PRIu32 ": %d: %s\n",
                    rtems_rfs_inode_ino (inode), rc, strerror (rc));  
        }                                                             
        if (rc == ENXIO)                                              
          rc = ENOENT;                                                
   5ad56:	7402           	moveq #2,%d2                                <== NOT EXECUTED
   5ad58:	2d42 ffa0      	movel %d2,%fp@(-96)                         <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &entries);                   
      rtems_rfs_block_map_close (fs, &map);                           
      return rc;                                                      
    }                                                                 
                                                                      
    while ((rc == 0) && block)                                        
   5ad5c:	242e ffa0      	movel %fp@(-96),%d2                         <== NOT EXECUTED
   5ad60:	2d42 ff9c      	movel %d2,%fp@(-100)                        <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                     
                    "block map next block failed in ino %" PRIu32 ": %d: %s\n",
                    rtems_rfs_inode_ino (inode), rc, strerror (rc));  
        }                                                             
        if (rc == ENXIO)                                              
          rc = ENOENT;                                                
   5ad64:	262e ff9c      	movel %fp@(-100),%d3                        <== NOT EXECUTED
   5ad68:	2d43 ffa0      	movel %d3,%fp@(-96)                         <== NOT EXECUTED
   5ad6c:	6092           	bras 5ad00 <rtems_rfs_dir_lookup_ino+0x3e0> <== NOT EXECUTED
     */                                                               
    rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);              
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))           
        printf ("rtems-rfs: dir-lookup-ino: block map find failed: %d: %s\n",
   5ad6e:	2f2e ffa0      	movel %fp@(-96),%sp@-                       <== NOT EXECUTED
   5ad72:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5ad78:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ad7a:	2f2e ffa0      	movel %fp@(-96),%sp@-                       <== NOT EXECUTED
   5ad7e:	4879 0007 2722 	pea 72722 <CSWTCH.2+0x65a>                  <== NOT EXECUTED
   5ad84:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ad8a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                rc, strerror (rc));                                   
      if (rc == ENXIO)                                                
   5ad8e:	7206           	moveq #6,%d1                                <== NOT EXECUTED
   5ad90:	b2ae ffa0      	cmpl %fp@(-96),%d1                          <== NOT EXECUTED
   5ad94:	6600 fccc      	bnew 5aa62 <rtems_rfs_dir_lookup_ino+0x142> <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5ad98:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
        rc = ENOENT;                                                  
   5ad9c:	7402           	moveq #2,%d2                                <== NOT EXECUTED
  handle->dirty = false;                                              
   5ad9e:	4203           	clrb %d3                                    <== NOT EXECUTED
   5ada0:	2d42 ffa0      	movel %d2,%fp@(-96)                         <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5ada4:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5ada6:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5adac:	1d43 ffac      	moveb %d3,%fp@(-84)                         <== NOT EXECUTED
   5adb0:	6000 fcc2      	braw 5aa74 <rtems_rfs_dir_lookup_ino+0x154> <== NOT EXECUTED
                    rtems_rfs_inode_ino (inode), map.bpos.bno, map.bpos.boff,
                    elength, rtems_rfs_dir_entry_ino (entry));        
                                                                      
          if (memcmp (entry + RTEMS_RFS_DIR_ENTRY_SIZE, name, length) == 0)
          {                                                           
            *offset = rtems_rfs_block_map_pos (fs, &map);             
   5adb4:	486e ffc4      	pea %fp@(-60)                               <== NOT EXECUTED
   5adb8:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5adba:	4eb9 0005 90f4 	jsr 590f4 <rtems_rfs_block_get_pos>         <== NOT EXECUTED
   5adc0:	206e 001c      	moveal %fp@(28),%a0                         <== NOT EXECUTED
                                                                      
            if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_FOUND))
   5adc4:	2f3c 1000 0000 	movel #268435456,%sp@-                      <== NOT EXECUTED
   5adca:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
                    rtems_rfs_inode_ino (inode), map.bpos.bno, map.bpos.boff,
                    elength, rtems_rfs_dir_entry_ino (entry));        
                                                                      
          if (memcmp (entry + RTEMS_RFS_DIR_ENTRY_SIZE, name, length) == 0)
          {                                                           
            *offset = rtems_rfs_block_map_pos (fs, &map);             
   5adcc:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
                                                                      
            if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO_FOUND))
   5adce:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5add0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5add4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5add6:	6700 ff28      	beqw 5ad00 <rtems_rfs_dir_lookup_ino+0x3e0> <== NOT EXECUTED
              printf ("rtems-rfs: dir-lookup-ino: "                   
   5adda:	206e 001c      	moveal %fp@(28),%a0                         <== NOT EXECUTED
   5adde:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5ade0:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5ade4:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   5ade6:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5adea:	4879 0007 287e 	pea 7287e <CSWTCH.2+0x7b6>                  <== NOT EXECUTED
   5adf0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5adf6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5adfa:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
   5adfe:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5ae00:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5ae06:	4200           	clrb %d0                                    <== NOT EXECUTED
   5ae08:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
   5ae0c:	6000 ff04      	braw 5ad12 <rtems_rfs_dir_lookup_ino+0x3f2> <== NOT EXECUTED
                rtems_rfs_inode_ino (inode), map.bpos.bno);           
                                                                      
      rc = rtems_rfs_buffer_handle_request (fs, &entries, block, true);
      if (rc > 0)                                                     
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))         
   5ae10:	2f3c 0400 0000 	movel #67108864,%sp@-                       <== NOT EXECUTED
   5ae16:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ae18:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5ae1a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ae1c:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ae1e:	6700 fed8      	beqw 5acf8 <rtems_rfs_dir_lookup_ino+0x3d8> <== NOT EXECUTED
          printf ("rtems-rfs: dir-lookup-ino: block read, ino=%" PRIu32 " block=%" PRId32 ": %d: %s\n",
   5ae22:	2f2e ff9c      	movel %fp@(-100),%sp@-                      <== NOT EXECUTED
   5ae26:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5ae2c:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5ae30:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ae32:	2f2e ff9c      	movel %fp@(-100),%sp@-                      <== NOT EXECUTED
   5ae36:	2f2e ffa8      	movel %fp@(-88),%sp@-                       <== NOT EXECUTED
   5ae3a:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5ae3e:	4879 0007 2794 	pea 72794 <CSWTCH.2+0x6cc>                  <== NOT EXECUTED
   5ae44:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                     
                    "block map next block failed in ino %" PRIu32 ": %d: %s\n",
                    rtems_rfs_inode_ino (inode), rc, strerror (rc));  
        }                                                             
        if (rc == ENXIO)                                              
          rc = ENOENT;                                                
   5ae4a:	262e ff9c      	movel %fp@(-100),%d3                        <== NOT EXECUTED
                                                                      
      rc = rtems_rfs_buffer_handle_request (fs, &entries, block, true);
      if (rc > 0)                                                     
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))         
          printf ("rtems-rfs: dir-lookup-ino: block read, ino=%" PRIu32 " block=%" PRId32 ": %d: %s\n",
   5ae4e:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
            printf ("rtems-rfs: dir-lookup-ino: "                     
                    "block map next block failed in ino %" PRIu32 ": %d: %s\n",
                    rtems_rfs_inode_ino (inode), rc, strerror (rc));  
        }                                                             
        if (rc == ENXIO)                                              
          rc = ENOENT;                                                
   5ae52:	2d43 ffa0      	movel %d3,%fp@(-96)                         <== NOT EXECUTED
   5ae56:	6000 fea8      	braw 5ad00 <rtems_rfs_dir_lookup_ino+0x3e0> <== NOT EXECUTED
    }                                                                 
                                                                      
    if ((rc == 0) && (block == 0))                                    
    {                                                                 
      rc = EIO;                                                       
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))           
   5ae5a:	2f3c 0400 0000 	movel #67108864,%sp@-                       <== NOT EXECUTED
   5ae60:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ae62:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5ae64:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ae66:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ae68:	661c           	bnes 5ae86 <rtems_rfs_dir_lookup_ino+0x566> <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5ae6a:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
      }                                                               
    }                                                                 
                                                                      
    if ((rc == 0) && (block == 0))                                    
    {                                                                 
      rc = EIO;                                                       
   5ae6e:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   5ae70:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5ae72:	2d42 ffa0      	movel %d2,%fp@(-96)                         <== NOT EXECUTED
   5ae76:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5ae7c:	4200           	clrb %d0                                    <== NOT EXECUTED
   5ae7e:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
   5ae82:	6000 fe8e      	braw 5ad12 <rtems_rfs_dir_lookup_ino+0x3f2> <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))           
        printf ("rtems-rfs: dir-lookup-ino: block is 0 in ino %" PRIu32 ": %d: %s\n",
   5ae86:	4878 0005      	pea 5 <COMPARE>                             <== NOT EXECUTED
      }                                                               
    }                                                                 
                                                                      
    if ((rc == 0) && (block == 0))                                    
    {                                                                 
      rc = EIO;                                                       
   5ae8a:	7605           	moveq #5,%d3                                <== NOT EXECUTED
   5ae8c:	2d43 ffa0      	movel %d3,%fp@(-96)                         <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_LOOKUP_INO))           
        printf ("rtems-rfs: dir-lookup-ino: block is 0 in ino %" PRIu32 ": %d: %s\n",
   5ae90:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5ae96:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5ae9a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ae9c:	4878 0005      	pea 5 <COMPARE>                             <== NOT EXECUTED
   5aea0:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5aea4:	4879 0007 2910 	pea 72910 <CSWTCH.2+0x848>                  <== NOT EXECUTED
   5aeaa:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5aeb0:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5aeb4:	486e ffac      	pea %fp@(-84)                               <== NOT EXECUTED
   5aeb8:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5aeba:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5aec0:	4200           	clrb %d0                                    <== NOT EXECUTED
   5aec2:	1d40 ffac      	moveb %d0,%fp@(-84)                         <== NOT EXECUTED
   5aec6:	6000 fe4a      	braw 5ad12 <rtems_rfs_dir_lookup_ino+0x3f2> <== NOT EXECUTED
                                                                      

0005b7f2 <rtems_rfs_dir_read>: rtems_rfs_dir_read (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* dir, rtems_rfs_pos_rel offset, struct dirent* dirent, size_t* length) {
   5b7f2:	4e56 ff70      	linkw %fp,#-144                             <== NOT EXECUTED
   5b7f6:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_rfs_block_map     map;                                        
  rtems_rfs_buffer_handle buffer;                                     
  rtems_rfs_block_no      block;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
   5b7fa:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    <== NOT EXECUTED
rtems_rfs_dir_read (rtems_rfs_file_system*  fs,                       
                    rtems_rfs_inode_handle* dir,                      
                    rtems_rfs_pos_rel       offset,                   
                    struct dirent*          dirent,                   
                    size_t*                 length)                   
{                                                                     
   5b800:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
  rtems_rfs_block_map     map;                                        
  rtems_rfs_buffer_handle buffer;                                     
  rtems_rfs_block_no      block;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
   5b804:	4bf9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a5             <== NOT EXECUTED
   5b80a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
rtems_rfs_dir_read (rtems_rfs_file_system*  fs,                       
                    rtems_rfs_inode_handle* dir,                      
                    rtems_rfs_pos_rel       offset,                   
                    struct dirent*          dirent,                   
                    size_t*                 length)                   
{                                                                     
   5b80c:	286e 001c      	moveal %fp@(28),%a4                         <== NOT EXECUTED
  rtems_rfs_block_map     map;                                        
  rtems_rfs_buffer_handle buffer;                                     
  rtems_rfs_block_no      block;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
   5b810:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   5b812:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b814:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b816:	6600 00a8      	bnew 5b8c0 <rtems_rfs_dir_read+0xce>        <== NOT EXECUTED
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",
            rtems_rfs_inode_ino (dir), offset);                       
                                                                      
  *length = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b81a:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5b81c:	0685 ffff ffb6 	addil #-74,%d5                              <== NOT EXECUTED
   5b822:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5b824:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",
            rtems_rfs_inode_ino (dir), offset);                       
                                                                      
  *length = 0;                                                        
   5b828:	4294           	clrl %a4@                                   <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b82a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b82c:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5b832:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",
            rtems_rfs_inode_ino (dir), offset);                       
                                                                      
  *length = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b836:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5b838:	6f0c           	bles 5b846 <rtems_rfs_dir_read+0x54>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5b83a:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5b83c:	4cee 3cfc ff70 	moveml %fp@(-144),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5b842:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5b844:	4e75           	rts                                         <== NOT EXECUTED
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  if (((rtems_rfs_fs_block_size (fs) -                                
        (offset % rtems_rfs_fs_block_size (fs))) <= RTEMS_RFS_DIR_ENTRY_SIZE))
   5b846:	262b 0008      	movel %a3@(8),%d3                           <== NOT EXECUTED
   5b84a:	4282           	clrl %d2                                    <== NOT EXECUTED
   5b84c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  if (((rtems_rfs_fs_block_size (fs) -                                
   5b84e:	2c02           	movel %d2,%d6                               <== NOT EXECUTED
   5b850:	2e03           	movel %d3,%d7                               <== NOT EXECUTED
        (offset % rtems_rfs_fs_block_size (fs))) <= RTEMS_RFS_DIR_ENTRY_SIZE))
   5b852:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b854:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5b858:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5b85c:	4eb9 0006 dbdc 	jsr 6dbdc <__moddi3>                        <== NOT EXECUTED
   5b862:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  if (((rtems_rfs_fs_block_size (fs) -                                
   5b866:	9e81           	subl %d1,%d7                                <== NOT EXECUTED
   5b868:	9d80           	subxl %d0,%d6                               <== NOT EXECUTED
   5b86a:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   5b86c:	2207           	movel %d7,%d1                               <== NOT EXECUTED
   5b86e:	4286           	clrl %d6                                    <== NOT EXECUTED
   5b870:	7e0a           	moveq #10,%d7                               <== NOT EXECUTED
   5b872:	9e81           	subl %d1,%d7                                <== NOT EXECUTED
   5b874:	9d80           	subxl %d0,%d6                               <== NOT EXECUTED
   5b876:	6c00 008e      	bgew 5b906 <rtems_rfs_dir_read+0x114>       <== NOT EXECUTED
        (offset % rtems_rfs_fs_block_size (fs))) <= RTEMS_RFS_DIR_ENTRY_SIZE))
    offset = (((offset / rtems_rfs_fs_block_size (fs)) + 1) *         
              rtems_rfs_fs_block_size (fs));                          
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);           
   5b87a:	260e           	movel %fp,%d3                               <== NOT EXECUTED
   5b87c:	0683 ffff ffa8 	addil #-88,%d3                              <== NOT EXECUTED
   5b882:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5b884:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5b888:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5b88c:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5b88e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b890:	4eb9 0005 96f8 	jsr 596f8 <rtems_rfs_block_map_seek>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5b896:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
  if (((rtems_rfs_fs_block_size (fs) -                                
        (offset % rtems_rfs_fs_block_size (fs))) <= RTEMS_RFS_DIR_ENTRY_SIZE))
    offset = (((offset / rtems_rfs_fs_block_size (fs)) + 1) *         
              rtems_rfs_fs_block_size (fs));                          
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);           
   5b89a:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5b89c:	6f00 00b4      	blew 5b952 <rtems_rfs_dir_read+0x160>       <== NOT EXECUTED
  {                                                                   
    if (rc == ENXIO)                                                  
   5b8a0:	7006           	moveq #6,%d0                                <== NOT EXECUTED
   5b8a2:	b084           	cmpl %d4,%d0                                <== NOT EXECUTED
   5b8a4:	6700 009a      	beqw 5b940 <rtems_rfs_dir_read+0x14e>       <== NOT EXECUTED
      rc = ENOENT;                                                    
    rtems_rfs_block_map_close (fs, &map);                             
   5b8a8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5b8aa:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b8ac:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5b8b2:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
  return rc;                                                          
}                                                                     
   5b8b4:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5b8b6:	4cee 3cfc ff70 	moveml %fp@(-144),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5b8bc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5b8be:	4e75           	rts                                         <== NOT EXECUTED
  rtems_rfs_buffer_handle buffer;                                     
  rtems_rfs_block_no      block;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",
   5b8c0:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
            rtems_rfs_inode_ino (dir), offset);                       
                                                                      
  *length = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b8c4:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5b8c6:	0685 ffff ffb6 	addil #-74,%d5                              <== NOT EXECUTED
  rtems_rfs_buffer_handle buffer;                                     
  rtems_rfs_block_no      block;                                      
  int                     rc;                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",
   5b8cc:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5b8d0:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5b8d4:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5b8d8:	4879 0007 2c09 	pea 72c09 <CSWTCH.2+0xb41>                  <== NOT EXECUTED
   5b8de:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5b8e4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rtems_rfs_inode_ino (dir), offset);                       
                                                                      
  *length = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b8e8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5b8ea:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                     
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",
            rtems_rfs_inode_ino (dir), offset);                       
                                                                      
  *length = 0;                                                        
   5b8ee:	4294           	clrl %a4@                                   <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b8f0:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b8f2:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
  if (rc > 0)                                                         
   5b8f8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    printf ("rtems-rfs: dir-read: dir=%" PRId32 " offset=%" PRId64 "\n",
            rtems_rfs_inode_ino (dir), offset);                       
                                                                      
  *length = 0;                                                        
                                                                      
  rc = rtems_rfs_block_map_open (fs, dir, &map);                      
   5b8fc:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5b8fe:	6e00 ff3a      	bgtw 5b83a <rtems_rfs_dir_read+0x48>        <== NOT EXECUTED
   5b902:	6000 ff42      	braw 5b846 <rtems_rfs_dir_read+0x54>        <== NOT EXECUTED
    return rc;                                                        
                                                                      
  if (((rtems_rfs_fs_block_size (fs) -                                
        (offset % rtems_rfs_fs_block_size (fs))) <= RTEMS_RFS_DIR_ENTRY_SIZE))
    offset = (((offset / rtems_rfs_fs_block_size (fs)) + 1) *         
   5b906:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5b908:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b90a:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5b90e:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5b912:	4eb9 0006 d77c 	jsr 6d77c <__divdi3>                        <== NOT EXECUTED
   5b918:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5b91c:	4287           	clrl %d7                                    <== NOT EXECUTED
   5b91e:	5281           	addql #1,%d1                                <== NOT EXECUTED
   5b920:	d187           	addxl %d7,%d0                               <== NOT EXECUTED
   5b922:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5b924:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5b926:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5b928:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5b92a:	4eb9 0006 d714 	jsr 6d714 <__muldi3>                        <== NOT EXECUTED
   5b930:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5b934:	2d40 0010      	movel %d0,%fp@(16)                          <== NOT EXECUTED
   5b938:	2d41 0014      	movel %d1,%fp@(20)                          <== NOT EXECUTED
   5b93c:	6000 ff3c      	braw 5b87a <rtems_rfs_dir_read+0x88>        <== NOT EXECUTED
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);           
  if (rc > 0)                                                         
  {                                                                   
    if (rc == ENXIO)                                                  
      rc = ENOENT;                                                    
    rtems_rfs_block_map_close (fs, &map);                             
   5b940:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_block_map_seek (fs, &map, offset, &block);           
  if (rc > 0)                                                         
  {                                                                   
    if (rc == ENXIO)                                                  
      rc = ENOENT;                                                    
   5b942:	7802           	moveq #2,%d4                                <== NOT EXECUTED
    rtems_rfs_block_map_close (fs, &map);                             
   5b944:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b946:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5b94c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b94e:	6000 ff64      	braw 5b8b4 <rtems_rfs_dir_read+0xc2>        <== NOT EXECUTED
   5b952:	2e0e           	movel %fp,%d7                               <== NOT EXECUTED
   5b954:	0687 ffff ffac 	addil #-84,%d7                              <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5b95a:	4201           	clrb %d1                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5b95c:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5b960:	1d41 ffac      	moveb %d1,%fp@(-84)                         <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5b964:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
    uint8_t*      entry;                                              
    rtems_rfs_ino eino;                                               
    int           elength;                                            
    int           remaining;                                          
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, true);  
   5b968:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5b96c:	2f2e ffa8      	movel %fp@(-88),%sp@-                       <== NOT EXECUTED
   5b970:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   5b972:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b974:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
    if (rc > 0)                                                       
   5b97a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5b97e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5b980:	6e6e           	bgts 5b9f0 <rtems_rfs_dir_read+0x1fe>       <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &buffer);                    
      rtems_rfs_block_map_close (fs, &map);                           
      return rc;                                                      
    }                                                                 
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
   5b982:	206e ffb2      	moveal %fp@(-78),%a0                        <== NOT EXECUTED
    entry += map.bpos.boff;                                           
                                                                      
    elength = rtems_rfs_dir_entry_length (entry);                     
   5b986:	4282           	clrl %d2                                    <== NOT EXECUTED
   5b988:	4284           	clrl %d4                                    <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      return rc;                                                      
    }                                                                 
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
    entry += map.bpos.boff;                                           
   5b98a:	222e ffc8      	movel %fp@(-56),%d1                         <== NOT EXECUTED
   5b98e:	2468 001a      	moveal %a0@(26),%a2                         <== NOT EXECUTED
   5b992:	d5c1           	addal %d1,%a2                               <== NOT EXECUTED
                                                                      
    elength = rtems_rfs_dir_entry_length (entry);                     
   5b994:	142a 0008      	moveb %a2@(8),%d2                           <== NOT EXECUTED
   5b998:	182a 0009      	moveb %a2@(9),%d4                           <== NOT EXECUTED
   5b99c:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
    eino    = rtems_rfs_dir_entry_ino (entry);                        
   5b99e:	1c2a 0001      	moveb %a2@(1),%d6                           <== NOT EXECUTED
   5b9a2:	1d52 ff9b      	moveb %a2@,%fp@(-101)                       <== NOT EXECUTED
    }                                                                 
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
    entry += map.bpos.boff;                                           
                                                                      
    elength = rtems_rfs_dir_entry_length (entry);                     
   5b9a6:	8484           	orl %d4,%d2                                 <== NOT EXECUTED
    eino    = rtems_rfs_dir_entry_ino (entry);                        
   5b9a8:	3246           	moveaw %d6,%a1                              <== NOT EXECUTED
   5b9aa:	182a 0002      	moveb %a2@(2),%d4                           <== NOT EXECUTED
   5b9ae:	1c2a 0003      	moveb %a2@(3),%d6                           <== NOT EXECUTED
                                                                      
    if (elength != RTEMS_RFS_DIR_ENTRY_EMPTY)                         
   5b9b2:	0c82 0000 ffff 	cmpil #65535,%d2                            <== NOT EXECUTED
   5b9b8:	6600 00c4      	bnew 5ba7e <rtems_rfs_dir_read+0x28c>       <== NOT EXECUTED
        printf ("rtems-rfs: dir-read: found off:%" PRIooff_t " ino:%ld name=%s\n",
                dirent->d_off, dirent->d_ino, dirent->d_name);        
      break;                                                          
    }                                                                 
                                                                      
    *length += rtems_rfs_fs_block_size (fs) - map.bpos.boff;          
   5b9bc:	202b 0008      	movel %a3@(8),%d0                           <== NOT EXECUTED
   5b9c0:	9081           	subl %d1,%d0                                <== NOT EXECUTED
   5b9c2:	d194           	addl %d0,%a4@                               <== NOT EXECUTED
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                   
   5b9c4:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    <== NOT EXECUTED
   5b9ca:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5b9cc:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   5b9ce:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5b9d0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5b9d2:	6650           	bnes 5ba24 <rtems_rfs_dir_read+0x232>       <== NOT EXECUTED
      printf ("rtems-rfs: dir-read: next block: off:%" PRId64 " length:%zd\n",
              offset, *length);                                       
                                                                      
    rc = rtems_rfs_block_map_next_block (fs, &map, &block);           
   5b9d4:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5b9d6:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5b9d8:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b9da:	4eb9 0005 9776 	jsr 59776 <rtems_rfs_block_map_next_block>  <== NOT EXECUTED
    if (rc == ENXIO)                                                  
   5b9e0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5b9e4:	7206           	moveq #6,%d1                                <== NOT EXECUTED
   5b9e6:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5b9e8:	676a           	beqs 5ba54 <rtems_rfs_dir_read+0x262>       <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Look for an empty entry and if this is the last block that is the end of
   * the directory.                                                   
   */                                                                 
  while (rc == 0)                                                     
   5b9ea:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5b9ec:	6700 ff7a      	beqw 5b968 <rtems_rfs_dir_read+0x176>       <== NOT EXECUTED
   5b9f0:	2800           	movel %d0,%d4                               <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b9f2:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
  handle->dirty = false;                                              
   5b9f4:	4203           	clrb %d3                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5b9f6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5b9f8:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5b9fe:	1d43 ffac      	moveb %d3,%fp@(-84)                         <== NOT EXECUTED
    if (rc == ENXIO)                                                  
      rc = ENOENT;                                                    
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
   5ba02:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5ba04:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
   5ba08:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5ba0a:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5ba0e:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5ba14:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  return rc;                                                          
}                                                                     
   5ba18:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5ba1a:	4cee 3cfc ff70 	moveml %fp@(-144),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5ba20:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ba22:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
                                                                      
    *length += rtems_rfs_fs_block_size (fs) - map.bpos.boff;          
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                   
      printf ("rtems-rfs: dir-read: next block: off:%" PRId64 " length:%zd\n",
   5ba24:	2f14           	movel %a4@,%sp@-                            <== NOT EXECUTED
   5ba26:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5ba2a:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5ba2e:	4879 0007 2cac 	pea 72cac <CSWTCH.2+0xbe4>                  <== NOT EXECUTED
   5ba34:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ba3a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              offset, *length);                                       
                                                                      
    rc = rtems_rfs_block_map_next_block (fs, &map, &block);           
   5ba3e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5ba40:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5ba42:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5ba44:	4eb9 0005 9776 	jsr 59776 <rtems_rfs_block_map_next_block>  <== NOT EXECUTED
    if (rc == ENXIO)                                                  
   5ba4a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5ba4e:	7206           	moveq #6,%d1                                <== NOT EXECUTED
   5ba50:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5ba52:	6696           	bnes 5b9ea <rtems_rfs_dir_read+0x1f8>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5ba54:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
      rc = ENOENT;                                                    
   5ba56:	7802           	moveq #2,%d4                                <== NOT EXECUTED
   5ba58:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  handle->dirty = false;                                              
   5ba5a:	4203           	clrb %d3                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5ba5c:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5ba62:	1d43 ffac      	moveb %d3,%fp@(-84)                         <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_handle_close (fs, &buffer);                        
  rtems_rfs_block_map_close (fs, &map);                               
   5ba66:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5ba68:	42ae ffae      	clrl %fp@(-82)                              <== NOT EXECUTED
   5ba6c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5ba6e:	42ae ffb2      	clrl %fp@(-78)                              <== NOT EXECUTED
   5ba72:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
   5ba78:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5ba7c:	609a           	bras 5ba18 <rtems_rfs_dir_read+0x226>       <== NOT EXECUTED
   5ba7e:	2d41 ffa0      	movel %d1,%fp@(-96)                         <== NOT EXECUTED
   5ba82:	1606           	moveb %d6,%d3                               <== NOT EXECUTED
   5ba84:	1c04           	moveb %d4,%d6                               <== NOT EXECUTED
   5ba86:	2800           	movel %d0,%d4                               <== NOT EXECUTED
   5ba88:	1003           	moveb %d3,%d0                               <== NOT EXECUTED
                                                                      
    entry  = rtems_rfs_buffer_data (&buffer);                         
    entry += map.bpos.boff;                                           
                                                                      
    elength = rtems_rfs_dir_entry_length (entry);                     
    eino    = rtems_rfs_dir_entry_ino (entry);                        
   5ba8a:	3609           	movew %a1,%d3                               <== NOT EXECUTED
   5ba8c:	122e ff9b      	moveb %fp@(-101),%d1                        <== NOT EXECUTED
   5ba90:	2d4a ff9c      	movel %a2,%fp@(-100)                        <== NOT EXECUTED
   5ba94:	0283 0000 00ff 	andil #255,%d3                              <== NOT EXECUTED
   5ba9a:	3041           	moveaw %d1,%a0                              <== NOT EXECUTED
   5ba9c:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5ba9e:	2243           	moveal %d3,%a1                              <== NOT EXECUTED
   5baa0:	2608           	movel %a0,%d3                               <== NOT EXECUTED
   5baa2:	e3ab           	lsll %d1,%d3                                <== NOT EXECUTED
   5baa4:	2209           	movel %a1,%d1                               <== NOT EXECUTED
   5baa6:	4841           	swap %d1                                    <== NOT EXECUTED
   5baa8:	4241           	clrw %d1                                    <== NOT EXECUTED
   5baaa:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   5bab0:	0286 0000 00ff 	andil #255,%d6                              <== NOT EXECUTED
   5bab6:	8681           	orl %d1,%d3                                 <== NOT EXECUTED
   5bab8:	e18e           	lsll #8,%d6                                 <== NOT EXECUTED
   5baba:	8680           	orl %d0,%d3                                 <== NOT EXECUTED
   5babc:	8686           	orl %d6,%d3                                 <== NOT EXECUTED
                                                                      
    if (elength != RTEMS_RFS_DIR_ENTRY_EMPTY)                         
    {                                                                 
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
   5babe:	7c0a           	moveq #10,%d6                               <== NOT EXECUTED
   5bac0:	bc82           	cmpl %d2,%d6                                <== NOT EXECUTED
   5bac2:	6c10           	bges 5bad4 <rtems_rfs_dir_read+0x2e2>       <== NOT EXECUTED
   5bac4:	b4ab 001c      	cmpl %a3@(28),%d2                           <== NOT EXECUTED
   5bac8:	640a           	bccs 5bad4 <rtems_rfs_dir_read+0x2e2>       <== NOT EXECUTED
   5baca:	4a83           	tstl %d3                                    <== NOT EXECUTED
   5bacc:	6706           	beqs 5bad4 <rtems_rfs_dir_read+0x2e2>       <== NOT EXECUTED
   5bace:	b6ab 0014      	cmpl %a3@(20),%d3                           <== NOT EXECUTED
   5bad2:	6318           	blss 5baec <rtems_rfs_dir_read+0x2fa>       <== NOT EXECUTED
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))               
   5bad4:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    <== NOT EXECUTED
   5bada:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5badc:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   5bade:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5bae0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5bae2:	6600 00f0      	bnew 5bbd4 <rtems_rfs_dir_read+0x3e2>       <== NOT EXECUTED
          printf ("rtems-rfs: dir-read: "                             
                  "bad length or ino for ino %" PRIu32 ": %u/%" PRId32 " @ %04" PRIx32 "\n",
                  rtems_rfs_inode_ino (dir), elength, eino, map.bpos.boff);
        rc = EIO;                                                     
   5bae6:	7805           	moveq #5,%d4                                <== NOT EXECUTED
   5bae8:	6000 ff08      	braw 5b9f2 <rtems_rfs_dir_read+0x200>       <== NOT EXECUTED
        break;                                                        
      }                                                               
                                                                      
      memset (dirent, 0, sizeof (struct dirent));                     
   5baec:	4878 0110      	pea 110 <DBL_MANT_DIG+0xdb>                 <== NOT EXECUTED
                                                                      
      *length += elength;                                             
                                                                      
      remaining = rtems_rfs_fs_block_size (fs) - (map.bpos.boff + elength);
                                                                      
      if (remaining <= RTEMS_RFS_DIR_ENTRY_SIZE)                      
   5baf0:	760a           	moveq #10,%d3                               <== NOT EXECUTED
                  rtems_rfs_inode_ino (dir), elength, eino, map.bpos.boff);
        rc = EIO;                                                     
        break;                                                        
      }                                                               
                                                                      
      memset (dirent, 0, sizeof (struct dirent));                     
   5baf2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5baf4:	2f2e 0018      	movel %fp@(24),%sp@-                        <== NOT EXECUTED
   5baf8:	4eb9 0006 159c 	jsr 6159c <memset>                          <== NOT EXECUTED
      dirent->d_off = offset;                                         
   5bafe:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
      dirent->d_reclen = sizeof (struct dirent);                      
                                                                      
      *length += elength;                                             
   5bb02:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5bb04:	d094           	addl %a4@,%d0                               <== NOT EXECUTED
                                                                      
      remaining = rtems_rfs_fs_block_size (fs) - (map.bpos.boff + elength);
                                                                      
      if (remaining <= RTEMS_RFS_DIR_ENTRY_SIZE)                      
   5bb06:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
        rc = EIO;                                                     
        break;                                                        
      }                                                               
                                                                      
      memset (dirent, 0, sizeof (struct dirent));                     
      dirent->d_off = offset;                                         
   5bb0a:	226e 0010      	moveal %fp@(16),%a1                         <== NOT EXECUTED
   5bb0e:	246e 0014      	moveal %fp@(20),%a2                         <== NOT EXECUTED
   5bb12:	2149 0004      	movel %a1,%a0@(4)                           <== NOT EXECUTED
   5bb16:	214a 0008      	movel %a2,%a0@(8)                           <== NOT EXECUTED
      dirent->d_reclen = sizeof (struct dirent);                      
   5bb1a:	327c 0110      	moveaw #272,%a1                             <== NOT EXECUTED
   5bb1e:	3149 000c      	movew %a1,%a0@(12)                          <== NOT EXECUTED
                                                                      
      *length += elength;                                             
   5bb22:	2880           	movel %d0,%a4@                              <== NOT EXECUTED
                                                                      
      remaining = rtems_rfs_fs_block_size (fs) - (map.bpos.boff + elength);
   5bb24:	222b 0008      	movel %a3@(8),%d1                           <== NOT EXECUTED
   5bb28:	92ae ffa0      	subl %fp@(-96),%d1                          <== NOT EXECUTED
   5bb2c:	9282           	subl %d2,%d1                                <== NOT EXECUTED
                                                                      
      if (remaining <= RTEMS_RFS_DIR_ENTRY_SIZE)                      
   5bb2e:	b681           	cmpl %d1,%d3                                <== NOT EXECUTED
   5bb30:	6d04           	blts 5bb36 <rtems_rfs_dir_read+0x344>       <== NOT EXECUTED
        *length += remaining;                                         
   5bb32:	d280           	addl %d0,%d1                                <== NOT EXECUTED
   5bb34:	2881           	movel %d1,%a4@                              <== NOT EXECUTED
                                                                      
      elength -= RTEMS_RFS_DIR_ENTRY_SIZE;                            
   5bb36:	0682 ffff fff6 	addil #-10,%d2                              <== NOT EXECUTED
   5bb3c:	0c82 0000 00ff 	cmpil #255,%d2                              <== NOT EXECUTED
   5bb42:	6f06           	bles 5bb4a <rtems_rfs_dir_read+0x358>       <== NOT EXECUTED
   5bb44:	243c 0000 00ff 	movel #255,%d2                              <== NOT EXECUTED
      if (elength > NAME_MAX)                                         
        elength = NAME_MAX;                                           
                                                                      
      memcpy (dirent->d_name, entry + RTEMS_RFS_DIR_ENTRY_SIZE, elength);
   5bb4a:	206e ff9c      	moveal %fp@(-100),%a0                       <== NOT EXECUTED
                                                                      
      dirent->d_ino = rtems_rfs_dir_entry_ino (entry);                
   5bb4e:	4283           	clrl %d3                                    <== NOT EXECUTED
                                                                      
      elength -= RTEMS_RFS_DIR_ENTRY_SIZE;                            
      if (elength > NAME_MAX)                                         
        elength = NAME_MAX;                                           
                                                                      
      memcpy (dirent->d_name, entry + RTEMS_RFS_DIR_ENTRY_SIZE, elength);
   5bb50:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5bb52:	4868 000a      	pea %a0@(10)                                <== NOT EXECUTED
   5bb56:	2c2e 0018      	movel %fp@(24),%d6                          <== NOT EXECUTED
   5bb5a:	0686 0000 0010 	addil #16,%d6                               <== NOT EXECUTED
   5bb60:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5bb62:	4eb9 0006 1438 	jsr 61438 <memcpy>                          <== NOT EXECUTED
                                                                      
      dirent->d_ino = rtems_rfs_dir_entry_ino (entry);                
   5bb68:	226e ff9c      	moveal %fp@(-100),%a1                       <== NOT EXECUTED
   5bb6c:	4280           	clrl %d0                                    <== NOT EXECUTED
   5bb6e:	1011           	moveb %a1@,%d0                              <== NOT EXECUTED
   5bb70:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5bb72:	1629 0001      	moveb %a1@(1),%d3                           <== NOT EXECUTED
   5bb76:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   5bb78:	4281           	clrl %d1                                    <== NOT EXECUTED
   5bb7a:	1229 0003      	moveb %a1@(3),%d1                           <== NOT EXECUTED
   5bb7e:	2041           	moveal %d1,%a0                              <== NOT EXECUTED
   5bb80:	1229 0002      	moveb %a1@(2),%d1                           <== NOT EXECUTED
   5bb84:	4843           	swap %d3                                    <== NOT EXECUTED
   5bb86:	4243           	clrw %d3                                    <== NOT EXECUTED
   5bb88:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   5bb8a:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   5bb8c:	2608           	movel %a0,%d3                               <== NOT EXECUTED
   5bb8e:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
      dirent->d_namlen = elength;                                     
   5bb90:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
      if (elength > NAME_MAX)                                         
        elength = NAME_MAX;                                           
                                                                      
      memcpy (dirent->d_name, entry + RTEMS_RFS_DIR_ENTRY_SIZE, elength);
                                                                      
      dirent->d_ino = rtems_rfs_dir_entry_ino (entry);                
   5bb94:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
      dirent->d_namlen = elength;                                     
   5bb96:	3142 000e      	movew %d2,%a0@(14)                          <== NOT EXECUTED
      if (elength > NAME_MAX)                                         
        elength = NAME_MAX;                                           
                                                                      
      memcpy (dirent->d_name, entry + RTEMS_RFS_DIR_ENTRY_SIZE, elength);
                                                                      
      dirent->d_ino = rtems_rfs_dir_entry_ino (entry);                
   5bb9a:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
      dirent->d_namlen = elength;                                     
                                                                      
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))                 
   5bb9c:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    <== NOT EXECUTED
   5bba2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5bba4:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   5bba6:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5bbaa:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5bbac:	6700 fe44      	beqw 5b9f2 <rtems_rfs_dir_read+0x200>       <== NOT EXECUTED
        printf ("rtems-rfs: dir-read: found off:%" PRIooff_t " ino:%ld name=%s\n",
   5bbb0:	226e 0018      	moveal %fp@(24),%a1                         <== NOT EXECUTED
   5bbb4:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5bbb6:	2f11           	movel %a1@,%sp@-                            <== NOT EXECUTED
   5bbb8:	2f29 0008      	movel %a1@(8),%sp@-                         <== NOT EXECUTED
   5bbbc:	2f29 0004      	movel %a1@(4),%sp@-                         <== NOT EXECUTED
   5bbc0:	4879 0007 2c77 	pea 72c77 <CSWTCH.2+0xbaf>                  <== NOT EXECUTED
   5bbc6:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5bbcc:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5bbd0:	6000 fe20      	braw 5b9f2 <rtems_rfs_dir_read+0x200>       <== NOT EXECUTED
    if (elength != RTEMS_RFS_DIR_ENTRY_EMPTY)                         
    {                                                                 
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))               
          printf ("rtems-rfs: dir-read: "                             
   5bbd4:	2f2e ffc8      	movel %fp@(-56),%sp@-                       <== NOT EXECUTED
                  "bad length or ino for ino %" PRIu32 ": %u/%" PRId32 " @ %04" PRIx32 "\n",
                  rtems_rfs_inode_ino (dir), elength, eino, map.bpos.boff);
        rc = EIO;                                                     
   5bbd8:	7805           	moveq #5,%d4                                <== NOT EXECUTED
    if (elength != RTEMS_RFS_DIR_ENTRY_EMPTY)                         
    {                                                                 
      if (rtems_rfs_dir_entry_valid (fs, elength, eino))              
      {                                                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_DIR_READ))               
          printf ("rtems-rfs: dir-read: "                             
   5bbda:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   5bbde:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5bbe0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5bbe2:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   5bbe6:	4879 0007 2c33 	pea 72c33 <CSWTCH.2+0xb6b>                  <== NOT EXECUTED
   5bbec:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5bbf2:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5bbf6:	6000 fdfa      	braw 5b9f2 <rtems_rfs_dir_read+0x200>       <== NOT EXECUTED
                                                                      

0005c2bc <rtems_rfs_file_close>: } int rtems_rfs_file_close (rtems_rfs_file_system* fs, rtems_rfs_file_handle* handle) {
   5c2bc:	4e56 ffe8      	linkw %fp,#-24                              <== NOT EXECUTED
   5c2c0:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 <== NOT EXECUTED
  int rrc;                                                            
  int rc;                                                             
                                                                      
  rrc = 0;                                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                   
   5c2c4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c2c6:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   5c2ca:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             <== NOT EXECUTED
}                                                                     
                                                                      
int                                                                   
rtems_rfs_file_close (rtems_rfs_file_system* fs,                      
                      rtems_rfs_file_handle* handle)                  
{                                                                     
   5c2d0:	262e 0008      	movel %fp@(8),%d3                           <== NOT EXECUTED
   5c2d4:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  int rrc;                                                            
  int rc;                                                             
                                                                      
  rrc = 0;                                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                   
   5c2d8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c2da:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c2dc:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c2de:	6600 01f4      	bnew 5c4d4 <rtems_rfs_file_close+0x218>     <== NOT EXECUTED
    printf ("rtems-rfs: file-close: entry: ino=%" PRId32 "\n",        
            handle->shared->inode.ino);                               
                                                                      
  if (handle->shared->references > 0)                                 
   5c2e2:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c2e6:	2228 0008      	movel %a0@(8),%d1                           <== NOT EXECUTED
   5c2ea:	6f06           	bles 5c2f2 <rtems_rfs_file_close+0x36>      <== NOT EXECUTED
    handle->shared->references--;                                     
   5c2ec:	5381           	subql #1,%d1                                <== NOT EXECUTED
   5c2ee:	2141 0008      	movel %d1,%a0@(8)                           <== NOT EXECUTED
                                                                      
  if (handle->shared->references == 0)                                
   5c2f2:	4a81           	tstl %d1                                    <== NOT EXECUTED
   5c2f4:	6600 01aa      	bnew 5c4a0 <rtems_rfs_file_close+0x1e4>     <== NOT EXECUTED
  {                                                                   
    if (!rtems_rfs_inode_is_loaded (&handle->shared->inode))          
   5c2f8:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c2fc:	4a89           	tstl %a1                                    <== NOT EXECUTED
   5c2fe:	6700 029c      	beqw 5c59c <rtems_rfs_file_close+0x2e0>     <== NOT EXECUTED
    if (rrc == 0)                                                     
    {                                                                 
      /*                                                              
       * @todo This could be clever and only update if different.     
       */                                                             
      rtems_rfs_inode_set_atime (&handle->shared->inode,              
   5c302:	2028 0084      	movel %a0@(132),%d0                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   5c306:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5c308:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c30a:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
   5c30c:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5c30e:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   5c310:	1342 0010      	moveb %d2,%a1@(16)                          <== NOT EXECUTED
   5c314:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c316:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c31a:	4242           	clrw %d2                                    <== NOT EXECUTED
   5c31c:	4842           	swap %d2                                    <== NOT EXECUTED
   5c31e:	1342 0011      	moveb %d2,%a1@(17)                          <== NOT EXECUTED
   5c322:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c326:	1341 0012      	moveb %d1,%a1@(18)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   5c32a:	7218           	moveq #24,%d1                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   5c32c:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c330:	1340 0013      	moveb %d0,%a1@(19)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5c334:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5c336:	1140 001c      	moveb %d0,%a0@(28)                          <== NOT EXECUTED
                                 handle->shared->atime);              
      rtems_rfs_inode_set_mtime (&handle->shared->inode,              
                                 handle->shared->mtime);              
   5c33a:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
      /*                                                              
       * @todo This could be clever and only update if different.     
       */                                                             
      rtems_rfs_inode_set_atime (&handle->shared->inode,              
                                 handle->shared->atime);              
      rtems_rfs_inode_set_mtime (&handle->shared->inode,              
   5c33e:	2028 0088      	movel %a0@(136),%d0                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   5c342:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c344:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
   5c346:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5c348:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   5c34a:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c34e:	1342 0014      	moveb %d2,%a1@(20)                          <== NOT EXECUTED
   5c352:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c354:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c358:	4242           	clrw %d2                                    <== NOT EXECUTED
   5c35a:	4842           	swap %d2                                    <== NOT EXECUTED
   5c35c:	1342 0015      	moveb %d2,%a1@(21)                          <== NOT EXECUTED
   5c360:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c364:	1341 0016      	moveb %d1,%a1@(22)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          ctime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->ctime, ctime);                  
   5c368:	7218           	moveq #24,%d1                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   5c36a:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c36e:	1340 0017      	moveb %d0,%a1@(23)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5c372:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5c374:	1140 001c      	moveb %d0,%a0@(28)                          <== NOT EXECUTED
                                 handle->shared->mtime);              
      rtems_rfs_inode_set_ctime (&handle->shared->inode,              
                                 handle->shared->ctime);              
   5c378:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
       */                                                             
      rtems_rfs_inode_set_atime (&handle->shared->inode,              
                                 handle->shared->atime);              
      rtems_rfs_inode_set_mtime (&handle->shared->inode,              
                                 handle->shared->mtime);              
      rtems_rfs_inode_set_ctime (&handle->shared->inode,              
   5c37c:	2028 008c      	movel %a0@(140),%d0                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          ctime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->ctime, ctime);                  
   5c380:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c382:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
   5c384:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5c386:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   5c388:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c38c:	1342 0018      	moveb %d2,%a1@(24)                          <== NOT EXECUTED
   5c390:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c392:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c396:	4242           	clrw %d2                                    <== NOT EXECUTED
   5c398:	4842           	swap %d2                                    <== NOT EXECUTED
   5c39a:	1342 0019      	moveb %d2,%a1@(25)                          <== NOT EXECUTED
   5c39e:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c3a2:	1341 001a      	moveb %d1,%a1@(26)                          <== NOT EXECUTED
   5c3a6:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c3aa:	1340 001b      	moveb %d0,%a1@(27)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5c3ae:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5c3b0:	1140 001c      	moveb %d0,%a0@(28)                          <== NOT EXECUTED
                                 handle->shared->ctime);              
      if (!rtems_rfs_block_size_equal (&handle->shared->size,         
   5c3b4:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c3b8:	2028 007c      	movel %a0@(124),%d0                         <== NOT EXECUTED
   5c3bc:	b0a8 0038      	cmpl %a0@(56),%d0                           <== NOT EXECUTED
   5c3c0:	6700 01c8      	beqw 5c58a <rtems_rfs_file_close+0x2ce>     <== NOT EXECUTED
   5c3c4:	2228 0080      	movel %a0@(128),%d1                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_block_map_set_size (rtems_rfs_block_map*  map,              
                              rtems_rfs_block_size* size)             
{                                                                     
  rtems_rfs_block_copy_size (&map->size, size);                       
   5c3c8:	2141 003c      	movel %d1,%a0@(60)                          <== NOT EXECUTED
  map->dirty = true;                                                  
   5c3cc:	4282           	clrl %d2                                    <== NOT EXECUTED
   5c3ce:	7201           	moveq #1,%d1                                <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_block_map_set_size (rtems_rfs_block_map*  map,              
                              rtems_rfs_block_size* size)             
{                                                                     
  rtems_rfs_block_copy_size (&map->size, size);                       
   5c3d0:	2140 0038      	movel %d0,%a0@(56)                          <== NOT EXECUTED
  map->dirty = true;                                                  
   5c3d4:	1141 0032      	moveb %d1,%a0@(50)                          <== NOT EXECUTED
                                       &handle->shared->map.size))    
        rtems_rfs_block_map_set_size (&handle->shared->map,           
                                      &handle->shared->size);         
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_close (fs, &handle->shared->map);        
   5c3d8:	4868 0032      	pea %a0@(50)                                <== NOT EXECUTED
   5c3dc:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c3de:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
    if (rc > 0)                                                       
   5c3e4:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                       &handle->shared->map.size))    
        rtems_rfs_block_map_set_size (&handle->shared->map,           
                                      &handle->shared->size);         
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_close (fs, &handle->shared->map);        
   5c3e6:	2800           	movel %d0,%d4                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5c3e8:	6f16           	bles 5c400 <rtems_rfs_file_close+0x144>     <== NOT EXECUTED
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))               
   5c3ea:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c3ec:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   5c3f0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c3f2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c3f4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c3f6:	6600 016a      	bnew 5c562 <rtems_rfs_file_close+0x2a6>     <== NOT EXECUTED
        printf ("rtems-rfs: file-close: map close error: ino=%" PRId32 ": %d: %s\n",
                handle->shared->inode.ino, rc, strerror (rc));        
      if (rrc == 0)                                                   
   5c3fa:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5c3fc:	6602           	bnes 5c400 <rtems_rfs_file_close+0x144>     <== NOT EXECUTED
   5c3fe:	2404           	movel %d4,%d2                               <== NOT EXECUTED
        rrc = rc;                                                     
    }                                                                 
                                                                      
    rc = rtems_rfs_inode_close (fs, &handle->shared->inode);          
   5c400:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c404:	41e8 000c      	lea %a0@(12),%a0                            <== NOT EXECUTED
   5c408:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5c40a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c40c:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
    if (rc > 0)                                                       
   5c412:	508f           	addql #8,%sp                                <== NOT EXECUTED
                handle->shared->inode.ino, rc, strerror (rc));        
      if (rrc == 0)                                                   
        rrc = rc;                                                     
    }                                                                 
                                                                      
    rc = rtems_rfs_inode_close (fs, &handle->shared->inode);          
   5c414:	2800           	movel %d0,%d4                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5c416:	6f00 0100      	blew 5c518 <rtems_rfs_file_close+0x25c>     <== NOT EXECUTED
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))               
   5c41a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c41c:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   5c420:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c422:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c424:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c426:	6600 00c6      	bnew 5c4ee <rtems_rfs_file_close+0x232>     <== NOT EXECUTED
        printf ("rtems-rfs: file-close: inode close error: ino=%" PRId32 ": %d: %s\n",
                handle->shared->inode.ino, rc, strerror (rc));        
      if (rrc == 0)                                                   
   5c42a:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5c42c:	6600 00ea      	bnew 5c518 <rtems_rfs_file_close+0x25c>     <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void rtems_chain_extract(                        
  rtems_chain_node *the_node                                          
)                                                                     
{                                                                     
  _Chain_Extract( the_node );                                         
   5c430:	2f2a 001a      	movel %a2@(26),%sp@-                        <== NOT EXECUTED
        rrc = rc;                                                     
    }                                                                 
                                                                      
    rtems_chain_extract (&handle->shared->link);                      
    free (handle->shared);                                            
   5c434:	49f9 0004 7344 	lea 47344 <free>,%a4                        <== NOT EXECUTED
   5c43a:	2404           	movel %d4,%d2                               <== NOT EXECUTED
   5c43c:	4eb9 0005 7274 	jsr 57274 <_Chain_Extract>                  <== NOT EXECUTED
   5c442:	2f2a 001a      	movel %a2@(26),%sp@-                        <== NOT EXECUTED
   5c446:	4e94           	jsr %a4@                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5c448:	486a 0004      	pea %a2@(4)                                 <== NOT EXECUTED
   5c44c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c44e:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c454:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c458:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5c45a:	42aa 0006      	clrl %a2@(6)                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c45e:	1540 0004      	moveb %d0,%a2@(4)                           <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c462:	42aa 000a      	clrl %a2@(10)                               <== NOT EXECUTED
  if ((rrc == 0) && (rc > 0))                                         
    rrc = rc;                                                         
                                                                      
  if (rrc > 0)                                                        
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                 
   5c466:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c468:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   5c46c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c46e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c470:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c472:	671c           	beqs 5c490 <rtems_rfs_file_close+0x1d4>     <== NOT EXECUTED
      printf ("rtems-rfs: file-close: result: %d: %s\n", rrc, strerror (rrc));
   5c474:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5c476:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5c47c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c47e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5c480:	4879 0007 2eb8 	pea 72eb8 <CSWTCH.2+0xdf0>                  <== NOT EXECUTED
   5c486:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c48c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  free (handle);                                                      
   5c490:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5c492:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                                                      
  return rrc;                                                         
}                                                                     
   5c494:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5c496:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   5c49c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c49e:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5c4a0:	486a 0004      	pea %a2@(4)                                 <== NOT EXECUTED
   5c4a4:	49f9 0004 7344 	lea 47344 <free>,%a4                        <== NOT EXECUTED
                      rtems_rfs_file_handle* handle)                  
{                                                                     
  int rrc;                                                            
  int rc;                                                             
                                                                      
  rrc = 0;                                                            
   5c4aa:	4282           	clrl %d2                                    <== NOT EXECUTED
   5c4ac:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c4ae:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c4b4:	508f           	addql #8,%sp                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c4b6:	4201           	clrb %d1                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5c4b8:	42aa 0006      	clrl %a2@(6)                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c4bc:	1541 0004      	moveb %d1,%a2@(4)                           <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c4c0:	42aa 000a      	clrl %a2@(10)                               <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                 
      printf ("rtems-rfs: file-close: result: %d: %s\n", rrc, strerror (rrc));
  }                                                                   
                                                                      
  free (handle);                                                      
   5c4c4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5c4c6:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                                                      
  return rrc;                                                         
}                                                                     
   5c4c8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5c4ca:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   5c4d0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c4d2:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  rrc = 0;                                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                   
    printf ("rtems-rfs: file-close: entry: ino=%" PRId32 "\n",        
            handle->shared->inode.ino);                               
   5c4d4:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
  int rc;                                                             
                                                                      
  rrc = 0;                                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                   
    printf ("rtems-rfs: file-close: entry: ino=%" PRId32 "\n",        
   5c4d8:	2f28 0014      	movel %a0@(20),%sp@-                        <== NOT EXECUTED
   5c4dc:	4879 0007 2e1d 	pea 72e1d <CSWTCH.2+0xd55>                  <== NOT EXECUTED
   5c4e2:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c4e8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c4ea:	6000 fdf6      	braw 5c2e2 <rtems_rfs_file_close+0x26>      <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_inode_close (fs, &handle->shared->inode);          
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))               
        printf ("rtems-rfs: file-close: inode close error: ino=%" PRId32 ": %d: %s\n",
   5c4ee:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5c4f0:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
                handle->shared->inode.ino, rc, strerror (rc));        
   5c4f6:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_inode_close (fs, &handle->shared->inode);          
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))               
        printf ("rtems-rfs: file-close: inode close error: ino=%" PRId32 ": %d: %s\n",
   5c4fa:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c4fc:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5c4fe:	2f28 0014      	movel %a0@(20),%sp@-                        <== NOT EXECUTED
   5c502:	4879 0007 2e7d 	pea 72e7d <CSWTCH.2+0xdb5>                  <== NOT EXECUTED
   5c508:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c50e:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
                handle->shared->inode.ino, rc, strerror (rc));        
      if (rrc == 0)                                                   
   5c512:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5c514:	6700 ff1a      	beqw 5c430 <rtems_rfs_file_close+0x174>     <== NOT EXECUTED
   5c518:	2f2a 001a      	movel %a2@(26),%sp@-                        <== NOT EXECUTED
        rrc = rc;                                                     
    }                                                                 
                                                                      
    rtems_chain_extract (&handle->shared->link);                      
    free (handle->shared);                                            
   5c51c:	49f9 0004 7344 	lea 47344 <free>,%a4                        <== NOT EXECUTED
   5c522:	4eb9 0005 7274 	jsr 57274 <_Chain_Extract>                  <== NOT EXECUTED
   5c528:	2f2a 001a      	movel %a2@(26),%sp@-                        <== NOT EXECUTED
   5c52c:	4e94           	jsr %a4@                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5c52e:	486a 0004      	pea %a2@(4)                                 <== NOT EXECUTED
   5c532:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c534:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_buffer_handle_close (fs, &handle->buffer);           
  if ((rrc == 0) && (rc > 0))                                         
    rrc = rc;                                                         
                                                                      
  if (rrc > 0)                                                        
   5c53a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  handle->dirty = false;                                              
   5c53e:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5c540:	42aa 0006      	clrl %a2@(6)                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c544:	1540 0004      	moveb %d0,%a2@(4)                           <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c548:	42aa 000a      	clrl %a2@(10)                               <== NOT EXECUTED
   5c54c:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5c54e:	6e00 ff16      	bgtw 5c466 <rtems_rfs_file_close+0x1aa>     <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))                 
      printf ("rtems-rfs: file-close: result: %d: %s\n", rrc, strerror (rrc));
  }                                                                   
                                                                      
  free (handle);                                                      
   5c552:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5c554:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                                                      
  return rrc;                                                         
}                                                                     
   5c556:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5c558:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   5c55e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c560:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_block_map_close (fs, &handle->shared->map);        
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))               
        printf ("rtems-rfs: file-close: map close error: ino=%" PRId32 ": %d: %s\n",
   5c562:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5c564:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
                handle->shared->inode.ino, rc, strerror (rc));        
   5c56a:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_block_map_close (fs, &handle->shared->map);        
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_CLOSE))               
        printf ("rtems-rfs: file-close: map close error: ino=%" PRId32 ": %d: %s\n",
   5c56e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c570:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5c572:	2f28 0014      	movel %a0@(20),%sp@-                        <== NOT EXECUTED
   5c576:	4879 0007 2e44 	pea 72e44 <CSWTCH.2+0xd7c>                  <== NOT EXECUTED
   5c57c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c582:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5c586:	6000 fe72      	braw 5c3fa <rtems_rfs_file_close+0x13e>     <== NOT EXECUTED
                                 handle->shared->atime);              
      rtems_rfs_inode_set_mtime (&handle->shared->inode,              
                                 handle->shared->mtime);              
      rtems_rfs_inode_set_ctime (&handle->shared->inode,              
                                 handle->shared->ctime);              
      if (!rtems_rfs_block_size_equal (&handle->shared->size,         
   5c58a:	2228 0080      	movel %a0@(128),%d1                         <== NOT EXECUTED
   5c58e:	b2a8 003c      	cmpl %a0@(60),%d1                           <== NOT EXECUTED
   5c592:	6600 fe34      	bnew 5c3c8 <rtems_rfs_file_close+0x10c>     <== NOT EXECUTED
   5c596:	4282           	clrl %d2                                    <== NOT EXECUTED
   5c598:	6000 fe3e      	braw 5c3d8 <rtems_rfs_file_close+0x11c>     <== NOT EXECUTED
    handle->shared->references--;                                     
                                                                      
  if (handle->shared->references == 0)                                
  {                                                                   
    if (!rtems_rfs_inode_is_loaded (&handle->shared->inode))          
      rrc = rtems_rfs_inode_load (fs, &handle->shared->inode);        
   5c59c:	4868 000c      	pea %a0@(12)                                <== NOT EXECUTED
   5c5a0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c5a2:	4eb9 0005 11fc 	jsr 511fc <rtems_rfs_inode_load>            <== NOT EXECUTED
   5c5a8:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c5ac:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
    if (rrc == 0)                                                     
   5c5ae:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c5b0:	6600 fe26      	bnew 5c3d8 <rtems_rfs_file_close+0x11c>     <== NOT EXECUTED
    {                                                                 
      /*                                                              
       * @todo This could be clever and only update if different.     
       */                                                             
      rtems_rfs_inode_set_atime (&handle->shared->inode,              
   5c5b4:	2028 0084      	movel %a0@(132),%d0                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   5c5b8:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5c5ba:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c5bc:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
   5c5be:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5c5c0:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   5c5c2:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c5c6:	1342 0010      	moveb %d2,%a1@(16)                          <== NOT EXECUTED
   5c5ca:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c5cc:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c5d0:	4242           	clrw %d2                                    <== NOT EXECUTED
   5c5d2:	4842           	swap %d2                                    <== NOT EXECUTED
   5c5d4:	1342 0011      	moveb %d2,%a1@(17)                          <== NOT EXECUTED
   5c5d8:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c5dc:	1341 0012      	moveb %d1,%a1@(18)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   5c5e0:	7218           	moveq #24,%d1                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   5c5e2:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c5e6:	1340 0013      	moveb %d0,%a1@(19)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5c5ea:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5c5ec:	1140 001c      	moveb %d0,%a0@(28)                          <== NOT EXECUTED
                                 handle->shared->atime);              
      rtems_rfs_inode_set_mtime (&handle->shared->inode,              
                                 handle->shared->mtime);              
   5c5f0:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
      /*                                                              
       * @todo This could be clever and only update if different.     
       */                                                             
      rtems_rfs_inode_set_atime (&handle->shared->inode,              
                                 handle->shared->atime);              
      rtems_rfs_inode_set_mtime (&handle->shared->inode,              
   5c5f4:	2028 0088      	movel %a0@(136),%d0                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   5c5f8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c5fa:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
   5c5fc:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5c5fe:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   5c600:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c604:	1342 0014      	moveb %d2,%a1@(20)                          <== NOT EXECUTED
   5c608:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c60a:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c60e:	4242           	clrw %d2                                    <== NOT EXECUTED
   5c610:	4842           	swap %d2                                    <== NOT EXECUTED
   5c612:	1342 0015      	moveb %d2,%a1@(21)                          <== NOT EXECUTED
   5c616:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c61a:	1341 0016      	moveb %d1,%a1@(22)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          ctime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->ctime, ctime);                  
   5c61e:	7218           	moveq #24,%d1                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   5c620:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c624:	1340 0017      	moveb %d0,%a1@(23)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5c628:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5c62a:	1140 001c      	moveb %d0,%a0@(28)                          <== NOT EXECUTED
                                 handle->shared->mtime);              
      rtems_rfs_inode_set_ctime (&handle->shared->inode,              
                                 handle->shared->ctime);              
   5c62e:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
       */                                                             
      rtems_rfs_inode_set_atime (&handle->shared->inode,              
                                 handle->shared->atime);              
      rtems_rfs_inode_set_mtime (&handle->shared->inode,              
                                 handle->shared->mtime);              
      rtems_rfs_inode_set_ctime (&handle->shared->inode,              
   5c632:	2028 008c      	movel %a0@(140),%d0                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          ctime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->ctime, ctime);                  
   5c636:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c638:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
   5c63a:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5c63c:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   5c63e:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c642:	1342 0018      	moveb %d2,%a1@(24)                          <== NOT EXECUTED
   5c646:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5c648:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c64c:	4242           	clrw %d2                                    <== NOT EXECUTED
   5c64e:	4842           	swap %d2                                    <== NOT EXECUTED
   5c650:	1342 0019      	moveb %d2,%a1@(25)                          <== NOT EXECUTED
   5c654:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c658:	1341 001a      	moveb %d1,%a1@(26)                          <== NOT EXECUTED
   5c65c:	2268 0018      	moveal %a0@(24),%a1                         <== NOT EXECUTED
   5c660:	1340 001b      	moveb %d0,%a1@(27)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5c664:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5c666:	1140 001c      	moveb %d0,%a0@(28)                          <== NOT EXECUTED
                                 handle->shared->ctime);              
      if (!rtems_rfs_block_size_equal (&handle->shared->size,         
   5c66a:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c66e:	2028 007c      	movel %a0@(124),%d0                         <== NOT EXECUTED
   5c672:	b0a8 0038      	cmpl %a0@(56),%d0                           <== NOT EXECUTED
   5c676:	6600 fd4c      	bnew 5c3c4 <rtems_rfs_file_close+0x108>     <== NOT EXECUTED
   5c67a:	6000 ff0e      	braw 5c58a <rtems_rfs_file_close+0x2ce>     <== NOT EXECUTED
                                                                      

0005cfd8 <rtems_rfs_file_get_shared>: } rtems_rfs_file_shared* rtems_rfs_file_get_shared (rtems_rfs_file_system* fs, rtems_rfs_ino ino) {
   5cfd8:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5cfdc:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
RTEMS_INLINE_ROUTINE bool _Chain_Is_tail(                             
  const Chain_Control *the_chain,                                     
  const Chain_Node    *the_node                                       
)                                                                     
{                                                                     
  return (the_node == _Chain_Immutable_tail( the_chain ));            
   5cfe0:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   5cfe2:	0680 0000 0078 	addil #120,%d0                              <== NOT EXECUTED
   5cfe8:	222e 000c      	movel %fp@(12),%d1                          <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   5cfec:	2068 0074      	moveal %a0@(116),%a0                        <== NOT EXECUTED
  rtems_chain_node* node;                                             
  node = rtems_chain_first (&fs->file_shares);                        
  while (!rtems_chain_is_tail (&fs->file_shares, node))               
   5cff0:	b088           	cmpl %a0,%d0                                <== NOT EXECUTED
   5cff2:	670c           	beqs 5d000 <rtems_rfs_file_get_shared+0x28> <== NOT EXECUTED
  {                                                                   
    rtems_rfs_file_shared* shared;                                    
    shared = (rtems_rfs_file_shared*) node;                           
    if (shared->inode.ino == ino)                                     
   5cff4:	b2a8 0014      	cmpl %a0@(20),%d1                           <== NOT EXECUTED
   5cff8:	670c           	beqs 5d006 <rtems_rfs_file_get_shared+0x2e> <== NOT EXECUTED
      return shared;                                                  
    node = rtems_chain_next (node);                                   
  }                                                                   
  return NULL;                                                        
}                                                                     
   5cffa:	2050           	moveal %a0@,%a0                             <== NOT EXECUTED
rtems_rfs_file_get_shared (rtems_rfs_file_system* fs,                 
                           rtems_rfs_ino          ino)                
{                                                                     
  rtems_chain_node* node;                                             
  node = rtems_chain_first (&fs->file_shares);                        
  while (!rtems_chain_is_tail (&fs->file_shares, node))               
   5cffc:	b088           	cmpl %a0,%d0                                <== NOT EXECUTED
   5cffe:	66f4           	bnes 5cff4 <rtems_rfs_file_get_shared+0x1c> <== NOT EXECUTED
    shared = (rtems_rfs_file_shared*) node;                           
    if (shared->inode.ino == ino)                                     
      return shared;                                                  
    node = rtems_chain_next (node);                                   
  }                                                                   
  return NULL;                                                        
   5d000:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5d002:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5d004:	4e75           	rts                                         <== NOT EXECUTED
   5d006:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   5d008:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005c8dc <rtems_rfs_file_io_end>: int rtems_rfs_file_io_end (rtems_rfs_file_handle* handle, size_t size, bool read) {
   5c8dc:	4e56 ffe4      	linkw %fp,#-28                              <== NOT EXECUTED
   5c8e0:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 <== NOT EXECUTED
  bool atime;                                                         
  bool mtime;                                                         
  bool length;                                                        
  int  rc = 0;                                                        
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5c8e4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c8e6:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5c8ea:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_file_io_end (rtems_rfs_file_handle* handle,                 
                       size_t                 size,                   
                       bool                   read)                   
{                                                                     
   5c8f0:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
   5c8f4:	282e 000c      	movel %fp@(12),%d4                          <== NOT EXECUTED
   5c8f8:	162e 0013      	moveb %fp@(19),%d3                          <== NOT EXECUTED
  bool atime;                                                         
  bool mtime;                                                         
  bool length;                                                        
  int  rc = 0;                                                        
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5c8fc:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c8fe:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c900:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c902:	6720           	beqs 5c924 <rtems_rfs_file_io_end+0x48>     <== NOT EXECUTED
    printf ("rtems-rfs: file-io:   end: %s size=%zu\n",               
   5c904:	4a03           	tstb %d3                                    <== NOT EXECUTED
   5c906:	6700 0160      	beqw 5ca68 <rtems_rfs_file_io_end+0x18c>    <== NOT EXECUTED
   5c90a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5c90c:	203c 0007 1e6b 	movel #466539,%d0                           <== NOT EXECUTED
   5c912:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c914:	4879 0007 2f96 	pea 72f96 <CSWTCH.2+0xece>                  <== NOT EXECUTED
   5c91a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c920:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
            read ? "read" : "write", size);                           
                                                                      
  if (rtems_rfs_buffer_handle_has_block (&handle->buffer))            
   5c924:	4aaa 000a      	tstl %a2@(10)                               <== NOT EXECUTED
   5c928:	675c           	beqs 5c986 <rtems_rfs_file_io_end+0xaa>     <== NOT EXECUTED
  {                                                                   
    if (!read)                                                        
   5c92a:	4a03           	tstb %d3                                    <== NOT EXECUTED
   5c92c:	6606           	bnes 5c934 <rtems_rfs_file_io_end+0x58>     <== NOT EXECUTED
      rtems_rfs_buffer_mark_dirty (rtems_rfs_file_buffer (handle));   
   5c92e:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5c930:	1540 0004      	moveb %d0,%a2@(4)                           <== NOT EXECUTED
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle), 
   5c934:	486a 0004      	pea %a2@(4)                                 <== NOT EXECUTED
   5c938:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c93c:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5c940:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
                                          rtems_rfs_file_buffer (handle));
    if (rc > 0)                                                       
   5c946:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
  if (rtems_rfs_buffer_handle_has_block (&handle->buffer))            
  {                                                                   
    if (!read)                                                        
      rtems_rfs_buffer_mark_dirty (rtems_rfs_file_buffer (handle));   
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle), 
   5c948:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                          rtems_rfs_file_buffer (handle));
    if (rc > 0)                                                       
   5c94a:	6f3c           	bles 5c988 <rtems_rfs_file_io_end+0xac>     <== NOT EXECUTED
    {                                                                 
      printf (                                                        
   5c94c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c94e:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5c954:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5c956:	4a03           	tstb %d3                                    <== NOT EXECUTED
   5c958:	6600 0170      	bnew 5caca <rtems_rfs_file_io_end+0x1ee>    <== NOT EXECUTED
   5c95c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c95e:	223c 0007 2edf 	movel #470751,%d1                           <== NOT EXECUTED
   5c964:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5c966:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5c968:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5c96a:	4879 0007 2fbe 	pea 72fbe <CSWTCH.2+0xef6>                  <== NOT EXECUTED
   5c970:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
        "rtems-rfs: file-io:   end: error on release: %s size=%zu: %d: %s\n",
        read ? "read" : "write", size, rc, strerror (rc));            
                                                                      
      return rc;                                                      
   5c976:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
    handle->shared->size.offset =                                     
      rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle));  
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5c97a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5c97c:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            <== NOT EXECUTED
   5c982:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c984:	4e75           	rts                                         <== NOT EXECUTED
                       bool                   read)                   
{                                                                     
  bool atime;                                                         
  bool mtime;                                                         
  bool length;                                                        
  int  rc = 0;                                                        
   5c986:	4282           	clrl %d2                                    <== NOT EXECUTED
   * the size with the new length. The map holds the block count.     
   */                                                                 
  handle->bpos.boff += size;                                          
                                                                      
  if (handle->bpos.boff >=                                            
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))           
   5c988:	226a 001a      	moveal %a2@(26),%a1                         <== NOT EXECUTED
   * increase the block number and adjust the offset.                 
   *                                                                  
   * If we are the last block and the position is past the current size update
   * the size with the new length. The map holds the block count.     
   */                                                                 
  handle->bpos.boff += size;                                          
   5c98c:	d8aa 0012      	addl %a2@(18),%d4                           <== NOT EXECUTED
                                                                      
  if (handle->bpos.boff >=                                            
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))           
   5c990:	2069 0090      	moveal %a1@(144),%a0                        <== NOT EXECUTED
   5c994:	2028 0008      	movel %a0@(8),%d0                           <== NOT EXECUTED
   * increase the block number and adjust the offset.                 
   *                                                                  
   * If we are the last block and the position is past the current size update
   * the size with the new length. The map holds the block count.     
   */                                                                 
  handle->bpos.boff += size;                                          
   5c998:	2544 0012      	movel %d4,%a2@(18)                          <== NOT EXECUTED
                                                                      
  if (handle->bpos.boff >=                                            
   5c99c:	b084           	cmpl %d4,%d0                                <== NOT EXECUTED
   5c99e:	620a           	bhis 5c9aa <rtems_rfs_file_io_end+0xce>     <== NOT EXECUTED
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))           
  {                                                                   
    handle->bpos.bno++;                                               
    handle->bpos.boff -= rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
   5c9a0:	9880           	subl %d0,%d4                                <== NOT EXECUTED
  handle->bpos.boff += size;                                          
                                                                      
  if (handle->bpos.boff >=                                            
      rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))           
  {                                                                   
    handle->bpos.bno++;                                               
   5c9a2:	52aa 000e      	addql #1,%a2@(14)                           <== NOT EXECUTED
    handle->bpos.boff -= rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
   5c9a6:	2544 0012      	movel %d4,%a2@(18)                          <== NOT EXECUTED
  }                                                                   
                                                                      
  length = false;                                                     
  mtime = false;                                                      
                                                                      
  if (!read &&                                                        
   5c9aa:	4a03           	tstb %d3                                    <== NOT EXECUTED
   5c9ac:	6600 00e4      	bnew 5ca92 <rtems_rfs_file_io_end+0x1b6>    <== NOT EXECUTED
      rtems_rfs_block_map_past_end (rtems_rfs_file_map (handle),      
   5c9b0:	202a 000e      	movel %a2@(14),%d0                          <== NOT EXECUTED
   5c9b4:	2229 0038      	movel %a1@(56),%d1                          <== NOT EXECUTED
  }                                                                   
                                                                      
  length = false;                                                     
  mtime = false;                                                      
                                                                      
  if (!read &&                                                        
   5c9b8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5c9ba:	6700 00ca      	beqw 5ca86 <rtems_rfs_file_io_end+0x1aa>    <== NOT EXECUTED
      rtems_rfs_block_map_past_end (rtems_rfs_file_map (handle),      
   5c9be:	4a81           	tstl %d1                                    <== NOT EXECUTED
   5c9c0:	6600 00c4      	bnew 5ca86 <rtems_rfs_file_io_end+0x1aa>    <== NOT EXECUTED
   5c9c4:	222a 0012      	movel %a2@(18),%d1                          <== NOT EXECUTED
                                         handle->bpos.boff);          
    length = true;                                                    
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
   5c9c8:	2012           	movel %a2@,%d0                              <== NOT EXECUTED
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
   5c9ca:	2800           	movel %d0,%d4                               <== NOT EXECUTED
   5c9cc:	7c01           	moveq #1,%d6                                <== NOT EXECUTED
   5c9ce:	e28c           	lsrl #1,%d4                                 <== NOT EXECUTED
                                         handle->bpos.boff);          
    length = true;                                                    
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
   5c9d0:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
   5c9d2:	4685           	notl %d5                                    <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_block_map_set_size_offset (rtems_rfs_block_map* map,        
                                     rtems_rfs_block_off  offset)     
{                                                                     
  map->size.offset = offset;                                          
   5c9d4:	2341 003c      	movel %d1,%a1@(60)                          <== NOT EXECUTED
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
   5c9d8:	bd84           	eorl %d6,%d4                                <== NOT EXECUTED
  map->dirty = true;                                                  
   5c9da:	7201           	moveq #1,%d1                                <== NOT EXECUTED
                                         handle->bpos.boff);          
    length = true;                                                    
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
   5c9dc:	ca86           	andl %d6,%d5                                <== NOT EXECUTED
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
   5c9de:	c886           	andl %d6,%d4                                <== NOT EXECUTED
   5c9e0:	1341 0032      	moveb %d1,%a1@(50)                          <== NOT EXECUTED
  length = rtems_rfs_file_update_length (handle) && length;           
   5c9e4:	44c0           	movew %d0,%ccr                              <== NOT EXECUTED
   5c9e6:	6700 00b4      	beqw 5ca9c <rtems_rfs_file_io_end+0x1c0>    <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5c9ea:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c9ec:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5c9f0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c9f2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c9f4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c9f6:	6700 014c      	beqw 5cb44 <rtems_rfs_file_io_end+0x268>    <== NOT EXECUTED
    printf ("rtems-rfs: file-io:   end: pos=%" PRIu32 ":%" PRIu32 " %c %c %c\n",
   5c9fa:	307c 004c      	moveaw #76,%a0                              <== NOT EXECUTED
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
  length = rtems_rfs_file_update_length (handle) && length;           
   5c9fe:	7c01           	moveq #1,%d6                                <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-io:   end: pos=%" PRIu32 ":%" PRIu32 " %c %c %c\n",
   5ca00:	4a04           	tstb %d4                                    <== NOT EXECUTED
   5ca02:	6700 0114      	beqw 5cb18 <rtems_rfs_file_io_end+0x23c>    <== NOT EXECUTED
   5ca06:	724d           	moveq #77,%d1                               <== NOT EXECUTED
   5ca08:	4a05           	tstb %d5                                    <== NOT EXECUTED
   5ca0a:	6700 0114      	beqw 5cb20 <rtems_rfs_file_io_end+0x244>    <== NOT EXECUTED
   5ca0e:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5ca10:	7041           	moveq #65,%d0                               <== NOT EXECUTED
   5ca12:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5ca14:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ca16:	2f2a 0012      	movel %a2@(18),%sp@-                        <== NOT EXECUTED
   5ca1a:	2f2a 000e      	movel %a2@(14),%sp@-                        <== NOT EXECUTED
   5ca1e:	4879 0007 3000 	pea 73000 <CSWTCH.2+0xf38>                  <== NOT EXECUTED
   5ca24:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ca2a:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
            handle->bpos.bno, handle->bpos.boff,                      
            atime ? 'A' : '-', mtime ? 'M' : '-', length ? 'L' : '-');
                                                                      
  if (atime || mtime)                                                 
   5ca2e:	4a05           	tstb %d5                                    <== NOT EXECUTED
   5ca30:	667e           	bnes 5cab0 <rtems_rfs_file_io_end+0x1d4>    <== NOT EXECUTED
   5ca32:	4a04           	tstb %d4                                    <== NOT EXECUTED
   5ca34:	6710           	beqs 5ca46 <rtems_rfs_file_io_end+0x16a>    <== NOT EXECUTED
  {                                                                   
    time_t now = time (NULL);                                         
   5ca36:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ca38:	4eb9 0006 503c 	jsr 6503c <time>                            <== NOT EXECUTED
    if (read && atime)                                                
   5ca3e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5ca40:	4a03           	tstb %d3                                    <== NOT EXECUTED
   5ca42:	6700 00bc      	beqw 5cb00 <rtems_rfs_file_io_end+0x224>    <== NOT EXECUTED
      handle->shared->atime = now;                                    
    if (!read && mtime)                                               
      handle->shared->mtime = now;                                    
  }                                                                   
  if (length)                                                         
   5ca46:	4a06           	tstb %d6                                    <== NOT EXECUTED
   5ca48:	6700 ff30      	beqw 5c97a <rtems_rfs_file_io_end+0x9e>     <== NOT EXECUTED
  {                                                                   
    handle->shared->size.count =                                      
      rtems_rfs_block_map_count (rtems_rfs_file_map (handle));        
   5ca4c:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
    handle->shared->size.offset =                                     
      rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle));  
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5ca50:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5ca52:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            <== NOT EXECUTED
    if (!read && mtime)                                               
      handle->shared->mtime = now;                                    
  }                                                                   
  if (length)                                                         
  {                                                                   
    handle->shared->size.count =                                      
   5ca58:	2168 0038 007c 	movel %a0@(56),%a0@(124)                    <== NOT EXECUTED
    handle->shared->size.offset =                                     
      rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle));  
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5ca5e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  }                                                                   
  if (length)                                                         
  {                                                                   
    handle->shared->size.count =                                      
      rtems_rfs_block_map_count (rtems_rfs_file_map (handle));        
    handle->shared->size.offset =                                     
   5ca60:	2168 003c 0080 	movel %a0@(60),%a0@(128)                    <== NOT EXECUTED
      rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle));  
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5ca66:	4e75           	rts                                         <== NOT EXECUTED
  bool mtime;                                                         
  bool length;                                                        
  int  rc = 0;                                                        
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-io:   end: %s size=%zu\n",               
   5ca68:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5ca6a:	203c 0007 2edf 	movel #470751,%d0                           <== NOT EXECUTED
   5ca70:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ca72:	4879 0007 2f96 	pea 72f96 <CSWTCH.2+0xece>                  <== NOT EXECUTED
   5ca78:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ca7e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5ca82:	6000 fea0      	braw 5c924 <rtems_rfs_file_io_end+0x48>     <== NOT EXECUTED
                                                                      
  length = false;                                                     
  mtime = false;                                                      
                                                                      
  if (!read &&                                                        
      rtems_rfs_block_map_past_end (rtems_rfs_file_map (handle),      
   5ca86:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5ca88:	6300 ff3a      	blsw 5c9c4 <rtems_rfs_file_io_end+0xe8>     <== NOT EXECUTED
   5ca8c:	5381           	subql #1,%d1                                <== NOT EXECUTED
   5ca8e:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5ca90:	675a           	beqs 5caec <rtems_rfs_file_io_end+0x210>    <== NOT EXECUTED
                                         handle->bpos.boff);          
    length = true;                                                    
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
   5ca92:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
   5ca94:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5ca96:	ca92           	andl %a2@,%d5                               <== NOT EXECUTED
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
   5ca98:	4204           	clrb %d4                                    <== NOT EXECUTED
                                         handle->bpos.boff);          
    length = true;                                                    
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
   5ca9a:	b185           	eorl %d0,%d5                                <== NOT EXECUTED
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
  length = rtems_rfs_file_update_length (handle) && length;           
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5ca9c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ca9e:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5caa2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5caa4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5caa6:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5caa8:	6662           	bnes 5cb0c <rtems_rfs_file_io_end+0x230>    <== NOT EXECUTED
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
  length = rtems_rfs_file_update_length (handle) && length;           
   5caaa:	4206           	clrb %d6                                    <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-io:   end: pos=%" PRIu32 ":%" PRIu32 " %c %c %c\n",
            handle->bpos.bno, handle->bpos.boff,                      
            atime ? 'A' : '-', mtime ? 'M' : '-', length ? 'L' : '-');
                                                                      
  if (atime || mtime)                                                 
   5caac:	4a05           	tstb %d5                                    <== NOT EXECUTED
   5caae:	6782           	beqs 5ca32 <rtems_rfs_file_io_end+0x156>    <== NOT EXECUTED
  {                                                                   
    time_t now = time (NULL);                                         
   5cab0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5cab2:	4eb9 0006 503c 	jsr 6503c <time>                            <== NOT EXECUTED
    if (read && atime)                                                
   5cab8:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5caba:	4a03           	tstb %d3                                    <== NOT EXECUTED
   5cabc:	673c           	beqs 5cafa <rtems_rfs_file_io_end+0x21e>    <== NOT EXECUTED
      handle->shared->atime = now;                                    
   5cabe:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cac2:	2140 0084      	movel %d0,%a0@(132)                         <== NOT EXECUTED
   5cac6:	6000 ff7e      	braw 5ca46 <rtems_rfs_file_io_end+0x16a>    <== NOT EXECUTED
      rtems_rfs_buffer_mark_dirty (rtems_rfs_file_buffer (handle));   
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle), 
                                          rtems_rfs_file_buffer (handle));
    if (rc > 0)                                                       
    {                                                                 
      printf (                                                        
   5caca:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5cacc:	223c 0007 1e6b 	movel #466539,%d1                           <== NOT EXECUTED
   5cad2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5cad4:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5cad6:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5cad8:	4879 0007 2fbe 	pea 72fbe <CSWTCH.2+0xef6>                  <== NOT EXECUTED
   5cade:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
        "rtems-rfs: file-io:   end: error on release: %s size=%zu: %d: %s\n",
        read ? "read" : "write", size, rc, strerror (rc));            
                                                                      
      return rc;                                                      
   5cae4:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5cae8:	6000 fe90      	braw 5c97a <rtems_rfs_file_io_end+0x9e>     <== NOT EXECUTED
                                                                      
  length = false;                                                     
  mtime = false;                                                      
                                                                      
  if (!read &&                                                        
      rtems_rfs_block_map_past_end (rtems_rfs_file_map (handle),      
   5caec:	222a 0012      	movel %a2@(18),%d1                          <== NOT EXECUTED
   5caf0:	b2a9 003c      	cmpl %a1@(60),%d1                           <== NOT EXECUTED
   5caf4:	639c           	blss 5ca92 <rtems_rfs_file_io_end+0x1b6>    <== NOT EXECUTED
   5caf6:	6000 fed0      	braw 5c9c8 <rtems_rfs_file_io_end+0xec>     <== NOT EXECUTED
  if (atime || mtime)                                                 
  {                                                                   
    time_t now = time (NULL);                                         
    if (read && atime)                                                
      handle->shared->atime = now;                                    
    if (!read && mtime)                                               
   5cafa:	4a04           	tstb %d4                                    <== NOT EXECUTED
   5cafc:	6700 ff48      	beqw 5ca46 <rtems_rfs_file_io_end+0x16a>    <== NOT EXECUTED
      handle->shared->mtime = now;                                    
   5cb00:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cb04:	2140 0088      	movel %d0,%a0@(136)                         <== NOT EXECUTED
   5cb08:	6000 ff3c      	braw 5ca46 <rtems_rfs_file_io_end+0x16a>    <== NOT EXECUTED
  atime  = rtems_rfs_file_update_atime (handle);                      
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
  length = rtems_rfs_file_update_length (handle) && length;           
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-io:   end: pos=%" PRIu32 ":%" PRIu32 " %c %c %c\n",
   5cb0c:	307c 002d      	moveaw #45,%a0                              <== NOT EXECUTED
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
  length = rtems_rfs_file_update_length (handle) && length;           
   5cb10:	4206           	clrb %d6                                    <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-io:   end: pos=%" PRIu32 ":%" PRIu32 " %c %c %c\n",
   5cb12:	4a04           	tstb %d4                                    <== NOT EXECUTED
   5cb14:	6600 fef0      	bnew 5ca06 <rtems_rfs_file_io_end+0x12a>    <== NOT EXECUTED
   5cb18:	722d           	moveq #45,%d1                               <== NOT EXECUTED
   5cb1a:	4a05           	tstb %d5                                    <== NOT EXECUTED
   5cb1c:	6600 fef0      	bnew 5ca0e <rtems_rfs_file_io_end+0x132>    <== NOT EXECUTED
   5cb20:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5cb22:	702d           	moveq #45,%d0                               <== NOT EXECUTED
   5cb24:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5cb26:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5cb28:	2f2a 0012      	movel %a2@(18),%sp@-                        <== NOT EXECUTED
   5cb2c:	2f2a 000e      	movel %a2@(14),%sp@-                        <== NOT EXECUTED
   5cb30:	4879 0007 3000 	pea 73000 <CSWTCH.2+0xf38>                  <== NOT EXECUTED
   5cb36:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5cb3c:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   5cb40:	6000 feec      	braw 5ca2e <rtems_rfs_file_io_end+0x152>    <== NOT EXECUTED
    mtime = true;                                                     
  }                                                                   
                                                                      
  atime  = rtems_rfs_file_update_atime (handle);                      
  mtime  = rtems_rfs_file_update_mtime (handle) && mtime;             
  length = rtems_rfs_file_update_length (handle) && length;           
   5cb44:	7c01           	moveq #1,%d6                                <== NOT EXECUTED
   5cb46:	6000 fee6      	braw 5ca2e <rtems_rfs_file_io_end+0x152>    <== NOT EXECUTED
                                                                      

0005cb4a <rtems_rfs_file_io_release>: return rc; } int rtems_rfs_file_io_release (rtems_rfs_file_handle* handle) {
   5cb4a:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5cb4e:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  int rc = 0;                                                         
  if (rtems_rfs_buffer_handle_has_block (&handle->buffer))            
   5cb52:	4aa8 000a      	tstl %a0@(10)                               <== NOT EXECUTED
   5cb56:	6718           	beqs 5cb70 <rtems_rfs_file_io_release+0x26> <== NOT EXECUTED
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle), 
   5cb58:	4868 0004      	pea %a0@(4)                                 <== NOT EXECUTED
   5cb5c:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   5cb60:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cb64:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
   5cb6a:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                          rtems_rfs_file_buffer (handle));
  return rc;                                                          
}                                                                     
   5cb6c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5cb6e:	4e75           	rts                                         <== NOT EXECUTED
}                                                                     
                                                                      
int                                                                   
rtems_rfs_file_io_release (rtems_rfs_file_handle* handle)             
{                                                                     
  int rc = 0;                                                         
   5cb70:	4280           	clrl %d0                                    <== NOT EXECUTED
  if (rtems_rfs_buffer_handle_has_block (&handle->buffer))            
    rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle), 
                                          rtems_rfs_file_buffer (handle));
  return rc;                                                          
}                                                                     
   5cb72:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005c67e <rtems_rfs_file_io_start>: int rtems_rfs_file_io_start (rtems_rfs_file_handle* handle, size_t* available, bool read) {
   5c67e:	4e56 ffe8      	linkw %fp,#-24                              <== NOT EXECUTED
   5c682:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 <== NOT EXECUTED
  size_t size;                                                        
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5c686:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c688:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5c68c:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_file_io_start (rtems_rfs_file_handle* handle,               
                         size_t*                available,            
                         bool                   read)                 
{                                                                     
   5c692:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
   5c696:	286e 000c      	moveal %fp@(12),%a4                         <== NOT EXECUTED
   5c69a:	142e 0013      	moveb %fp@(19),%d2                          <== NOT EXECUTED
  size_t size;                                                        
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5c69e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c6a0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c6a2:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c6a4:	672a           	beqs 5c6d0 <rtems_rfs_file_io_start+0x52>   <== NOT EXECUTED
    printf ("rtems-rfs: file-io: start: %s pos=%" PRIu32 ":%" PRIu32 "\n",
   5c6a6:	206a 0012      	moveal %a2@(18),%a0                         <== NOT EXECUTED
   5c6aa:	222a 000e      	movel %a2@(14),%d1                          <== NOT EXECUTED
   5c6ae:	4a02           	tstb %d2                                    <== NOT EXECUTED
   5c6b0:	6700 00aa      	beqw 5c75c <rtems_rfs_file_io_start+0xde>   <== NOT EXECUTED
   5c6b4:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5c6b6:	203c 0007 1e6b 	movel #466539,%d0                           <== NOT EXECUTED
   5c6bc:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5c6be:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c6c0:	4879 0007 2ee5 	pea 72ee5 <CSWTCH.2+0xe1d>                  <== NOT EXECUTED
   5c6c6:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c6cc:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            read ? "read" : "write",  handle->bpos.bno, handle->bpos.boff);
                                                                      
  if (!rtems_rfs_buffer_handle_has_block (&handle->buffer))           
   5c6d0:	4aaa 000a      	tstl %a2@(10)                               <== NOT EXECUTED
   5c6d4:	6700 00a6      	beqw 5c77c <rtems_rfs_file_io_start+0xfe>   <== NOT EXECUTED
    if (rc > 0)                                                       
      return rc;                                                      
  }                                                                   
                                                                      
  if (read                                                            
      && rtems_rfs_block_map_last (rtems_rfs_file_map (handle))       
   5c6d8:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
                                          block, request_read);       
    if (rc > 0)                                                       
      return rc;                                                      
  }                                                                   
                                                                      
  if (read                                                            
   5c6dc:	4a02           	tstb %d2                                    <== NOT EXECUTED
   5c6de:	673e           	beqs 5c71e <rtems_rfs_file_io_start+0xa0>   <== NOT EXECUTED
      && rtems_rfs_block_map_last (rtems_rfs_file_map (handle))       
   5c6e0:	2028 0040      	movel %a0@(64),%d0                          <== NOT EXECUTED
   5c6e4:	2228 0038      	movel %a0@(56),%d1                          <== NOT EXECUTED
   5c6e8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5c6ea:	662c           	bnes 5c718 <rtems_rfs_file_io_start+0x9a>   <== NOT EXECUTED
   5c6ec:	4a81           	tstl %d1                                    <== NOT EXECUTED
   5c6ee:	6628           	bnes 5c718 <rtems_rfs_file_io_start+0x9a>   <== NOT EXECUTED
      && rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle)))
   5c6f0:	2428 003c      	movel %a0@(60),%d2                          <== NOT EXECUTED
   5c6f4:	6728           	beqs 5c71e <rtems_rfs_file_io_start+0xa0>   <== NOT EXECUTED
    size = rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle));
  else                                                                
    size = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));      
                                                                      
  *available = size - rtems_rfs_file_block_offset (handle);           
   5c6f6:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5c6f8:	90aa 0012      	subl %a2@(18),%d0                           <== NOT EXECUTED
   5c6fc:	2880           	movel %d0,%a4@                              <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5c6fe:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c700:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5c704:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c706:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c708:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c70a:	6630           	bnes 5c73c <rtems_rfs_file_io_start+0xbe>   <== NOT EXECUTED
    printf ("rtems-rfs: file-io: start: available=%zu (%zu)\n",       
            *available, size);                                        
                                                                      
  return 0;                                                           
   5c70c:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5c70e:	4cee 1c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   5c714:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c716:	4e75           	rts                                         <== NOT EXECUTED
    if (rc > 0)                                                       
      return rc;                                                      
  }                                                                   
                                                                      
  if (read                                                            
      && rtems_rfs_block_map_last (rtems_rfs_file_map (handle))       
   5c718:	5381           	subql #1,%d1                                <== NOT EXECUTED
   5c71a:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5c71c:	67d2           	beqs 5c6f0 <rtems_rfs_file_io_start+0x72>   <== NOT EXECUTED
      && rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle)))
    size = rtems_rfs_block_map_size_offset (rtems_rfs_file_map (handle));
  else                                                                
    size = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));      
   5c71e:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
   5c722:	2428 0008      	movel %a0@(8),%d2                           <== NOT EXECUTED
                                                                      
  *available = size - rtems_rfs_file_block_offset (handle);           
   5c726:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5c728:	90aa 0012      	subl %a2@(18),%d0                           <== NOT EXECUTED
   5c72c:	2880           	movel %d0,%a4@                              <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5c72e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c730:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5c734:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c736:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c738:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c73a:	67d0           	beqs 5c70c <rtems_rfs_file_io_start+0x8e>   <== NOT EXECUTED
    printf ("rtems-rfs: file-io: start: available=%zu (%zu)\n",       
   5c73c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5c73e:	2f14           	movel %a4@,%sp@-                            <== NOT EXECUTED
   5c740:	4879 0007 2f66 	pea 72f66 <CSWTCH.2+0xe9e>                  <== NOT EXECUTED
   5c746:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c74c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
            *available, size);                                        
                                                                      
  return 0;                                                           
   5c750:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5c752:	4cee 1c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   5c758:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c75a:	4e75           	rts                                         <== NOT EXECUTED
                         bool                   read)                 
{                                                                     
  size_t size;                                                        
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-io: start: %s pos=%" PRIu32 ":%" PRIu32 "\n",
   5c75c:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5c75e:	203c 0007 2edf 	movel #470751,%d0                           <== NOT EXECUTED
   5c764:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5c766:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c768:	4879 0007 2ee5 	pea 72ee5 <CSWTCH.2+0xe1d>                  <== NOT EXECUTED
   5c76e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c774:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5c778:	6000 ff56      	braw 5c6d0 <rtems_rfs_file_io_start+0x52>   <== NOT EXECUTED
    bool                   request_read;                              
    int                    rc;                                        
                                                                      
    request_read = read;                                              
                                                                      
    rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),        
   5c77c:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   5c780:	486a 000e      	pea %a2@(14)                                <== NOT EXECUTED
                                   rtems_rfs_file_map (handle),       
   5c784:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
    bool                   request_read;                              
    int                    rc;                                        
                                                                      
    request_read = read;                                              
                                                                      
    rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),        
   5c788:	4868 0032      	pea %a0@(50)                                <== NOT EXECUTED
   5c78c:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5c790:	4eb9 0005 95dc 	jsr 595dc <rtems_rfs_block_map_find>        <== NOT EXECUTED
                                   rtems_rfs_file_map (handle),       
                                   rtems_rfs_file_bpos (handle),      
                                   &block);                           
    if (rc > 0)                                                       
   5c796:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5c79a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5c79c:	6f1c           	bles 5c7ba <rtems_rfs_file_io_start+0x13c>  <== NOT EXECUTED
    {                                                                 
      /*                                                              
       * Has the read reached the EOF ?                               
       */                                                             
      if (read && (rc == ENXIO))                                      
   5c79e:	7206           	moveq #6,%d1                                <== NOT EXECUTED
   5c7a0:	4a02           	tstb %d2                                    <== NOT EXECUTED
   5c7a2:	6700 0090      	beqw 5c834 <rtems_rfs_file_io_start+0x1b6>  <== NOT EXECUTED
   5c7a6:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5c7a8:	6600 ff64      	bnew 5c70e <rtems_rfs_file_io_start+0x90>   <== NOT EXECUTED
      {                                                               
        *available = 0;                                               
   5c7ac:	4294           	clrl %a4@                                   <== NOT EXECUTED
        return 0;                                                     
   5c7ae:	4280           	clrl %d0                                    <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-io: start: available=%zu (%zu)\n",       
            *available, size);                                        
                                                                      
  return 0;                                                           
}                                                                     
   5c7b0:	4cee 1c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   5c7b6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c7b8:	4e75           	rts                                         <== NOT EXECUTED
      /*                                                              
       * If this is a write check if the write starts within a block or the
       * amount of data is less than a block size. If it is read the block
       * rather than getting a block to fill.                         
       */                                                             
      if (!read &&                                                    
   5c7ba:	4a02           	tstb %d2                                    <== NOT EXECUTED
   5c7bc:	6600 00f6      	bnew 5c8b4 <rtems_rfs_file_io_start+0x236>  <== NOT EXECUTED
   5c7c0:	4aaa 0012      	tstl %a2@(18)                               <== NOT EXECUTED
   5c7c4:	6612           	bnes 5c7d8 <rtems_rfs_file_io_start+0x15a>  <== NOT EXECUTED
          (rtems_rfs_file_block_offset (handle) ||                    
           (*available < rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))))
   5c7c6:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c7ca:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
       * If this is a write check if the write starts within a block or the
       * amount of data is less than a block size. If it is read the block
       * rather than getting a block to fill.                         
       */                                                             
      if (!read &&                                                    
          (rtems_rfs_file_block_offset (handle) ||                    
   5c7ce:	2068 0008      	moveal %a0@(8),%a0                          <== NOT EXECUTED
   5c7d2:	b1d4           	cmpal %a4@,%a0                              <== NOT EXECUTED
   5c7d4:	6300 00a4      	blsw 5c87a <rtems_rfs_file_io_start+0x1fc>  <== NOT EXECUTED
           (*available < rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))))
        request_read = true;                                          
   5c7d8:	7601           	moveq #1,%d3                                <== NOT EXECUTED
    }                                                                 
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                    
   5c7da:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c7dc:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5c7e0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c7e2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c7e4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c7e6:	671c           	beqs 5c804 <rtems_rfs_file_io_start+0x186>  <== NOT EXECUTED
      printf ("rtems-rfs: file-io: start: block=%" PRIu32 " request-read=%s\n",
   5c7e8:	203c 0007 19c4 	movel #465348,%d0                           <== NOT EXECUTED
   5c7ee:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c7f0:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   5c7f4:	4879 0007 2f30 	pea 72f30 <CSWTCH.2+0xe68>                  <== NOT EXECUTED
   5c7fa:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c800:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
              block, request_read ? "yes" : "no");                    
                                                                      
    rc = rtems_rfs_buffer_handle_request (rtems_rfs_file_fs (handle), 
   5c804:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c808:	4280           	clrl %d0                                    <== NOT EXECUTED
   5c80a:	1003           	moveb %d3,%d0                               <== NOT EXECUTED
   5c80c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c80e:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   5c812:	486a 0004      	pea %a2@(4)                                 <== NOT EXECUTED
   5c816:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5c81a:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
                                          rtems_rfs_file_buffer (handle),
                                          block, request_read);       
    if (rc > 0)                                                       
   5c820:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5c824:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5c826:	6f00 feb0      	blew 5c6d8 <rtems_rfs_file_io_start+0x5a>   <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-io: start: available=%zu (%zu)\n",       
            *available, size);                                        
                                                                      
  return 0;                                                           
}                                                                     
   5c82a:	4cee 1c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   5c830:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c832:	4e75           	rts                                         <== NOT EXECUTED
      {                                                               
        *available = 0;                                               
        return 0;                                                     
      }                                                               
                                                                      
      if (rc != ENXIO)                                                
   5c834:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5c836:	6600 fed6      	bnew 5c70e <rtems_rfs_file_io_start+0x90>   <== NOT EXECUTED
        return rc;                                                    
                                                                      
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                  
   5c83a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c83c:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5c840:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c842:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c844:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c846:	670e           	beqs 5c856 <rtems_rfs_file_io_start+0x1d8>  <== NOT EXECUTED
        printf ("rtems-rfs: file-io: start: grow\n");                 
   5c848:	4879 0007 2f10 	pea 72f10 <CSWTCH.2+0xe48>                  <== NOT EXECUTED
   5c84e:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5c854:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
      rc = rtems_rfs_block_map_grow (rtems_rfs_file_fs (handle),      
   5c856:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   5c85a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
                                     rtems_rfs_file_map (handle),     
   5c85e:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
        return rc;                                                    
                                                                      
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                  
        printf ("rtems-rfs: file-io: start: grow\n");                 
                                                                      
      rc = rtems_rfs_block_map_grow (rtems_rfs_file_fs (handle),      
   5c862:	4868 0032      	pea %a0@(50)                                <== NOT EXECUTED
   5c866:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5c86a:	4eb9 0005 97a8 	jsr 597a8 <rtems_rfs_block_map_grow>        <== NOT EXECUTED
                                     rtems_rfs_file_map (handle),     
                                     1, &block);                      
      if (rc > 0)                                                     
   5c870:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5c874:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5c876:	6e00 fe96      	bgtw 5c70e <rtems_rfs_file_io_start+0x90>   <== NOT EXECUTED
          (rtems_rfs_file_block_offset (handle) ||                    
           (*available < rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))))
        request_read = true;                                          
    }                                                                 
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                    
   5c87a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c87c:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
   5c880:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5c882:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c884:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c886:	6632           	bnes 5c8ba <rtems_rfs_file_io_start+0x23c>  <== NOT EXECUTED
      printf ("rtems-rfs: file-io: start: block=%" PRIu32 " request-read=%s\n",
              block, request_read ? "yes" : "no");                    
                                                                      
    rc = rtems_rfs_buffer_handle_request (rtems_rfs_file_fs (handle), 
   5c888:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5c88c:	4280           	clrl %d0                                    <== NOT EXECUTED
          (rtems_rfs_file_block_offset (handle) ||                    
           (*available < rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))))
        request_read = true;                                          
    }                                                                 
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                    
   5c88e:	4203           	clrb %d3                                    <== NOT EXECUTED
      printf ("rtems-rfs: file-io: start: block=%" PRIu32 " request-read=%s\n",
              block, request_read ? "yes" : "no");                    
                                                                      
    rc = rtems_rfs_buffer_handle_request (rtems_rfs_file_fs (handle), 
   5c890:	1003           	moveb %d3,%d0                               <== NOT EXECUTED
   5c892:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c894:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   5c898:	486a 0004      	pea %a2@(4)                                 <== NOT EXECUTED
   5c89c:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5c8a0:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
                                          rtems_rfs_file_buffer (handle),
                                          block, request_read);       
    if (rc > 0)                                                       
   5c8a6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5c8aa:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5c8ac:	6e00 ff7c      	bgtw 5c82a <rtems_rfs_file_io_start+0x1ac>  <== NOT EXECUTED
   5c8b0:	6000 fe26      	braw 5c6d8 <rtems_rfs_file_io_start+0x5a>   <== NOT EXECUTED
      /*                                                              
       * If this is a write check if the write starts within a block or the
       * amount of data is less than a block size. If it is read the block
       * rather than getting a block to fill.                         
       */                                                             
      if (!read &&                                                    
   5c8b4:	1602           	moveb %d2,%d3                               <== NOT EXECUTED
   5c8b6:	6000 ff22      	braw 5c7da <rtems_rfs_file_io_start+0x15c>  <== NOT EXECUTED
           (*available < rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))))
        request_read = true;                                          
    }                                                                 
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                    
      printf ("rtems-rfs: file-io: start: block=%" PRIu32 " request-read=%s\n",
   5c8ba:	203c 0007 1dff 	movel #466431,%d0                           <== NOT EXECUTED
   5c8c0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c8c2:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   5c8c6:	4879 0007 2f30 	pea 72f30 <CSWTCH.2+0xe68>                  <== NOT EXECUTED
          (rtems_rfs_file_block_offset (handle) ||                    
           (*available < rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle)))))
        request_read = true;                                          
    }                                                                 
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                    
   5c8cc:	4203           	clrb %d3                                    <== NOT EXECUTED
      printf ("rtems-rfs: file-io: start: block=%" PRIu32 " request-read=%s\n",
   5c8ce:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c8d4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5c8d8:	6000 ff2a      	braw 5c804 <rtems_rfs_file_io_start+0x186>  <== NOT EXECUTED
                                                                      

0005bebc <rtems_rfs_file_open>: int rtems_rfs_file_open (rtems_rfs_file_system* fs, rtems_rfs_ino ino, int oflag, rtems_rfs_file_handle** file) {
   5bebc:	4e56 ffdc      	linkw %fp,#-36                              <== NOT EXECUTED
   5bec0:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_rfs_file_handle* handle;                                      
  rtems_rfs_file_shared* shared;                                      
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                    
   5bec4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5bec6:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5beca:	283c 0005 2ef8 	movel #339704,%d4                           <== NOT EXECUTED
   5bed0:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
int                                                                   
rtems_rfs_file_open (rtems_rfs_file_system*  fs,                      
                     rtems_rfs_ino           ino,                     
                     int                     oflag,                   
                     rtems_rfs_file_handle** file)                    
{                                                                     
   5bed2:	242e 000c      	movel %fp@(12),%d2                          <== NOT EXECUTED
  rtems_rfs_file_handle* handle;                                      
  rtems_rfs_file_shared* shared;                                      
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                    
   5bed6:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   5bed8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5beda:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5bedc:	6600 00ea      	bnew 5bfc8 <rtems_rfs_file_open+0x10c>      <== NOT EXECUTED
  /*                                                                  
   * Allocate a new handle and initialise it. Do this before we deal with the
   * shared node data so we do not have to be concerned with reference
   * counting.                                                        
   */                                                                 
  handle = malloc (sizeof (rtems_rfs_file_handle));                   
   5bee0:	4878 001e      	pea 1e <OPER2+0xa>                          <== NOT EXECUTED
   5bee4:	47f9 0004 794c 	lea 4794c <malloc>,%a3                      <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                    
    printf ("rtems-rfs: file-open: ino=%" PRId32 "\n", ino);          
                                                                      
  *file = NULL;                                                       
   5beea:	226e 0014      	moveal %fp@(20),%a1                         <== NOT EXECUTED
   5beee:	4291           	clrl %a1@                                   <== NOT EXECUTED
  /*                                                                  
   * Allocate a new handle and initialise it. Do this before we deal with the
   * shared node data so we do not have to be concerned with reference
   * counting.                                                        
   */                                                                 
  handle = malloc (sizeof (rtems_rfs_file_handle));                   
   5bef0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (!handle)                                                        
   5bef2:	588f           	addql #4,%sp                                <== NOT EXECUTED
  /*                                                                  
   * Allocate a new handle and initialise it. Do this before we deal with the
   * shared node data so we do not have to be concerned with reference
   * counting.                                                        
   */                                                                 
  handle = malloc (sizeof (rtems_rfs_file_handle));                   
   5bef4:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
  if (!handle)                                                        
   5bef6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5bef8:	6700 00fa      	beqw 5bff4 <rtems_rfs_file_open+0x138>      <== NOT EXECUTED
RTEMS_INLINE_ROUTINE bool _Chain_Is_tail(                             
  const Chain_Control *the_chain,                                     
  const Chain_Node    *the_node                                       
)                                                                     
{                                                                     
  return (the_node == _Chain_Immutable_tail( the_chain ));            
   5befc:	222e 0008      	movel %fp@(8),%d1                           <== NOT EXECUTED
    return ENOMEM;                                                    
                                                                      
  memset (handle, 0, sizeof (rtems_rfs_file_handle));                 
   5bf00:	2840           	moveal %d0,%a4                              <== NOT EXECUTED
   5bf02:	0681 0000 0078 	addil #120,%d1                              <== NOT EXECUTED
   5bf08:	429c           	clrl %a4@+                                  <== NOT EXECUTED
   5bf0a:	204c           	moveal %a4,%a0                              <== NOT EXECUTED
   5bf0c:	4298           	clrl %a0@+                                  <== NOT EXECUTED
   5bf0e:	5888           	addql #4,%a0                                <== NOT EXECUTED
   5bf10:	4298           	clrl %a0@+                                  <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_First(                        
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Head( the_chain )->next;                              
   5bf12:	226e 0008      	moveal %fp@(8),%a1                          <== NOT EXECUTED
   5bf16:	2469 0074      	moveal %a1@(116),%a2                        <== NOT EXECUTED
   5bf1a:	4298           	clrl %a0@+                                  <== NOT EXECUTED
   5bf1c:	4298           	clrl %a0@+                                  <== NOT EXECUTED
   5bf1e:	4298           	clrl %a0@+                                  <== NOT EXECUTED
   5bf20:	4250           	clrw %a0@                                   <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
   5bf22:	42ad 0006      	clrl %a5@(6)                                <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5bf26:	42ad 000a      	clrl %a5@(10)                               <== NOT EXECUTED
rtems_rfs_file_get_shared (rtems_rfs_file_system* fs,                 
                           rtems_rfs_ino          ino)                
{                                                                     
  rtems_chain_node* node;                                             
  node = rtems_chain_first (&fs->file_shares);                        
  while (!rtems_chain_is_tail (&fs->file_shares, node))               
   5bf2a:	b28a           	cmpl %a2,%d1                                <== NOT EXECUTED
   5bf2c:	670e           	beqs 5bf3c <rtems_rfs_file_open+0x80>       <== NOT EXECUTED
  {                                                                   
    rtems_rfs_file_shared* shared;                                    
    shared = (rtems_rfs_file_shared*) node;                           
    if (shared->inode.ino == ino)                                     
   5bf2e:	b4aa 0014      	cmpl %a2@(20),%d2                           <== NOT EXECUTED
   5bf32:	6700 00ce      	beqw 5c002 <rtems_rfs_file_open+0x146>      <== NOT EXECUTED
      return shared;                                                  
    node = rtems_chain_next (node);                                   
  }                                                                   
  return NULL;                                                        
}                                                                     
   5bf36:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
rtems_rfs_file_get_shared (rtems_rfs_file_system* fs,                 
                           rtems_rfs_ino          ino)                
{                                                                     
  rtems_chain_node* node;                                             
  node = rtems_chain_first (&fs->file_shares);                        
  while (!rtems_chain_is_tail (&fs->file_shares, node))               
   5bf38:	b28a           	cmpl %a2,%d1                                <== NOT EXECUTED
   5bf3a:	66f2           	bnes 5bf2e <rtems_rfs_file_open+0x72>       <== NOT EXECUTED
  {                                                                   
    /*                                                                
     * None exists so create. Copy in the shared parts of the inode we hold in
     * memory.                                                        
     */                                                               
    shared = malloc (sizeof (rtems_rfs_file_shared));                 
   5bf3c:	4878 0094      	pea 94 <DBL_MANT_DIG+0x5f>                  <== NOT EXECUTED
   5bf40:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    if (!shared)                                                      
   5bf42:	588f           	addql #4,%sp                                <== NOT EXECUTED
  {                                                                   
    /*                                                                
     * None exists so create. Copy in the shared parts of the inode we hold in
     * memory.                                                        
     */                                                               
    shared = malloc (sizeof (rtems_rfs_file_shared));                 
   5bf44:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
    if (!shared)                                                      
   5bf46:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5bf48:	6700 021a      	beqw 5c164 <rtems_rfs_file_open+0x2a8>      <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
      return ENOMEM;                                                  
    }                                                                 
                                                                      
    memset (shared, 0, sizeof (rtems_rfs_file_shared));               
   5bf4c:	4878 0094      	pea 94 <DBL_MANT_DIG+0x5f>                  <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_inode_open (fs, ino, &shared->inode, true);        
   5bf50:	2c0a           	movel %a2,%d6                               <== NOT EXECUTED
   5bf52:	0686 0000 000c 	addil #12,%d6                               <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
      return ENOMEM;                                                  
    }                                                                 
                                                                      
    memset (shared, 0, sizeof (rtems_rfs_file_shared));               
   5bf58:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5bf5a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bf5c:	4eb9 0006 159c 	jsr 6159c <memset>                          <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_inode_open (fs, ino, &shared->inode, true);        
   5bf62:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5bf66:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5bf68:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5bf6a:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5bf6e:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
    if (rc > 0)                                                       
   5bf74:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
      return ENOMEM;                                                  
    }                                                                 
                                                                      
    memset (shared, 0, sizeof (rtems_rfs_file_shared));               
                                                                      
    rc = rtems_rfs_inode_open (fs, ino, &shared->inode, true);        
   5bf78:	2600           	movel %d0,%d3                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5bf7a:	6f00 0124      	blew 5c0a0 <rtems_rfs_file_open+0x1e4>      <== NOT EXECUTED
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                
   5bf7e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5bf80:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5bf84:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   5bf86:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   5bf88:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5bf8a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5bf8c:	6600 00c6      	bnew 5c054 <rtems_rfs_file_open+0x198>      <== NOT EXECUTED
        printf ("rtems-rfs: file-open: inode open failed: %d: %s\n",  
                rc, strerror (rc));                                   
      free (shared);                                                  
   5bf90:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5bf92:	45f9 0004 7344 	lea 47344 <free>,%a2                        <== NOT EXECUTED
   5bf98:	4e92           	jsr %a2@                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5bf9a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5bf9c:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5bfa0:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5bfa6:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5bfa8:	42ad 0006      	clrl %a5@(6)                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5bfac:	1b40 0004      	moveb %d0,%a5@(4)                           <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5bfb0:	42ad 000a      	clrl %a5@(10)                               <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
   5bfb4:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5bfb6:	4e92           	jsr %a2@                                    <== NOT EXECUTED
      return rc;                                                      
   5bfb8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  handle->shared = shared;                                            
                                                                      
  *file = handle;                                                     
                                                                      
  return 0;                                                           
}                                                                     
   5bfbc:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5bfbe:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   5bfc4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5bfc6:	4e75           	rts                                         <== NOT EXECUTED
  rtems_rfs_file_handle* handle;                                      
  rtems_rfs_file_shared* shared;                                      
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                    
    printf ("rtems-rfs: file-open: ino=%" PRId32 "\n", ino);          
   5bfc8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5bfca:	4879 0007 2d45 	pea 72d45 <CSWTCH.2+0xc7d>                  <== NOT EXECUTED
  /*                                                                  
   * Allocate a new handle and initialise it. Do this before we deal with the
   * shared node data so we do not have to be concerned with reference
   * counting.                                                        
   */                                                                 
  handle = malloc (sizeof (rtems_rfs_file_handle));                   
   5bfd0:	47f9 0004 794c 	lea 4794c <malloc>,%a3                      <== NOT EXECUTED
  rtems_rfs_file_handle* handle;                                      
  rtems_rfs_file_shared* shared;                                      
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                    
    printf ("rtems-rfs: file-open: ino=%" PRId32 "\n", ino);          
   5bfd6:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5bfdc:	508f           	addql #8,%sp                                <== NOT EXECUTED
  /*                                                                  
   * Allocate a new handle and initialise it. Do this before we deal with the
   * shared node data so we do not have to be concerned with reference
   * counting.                                                        
   */                                                                 
  handle = malloc (sizeof (rtems_rfs_file_handle));                   
   5bfde:	4878 001e      	pea 1e <OPER2+0xa>                          <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                    
    printf ("rtems-rfs: file-open: ino=%" PRId32 "\n", ino);          
                                                                      
  *file = NULL;                                                       
   5bfe2:	226e 0014      	moveal %fp@(20),%a1                         <== NOT EXECUTED
   5bfe6:	4291           	clrl %a1@                                   <== NOT EXECUTED
  /*                                                                  
   * Allocate a new handle and initialise it. Do this before we deal with the
   * shared node data so we do not have to be concerned with reference
   * counting.                                                        
   */                                                                 
  handle = malloc (sizeof (rtems_rfs_file_handle));                   
   5bfe8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (!handle)                                                        
   5bfea:	588f           	addql #4,%sp                                <== NOT EXECUTED
  /*                                                                  
   * Allocate a new handle and initialise it. Do this before we deal with the
   * shared node data so we do not have to be concerned with reference
   * counting.                                                        
   */                                                                 
  handle = malloc (sizeof (rtems_rfs_file_handle));                   
   5bfec:	2a40           	moveal %d0,%a5                              <== NOT EXECUTED
  if (!handle)                                                        
   5bfee:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5bff0:	6600 ff0a      	bnew 5befc <rtems_rfs_file_open+0x40>       <== NOT EXECUTED
    return ENOMEM;                                                    
   5bff4:	760c           	moveq #12,%d3                               <== NOT EXECUTED
  handle->shared = shared;                                            
                                                                      
  *file = handle;                                                     
                                                                      
  return 0;                                                           
}                                                                     
   5bff6:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5bff8:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   5bffe:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c000:	4e75           	rts                                         <== NOT EXECUTED
   * the reference count and return the pointer to the data.          
   */                                                                 
  shared = rtems_rfs_file_get_shared (fs, ino);                       
  if (shared)                                                         
  {                                                                   
    shared->references++;                                             
   5c002:	52aa 0008      	addql #1,%a2@(8)                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
   5c006:	2244           	moveal %d4,%a1                              <== NOT EXECUTED
   5c008:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c00a:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5c00e:	4e91           	jsr %a1@                                    <== NOT EXECUTED
   5c010:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c012:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c014:	661c           	bnes 5c032 <rtems_rfs_file_open+0x176>      <== NOT EXECUTED
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " share created\n", ino);
  }                                                                   
                                                                      
  handle->flags  = oflag;                                             
   5c016:	2aae 0010      	movel %fp@(16),%a5@                         <== NOT EXECUTED
  handle->shared = shared;                                            
                                                                      
  *file = handle;                                                     
                                                                      
  return 0;                                                           
   5c01a:	4283           	clrl %d3                                    <== NOT EXECUTED
  }                                                                   
                                                                      
  handle->flags  = oflag;                                             
  handle->shared = shared;                                            
                                                                      
  *file = handle;                                                     
   5c01c:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " share created\n", ino);
  }                                                                   
                                                                      
  handle->flags  = oflag;                                             
  handle->shared = shared;                                            
   5c020:	2b4a 001a      	movel %a2,%a5@(26)                          <== NOT EXECUTED
                                                                      
  *file = handle;                                                     
   5c024:	208d           	movel %a5,%a0@                              <== NOT EXECUTED
                                                                      
  return 0;                                                           
}                                                                     
   5c026:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5c028:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   5c02e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c030:	4e75           	rts                                         <== NOT EXECUTED
  shared = rtems_rfs_file_get_shared (fs, ino);                       
  if (shared)                                                         
  {                                                                   
    shared->references++;                                             
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " shared\n", ino); 
   5c032:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5c034:	4879 0007 2d64 	pea 72d64 <CSWTCH.2+0xc9c>                  <== NOT EXECUTED
  handle->flags  = oflag;                                             
  handle->shared = shared;                                            
                                                                      
  *file = handle;                                                     
                                                                      
  return 0;                                                           
   5c03a:	4283           	clrl %d3                                    <== NOT EXECUTED
  shared = rtems_rfs_file_get_shared (fs, ino);                       
  if (shared)                                                         
  {                                                                   
    shared->references++;                                             
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " shared\n", ino); 
   5c03c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " share created\n", ino);
  }                                                                   
                                                                      
  handle->flags  = oflag;                                             
   5c042:	2aae 0010      	movel %fp@(16),%a5@                         <== NOT EXECUTED
  shared = rtems_rfs_file_get_shared (fs, ino);                       
  if (shared)                                                         
  {                                                                   
    shared->references++;                                             
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " shared\n", ino); 
   5c046:	508f           	addql #8,%sp                                <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " share created\n", ino);
  }                                                                   
                                                                      
  handle->flags  = oflag;                                             
  handle->shared = shared;                                            
   5c048:	2b4a 001a      	movel %a2,%a5@(26)                          <== NOT EXECUTED
                                                                      
  *file = handle;                                                     
   5c04c:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
   5c050:	208d           	movel %a5,%a0@                              <== NOT EXECUTED
   5c052:	60d2           	bras 5c026 <rtems_rfs_file_open+0x16a>      <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_inode_open (fs, ino, &shared->inode, true);        
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                
        printf ("rtems-rfs: file-open: inode open failed: %d: %s\n",  
   5c054:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c056:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5c05c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c05e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c060:	4879 0007 2d8a 	pea 72d8a <CSWTCH.2+0xcc2>                  <== NOT EXECUTED
   5c066:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c06c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                rc, strerror (rc));                                   
      free (shared);                                                  
   5c070:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5c072:	45f9 0004 7344 	lea 47344 <free>,%a2                        <== NOT EXECUTED
   5c078:	4e92           	jsr %a2@                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5c07a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5c07c:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5c080:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5c086:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5c088:	42ad 0006      	clrl %a5@(6)                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c08c:	1b40 0004      	moveb %d0,%a5@(4)                           <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c090:	42ad 000a      	clrl %a5@(10)                               <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
   5c094:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5c096:	4e92           	jsr %a2@                                    <== NOT EXECUTED
      return rc;                                                      
   5c098:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5c09c:	6000 ff1e      	braw 5bfbc <rtems_rfs_file_open+0x100>      <== NOT EXECUTED
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_open (fs, &shared->inode, &shared->map); 
   5c0a0:	486a 0032      	pea %a2@(50)                                <== NOT EXECUTED
   5c0a4:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5c0a6:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5c0aa:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
    if (rc > 0)                                                       
   5c0b0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_open (fs, &shared->inode, &shared->map); 
   5c0b4:	2600           	movel %d0,%d3                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5c0b6:	6f00 00e0      	blew 5c198 <rtems_rfs_file_open+0x2dc>      <== NOT EXECUTED
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                
   5c0ba:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c0bc:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5c0c0:	2044           	moveal %d4,%a0                              <== NOT EXECUTED
   5c0c2:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   5c0c4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5c0c6:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c0c8:	6644           	bnes 5c10e <rtems_rfs_file_open+0x252>      <== NOT EXECUTED
        printf ("rtems-rfs: file-open: block map open failed: %d: %s\n",
                rc, strerror (rc));                                   
      rtems_rfs_inode_close (fs, &shared->inode);                     
   5c0ca:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5c0cc:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
      free (shared);                                                  
   5c0d0:	47f9 0004 7344 	lea 47344 <free>,%a3                        <== NOT EXECUTED
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                
        printf ("rtems-rfs: file-open: block map open failed: %d: %s\n",
                rc, strerror (rc));                                   
      rtems_rfs_inode_close (fs, &shared->inode);                     
   5c0d6:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
      free (shared);                                                  
   5c0dc:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5c0de:	4e93           	jsr %a3@                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5c0e0:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5c0e2:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5c0e6:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5c0ec:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5c0ee:	42ad 0006      	clrl %a5@(6)                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c0f2:	1b40 0004      	moveb %d0,%a5@(4)                           <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c0f6:	42ad 000a      	clrl %a5@(10)                               <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
   5c0fa:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5c0fc:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      return rc;                                                      
   5c0fe:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
  handle->shared = shared;                                            
                                                                      
  *file = handle;                                                     
                                                                      
  return 0;                                                           
}                                                                     
   5c102:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5c104:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   5c10a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c10c:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_block_map_open (fs, &shared->inode, &shared->map); 
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                
        printf ("rtems-rfs: file-open: block map open failed: %d: %s\n",
   5c10e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
                rc, strerror (rc));                                   
      rtems_rfs_inode_close (fs, &shared->inode);                     
      free (shared);                                                  
   5c110:	47f9 0004 7344 	lea 47344 <free>,%a3                        <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_block_map_open (fs, &shared->inode, &shared->map); 
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                
        printf ("rtems-rfs: file-open: block map open failed: %d: %s\n",
   5c116:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5c11c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5c11e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5c120:	4879 0007 2dbb 	pea 72dbb <CSWTCH.2+0xcf3>                  <== NOT EXECUTED
   5c126:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5c12c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                rc, strerror (rc));                                   
      rtems_rfs_inode_close (fs, &shared->inode);                     
   5c130:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5c132:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5c136:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
      free (shared);                                                  
   5c13c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5c13e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5c140:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5c142:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5c146:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5c14c:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5c14e:	42ad 0006      	clrl %a5@(6)                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c152:	1b40 0004      	moveb %d0,%a5@(4)                           <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c156:	42ad 000a      	clrl %a5@(10)                               <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
   5c15a:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5c15c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      return rc;                                                      
   5c15e:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   5c162:	609e           	bras 5c102 <rtems_rfs_file_open+0x246>      <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5c164:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5c166:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
    shared = malloc (sizeof (rtems_rfs_file_shared));                 
    if (!shared)                                                      
    {                                                                 
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
      return ENOMEM;                                                  
   5c16a:	760c           	moveq #12,%d3                               <== NOT EXECUTED
   5c16c:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5c172:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5c174:	42ad 0006      	clrl %a5@(6)                                <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5c178:	1b40 0004      	moveb %d0,%a5@(4)                           <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5c17c:	42ad 000a      	clrl %a5@(10)                               <== NOT EXECUTED
     */                                                               
    shared = malloc (sizeof (rtems_rfs_file_shared));                 
    if (!shared)                                                      
    {                                                                 
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
   5c180:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5c182:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
      return ENOMEM;                                                  
   5c188:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  handle->shared = shared;                                            
                                                                      
  *file = handle;                                                     
                                                                      
  return 0;                                                           
}                                                                     
   5c18c:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5c18e:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   5c194:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5c196:	4e75           	rts                                         <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
      return rc;                                                      
    }                                                                 
                                                                      
    shared->references = 1;                                           
   5c198:	7201           	moveq #1,%d1                                <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   5c19a:	4280           	clrl %d0                                    <== NOT EXECUTED
   5c19c:	4283           	clrl %d3                                    <== NOT EXECUTED
   5c19e:	4285           	clrl %d5                                    <== NOT EXECUTED
    if (shared->inode.ino == ino)                                     
      return shared;                                                  
    node = rtems_chain_next (node);                                   
  }                                                                   
  return NULL;                                                        
}                                                                     
   5c1a0:	206a 0018      	moveal %a2@(24),%a0                         <== NOT EXECUTED
      rtems_rfs_buffer_handle_close (fs, &handle->buffer);            
      free (handle);                                                  
      return rc;                                                      
    }                                                                 
                                                                      
    shared->references = 1;                                           
   5c1a4:	2541 0008      	movel %d1,%a2@(8)                           <== NOT EXECUTED
   5c1a8:	1028 000c      	moveb %a0@(12),%d0                          <== NOT EXECUTED
   5c1ac:	1628 000d      	moveb %a0@(13),%d3                          <== NOT EXECUTED
   5c1b0:	123c 0018      	moveb #24,%d1                               <== NOT EXECUTED
   5c1b4:	1a28 000f      	moveb %a0@(15),%d5                          <== NOT EXECUTED
   5c1b8:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   5c1ba:	4843           	swap %d3                                    <== NOT EXECUTED
   5c1bc:	4243           	clrw %d3                                    <== NOT EXECUTED
   5c1be:	4281           	clrl %d1                                    <== NOT EXECUTED
   5c1c0:	1228 000e      	moveb %a0@(14),%d1                          <== NOT EXECUTED
   5c1c4:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   5c1c6:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
 * @return rtems_rfs_time The atime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->atime);                   
   5c1c8:	4283           	clrl %d3                                    <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   5c1ca:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   5c1cc:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   5c1ce:	4281           	clrl %d1                                    <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   5c1d0:	2540 007c      	movel %d0,%a2@(124)                         <== NOT EXECUTED
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   5c1d4:	4280           	clrl %d0                                    <== NOT EXECUTED
   5c1d6:	1028 000a      	moveb %a0@(10),%d0                          <== NOT EXECUTED
   5c1da:	1228 000b      	moveb %a0@(11),%d1                          <== NOT EXECUTED
   5c1de:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
    shared->size.count = rtems_rfs_inode_get_block_count (&shared->inode);
    shared->size.offset = rtems_rfs_inode_get_block_offset (&shared->inode);
   5c1e0:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
 * @return rtems_rfs_time The atime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->atime);                   
   5c1e2:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5c1e4:	2540 0080      	movel %d0,%a2@(128)                         <== NOT EXECUTED
   5c1e8:	4280           	clrl %d0                                    <== NOT EXECUTED
   5c1ea:	1028 0010      	moveb %a0@(16),%d0                          <== NOT EXECUTED
   5c1ee:	1628 0011      	moveb %a0@(17),%d3                          <== NOT EXECUTED
   5c1f2:	1a28 0013      	moveb %a0@(19),%d5                          <== NOT EXECUTED
   5c1f6:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   5c1f8:	4843           	swap %d3                                    <== NOT EXECUTED
   5c1fa:	4243           	clrw %d3                                    <== NOT EXECUTED
   5c1fc:	4281           	clrl %d1                                    <== NOT EXECUTED
   5c1fe:	1228 0012      	moveb %a0@(18),%d1                          <== NOT EXECUTED
   5c202:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   5c204:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   5c206:	4283           	clrl %d3                                    <== NOT EXECUTED
 * @return rtems_rfs_time The atime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->atime);                   
   5c208:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   5c20a:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   5c20c:	7218           	moveq #24,%d1                               <== NOT EXECUTED
 * @return rtems_rfs_time The atime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->atime);                   
   5c20e:	2540 0084      	movel %d0,%a2@(132)                         <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   5c212:	4280           	clrl %d0                                    <== NOT EXECUTED
   5c214:	1028 0014      	moveb %a0@(20),%d0                          <== NOT EXECUTED
   5c218:	1628 0015      	moveb %a0@(21),%d3                          <== NOT EXECUTED
   5c21c:	1a28 0017      	moveb %a0@(23),%d5                          <== NOT EXECUTED
   5c220:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   5c222:	4843           	swap %d3                                    <== NOT EXECUTED
   5c224:	4243           	clrw %d3                                    <== NOT EXECUTED
   5c226:	4281           	clrl %d1                                    <== NOT EXECUTED
   5c228:	1228 0016      	moveb %a0@(22),%d1                          <== NOT EXECUTED
   5c22c:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   5c22e:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
 * @return rtems_rfs_time The ctime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->ctime);                   
   5c230:	4283           	clrl %d3                                    <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   5c232:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   5c234:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
 * @return rtems_rfs_time The ctime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->ctime);                   
   5c236:	7218           	moveq #24,%d1                               <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   5c238:	2540 0088      	movel %d0,%a2@(136)                         <== NOT EXECUTED
 * @return rtems_rfs_time The ctime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->ctime);                   
   5c23c:	4280           	clrl %d0                                    <== NOT EXECUTED
   5c23e:	1028 0018      	moveb %a0@(24),%d0                          <== NOT EXECUTED
   5c242:	1628 0019      	moveb %a0@(25),%d3                          <== NOT EXECUTED
   5c246:	1a28 001b      	moveb %a0@(27),%d5                          <== NOT EXECUTED
   5c24a:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   5c24c:	4843           	swap %d3                                    <== NOT EXECUTED
   5c24e:	4243           	clrw %d3                                    <== NOT EXECUTED
   5c250:	4281           	clrl %d1                                    <== NOT EXECUTED
   5c252:	1228 001a      	moveb %a0@(26),%d1                          <== NOT EXECUTED
   5c256:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   5c258:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
    shared->atime = rtems_rfs_inode_get_atime (&shared->inode);       
    shared->mtime = rtems_rfs_inode_get_mtime (&shared->inode);       
    shared->ctime = rtems_rfs_inode_get_ctime (&shared->inode);       
    shared->fs = fs;                                                  
   5c25a:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5c25e:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   5c260:	2548 0090      	movel %a0,%a2@(144)                         <== NOT EXECUTED
   5c264:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5c266:	2540 008c      	movel %d0,%a2@(140)                         <== NOT EXECUTED
   5c26a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5c26c:	4868 0074      	pea %a0@(116)                               <== NOT EXECUTED
   5c270:	4eb9 0004 cce8 	jsr 4cce8 <_Chain_Append>                   <== NOT EXECUTED
                                                                      
    rtems_chain_append (&fs->file_shares, &shared->link);             
                                                                      
    rtems_rfs_inode_unload (fs, &shared->inode, false);               
   5c276:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c278:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5c27a:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5c27e:	4eb9 0005 1384 	jsr 51384 <rtems_rfs_inode_unload>          <== NOT EXECUTED
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
   5c284:	2244           	moveal %d4,%a1                              <== NOT EXECUTED
   5c286:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5c288:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      <== NOT EXECUTED
   5c28c:	4e91           	jsr %a1@                                    <== NOT EXECUTED
   5c28e:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   5c292:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5c294:	6700 fd80      	beqw 5c016 <rtems_rfs_file_open+0x15a>      <== NOT EXECUTED
      printf ("rtems-rfs: file-open: ino=%" PRId32 " share created\n", ino);
   5c298:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5c29a:	4879 0007 2df0 	pea 72df0 <CSWTCH.2+0xd28>                  <== NOT EXECUTED
  handle->flags  = oflag;                                             
  handle->shared = shared;                                            
                                                                      
  *file = handle;                                                     
                                                                      
  return 0;                                                           
   5c2a0:	4283           	clrl %d3                                    <== NOT EXECUTED
    rtems_chain_append (&fs->file_shares, &shared->link);             
                                                                      
    rtems_rfs_inode_unload (fs, &shared->inode, false);               
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " share created\n", ino);
   5c2a2:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
  }                                                                   
                                                                      
  handle->flags  = oflag;                                             
   5c2a8:	2aae 0010      	movel %fp@(16),%a5@                         <== NOT EXECUTED
    rtems_chain_append (&fs->file_shares, &shared->link);             
                                                                      
    rtems_rfs_inode_unload (fs, &shared->inode, false);               
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_OPEN))                  
      printf ("rtems-rfs: file-open: ino=%" PRId32 " share created\n", ino);
   5c2ac:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  handle->flags  = oflag;                                             
  handle->shared = shared;                                            
   5c2ae:	2b4a 001a      	movel %a2,%a5@(26)                          <== NOT EXECUTED
                                                                      
  *file = handle;                                                     
   5c2b2:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
   5c2b6:	208d           	movel %a5,%a0@                              <== NOT EXECUTED
   5c2b8:	6000 fd6c      	braw 5c026 <rtems_rfs_file_open+0x16a>      <== NOT EXECUTED
                                                                      

0005cb76 <rtems_rfs_file_seek>: int rtems_rfs_file_seek (rtems_rfs_file_handle* handle, rtems_rfs_pos pos, rtems_rfs_pos* new_pos) {
   5cb76:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   5cb7a:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5cb7e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5cb80:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_file_seek (rtems_rfs_file_handle* handle,                   
                     rtems_rfs_pos          pos,                      
                     rtems_rfs_pos*         new_pos)                  
{                                                                     
   5cb84:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
   5cb88:	242e 000c      	movel %fp@(12),%d2                          <== NOT EXECUTED
   5cb8c:	262e 0010      	movel %fp@(16),%d3                          <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5cb90:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5cb96:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5cb98:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5cb9a:	6600 0090      	bnew 5cc2c <rtems_rfs_file_seek+0xb6>       <== NOT EXECUTED
   *     file, this function does not itself extend the size of the file."
   *                                                                  
   * This means the file needs to set the file size to the pos only when a
   * write occurs.                                                    
   */                                                                 
  if (pos <= rtems_rfs_file_shared_get_size (rtems_rfs_file_fs (handle),
   5cb9e:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cba2:	4868 007c      	pea %a0@(124)                               <== NOT EXECUTED
   5cba6:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cbaa:	4eb9 0005 9180 	jsr 59180 <rtems_rfs_block_get_size>        <== NOT EXECUTED
   5cbb0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5cbb2:	9283           	subl %d3,%d1                                <== NOT EXECUTED
   5cbb4:	9182           	subxl %d2,%d0                               <== NOT EXECUTED
   5cbb6:	6550           	bcss 5cc08 <rtems_rfs_file_seek+0x92>       <== NOT EXECUTED
                                            handle->shared))          
  {                                                                   
    rtems_rfs_file_set_bpos (handle, pos);                            
   5cbb8:	280a           	movel %a2,%d4                               <== NOT EXECUTED
   5cbba:	0684 0000 000e 	addil #14,%d4                               <== NOT EXECUTED
   5cbc0:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5cbc2:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cbc6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5cbc8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5cbca:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cbce:	4eb9 0005 90a2 	jsr 590a2 <rtems_rfs_block_get_bpos>        <== NOT EXECUTED
    /*                                                                
     * If the file has a block check if it maps to the current position and it
     * does not release it. That will force us to get the block at the new
     * position when the I/O starts.                                  
     */                                                               
    if (rtems_rfs_buffer_handle_has_block (&handle->buffer))          
   5cbd4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5cbd8:	4aaa 000a      	tstl %a2@(10)                               <== NOT EXECUTED
   5cbdc:	6738           	beqs 5cc16 <rtems_rfs_file_seek+0xa0>       <== NOT EXECUTED
    {                                                                 
      rtems_rfs_buffer_block block;                                   
      int                    rc;                                      
                                                                      
      rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),      
   5cbde:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
                                     rtems_rfs_file_map (handle),     
   5cbe2:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
    if (rtems_rfs_buffer_handle_has_block (&handle->buffer))          
    {                                                                 
      rtems_rfs_buffer_block block;                                   
      int                    rc;                                      
                                                                      
      rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),      
   5cbe6:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5cbe8:	4868 0032      	pea %a0@(50)                                <== NOT EXECUTED
   5cbec:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cbf0:	4eb9 0005 95dc 	jsr 595dc <rtems_rfs_block_map_find>        <== NOT EXECUTED
                                     rtems_rfs_file_map (handle),     
                                     rtems_rfs_file_bpos (handle),    
                                     &block);                         
      if (rc > 0)                                                     
   5cbf6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5cbfa:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cbfc:	6f46           	bles 5cc44 <rtems_rfs_file_seek+0xce>       <== NOT EXECUTED
      return rc;                                                      
  }                                                                   
                                                                      
  *new_pos = pos;                                                     
  return 0;                                                           
}                                                                     
   5cbfe:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                <== NOT EXECUTED
   5cc04:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5cc06:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
    /*                                                                
     * The seek is outside the current file so release any buffer. A write will
     * extend the file.                                               
     */                                                               
    int rc = rtems_rfs_file_io_release (handle);                      
   5cc08:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5cc0a:	4eb9 0005 cb4a 	jsr 5cb4a <rtems_rfs_file_io_release>       <== NOT EXECUTED
    if (rc > 0)                                                       
   5cc10:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5cc12:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cc14:	6ee8           	bgts 5cbfe <rtems_rfs_file_seek+0x88>       <== NOT EXECUTED
      return rc;                                                      
  }                                                                   
                                                                      
  *new_pos = pos;                                                     
   5cc16:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
  return 0;                                                           
   5cc1a:	4280           	clrl %d0                                    <== NOT EXECUTED
    int rc = rtems_rfs_file_io_release (handle);                      
    if (rc > 0)                                                       
      return rc;                                                      
  }                                                                   
                                                                      
  *new_pos = pos;                                                     
   5cc1c:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   5cc1e:	2143 0004      	movel %d3,%a0@(4)                           <== NOT EXECUTED
  return 0;                                                           
}                                                                     
   5cc22:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                <== NOT EXECUTED
   5cc28:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5cc2a:	4e75           	rts                                         <== NOT EXECUTED
rtems_rfs_file_seek (rtems_rfs_file_handle* handle,                   
                     rtems_rfs_pos          pos,                      
                     rtems_rfs_pos*         new_pos)                  
{                                                                     
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-seek: new=%" PRIu64 "\n", pos);          
   5cc2c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5cc2e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5cc30:	4879 0007 3031 	pea 73031 <CSWTCH.2+0xf69>                  <== NOT EXECUTED
   5cc36:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5cc3c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5cc40:	6000 ff5c      	braw 5cb9e <rtems_rfs_file_seek+0x28>       <== NOT EXECUTED
                                     rtems_rfs_file_map (handle),     
                                     rtems_rfs_file_bpos (handle),    
                                     &block);                         
      if (rc > 0)                                                     
        return rc;                                                    
      if (rtems_rfs_buffer_bnum (&handle->buffer) != block)           
   5cc44:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
   5cc48:	b0aa 0006      	cmpl %a2@(6),%d0                            <== NOT EXECUTED
   5cc4c:	67c8           	beqs 5cc16 <rtems_rfs_file_seek+0xa0>       <== NOT EXECUTED
      {                                                               
        rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),
   5cc4e:	486a 0004      	pea %a2@(4)                                 <== NOT EXECUTED
   5cc52:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cc56:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cc5a:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
                                              rtems_rfs_file_buffer (handle));
        if (rc > 0)                                                   
   5cc60:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5cc62:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cc64:	6fb0           	bles 5cc16 <rtems_rfs_file_seek+0xa0>       <== NOT EXECUTED
      return rc;                                                      
  }                                                                   
                                                                      
  *new_pos = pos;                                                     
  return 0;                                                           
}                                                                     
   5cc66:	4cee 041c ffec 	moveml %fp@(-20),%d2-%d4/%a2                <== NOT EXECUTED
   5cc6c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005cc70 <rtems_rfs_file_set_size>: int rtems_rfs_file_set_size (rtems_rfs_file_handle* handle, rtems_rfs_pos new_size) {
   5cc70:	4e56 ffa0      	linkw %fp,#-96                              <== NOT EXECUTED
   5cc74:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_rfs_block_map* map  = rtems_rfs_file_map (handle);            
  rtems_rfs_pos        size;                                          
  int                  rc;                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5cc78:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5cc7a:	4878 0020      	pea 20 <OPER2+0xc>                          <== NOT EXECUTED
}                                                                     
                                                                      
int                                                                   
rtems_rfs_file_set_size (rtems_rfs_file_handle* handle,               
                         rtems_rfs_pos          new_size)             
{                                                                     
   5cc7e:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  rtems_rfs_block_map* map  = rtems_rfs_file_map (handle);            
   5cc82:	266a 001a      	moveal %a2@(26),%a3                         <== NOT EXECUTED
   5cc86:	2c0b           	movel %a3,%d6                               <== NOT EXECUTED
   5cc88:	0686 0000 0032 	addil #50,%d6                               <== NOT EXECUTED
}                                                                     
                                                                      
int                                                                   
rtems_rfs_file_set_size (rtems_rfs_file_handle* handle,               
                         rtems_rfs_pos          new_size)             
{                                                                     
   5cc8e:	242e 000c      	movel %fp@(12),%d2                          <== NOT EXECUTED
   5cc92:	262e 0010      	movel %fp@(16),%d3                          <== NOT EXECUTED
  rtems_rfs_block_map* map  = rtems_rfs_file_map (handle);            
  rtems_rfs_pos        size;                                          
  int                  rc;                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
   5cc96:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5cc9c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5cc9e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5cca0:	6600 0188      	bnew 5ce2a <rtems_rfs_file_set_size+0x1ba>  <== NOT EXECUTED
    printf ("rtems-rfs: file-set-size: size=%" PRIu64 "\n", new_size);
                                                                      
  size = rtems_rfs_file_size (handle);                                
   5cca4:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cca8:	4868 007c      	pea %a0@(124)                               <== NOT EXECUTED
   5ccac:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
  /*                                                                  
   * If the file is same size do nothing else grow or shrink it ?     
   *                                                                  
   * If the file does not change size do not update the times.        
   */                                                                 
  if (size != new_size)                                               
   5ccb0:	2802           	movel %d2,%d4                               <== NOT EXECUTED
   5ccb2:	2a03           	movel %d3,%d5                               <== NOT EXECUTED
   5ccb4:	4eb9 0005 9180 	jsr 59180 <rtems_rfs_block_get_size>        <== NOT EXECUTED
   5ccba:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ccbc:	9a81           	subl %d1,%d5                                <== NOT EXECUTED
   5ccbe:	9980           	subxl %d0,%d4                               <== NOT EXECUTED
   5ccc0:	6700 019c      	beqw 5ce5e <rtems_rfs_file_set_size+0x1ee>  <== NOT EXECUTED
  {                                                                   
    /*                                                                
     * Short cut for the common truncate on open call.                
     */                                                               
    if (new_size == 0)                                                
   5ccc4:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
   5ccc6:	8a83           	orl %d3,%d5                                 <== NOT EXECUTED
   5ccc8:	6700 0296      	beqw 5cf60 <rtems_rfs_file_set_size+0x2f0>  <== NOT EXECUTED
      if (rc > 0)                                                     
        return rc;                                                    
    }                                                                 
    else                                                              
    {                                                                 
      if (size < new_size)                                            
   5cccc:	2802           	movel %d2,%d4                               <== NOT EXECUTED
   5ccce:	2a03           	movel %d3,%d5                               <== NOT EXECUTED
   5ccd0:	9a81           	subl %d1,%d5                                <== NOT EXECUTED
   5ccd2:	9980           	subxl %d0,%d4                               <== NOT EXECUTED
   5ccd4:	6300 0196      	blsw 5ce6c <rtems_rfs_file_set_size+0x1fc>  <== NOT EXECUTED
        rtems_rfs_pos count;                                          
        uint32_t      length;                                         
        bool          read_block;                                     
                                                                      
        count = new_size - size;                                      
        length = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
   5ccd8:	286a 001a      	moveal %a2@(26),%a4                         <== NOT EXECUTED
   5ccdc:	204c           	moveal %a4,%a0                              <== NOT EXECUTED
         */                                                           
        rtems_rfs_pos count;                                          
        uint32_t      length;                                         
        bool          read_block;                                     
                                                                      
        count = new_size - size;                                      
   5ccde:	2802           	movel %d2,%d4                               <== NOT EXECUTED
   5cce0:	2a03           	movel %d3,%d5                               <== NOT EXECUTED
        length = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
   5cce2:	226c 0090      	moveal %a4@(144),%a1                        <== NOT EXECUTED
         */                                                           
        rtems_rfs_pos count;                                          
        uint32_t      length;                                         
        bool          read_block;                                     
                                                                      
        count = new_size - size;                                      
   5cce6:	9a81           	subl %d1,%d5                                <== NOT EXECUTED
   5cce8:	9980           	subxl %d0,%d4                               <== NOT EXECUTED
        length = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
   5ccea:	2429 0008      	movel %a1@(8),%d2                           <== NOT EXECUTED
        read_block = false;                                           
                                                                      
        while (count)                                                 
   5ccee:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5ccf0:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   5ccf2:	6700 0288      	beqw 5cf7c <rtems_rfs_file_set_size+0x30c>  <== NOT EXECUTED
   5ccf6:	2e0e           	movel %fp,%d7                               <== NOT EXECUTED
   5ccf8:	0687 ffff fff4 	addil #-12,%d7                              <== NOT EXECUTED
          }                                                           
                                                                      
          /*                                                          
           * Only read the block if the length is not the block size. 
           */                                                         
          rc = rtems_rfs_buffer_handle_request (rtems_rfs_file_fs (handle),
   5ccfe:	260a           	movel %a2,%d3                               <== NOT EXECUTED
   5cd00:	49f9 0005 95dc 	lea 595dc <rtems_rfs_block_map_find>,%a4    <== NOT EXECUTED
   5cd06:	5883           	addql #4,%d3                                <== NOT EXECUTED
   5cd08:	4bf9 0005 a19a 	lea 5a19a <rtems_rfs_buffer_handle_request>,%a5<== NOT EXECUTED
                                                                      
        count = new_size - size;                                      
        length = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
        read_block = false;                                           
                                                                      
        while (count)                                                 
   5cd0e:	4201           	clrb %d1                                    <== NOT EXECUTED
   5cd10:	2d46 ffe4      	movel %d6,%fp@(-28)                         <== NOT EXECUTED
   5cd14:	1d41 ffdf      	moveb %d1,%fp@(-33)                         <== NOT EXECUTED
   5cd18:	2d47 ffe0      	movel %d7,%fp@(-32)                         <== NOT EXECUTED
          /*                                                          
           * Get the block position for the current end of the file as seen by
           * the map. If not found and the EOF grow the map then fill the block
           * with 0.                                                  
           */                                                         
          rtems_rfs_block_size_get_bpos (rtems_rfs_block_map_size (map), &bpos);
   5cd1c:	222b 0038      	movel %a3@(56),%d1                          <== NOT EXECUTED
   5cd20:	202b 003c      	movel %a3@(60),%d0                          <== NOT EXECUTED
   5cd24:	2d41 fff4      	movel %d1,%fp@(-12)                         <== NOT EXECUTED
   5cd28:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   5cd2c:	42ae fffc      	clrl %fp@(-4)                               <== NOT EXECUTED
   5cd30:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cd32:	6706           	beqs 5cd3a <rtems_rfs_file_set_size+0xca>   <== NOT EXECUTED
   5cd34:	5381           	subql #1,%d1                                <== NOT EXECUTED
   5cd36:	2d41 fff4      	movel %d1,%fp@(-12)                         <== NOT EXECUTED
          rc = rtems_rfs_block_map_find (rtems_rfs_file_fs (handle),  
   5cd3a:	486e fff0      	pea %fp@(-16)                               <== NOT EXECUTED
   5cd3e:	2f2e ffe0      	movel %fp@(-32),%sp@-                       <== NOT EXECUTED
   5cd42:	2f2e ffe4      	movel %fp@(-28),%sp@-                       <== NOT EXECUTED
   5cd46:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cd4a:	4e94           	jsr %a4@                                    <== NOT EXECUTED
                                         map, &bpos, &block);         
          if (rc > 0)                                                 
   5cd4c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5cd50:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cd52:	6f2c           	bles 5cd80 <rtems_rfs_file_set_size+0x110>  <== NOT EXECUTED
          {                                                           
            /*                                                        
             * Have we reached the EOF ?                              
             */                                                       
            if (rc != ENXIO)                                          
   5cd54:	7206           	moveq #6,%d1                                <== NOT EXECUTED
   5cd56:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5cd58:	6600 01e4      	bnew 5cf3e <rtems_rfs_file_set_size+0x2ce>  <== NOT EXECUTED
              return rc;                                              
                                                                      
            rc = rtems_rfs_block_map_grow (rtems_rfs_file_fs (handle),
   5cd5c:	486e fff0      	pea %fp@(-16)                               <== NOT EXECUTED
   5cd60:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5cd64:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cd68:	2f2e ffe4      	movel %fp@(-28),%sp@-                       <== NOT EXECUTED
   5cd6c:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cd70:	4eb9 0005 97a8 	jsr 597a8 <rtems_rfs_block_map_grow>        <== NOT EXECUTED
                                           map, 1, &block);           
            if (rc > 0)                                               
   5cd76:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5cd7a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cd7c:	6e00 01c0      	bgtw 5cf3e <rtems_rfs_file_set_size+0x2ce>  <== NOT EXECUTED
              return rc;                                              
          }                                                           
                                                                      
          if (count < (length - bpos.boff))                           
   5cd80:	206e fff8      	moveal %fp@(-8),%a0                         <== NOT EXECUTED
   5cd84:	2202           	movel %d2,%d1                               <== NOT EXECUTED
   5cd86:	9288           	subl %a0,%d1                                <== NOT EXECUTED
   5cd88:	2e01           	movel %d1,%d7                               <== NOT EXECUTED
   5cd8a:	4286           	clrl %d6                                    <== NOT EXECUTED
   5cd8c:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   5cd8e:	2207           	movel %d7,%d1                               <== NOT EXECUTED
   5cd90:	9285           	subl %d5,%d1                                <== NOT EXECUTED
   5cd92:	9184           	subxl %d4,%d0                               <== NOT EXECUTED
   5cd94:	6300 01b6      	blsw 5cf4c <rtems_rfs_file_set_size+0x2dc>  <== NOT EXECUTED
          {                                                           
            length = count + bpos.boff;                               
   5cd98:	2408           	movel %a0,%d2                               <== NOT EXECUTED
   5cd9a:	d485           	addl %d5,%d2                                <== NOT EXECUTED
   5cd9c:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5cd9e:	7201           	moveq #1,%d1                                <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_block_map_set_size_offset (rtems_rfs_block_map* map,        
                                     rtems_rfs_block_off  offset)     
{                                                                     
  map->size.offset = offset;                                          
   5cda0:	2742 003c      	movel %d2,%a3@(60)                          <== NOT EXECUTED
  map->dirty = true;                                                  
   5cda4:	1741 0032      	moveb %d1,%a3@(50)                          <== NOT EXECUTED
            read_block = true;                                        
   5cda8:	1d41 ffdf      	moveb %d1,%fp@(-33)                         <== NOT EXECUTED
          }                                                           
                                                                      
          /*                                                          
           * Only read the block if the length is not the block size. 
           */                                                         
          rc = rtems_rfs_buffer_handle_request (rtems_rfs_file_fs (handle),
   5cdac:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5cdae:	2f2e fff0      	movel %fp@(-16),%sp@-                       <== NOT EXECUTED
   5cdb2:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cdb6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5cdb8:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cdbc:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                rtems_rfs_file_buffer (handle),
                                                block, read_block);   
          if (rc > 0)                                                 
   5cdbe:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5cdc2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cdc4:	6e00 0178      	bgtw 5cf3e <rtems_rfs_file_set_size+0x2ce>  <== NOT EXECUTED
            return rc;                                                
                                                                      
          dst = rtems_rfs_buffer_data (&handle->buffer);              
          memset (dst + bpos.boff, 0, length - bpos.boff);            
   5cdc8:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   5cdcc:	2202           	movel %d2,%d1                               <== NOT EXECUTED
   5cdce:	9280           	subl %d0,%d1                                <== NOT EXECUTED
   5cdd0:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
                                                rtems_rfs_file_buffer (handle),
                                                block, read_block);   
          if (rc > 0)                                                 
            return rc;                                                
                                                                      
          dst = rtems_rfs_buffer_data (&handle->buffer);              
   5cdd2:	206a 000a      	moveal %a2@(10),%a0                         <== NOT EXECUTED
          memset (dst + bpos.boff, 0, length - bpos.boff);            
   5cdd6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5cdd8:	d0a8 001a      	addl %a0@(26),%d0                           <== NOT EXECUTED
   5cddc:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5cdde:	4eb9 0006 159c 	jsr 6159c <memset>                          <== NOT EXECUTED
                                                                      
          rtems_rfs_buffer_mark_dirty (rtems_rfs_file_buffer (handle));
                                                                      
          rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),
   5cde4:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cde8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5cdea:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
            return rc;                                                
                                                                      
          dst = rtems_rfs_buffer_data (&handle->buffer);              
          memset (dst + bpos.boff, 0, length - bpos.boff);            
                                                                      
          rtems_rfs_buffer_mark_dirty (rtems_rfs_file_buffer (handle));
   5cdee:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5cdf0:	1540 0004      	moveb %d0,%a2@(4)                           <== NOT EXECUTED
                                                                      
          rc = rtems_rfs_buffer_handle_release (rtems_rfs_file_fs (handle),
   5cdf4:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
                                                rtems_rfs_file_buffer (handle));
          if (rc > 0)                                                 
   5cdfa:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5cdfe:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5ce00:	6e00 013c      	bgtw 5cf3e <rtems_rfs_file_set_size+0x2ce>  <== NOT EXECUTED
            return rc;                                                
                                                                      
          count -= length - bpos.boff;                                
   5ce04:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5ce06:	90ae fff8      	subl %fp@(-8),%d0                           <== NOT EXECUTED
   5ce0a:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   5ce0c:	2d40 ffec      	movel %d0,%fp@(-20)                         <== NOT EXECUTED
   5ce10:	2d48 ffe8      	movel %a0,%fp@(-24)                         <== NOT EXECUTED
   5ce14:	202e ffe8      	movel %fp@(-24),%d0                         <== NOT EXECUTED
   5ce18:	9aae ffec      	subl %fp@(-20),%d5                          <== NOT EXECUTED
   5ce1c:	9980           	subxl %d0,%d4                               <== NOT EXECUTED
                                                                      
        count = new_size - size;                                      
        length = rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
        read_block = false;                                           
                                                                      
        while (count)                                                 
   5ce1e:	6700 0158      	beqw 5cf78 <rtems_rfs_file_set_size+0x308>  <== NOT EXECUTED
   5ce22:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5ce26:	6000 fef4      	braw 5cd1c <rtems_rfs_file_set_size+0xac>   <== NOT EXECUTED
  rtems_rfs_block_map* map  = rtems_rfs_file_map (handle);            
  rtems_rfs_pos        size;                                          
  int                  rc;                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-set-size: size=%" PRIu64 "\n", new_size);
   5ce2a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
  /*                                                                  
   * If the file is same size do nothing else grow or shrink it ?     
   *                                                                  
   * If the file does not change size do not update the times.        
   */                                                                 
  if (size != new_size)                                               
   5ce2c:	2802           	movel %d2,%d4                               <== NOT EXECUTED
   5ce2e:	2a03           	movel %d3,%d5                               <== NOT EXECUTED
  rtems_rfs_block_map* map  = rtems_rfs_file_map (handle);            
  rtems_rfs_pos        size;                                          
  int                  rc;                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-set-size: size=%" PRIu64 "\n", new_size);
   5ce30:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ce32:	4879 0007 3051 	pea 73051 <CSWTCH.2+0xf89>                  <== NOT EXECUTED
   5ce38:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
                                                                      
  size = rtems_rfs_file_size (handle);                                
   5ce3e:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
  rtems_rfs_block_map* map  = rtems_rfs_file_map (handle);            
  rtems_rfs_pos        size;                                          
  int                  rc;                                            
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_FILE_IO))                      
    printf ("rtems-rfs: file-set-size: size=%" PRIu64 "\n", new_size);
   5ce42:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5ce46:	4868 007c      	pea %a0@(124)                               <== NOT EXECUTED
   5ce4a:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5ce4e:	4eb9 0005 9180 	jsr 59180 <rtems_rfs_block_get_size>        <== NOT EXECUTED
  /*                                                                  
   * If the file is same size do nothing else grow or shrink it ?     
   *                                                                  
   * If the file does not change size do not update the times.        
   */                                                                 
  if (size != new_size)                                               
   5ce54:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ce56:	9a81           	subl %d1,%d5                                <== NOT EXECUTED
   5ce58:	9980           	subxl %d0,%d4                               <== NOT EXECUTED
   5ce5a:	6600 fe68      	bnew 5ccc4 <rtems_rfs_file_set_size+0x54>   <== NOT EXECUTED
                                                                      
    if (rtems_rfs_file_update_mtime (handle))                         
      handle->shared->mtime = time (NULL);                            
  }                                                                   
                                                                      
  return 0;                                                           
   5ce5e:	4281           	clrl %d1                                    <== NOT EXECUTED
}                                                                     
   5ce60:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5ce62:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5ce68:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ce6a:	4e75           	rts                                         <== NOT EXECUTED
        uint32_t           offset;                                    
                                                                      
        blocks =                                                      
          rtems_rfs_block_map_count (map) -                           
          (((new_size - 1) /                                          
            rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle))) + 1);
   5ce6c:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
        rtems_rfs_block_no blocks;                                    
        uint32_t           offset;                                    
                                                                      
        blocks =                                                      
          rtems_rfs_block_map_count (map) -                           
          (((new_size - 1) /                                          
   5ce70:	93c9           	subal %a1,%a1                               <== NOT EXECUTED
            rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle))) + 1);
   5ce72:	2868 0090      	moveal %a0@(144),%a4                        <== NOT EXECUTED
        rtems_rfs_block_no blocks;                                    
        uint32_t           offset;                                    
                                                                      
        blocks =                                                      
          rtems_rfs_block_map_count (map) -                           
          (((new_size - 1) /                                          
   5ce76:	282c 0008      	movel %a4@(8),%d4                           <== NOT EXECUTED
         */                                                           
        rtems_rfs_block_no blocks;                                    
        uint32_t           offset;                                    
                                                                      
        blocks =                                                      
          rtems_rfs_block_map_count (map) -                           
   5ce7a:	2c2b 0038      	movel %a3@(56),%d6                          <== NOT EXECUTED
          (((new_size - 1) /                                          
   5ce7e:	2d44 ffce      	movel %d4,%fp@(-50)                         <== NOT EXECUTED
   5ce82:	2f2e ffce      	movel %fp@(-50),%sp@-                       <== NOT EXECUTED
   5ce86:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5ce88:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   5ce8a:	2d49 ffca      	movel %a1,%fp@(-54)                         <== NOT EXECUTED
   5ce8e:	2f2e ffca      	movel %fp@(-54),%sp@-                       <== NOT EXECUTED
   5ce92:	d283           	addl %d3,%d1                                <== NOT EXECUTED
   5ce94:	d182           	addxl %d2,%d0                               <== NOT EXECUTED
   5ce96:	2d48 ffd2      	movel %a0,%fp@(-46)                         <== NOT EXECUTED
   5ce9a:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5ce9c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ce9e:	4eb9 0006 dfc8 	jsr 6dfc8 <__udivdi3>                       <== NOT EXECUTED
   5cea4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
         * Shrink                                                     
         */                                                           
        rtems_rfs_block_no blocks;                                    
        uint32_t           offset;                                    
                                                                      
        blocks =                                                      
   5cea8:	4681           	notl %d1                                    <== NOT EXECUTED
   5ceaa:	2e01           	movel %d1,%d7                               <== NOT EXECUTED
   5ceac:	de86           	addl %d6,%d7                                <== NOT EXECUTED
          rtems_rfs_block_map_count (map) -                           
          (((new_size - 1) /                                          
            rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle))) + 1);
                                                                      
        offset =                                                      
          new_size % rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
   5ceae:	2f2e ffce      	movel %fp@(-50),%sp@-                       <== NOT EXECUTED
   5ceb2:	2f2e ffca      	movel %fp@(-54),%sp@-                       <== NOT EXECUTED
   5ceb6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5ceb8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ceba:	4eb9 0006 e3cc 	jsr 6e3cc <__umoddi3>                       <== NOT EXECUTED
                                                                      
        if (blocks)                                                   
   5cec0:	206e ffd2      	moveal %fp@(-46),%a0                        <== NOT EXECUTED
          rtems_rfs_block_map_count (map) -                           
          (((new_size - 1) /                                          
            rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle))) + 1);
                                                                      
        offset =                                                      
          new_size % rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
   5cec4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
        if (blocks)                                                   
   5cec8:	4a87           	tstl %d7                                    <== NOT EXECUTED
   5ceca:	6654           	bnes 5cf20 <rtems_rfs_file_set_size+0x2b0>  <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_block_map_set_size_offset (rtems_rfs_block_map* map,        
                                     rtems_rfs_block_off  offset)     
{                                                                     
  map->size.offset = offset;                                          
   5cecc:	2741 003c      	movel %d1,%a3@(60)                          <== NOT EXECUTED
            return rc;                                                
        }                                                             
                                                                      
        rtems_rfs_block_map_set_size_offset (map, offset);            
                                                                      
        if (rtems_rfs_block_pos_past_end (rtems_rfs_file_bpos (handle),
   5ced0:	202a 000e      	movel %a2@(14),%d0                          <== NOT EXECUTED
  map->dirty = true;                                                  
   5ced4:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   5ced6:	1742 0032      	moveb %d2,%a3@(50)                          <== NOT EXECUTED
   5ceda:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cedc:	6600 00aa      	bnew 5cf88 <rtems_rfs_file_set_size+0x318>  <== NOT EXECUTED
   5cee0:	bc80           	cmpl %d0,%d6                                <== NOT EXECUTED
   5cee2:	6300 00aa      	blsw 5cf8e <rtems_rfs_file_set_size+0x31e>  <== NOT EXECUTED
   5cee6:	2246           	moveal %d6,%a1                              <== NOT EXECUTED
   5cee8:	5389           	subql #1,%a1                                <== NOT EXECUTED
   5ceea:	b3c0           	cmpal %d0,%a1                               <== NOT EXECUTED
   5ceec:	6700 00de      	beqw 5cfcc <rtems_rfs_file_set_size+0x35c>  <== NOT EXECUTED
   5cef0:	2848           	moveal %a0,%a4                              <== NOT EXECUTED
    }                                                                 
                                                                      
    handle->shared->size.count  = rtems_rfs_block_map_count (map);    
    handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);
                                                                      
    if (rtems_rfs_file_update_mtime (handle))                         
   5cef2:	7002           	moveq #2,%d0                                <== NOT EXECUTED
   5cef4:	c092           	andl %a2@,%d0                               <== NOT EXECUTED
          rtems_rfs_block_size_get_bpos (rtems_rfs_block_map_size (map),
                                         rtems_rfs_file_bpos (handle));
      }                                                               
    }                                                                 
                                                                      
    handle->shared->size.count  = rtems_rfs_block_map_count (map);    
   5cef6:	2946 007c      	movel %d6,%a4@(124)                         <== NOT EXECUTED
    handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);
   5cefa:	2941 0080      	movel %d1,%a4@(128)                         <== NOT EXECUTED
                                                                      
    if (rtems_rfs_file_update_mtime (handle))                         
   5cefe:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cf00:	6600 ff5c      	bnew 5ce5e <rtems_rfs_file_set_size+0x1ee>  <== NOT EXECUTED
      handle->shared->mtime = time (NULL);                            
   5cf04:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5cf06:	4eb9 0006 503c 	jsr 6503c <time>                            <== NOT EXECUTED
   5cf0c:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
   5cf0e:	4281           	clrl %d1                                    <== NOT EXECUTED
                                                                      
    handle->shared->size.count  = rtems_rfs_block_map_count (map);    
    handle->shared->size.offset = rtems_rfs_block_map_size_offset (map);
                                                                      
    if (rtems_rfs_file_update_mtime (handle))                         
      handle->shared->mtime = time (NULL);                            
   5cf10:	2940 0088      	movel %d0,%a4@(136)                         <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   5cf14:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5cf16:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5cf1c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5cf1e:	4e75           	rts                                         <== NOT EXECUTED
          new_size % rtems_rfs_fs_block_size (rtems_rfs_file_fs (handle));
                                                                      
        if (blocks)                                                   
        {                                                             
          int rc;                                                     
          rc = rtems_rfs_block_map_shrink (rtems_rfs_file_fs (handle),
   5cf20:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   5cf22:	4868 0032      	pea %a0@(50)                                <== NOT EXECUTED
   5cf26:	2d41 ffd2      	movel %d1,%fp@(-46)                         <== NOT EXECUTED
   5cf2a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5cf2c:	4eb9 0005 9b44 	jsr 59b44 <rtems_rfs_block_map_shrink>      <== NOT EXECUTED
                                           rtems_rfs_file_map (handle),
                                           blocks);                   
          if (rc > 0)                                                 
   5cf32:	222e ffd2      	movel %fp@(-46),%d1                         <== NOT EXECUTED
   5cf36:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5cf3a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cf3c:	6f70           	bles 5cfae <rtems_rfs_file_set_size+0x33e>  <== NOT EXECUTED
   5cf3e:	2200           	movel %d0,%d1                               <== NOT EXECUTED
    if (rtems_rfs_file_update_mtime (handle))                         
      handle->shared->mtime = time (NULL);                            
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   5cf40:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5cf42:	4cee 3cfc ffa0 	moveml %fp@(-96),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5cf48:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5cf4a:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_block_map_set_size_offset (rtems_rfs_block_map* map,        
                                     rtems_rfs_block_off  offset)     
{                                                                     
  map->size.offset = offset;                                          
   5cf4c:	42ab 003c      	clrl %a3@(60)                               <== NOT EXECUTED
  map->dirty = true;                                                  
   5cf50:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5cf52:	1740 0032      	moveb %d0,%a3@(50)                          <== NOT EXECUTED
   5cf56:	4280           	clrl %d0                                    <== NOT EXECUTED
   5cf58:	102e ffdf      	moveb %fp@(-33),%d0                         <== NOT EXECUTED
   5cf5c:	6000 fe4e      	braw 5cdac <rtems_rfs_file_set_size+0x13c>  <== NOT EXECUTED
    /*                                                                
     * Short cut for the common truncate on open call.                
     */                                                               
    if (new_size == 0)                                                
    {                                                                 
      rc = rtems_rfs_block_map_free_all (rtems_rfs_file_fs (handle), map);
   5cf60:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5cf64:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5cf66:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5cf6a:	4eb9 0005 9df0 	jsr 59df0 <rtems_rfs_block_map_free_all>    <== NOT EXECUTED
      if (rc > 0)                                                     
   5cf70:	508f           	addql #8,%sp                                <== NOT EXECUTED
    /*                                                                
     * Short cut for the common truncate on open call.                
     */                                                               
    if (new_size == 0)                                                
    {                                                                 
      rc = rtems_rfs_block_map_free_all (rtems_rfs_file_fs (handle), map);
   5cf72:	2200           	movel %d0,%d1                               <== NOT EXECUTED
      if (rc > 0)                                                     
   5cf74:	6e00 feea      	bgtw 5ce60 <rtems_rfs_file_set_size+0x1f0>  <== NOT EXECUTED
   5cf78:	286a 001a      	moveal %a2@(26),%a4                         <== NOT EXECUTED
   5cf7c:	2c2b 0038      	movel %a3@(56),%d6                          <== NOT EXECUTED
   5cf80:	222b 003c      	movel %a3@(60),%d1                          <== NOT EXECUTED
   5cf84:	6000 ff6c      	braw 5cef2 <rtems_rfs_file_set_size+0x282>  <== NOT EXECUTED
            return rc;                                                
        }                                                             
                                                                      
        rtems_rfs_block_map_set_size_offset (map, offset);            
                                                                      
        if (rtems_rfs_block_pos_past_end (rtems_rfs_file_bpos (handle),
   5cf88:	4a86           	tstl %d6                                    <== NOT EXECUTED
   5cf8a:	6600 ff54      	bnew 5cee0 <rtems_rfs_file_set_size+0x270>  <== NOT EXECUTED
                                          rtems_rfs_block_map_size (map)))
          rtems_rfs_block_size_get_bpos (rtems_rfs_block_map_size (map),
   5cf8e:	2546 000e      	movel %d6,%a2@(14)                          <== NOT EXECUTED
   5cf92:	2541 0012      	movel %d1,%a2@(18)                          <== NOT EXECUTED
   5cf96:	42aa 0016      	clrl %a2@(22)                               <== NOT EXECUTED
   5cf9a:	4a81           	tstl %d1                                    <== NOT EXECUTED
   5cf9c:	6700 ff52      	beqw 5cef0 <rtems_rfs_file_set_size+0x280>  <== NOT EXECUTED
   5cfa0:	2806           	movel %d6,%d4                               <== NOT EXECUTED
   5cfa2:	5384           	subql #1,%d4                                <== NOT EXECUTED
   5cfa4:	2848           	moveal %a0,%a4                              <== NOT EXECUTED
   5cfa6:	2544 000e      	movel %d4,%a2@(14)                          <== NOT EXECUTED
   5cfaa:	6000 ff46      	braw 5cef2 <rtems_rfs_file_set_size+0x282>  <== NOT EXECUTED
   5cfae:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_block_map_set_size_offset (rtems_rfs_block_map* map,        
                                     rtems_rfs_block_off  offset)     
{                                                                     
  map->size.offset = offset;                                          
   5cfb2:	2741 003c      	movel %d1,%a3@(60)                          <== NOT EXECUTED
            return rc;                                                
        }                                                             
                                                                      
        rtems_rfs_block_map_set_size_offset (map, offset);            
                                                                      
        if (rtems_rfs_block_pos_past_end (rtems_rfs_file_bpos (handle),
   5cfb6:	202a 000e      	movel %a2@(14),%d0                          <== NOT EXECUTED
  map->dirty = true;                                                  
   5cfba:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   5cfbc:	2c2b 0038      	movel %a3@(56),%d6                          <== NOT EXECUTED
   5cfc0:	1742 0032      	moveb %d2,%a3@(50)                          <== NOT EXECUTED
   5cfc4:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5cfc6:	6700 ff18      	beqw 5cee0 <rtems_rfs_file_set_size+0x270>  <== NOT EXECUTED
   5cfca:	60bc           	bras 5cf88 <rtems_rfs_file_set_size+0x318>  <== NOT EXECUTED
   5cfcc:	b2aa 0012      	cmpl %a2@(18),%d1                           <== NOT EXECUTED
   5cfd0:	65bc           	bcss 5cf8e <rtems_rfs_file_set_size+0x31e>  <== NOT EXECUTED
   5cfd2:	2848           	moveal %a0,%a4                              <== NOT EXECUTED
   5cfd4:	6000 ff1c      	braw 5cef2 <rtems_rfs_file_set_size+0x282>  <== NOT EXECUTED
                                                                      

0004fbdc <rtems_rfs_format>: return rc; } int rtems_rfs_format (const char* name, const rtems_rfs_format_config* config) {
   4fbdc:	4e56 fef4      	linkw %fp,#-268                             
   4fbe0:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4fbe4:	246e 000c      	moveal %fp@(12),%a2                         
  rtems_rfs_file_system fs;                                           
  int                   group;                                        
  int                   rc;                                           
                                                                      
  if (config->verbose)                                                
   4fbe8:	4a2a 0015      	tstb %a2@(21)                               
   4fbec:	6600 01d0      	bnew 4fdbe <rtems_rfs_format+0x1e2>         
    printf ("rtems-rfs: format: %s\n", name);                         
                                                                      
  memset (&fs, 0, sizeof (rtems_rfs_file_system));                    
   4fbf0:	4878 0084      	pea 84 <DBL_MANT_DIG+0x4f>                  
   4fbf4:	2c0e           	movel %fp,%d6                               
   4fbf6:	0686 ffff ff7c 	addil #-132,%d6                             
   4fbfc:	42a7           	clrl %sp@-                                  
   4fbfe:	2f06           	movel %d6,%sp@-                             
   4fc00:	4eb9 0006 159c 	jsr 6159c <memset>                          
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4fc06:	41ee ffc4      	lea %fp@(-60),%a0                           
  rtems_chain_initialize_empty (&fs.buffers);                         
  rtems_chain_initialize_empty (&fs.release);                         
  rtems_chain_initialize_empty (&fs.release_modified);                
  rtems_chain_initialize_empty (&fs.file_shares);                     
                                                                      
  fs.max_held_buffers = RTEMS_RFS_FS_MAX_HELD_BUFFERS;                
   4fc0a:	7005           	moveq #5,%d0                                
   4fc0c:	2d48 ffc0      	movel %a0,%fp@(-64)                         
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4fc10:	41ee ffc0      	lea %fp@(-64),%a0                           
   4fc14:	2d48 ffc8      	movel %a0,%fp@(-56)                         
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4fc18:	41ee ffd4      	lea %fp@(-44),%a0                           
   4fc1c:	2d48 ffd0      	movel %a0,%fp@(-48)                         
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4fc20:	41ee ffd0      	lea %fp@(-48),%a0                           
   4fc24:	2d48 ffd8      	movel %a0,%fp@(-40)                         
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4fc28:	41ee ffe4      	lea %fp@(-28),%a0                           
   4fc2c:	2d48 ffe0      	movel %a0,%fp@(-32)                         
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4fc30:	41ee ffe0      	lea %fp@(-32),%a0                           
   4fc34:	2d48 ffe8      	movel %a0,%fp@(-24)                         
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
   4fc38:	41ee fff4      	lea %fp@(-12),%a0                           
  fs.flags = RTEMS_RFS_FS_NO_LOCAL_CACHE;                             
                                                                      
  /*                                                                  
   * Open the buffer interface.                                       
   */                                                                 
  rc = rtems_rfs_buffer_open (name, &fs);                             
   4fc3c:	2f06           	movel %d6,%sp@-                             
   4fc3e:	2f2e 0008      	movel %fp@(8),%sp@-                         
  rtems_chain_initialize_empty (&fs.buffers);                         
  rtems_chain_initialize_empty (&fs.release);                         
  rtems_chain_initialize_empty (&fs.release_modified);                
  rtems_chain_initialize_empty (&fs.file_shares);                     
                                                                      
  fs.max_held_buffers = RTEMS_RFS_FS_MAX_HELD_BUFFERS;                
   4fc42:	2d40 ffbc      	movel %d0,%fp@(-68)                         
                                                                      
  fs.release_count = 0;                                               
  fs.release_modified_count = 0;                                      
                                                                      
  fs.flags = RTEMS_RFS_FS_NO_LOCAL_CACHE;                             
   4fc46:	103c 0002      	moveb #2,%d0                                
   4fc4a:	2d48 fff0      	movel %a0,%fp@(-16)                         
  head->previous = NULL;                                              
  tail->previous = head;                                              
   4fc4e:	41ee fff0      	lea %fp@(-16),%a0                           
   4fc52:	2d40 ff7c      	movel %d0,%fp@(-132)                        
   4fc56:	2d48 fff8      	movel %a0,%fp@(-8)                          
                                                                      
  /*                                                                  
   * Open the buffer interface.                                       
   */                                                                 
  rc = rtems_rfs_buffer_open (name, &fs);                             
   4fc5a:	4eb9 0005 a454 	jsr 5a454 <rtems_rfs_buffer_open>           
  if (rc > 0)                                                         
   4fc60:	4fef 0014      	lea %sp@(20),%sp                            
  fs.flags = RTEMS_RFS_FS_NO_LOCAL_CACHE;                             
                                                                      
  /*                                                                  
   * Open the buffer interface.                                       
   */                                                                 
  rc = rtems_rfs_buffer_open (name, &fs);                             
   4fc64:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   4fc66:	6e00 0a0e      	bgtw 50676 <rtems_rfs_format+0xa9a>         
  }                                                                   
                                                                      
  /*                                                                  
   * Check the media.                                                 
   */                                                                 
  if (rtems_rfs_fs_media_block_size (&fs) == 0)                       
   4fc6a:	206e ff8c      	moveal %fp@(-116),%a0                       
   4fc6e:	2228 0020      	movel %a0@(32),%d1                          
   4fc72:	6700 0a2a      	beqw 5069e <rtems_rfs_format+0xac2>         
                                                                      
static bool                                                           
rtems_rfs_check_config (rtems_rfs_file_system*         fs,            
                        const rtems_rfs_format_config* config)        
{                                                                     
  fs->block_size = config->block_size;                                
   4fc76:	2012           	movel %a2@,%d0                              
   4fc78:	2d40 ff84      	movel %d0,%fp@(-124)                        
  if (!fs->block_size)                                                
   4fc7c:	6700 0156      	beqw 4fdd4 <rtems_rfs_format+0x1f8>         
                                                                      
    if (fs->block_size > (4 * 1024))                                  
      fs->block_size = (4 * 1024);                                    
  }                                                                   
                                                                      
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)     
   4fc80:	2600           	movel %d0,%d3                               
   4fc82:	4c41 3002      	remul %d1,%d2,%d3                           
   4fc86:	4a82           	tstl %d2                                    
   4fc88:	6600 01be      	bnew 4fe48 <rtems_rfs_format+0x26c>         
    printf ("block size (%zd) is not a multiple of media block size (%" PRId32 ")\n",
            fs->block_size, rtems_rfs_fs_media_block_size (fs));      
    return false;                                                     
  }                                                                   
                                                                      
  fs->group_blocks = config->group_blocks;                            
   4fc8c:	222a 0004      	movel %a2@(4),%d1                           
  {                                                                   
    /*                                                                
     * The number of blocks per group is defined by the number of bits in a
     * block.                                                         
     */                                                               
    fs->group_blocks = rtems_rfs_bitmap_numof_bits (fs->block_size);  
   4fc90:	e788           	lsll #3,%d0                                 
    printf ("block size (%zd) is not a multiple of media block size (%" PRId32 ")\n",
            fs->block_size, rtems_rfs_fs_media_block_size (fs));      
    return false;                                                     
  }                                                                   
                                                                      
  fs->group_blocks = config->group_blocks;                            
   4fc92:	2d41 ffa4      	movel %d1,%fp@(-92)                         
  if (!fs->group_blocks)                                              
   4fc96:	671e           	beqs 4fcb6 <rtems_rfs_format+0xda>          <== ALWAYS TAKEN
     * block.                                                         
     */                                                               
    fs->group_blocks = rtems_rfs_bitmap_numof_bits (fs->block_size);  
  }                                                                   
                                                                      
  if (fs->group_blocks > rtems_rfs_bitmap_numof_bits (fs->block_size))
   4fc98:	b081           	cmpl %d1,%d0                                <== NOT EXECUTED
   4fc9a:	641e           	bccs 4fcba <rtems_rfs_format+0xde>          <== NOT EXECUTED
  {                                                                   
    printf ("group block count is higher than bits in block\n");      
   4fc9c:	4879 0007 10bb 	pea 710bb <_CPU_m68k_BFFFO_table+0x1ac>     <== NOT EXECUTED
   4fca2:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   4fca8:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   4fcaa:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   4fcac:	4cee 3cfc fef4 	moveml %fp@(-268),%d2-%d7/%a2-%a5           
   4fcb2:	4e5e           	unlk %fp                                    
   4fcb4:	4e75           	rts                                         
  {                                                                   
    /*                                                                
     * The number of blocks per group is defined by the number of bits in a
     * block.                                                         
     */                                                               
    fs->group_blocks = rtems_rfs_bitmap_numof_bits (fs->block_size);  
   4fcb6:	2d40 ffa4      	movel %d0,%fp@(-92)                         
  {                                                                   
    printf ("group block count is higher than bits in block\n");      
    return false;                                                     
  }                                                                   
                                                                      
  fs->blocks = rtems_rfs_fs_media_size (fs) / fs->block_size;         
   4fcba:	2f06           	movel %d6,%sp@-                             
   4fcbc:	49f9 0005 d03c 	lea 5d03c <rtems_rfs_fs_media_size>,%a4     
   4fcc2:	4e94           	jsr %a4@                                    
   4fcc4:	242e ff84      	movel %fp@(-124),%d2                        
 * Return the number of bits that fit in the block size.              
 */                                                                   
static int                                                            
rtems_rfs_bits_per_block (rtems_rfs_file_system* fs)                  
{                                                                     
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));  
   4fcc8:	2602           	movel %d2,%d3                               
  {                                                                   
    printf ("group block count is higher than bits in block\n");      
    return false;                                                     
  }                                                                   
                                                                      
  fs->blocks = rtems_rfs_fs_media_size (fs) / fs->block_size;         
   4fcca:	2f02           	movel %d2,%sp@-                             
 * Return the number of bits that fit in the block size.              
 */                                                                   
static int                                                            
rtems_rfs_bits_per_block (rtems_rfs_file_system* fs)                  
{                                                                     
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));  
   4fccc:	e78b           	lsll #3,%d3                                 
  {                                                                   
    printf ("group block count is higher than bits in block\n");      
    return false;                                                     
  }                                                                   
                                                                      
  fs->blocks = rtems_rfs_fs_media_size (fs) / fs->block_size;         
   4fcce:	42a7           	clrl %sp@-                                  
   4fcd0:	2f01           	movel %d1,%sp@-                             
   4fcd2:	2f00           	movel %d0,%sp@-                             
   4fcd4:	4eb9 0006 dfc8 	jsr 6dfc8 <__udivdi3>                       
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   4fcda:	4fef 0014      	lea %sp@(20),%sp                            
  {                                                                   
    printf ("group block count is higher than bits in block\n");      
    return false;                                                     
  }                                                                   
                                                                      
  fs->blocks = rtems_rfs_fs_media_size (fs) / fs->block_size;         
   4fcde:	2d41 ff80      	movel %d1,%fp@(-128)                        
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   4fce2:	6700 0456      	beqw 5013a <rtems_rfs_format+0x55e>         
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   4fce6:	2001           	movel %d1,%d0                               
   4fce8:	5380           	subql #1,%d0                                
   4fcea:	4c43 0000      	remul %d3,%d0,%d0                           
   4fcee:	5280           	addql #1,%d0                                
   * per block.                                                       
   */                                                                 
  fs->group_count = rtems_rfs_rup_quotient (rtems_rfs_fs_blocks (fs), 
                                            rtems_rfs_bits_per_block (fs));
                                                                      
  fs->group_inodes = config->group_inodes;                            
   4fcf0:	282a 0008      	movel %a2@(8),%d4                           
  /*                                                                  
   * The bits per block sets the upper limit for the number of blocks in a
   * group. The disk will be divided into groups which are the number of bits
   * per block.                                                       
   */                                                                 
  fs->group_count = rtems_rfs_rup_quotient (rtems_rfs_fs_blocks (fs), 
   4fcf4:	2d40 ffa0      	movel %d0,%fp@(-96)                         
                                            rtems_rfs_bits_per_block (fs));
                                                                      
  fs->group_inodes = config->group_inodes;                            
  if (!fs->group_inodes)                                              
   4fcf8:	4a84           	tstl %d4                                    
   4fcfa:	6700 03f2      	beqw 500ee <rtems_rfs_format+0x512>         
   4fcfe:	2202           	movel %d2,%d1                               <== NOT EXECUTED
   4fd00:	7a38           	moveq #56,%d5                               <== NOT EXECUTED
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   4fd02:	5384           	subql #1,%d4                                <== NOT EXECUTED
   4fd04:	4c45 1001      	remul %d5,%d1,%d1                           <== NOT EXECUTED
   4fd08:	4c41 4004      	remul %d1,%d4,%d4                           <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * Round up to fill a block because the minimum allocation unit is a block.
   */                                                                 
  fs->inodes_per_block = rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE;
   4fd0c:	2d41 ffac      	movel %d1,%fp@(-84)                         <== NOT EXECUTED
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   4fd10:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   4fd12:	5280           	addql #1,%d0                                <== NOT EXECUTED
   * Round up to fill a block because the minimum allocation unit is a block.
   */                                                                 
  fs->inodes_per_block = rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE;
  fs->group_inodes =                                                  
    rtems_rfs_rup_quotient (fs->group_inodes,                         
                            fs->inodes_per_block) * fs->inodes_per_block;
   4fd14:	4c00 1800      	mulsl %d0,%d1                               
                                                                      
  if (fs->group_inodes > rtems_rfs_bitmap_numof_bits (fs->block_size))
   4fd18:	b283           	cmpl %d3,%d1                                
   4fd1a:	6200 03b4      	bhiw 500d0 <rtems_rfs_format+0x4f4>         
    fs->group_inodes = rtems_rfs_bitmap_numof_bits (fs->block_size);  
                                                                      
  fs->max_name_length = config->max_name_length;                      
   4fd1e:	202a 0010      	movel %a2@(16),%d0                          
                                                                      
  /*                                                                  
   * Round up to fill a block because the minimum allocation unit is a block.
   */                                                                 
  fs->inodes_per_block = rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE;
  fs->group_inodes =                                                  
   4fd22:	2d41 ffa8      	movel %d1,%fp@(-88)                         
                                                                      
  if (fs->group_inodes > rtems_rfs_bitmap_numof_bits (fs->block_size))
    fs->group_inodes = rtems_rfs_bitmap_numof_bits (fs->block_size);  
                                                                      
  fs->max_name_length = config->max_name_length;                      
  if (!fs->max_name_length)                                           
   4fd26:	4a80           	tstl %d0                                    
   4fd28:	6600 03b4      	bnew 500de <rtems_rfs_format+0x502>         
  {                                                                   
    fs->max_name_length = 512;                                        
   4fd2c:	307c 0200      	moveaw #512,%a0                             
   4fd30:	2d48 ff98      	movel %a0,%fp@(-104)                        
   * Check the configuration data.                                    
   */                                                                 
  if (!rtems_rfs_check_config (&fs, config))                          
    return -1;                                                        
                                                                      
  if (config->verbose)                                                
   4fd34:	4a2a 0015      	tstb %a2@(21)                               
   4fd38:	6600 0128      	bnew 4fe62 <rtems_rfs_format+0x286>         
    printf ("rtems-rfs: format: groups = %u\n", fs.group_count);      
    printf ("rtems-rfs: format: group blocks = %zu\n", fs.group_blocks);
    printf ("rtems-rfs: format: group inodes = %zu\n", fs.group_inodes);
  }                                                                   
                                                                      
  rc = rtems_rfs_buffer_setblksize (&fs, rtems_rfs_fs_block_size (&fs));
   4fd3c:	2f02           	movel %d2,%sp@-                             
   4fd3e:	2f06           	movel %d6,%sp@-                             
   4fd40:	4eb9 0005 a738 	jsr 5a738 <rtems_rfs_buffer_setblksize>     
  if (rc > 0)                                                         
   4fd46:	508f           	addql #8,%sp                                
    printf ("rtems-rfs: format: groups = %u\n", fs.group_count);      
    printf ("rtems-rfs: format: group blocks = %zu\n", fs.group_blocks);
    printf ("rtems-rfs: format: group inodes = %zu\n", fs.group_inodes);
  }                                                                   
                                                                      
  rc = rtems_rfs_buffer_setblksize (&fs, rtems_rfs_fs_block_size (&fs));
   4fd48:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   4fd4a:	6e00 0806      	bgtw 50552 <rtems_rfs_format+0x976>         
    printf ("rtems-rfs: write-superblock: handle open failed: %d: %s\n",
            rc, strerror (rc));                                       
    return false;                                                     
  }                                                                   
                                                                      
  rc = rtems_rfs_buffer_handle_request (fs, &handle, 0, false);       
   4fd4e:	42a7           	clrl %sp@-                                  
   4fd50:	49ee ff34      	lea %fp@(-204),%a4                          
   4fd54:	42a7           	clrl %sp@-                                  
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   4fd56:	4207           	clrb %d7                                    
   4fd58:	2f0c           	movel %a4,%sp@-                             
   4fd5a:	1d47 ff34      	moveb %d7,%fp@(-204)                        
   4fd5e:	2f06           	movel %d6,%sp@-                             
  handle->bnum  = 0;                                                  
   4fd60:	42ae ff36      	clrl %fp@(-202)                             
  handle->buffer = NULL;                                              
   4fd64:	42ae ff3a      	clrl %fp@(-198)                             
   4fd68:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> 
  if (rc > 0)                                                         
   4fd6e:	4fef 0010      	lea %sp@(16),%sp                            
    printf ("rtems-rfs: write-superblock: handle open failed: %d: %s\n",
            rc, strerror (rc));                                       
    return false;                                                     
  }                                                                   
                                                                      
  rc = rtems_rfs_buffer_handle_request (fs, &handle, 0, false);       
   4fd72:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   4fd74:	6f00 01f6      	blew 4ff6c <rtems_rfs_format+0x390>         
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   4fd78:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   4fd7a:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   4fd7c:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   4fd82:	1d47 ff34      	moveb %d7,%fp@(-204)                        <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    printf ("rtems-rfs: write-superblock: request failed: %d: %s\n",  
   4fd86:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   4fd88:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   4fd8c:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   4fd90:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   4fd96:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4fd98:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4fd9a:	4879 0007 12e4 	pea 712e4 <_CPU_m68k_BFFFO_table+0x3d5>     <== NOT EXECUTED
   4fda0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   4fda6:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
   4fdaa:	4879 0007 17c5 	pea 717c5 <_CPU_m68k_BFFFO_table+0x8b6>     <== NOT EXECUTED
   4fdb0:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   4fdb6:	588f           	addql #4,%sp                                <== NOT EXECUTED
    return -1;                                                        
   4fdb8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4fdba:	6000 fef0      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
  rtems_rfs_file_system fs;                                           
  int                   group;                                        
  int                   rc;                                           
                                                                      
  if (config->verbose)                                                
    printf ("rtems-rfs: format: %s\n", name);                         
   4fdbe:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4fdc2:	4879 0007 100f 	pea 7100f <_CPU_m68k_BFFFO_table+0x100>     <== NOT EXECUTED
   4fdc8:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   4fdce:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4fdd0:	6000 fe1e      	braw 4fbf0 <rtems_rfs_format+0x14>          <== NOT EXECUTED
                        const rtems_rfs_format_config* config)        
{                                                                     
  fs->block_size = config->block_size;                                
  if (!fs->block_size)                                                
  {                                                                   
    uint64_t total_size = rtems_rfs_fs_media_size (fs);               
   4fdd4:	2f06           	movel %d6,%sp@-                             
                                                                      
    if (total_size >= GIGS (1))                                       
   4fdd6:	4282           	clrl %d2                                    
   4fdd8:	263c 000f ffff 	movel #1048575,%d3                          
                        const rtems_rfs_format_config* config)        
{                                                                     
  fs->block_size = config->block_size;                                
  if (!fs->block_size)                                                
  {                                                                   
    uint64_t total_size = rtems_rfs_fs_media_size (fs);               
   4fdde:	4eb9 0005 d03c 	jsr 5d03c <rtems_rfs_fs_media_size>         
                                                                      
    if (total_size >= GIGS (1))                                       
   4fde4:	588f           	addql #4,%sp                                
   4fde6:	9681           	subl %d1,%d3                                
   4fde8:	9580           	subxl %d0,%d2                               
   4fdea:	6400 0354      	bccw 50140 <rtems_rfs_format+0x564>         
    {                                                                 
      uint32_t gigs = (total_size + GIGS (1)) / GIGS (1);             
   4fdee:	7a0c           	moveq #12,%d5                               <== NOT EXECUTED
   4fdf0:	7e14           	moveq #20,%d7                               <== NOT EXECUTED
      int      b;                                                     
      for (b = 31; b > 0; b--)                                        
   4fdf2:	741f           	moveq #31,%d2                               <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                   
   4fdf4:	7801           	moveq #1,%d4                                <== NOT EXECUTED
  {                                                                   
    uint64_t total_size = rtems_rfs_fs_media_size (fs);               
                                                                      
    if (total_size >= GIGS (1))                                       
    {                                                                 
      uint32_t gigs = (total_size + GIGS (1)) / GIGS (1);             
   4fdf6:	4283           	clrl %d3                                    <== NOT EXECUTED
   4fdf8:	0681 0010 0000 	addil #1048576,%d1                          <== NOT EXECUTED
   4fdfe:	d183           	addxl %d3,%d0                               <== NOT EXECUTED
   4fe00:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   4fe02:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   4fe04:	eea8           	lsrl %d7,%d0                                <== NOT EXECUTED
   4fe06:	ebab           	lsll %d5,%d3                                <== NOT EXECUTED
   4fe08:	8680           	orl %d0,%d3                                 <== NOT EXECUTED
      int      b;                                                     
      for (b = 31; b > 0; b--)                                        
        if ((gigs & (1 << b)) != 0)                                   
   4fe0a:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   4fe0c:	e5a8           	lsll %d2,%d0                                <== NOT EXECUTED
                                                                      
    if (total_size >= GIGS (1))                                       
    {                                                                 
      uint32_t gigs = (total_size + GIGS (1)) / GIGS (1);             
      int      b;                                                     
      for (b = 31; b > 0; b--)                                        
   4fe0e:	5382           	subql #1,%d2                                <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                   
   4fe10:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   4fe12:	c283           	andl %d3,%d1                                <== NOT EXECUTED
   4fe14:	6606           	bnes 4fe1c <rtems_rfs_format+0x240>         <== NOT EXECUTED
                                                                      
    if (total_size >= GIGS (1))                                       
    {                                                                 
      uint32_t gigs = (total_size + GIGS (1)) / GIGS (1);             
      int      b;                                                     
      for (b = 31; b > 0; b--)                                        
   4fe16:	4a82           	tstl %d2                                    <== NOT EXECUTED
   4fe18:	66f0           	bnes 4fe0a <rtems_rfs_format+0x22e>         <== NOT EXECUTED
   4fe1a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
        if ((gigs & (1 << b)) != 0)                                   
          break;                                                      
      fs->block_size = 1 << b;                                        
   4fe1c:	2d40 ff84      	movel %d0,%fp@(-124)                        <== NOT EXECUTED
    }                                                                 
                                                                      
    if (fs->block_size < 512)                                         
   4fe20:	0c80 0000 01ff 	cmpil #511,%d0                              <== NOT EXECUTED
   4fe26:	6200 0326      	bhiw 5014e <rtems_rfs_format+0x572>         <== NOT EXECUTED
      fs->block_size = 512;                                           
   4fe2a:	203c 0000 0200 	movel #512,%d0                              
                                                                      
    if (fs->block_size > (4 * 1024))                                  
      fs->block_size = (4 * 1024);                                    
  }                                                                   
                                                                      
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)     
   4fe30:	2600           	movel %d0,%d3                               
   4fe32:	206e ff8c      	moveal %fp@(-116),%a0                       
          break;                                                      
      fs->block_size = 1 << b;                                        
    }                                                                 
                                                                      
    if (fs->block_size < 512)                                         
      fs->block_size = 512;                                           
   4fe36:	2d40 ff84      	movel %d0,%fp@(-124)                        
   4fe3a:	2228 0020      	movel %a0@(32),%d1                          
                                                                      
    if (fs->block_size > (4 * 1024))                                  
      fs->block_size = (4 * 1024);                                    
  }                                                                   
                                                                      
  if ((fs->block_size % rtems_rfs_fs_media_block_size (fs)) != 0)     
   4fe3e:	4c41 3002      	remul %d1,%d2,%d3                           
   4fe42:	4a82           	tstl %d2                                    
   4fe44:	6700 fe46      	beqw 4fc8c <rtems_rfs_format+0xb0>          
  {                                                                   
    printf ("block size (%zd) is not a multiple of media block size (%" PRId32 ")\n",
   4fe48:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4fe4a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4fe4c:	4879 0007 107d 	pea 7107d <_CPU_m68k_BFFFO_table+0x16e>     <== NOT EXECUTED
   4fe52:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   4fe58:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   4fe5c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4fe5e:	6000 fe4c      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
  if (!rtems_rfs_check_config (&fs, config))                          
    return -1;                                                        
                                                                      
  if (config->verbose)                                                
  {                                                                   
    printf ("rtems-rfs: format: media size = %" PRIu64 "\n",          
   4fe62:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   4fe64:	47f9 0006 16ec 	lea 616ec <printf>,%a3                      <== NOT EXECUTED
   4fe6a:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   4fe6c:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4fe6e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4fe70:	4879 0007 10ea 	pea 710ea <_CPU_m68k_BFFFO_table+0x1db>     <== NOT EXECUTED
   4fe76:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            rtems_rfs_fs_media_size (&fs));                           
    printf ("rtems-rfs: format: media blocks = %" PRIu32 "\n",        
            rtems_rfs_fs_media_blocks (&fs));                         
   4fe78:	206e ff8c      	moveal %fp@(-116),%a0                       <== NOT EXECUTED
                                                                      
  if (config->verbose)                                                
  {                                                                   
    printf ("rtems-rfs: format: media size = %" PRIu64 "\n",          
            rtems_rfs_fs_media_size (&fs));                           
    printf ("rtems-rfs: format: media blocks = %" PRIu32 "\n",        
   4fe7c:	2f28 001c      	movel %a0@(28),%sp@-                        <== NOT EXECUTED
   4fe80:	4879 0007 1110 	pea 71110 <_CPU_m68k_BFFFO_table+0x201>     <== NOT EXECUTED
   4fe86:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            rtems_rfs_fs_media_blocks (&fs));                         
    printf ("rtems-rfs: format: media block size = %" PRIu32 "\n",    
            rtems_rfs_fs_media_block_size (&fs));                     
   4fe88:	206e ff8c      	moveal %fp@(-116),%a0                       <== NOT EXECUTED
  {                                                                   
    printf ("rtems-rfs: format: media size = %" PRIu64 "\n",          
            rtems_rfs_fs_media_size (&fs));                           
    printf ("rtems-rfs: format: media blocks = %" PRIu32 "\n",        
            rtems_rfs_fs_media_blocks (&fs));                         
    printf ("rtems-rfs: format: media block size = %" PRIu32 "\n",    
   4fe8c:	2f28 0020      	movel %a0@(32),%sp@-                        <== NOT EXECUTED
   4fe90:	4879 0007 1137 	pea 71137 <_CPU_m68k_BFFFO_table+0x228>     <== NOT EXECUTED
   4fe96:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            rtems_rfs_fs_media_block_size (&fs));                     
    printf ("rtems-rfs: format: size = %" PRIu64 "\n",                
   4fe98:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   4fe9c:	2e86           	movel %d6,%sp@                              <== NOT EXECUTED
   4fe9e:	4eb9 0005 d00c 	jsr 5d00c <rtems_rfs_fs_size>               <== NOT EXECUTED
   4fea4:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4fea6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4fea8:	4879 0007 1162 	pea 71162 <_CPU_m68k_BFFFO_table+0x253>     <== NOT EXECUTED
   4feae:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            rtems_rfs_fs_size (&fs));                                 
    printf ("rtems-rfs: format: blocks = %zu\n",                      
   4feb0:	2f2e ff80      	movel %fp@(-128),%sp@-                      <== NOT EXECUTED
   4feb4:	4879 0007 1182 	pea 71182 <_CPU_m68k_BFFFO_table+0x273>     <== NOT EXECUTED
   4feba:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            rtems_rfs_fs_blocks (&fs));                               
    printf ("rtems-rfs: format: block size = %zu\n",                  
   4febc:	2f2e ff84      	movel %fp@(-124),%sp@-                      <== NOT EXECUTED
   4fec0:	4879 0007 11a3 	pea 711a3 <_CPU_m68k_BFFFO_table+0x294>     <== NOT EXECUTED
   4fec6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
 * Return the number of bits that fit in the block size.              
 */                                                                   
static int                                                            
rtems_rfs_bits_per_block (rtems_rfs_file_system* fs)                  
{                                                                     
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));  
   4fec8:	202e ff84      	movel %fp@(-124),%d0                        <== NOT EXECUTED
            rtems_rfs_fs_size (&fs));                                 
    printf ("rtems-rfs: format: blocks = %zu\n",                      
            rtems_rfs_fs_blocks (&fs));                               
    printf ("rtems-rfs: format: block size = %zu\n",                  
            rtems_rfs_fs_block_size (&fs));                           
    printf ("rtems-rfs: format: bits per block = %u\n",               
   4fecc:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
 * Return the number of bits that fit in the block size.              
 */                                                                   
static int                                                            
rtems_rfs_bits_per_block (rtems_rfs_file_system* fs)                  
{                                                                     
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));  
   4fed0:	e788           	lsll #3,%d0                                 <== NOT EXECUTED
            rtems_rfs_fs_size (&fs));                                 
    printf ("rtems-rfs: format: blocks = %zu\n",                      
            rtems_rfs_fs_blocks (&fs));                               
    printf ("rtems-rfs: format: block size = %zu\n",                  
            rtems_rfs_fs_block_size (&fs));                           
    printf ("rtems-rfs: format: bits per block = %u\n",               
   4fed2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4fed4:	4879 0007 11c8 	pea 711c8 <_CPU_m68k_BFFFO_table+0x2b9>     <== NOT EXECUTED
   4feda:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            rtems_rfs_bits_per_block (&fs));                          
    printf ("rtems-rfs: format: inode size = %zu\n", RTEMS_RFS_INODE_SIZE);
   4fedc:	4878 0038      	pea 38 <DBL_MANT_DIG+0x3>                   <== NOT EXECUTED
   4fee0:	4879 0007 11f0 	pea 711f0 <_CPU_m68k_BFFFO_table+0x2e1>     <== NOT EXECUTED
   4fee6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
static int                                                            
rtems_rfs_inode_overhead (rtems_rfs_file_system* fs)                  
{                                                                     
  int blocks;                                                         
  int bits_per_block;                                                 
  blocks = rtems_rfs_rup_quotient(fs->group_inodes * RTEMS_RFS_INODE_SIZE,
   4fee8:	242e ffa8      	movel %fp@(-88),%d2                         <== NOT EXECUTED
   4feec:	2802           	movel %d2,%d4                               <== NOT EXECUTED
   4feee:	2002           	movel %d2,%d0                               <== NOT EXECUTED
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   4fef0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4fef4:	223c 0000 07d0 	movel #2000,%d1                             <== NOT EXECUTED
static int                                                            
rtems_rfs_inode_overhead (rtems_rfs_file_system* fs)                  
{                                                                     
  int blocks;                                                         
  int bits_per_block;                                                 
  blocks = rtems_rfs_rup_quotient(fs->group_inodes * RTEMS_RFS_INODE_SIZE,
   4fefa:	e78c           	lsll #3,%d4                                 <== NOT EXECUTED
   4fefc:	ed88           	lsll #6,%d0                                 <== NOT EXECUTED
   4fefe:	262e ff84      	movel %fp@(-124),%d3                        <== NOT EXECUTED
   4ff02:	9084           	subl %d4,%d0                                <== NOT EXECUTED
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   4ff04:	6600 0268      	bnew 5016e <rtems_rfs_format+0x592>         <== NOT EXECUTED
                                  rtems_rfs_fs_block_size (fs));      
  bits_per_block = rtems_rfs_bits_per_block (fs);                     
  /*                                                                  
   * There could be more bits than blocks, eg 512K disk with 512 blocks.
   */                                                                 
  if (bits_per_block > (rtems_rfs_fs_blocks (fs) - RTEMS_RFS_SUPERBLOCK_SIZE))
   4ff08:	202e ff80      	movel %fp@(-128),%d0                        <== NOT EXECUTED
   4ff0c:	5380           	subql #1,%d0                                <== NOT EXECUTED
 * Return the number of bits that fit in the block size.              
 */                                                                   
static int                                                            
rtems_rfs_bits_per_block (rtems_rfs_file_system* fs)                  
{                                                                     
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));  
   4ff0e:	e78b           	lsll #3,%d3                                 <== NOT EXECUTED
                                  rtems_rfs_fs_block_size (fs));      
  bits_per_block = rtems_rfs_bits_per_block (fs);                     
  /*                                                                  
   * There could be more bits than blocks, eg 512K disk with 512 blocks.
   */                                                                 
  if (bits_per_block > (rtems_rfs_fs_blocks (fs) - RTEMS_RFS_SUPERBLOCK_SIZE))
   4ff10:	b083           	cmpl %d3,%d0                                <== NOT EXECUTED
   4ff12:	6400 036e      	bccw 50282 <rtems_rfs_format+0x6a6>         <== NOT EXECUTED
    printf ("rtems-rfs: format: block size = %zu\n",                  
            rtems_rfs_fs_block_size (&fs));                           
    printf ("rtems-rfs: format: bits per block = %u\n",               
            rtems_rfs_bits_per_block (&fs));                          
    printf ("rtems-rfs: format: inode size = %zu\n", RTEMS_RFS_INODE_SIZE);
    printf ("rtems-rfs: format: inodes = %zu (%d.%d%%)\n",            
   4ff16:	2a2e ffa0      	movel %fp@(-96),%d5                         <== NOT EXECUTED
   4ff1a:	4c02 5800      	mulsl %d2,%d5                               <== NOT EXECUTED
  /*                                                                  
   * There could be more bits than blocks, eg 512K disk with 512 blocks.
   */                                                                 
  if (bits_per_block > (rtems_rfs_fs_blocks (fs) - RTEMS_RFS_SUPERBLOCK_SIZE))
    bits_per_block = rtems_rfs_fs_blocks (fs) - RTEMS_RFS_SUPERBLOCK_SIZE;
  return ((blocks + 1) * 100 * 10) / bits_per_block;                  
   4ff1e:	4c40 1801      	remsl %d0,%d1,%d1                           <== NOT EXECUTED
    printf ("rtems-rfs: format: block size = %zu\n",                  
            rtems_rfs_fs_block_size (&fs));                           
    printf ("rtems-rfs: format: bits per block = %u\n",               
            rtems_rfs_bits_per_block (&fs));                          
    printf ("rtems-rfs: format: inode size = %zu\n", RTEMS_RFS_INODE_SIZE);
    printf ("rtems-rfs: format: inodes = %zu (%d.%d%%)\n",            
   4ff22:	760a           	moveq #10,%d3                               <== NOT EXECUTED
   4ff24:	4c43 1800      	remsl %d3,%d0,%d1                           <== NOT EXECUTED
   4ff28:	4c43 1801      	remsl %d3,%d1,%d1                           <== NOT EXECUTED
   4ff2c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   4ff2e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   4ff30:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   4ff32:	4879 0007 1215 	pea 71215 <_CPU_m68k_BFFFO_table+0x306>     <== NOT EXECUTED
   4ff38:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            fs.group_inodes * fs.group_count,                         
            rtems_rfs_inode_overhead (&fs) / 10,                      
            rtems_rfs_inode_overhead (&fs) % 10);                     
    printf ("rtems-rfs: format: groups = %u\n", fs.group_count);      
   4ff3a:	2f2e ffa0      	movel %fp@(-96),%sp@-                       <== NOT EXECUTED
   4ff3e:	4879 0007 1240 	pea 71240 <_CPU_m68k_BFFFO_table+0x331>     <== NOT EXECUTED
   4ff44:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    printf ("rtems-rfs: format: group blocks = %zu\n", fs.group_blocks);
   4ff46:	2f2e ffa4      	movel %fp@(-92),%sp@-                       <== NOT EXECUTED
   4ff4a:	4879 0007 1260 	pea 71260 <_CPU_m68k_BFFFO_table+0x351>     <== NOT EXECUTED
   4ff50:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    printf ("rtems-rfs: format: group inodes = %zu\n", fs.group_inodes);
   4ff52:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   4ff56:	2eae ffa8      	movel %fp@(-88),%sp@                        <== NOT EXECUTED
   4ff5a:	4879 0007 1287 	pea 71287 <_CPU_m68k_BFFFO_table+0x378>     <== NOT EXECUTED
   4ff60:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   4ff62:	242e ff84      	movel %fp@(-124),%d2                        <== NOT EXECUTED
   4ff66:	508f           	addql #8,%sp                                <== NOT EXECUTED
   4ff68:	6000 fdd2      	braw 4fd3c <rtems_rfs_format+0x160>         <== NOT EXECUTED
    printf ("rtems-rfs: write-superblock: request failed: %d: %s\n",  
            rc, strerror (rc));                                       
    return false;                                                     
  }                                                                   
                                                                      
  sb = rtems_rfs_buffer_data (&handle);                               
   4ff6c:	206e ff3a      	moveal %fp@(-198),%a0                       
                                                                      
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                    
                                                                      
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);           
  write_sb (RTEMS_RFS_SB_OFFSET_VERSION, RTEMS_RFS_VERSION);          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCKS, rtems_rfs_fs_blocks (fs));    
   4ff70:	7a18           	moveq #24,%d5                               
    printf ("rtems-rfs: write-superblock: request failed: %d: %s\n",  
            rc, strerror (rc));                                       
    return false;                                                     
  }                                                                   
                                                                      
  sb = rtems_rfs_buffer_data (&handle);                               
   4ff72:	2668 001a      	moveal %a0@(26),%a3                         
                                                                      
#define write_sb(_o, _d) rtems_rfs_write_u32(sb + (_o), _d)           
                                                                      
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                    
   4ff76:	2f2e ff84      	movel %fp@(-124),%sp@-                      
   4ff7a:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  
                                                                      
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);           
  write_sb (RTEMS_RFS_SB_OFFSET_VERSION, RTEMS_RFS_VERSION);          
   4ff7e:	4203           	clrb %d3                                    
                                                                      
  sb = rtems_rfs_buffer_data (&handle);                               
                                                                      
#define write_sb(_o, _d) rtems_rfs_write_u32(sb + (_o), _d)           
                                                                      
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                    
   4ff80:	2f0b           	movel %a3,%sp@-                             
                                                                      
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);           
   4ff82:	7401           	moveq #1,%d2                                
                                                                      
  sb = rtems_rfs_buffer_data (&handle);                               
                                                                      
#define write_sb(_o, _d) rtems_rfs_write_u32(sb + (_o), _d)           
                                                                      
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                    
   4ff84:	4eb9 0006 159c 	jsr 6159c <memset>                          
                                                                      
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);           
   4ff8a:	7009           	moveq #9,%d0                                
   4ff8c:	7220           	moveq #32,%d1                               
   4ff8e:	1742 0003      	moveb %d2,%a3@(3)                           
   4ff92:	16bc 0028      	moveb #40,%a3@                              
   4ff96:	1741 0002      	moveb %d1,%a3@(2)                           
   4ff9a:	1740 0001      	moveb %d0,%a3@(1)                           
  write_sb (RTEMS_RFS_SB_OFFSET_VERSION, RTEMS_RFS_VERSION);          
   4ff9e:	1743 0004      	moveb %d3,%a3@(4)                           
   4ffa2:	1743 0005      	moveb %d3,%a3@(5)                           
   4ffa6:	1743 0006      	moveb %d3,%a3@(6)                           
   4ffaa:	1743 0007      	moveb %d3,%a3@(7)                           
  write_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS, fs->bad_blocks);          
  write_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH, fs->max_name_length);
  write_sb (RTEMS_RFS_SB_OFFSET_GROUPS, fs->group_count);             
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS, fs->group_blocks);      
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES, fs->group_inodes);      
  write_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE, RTEMS_RFS_INODE_SIZE);    
   4ffae:	7e38           	moveq #56,%d7                               
                                                                      
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                    
                                                                      
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);           
  write_sb (RTEMS_RFS_SB_OFFSET_VERSION, RTEMS_RFS_VERSION);          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCKS, rtems_rfs_fs_blocks (fs));    
   4ffb0:	202e ff80      	movel %fp@(-128),%d0                        
   4ffb4:	2200           	movel %d0,%d1                               
   4ffb6:	eaa9           	lsrl %d5,%d1                                
   4ffb8:	2400           	movel %d0,%d2                               
   4ffba:	e08a           	lsrl #8,%d2                                 
   4ffbc:	1741 000c      	moveb %d1,%a3@(12)                          
   4ffc0:	2200           	movel %d0,%d1                               
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE, rtems_rfs_fs_block_size (fs));
   4ffc2:	176e ff84 0008 	moveb %fp@(-124),%a3@(8)                    
                                                                      
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                    
                                                                      
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);           
  write_sb (RTEMS_RFS_SB_OFFSET_VERSION, RTEMS_RFS_VERSION);          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCKS, rtems_rfs_fs_blocks (fs));    
   4ffc8:	4241           	clrw %d1                                    
   4ffca:	4841           	swap %d1                                    
   4ffcc:	1742 000e      	moveb %d2,%a3@(14)                          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE, rtems_rfs_fs_block_size (fs));
   4ffd0:	176e ff85 0009 	moveb %fp@(-123),%a3@(9)                    
                                                                      
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                    
                                                                      
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);           
  write_sb (RTEMS_RFS_SB_OFFSET_VERSION, RTEMS_RFS_VERSION);          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCKS, rtems_rfs_fs_blocks (fs));    
   4ffd6:	1741 000d      	moveb %d1,%a3@(13)                          
   4ffda:	1740 000f      	moveb %d0,%a3@(15)                          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE, rtems_rfs_fs_block_size (fs));
   4ffde:	176e ff86 000a 	moveb %fp@(-122),%a3@(10)                   
  write_sb (RTEMS_RFS_SB_OFFSET_GROUPS, fs->group_count);             
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS, fs->group_blocks);      
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES, fs->group_inodes);      
  write_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE, RTEMS_RFS_INODE_SIZE);    
                                                                      
  rtems_rfs_buffer_mark_dirty (&handle);                              
   4ffe4:	7001           	moveq #1,%d0                                
  memset (sb, 0xff, rtems_rfs_fs_block_size (fs));                    
                                                                      
  write_sb (RTEMS_RFS_SB_OFFSET_MAGIC, RTEMS_RFS_SB_MAGIC);           
  write_sb (RTEMS_RFS_SB_OFFSET_VERSION, RTEMS_RFS_VERSION);          
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCKS, rtems_rfs_fs_blocks (fs));    
  write_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE, rtems_rfs_fs_block_size (fs));
   4ffe6:	176e ff87 000b 	moveb %fp@(-121),%a3@(11)                   
  write_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS, fs->bad_blocks);          
   4ffec:	176e ff94 0010 	moveb %fp@(-108),%a3@(16)                   
   4fff2:	176e ff95 0011 	moveb %fp@(-107),%a3@(17)                   
   4fff8:	176e ff96 0012 	moveb %fp@(-106),%a3@(18)                   
   4fffe:	176e ff97 0013 	moveb %fp@(-105),%a3@(19)                   
  write_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH, fs->max_name_length);
   50004:	176e ff98 0014 	moveb %fp@(-104),%a3@(20)                   
   5000a:	176e ff99 0015 	moveb %fp@(-103),%a3@(21)                   
   50010:	176e ff9a 0016 	moveb %fp@(-102),%a3@(22)                   
   50016:	176e ff9b 0017 	moveb %fp@(-101),%a3@(23)                   
  write_sb (RTEMS_RFS_SB_OFFSET_GROUPS, fs->group_count);             
   5001c:	176e ffa0 0018 	moveb %fp@(-96),%a3@(24)                    
   50022:	176e ffa1 0019 	moveb %fp@(-95),%a3@(25)                    
   50028:	176e ffa2 001a 	moveb %fp@(-94),%a3@(26)                    
   5002e:	176e ffa3 001b 	moveb %fp@(-93),%a3@(27)                    
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS, fs->group_blocks);      
   50034:	176e ffa4 001c 	moveb %fp@(-92),%a3@(28)                    
   5003a:	176e ffa5 001d 	moveb %fp@(-91),%a3@(29)                    
   50040:	176e ffa6 001e 	moveb %fp@(-90),%a3@(30)                    
   50046:	176e ffa7 001f 	moveb %fp@(-89),%a3@(31)                    
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES, fs->group_inodes);      
   5004c:	176e ffa8 0020 	moveb %fp@(-88),%a3@(32)                    
   50052:	176e ffa9 0021 	moveb %fp@(-87),%a3@(33)                    
   50058:	176e ffaa 0022 	moveb %fp@(-86),%a3@(34)                    
   5005e:	176e ffab 0023 	moveb %fp@(-85),%a3@(35)                    
  write_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE, RTEMS_RFS_INODE_SIZE);    
   50064:	1743 0024      	moveb %d3,%a3@(36)                          
   50068:	1743 0025      	moveb %d3,%a3@(37)                          
   5006c:	1743 0026      	moveb %d3,%a3@(38)                          
   50070:	1747 0027      	moveb %d7,%a3@(39)                          
                                                                      
  rtems_rfs_buffer_mark_dirty (&handle);                              
   50074:	1d40 ff34      	moveb %d0,%fp@(-204)                        
                                                                      
  rc = rtems_rfs_buffer_handle_release (fs, &handle);                 
   50078:	2f0c           	movel %a4,%sp@-                             
   5007a:	2f06           	movel %d6,%sp@-                             
   5007c:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> 
  if (rc > 0)                                                         
   50082:	4fef 0014      	lea %sp@(20),%sp                            
  write_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES, fs->group_inodes);      
  write_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE, RTEMS_RFS_INODE_SIZE);    
                                                                      
  rtems_rfs_buffer_mark_dirty (&handle);                              
                                                                      
  rc = rtems_rfs_buffer_handle_release (fs, &handle);                 
   50086:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   50088:	6f00 013a      	blew 501c4 <rtems_rfs_format+0x5e8>         
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5008c:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5008e:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   50090:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   50096:	1d43 ff34      	moveb %d3,%fp@(-204)                        <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    printf ("rtems-rfs: write-superblock: buffer release failed: %d: %s\n",
   5009a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5009c:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   500a0:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   500a4:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   500aa:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   500ac:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   500ae:	4879 0007 1319 	pea 71319 <_CPU_m68k_BFFFO_table+0x40a>     <== NOT EXECUTED
   500b4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   500ba:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
   500be:	4879 0007 17c5 	pea 717c5 <_CPU_m68k_BFFFO_table+0x8b6>     <== NOT EXECUTED
   500c4:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   500ca:	588f           	addql #4,%sp                                <== NOT EXECUTED
   500cc:	6000 fcea      	braw 4fdb8 <rtems_rfs_format+0x1dc>         <== NOT EXECUTED
                            fs->inodes_per_block) * fs->inodes_per_block;
                                                                      
  if (fs->group_inodes > rtems_rfs_bitmap_numof_bits (fs->block_size))
    fs->group_inodes = rtems_rfs_bitmap_numof_bits (fs->block_size);  
                                                                      
  fs->max_name_length = config->max_name_length;                      
   500d0:	202a 0010      	movel %a2@(16),%d0                          <== NOT EXECUTED
  fs->group_inodes =                                                  
    rtems_rfs_rup_quotient (fs->group_inodes,                         
                            fs->inodes_per_block) * fs->inodes_per_block;
                                                                      
  if (fs->group_inodes > rtems_rfs_bitmap_numof_bits (fs->block_size))
    fs->group_inodes = rtems_rfs_bitmap_numof_bits (fs->block_size);  
   500d4:	2d43 ffa8      	movel %d3,%fp@(-88)                         <== NOT EXECUTED
                                                                      
  fs->max_name_length = config->max_name_length;                      
  if (!fs->max_name_length)                                           
   500d8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   500da:	6700 fc50      	beqw 4fd2c <rtems_rfs_format+0x150>         <== NOT EXECUTED
                            fs->inodes_per_block) * fs->inodes_per_block;
                                                                      
  if (fs->group_inodes > rtems_rfs_bitmap_numof_bits (fs->block_size))
    fs->group_inodes = rtems_rfs_bitmap_numof_bits (fs->block_size);  
                                                                      
  fs->max_name_length = config->max_name_length;                      
   500de:	2d40 ff98      	movel %d0,%fp@(-104)                        <== NOT EXECUTED
   * Check the configuration data.                                    
   */                                                                 
  if (!rtems_rfs_check_config (&fs, config))                          
    return -1;                                                        
                                                                      
  if (config->verbose)                                                
   500e2:	4a2a 0015      	tstb %a2@(21)                               <== NOT EXECUTED
   500e6:	6700 fc54      	beqw 4fd3c <rtems_rfs_format+0x160>         <== NOT EXECUTED
   500ea:	6000 fd76      	braw 4fe62 <rtems_rfs_format+0x286>         <== NOT EXECUTED
    int inode_overhead = RTEMS_RFS_INODE_OVERHEAD_PERCENTAGE;         
                                                                      
    /*                                                                
     * The number of inodes per group is set as a percentage.         
     */                                                               
    if (config->inode_overhead)                                       
   500ee:	206a 000c      	moveal %a2@(12),%a0                         
   500f2:	4a88           	tstl %a0                                    
   500f4:	6700 009e      	beqw 50194 <rtems_rfs_format+0x5b8>         
   500f8:	2808           	movel %a0,%d4                               <== NOT EXECUTED
static int                                                            
rtems_rfs_inodes_from_percent (rtems_rfs_file_system* fs,             
                               int                    percentage)     
{                                                                     
  int blocks;                                                         
  blocks = ((rtems_rfs_fs_blocks (fs) -                               
   500fa:	5381           	subql #1,%d1                                <== NOT EXECUTED
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;          
   500fc:	4c04 1800      	mulsl %d4,%d1                               <== NOT EXECUTED
   50100:	7e64           	moveq #100,%d7                              <== NOT EXECUTED
   50102:	4c47 1001      	remul %d7,%d1,%d1                           <== NOT EXECUTED
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   50106:	6700 009e      	beqw 501a6 <rtems_rfs_format+0x5ca>         <== NOT EXECUTED
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   5010a:	5381           	subql #1,%d1                                
{                                                                     
  int blocks;                                                         
  blocks = ((rtems_rfs_fs_blocks (fs) -                               
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;          
  blocks = rtems_rfs_rup_quotient (blocks, fs->group_count);          
  return blocks * (rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE);
   5010c:	7e38           	moveq #56,%d7                               
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   5010e:	4c40 1001      	remul %d0,%d1,%d1                           
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   50112:	7001           	moveq #1,%d0                                
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   50114:	2801           	movel %d1,%d4                               
{                                                                     
  int blocks;                                                         
  blocks = ((rtems_rfs_fs_blocks (fs) -                               
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;          
  blocks = rtems_rfs_rup_quotient (blocks, fs->group_count);          
  return blocks * (rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE);
   50116:	2202           	movel %d2,%d1                               
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   50118:	5284           	addql #1,%d4                                
{                                                                     
  int blocks;                                                         
  blocks = ((rtems_rfs_fs_blocks (fs) -                               
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;          
  blocks = rtems_rfs_rup_quotient (blocks, fs->group_count);          
  return blocks * (rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE);
   5011a:	4c47 1001      	remul %d7,%d1,%d1                           
   5011e:	4c01 4800      	mulsl %d1,%d4                               
  }                                                                   
                                                                      
  /*                                                                  
   * Round up to fill a block because the minimum allocation unit is a block.
   */                                                                 
  fs->inodes_per_block = rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE;
   50122:	2d41 ffac      	movel %d1,%fp@(-84)                         
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   50126:	4a84           	tstl %d4                                    
   50128:	6700 fbea      	beqw 4fd14 <rtems_rfs_format+0x138>         
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   5012c:	5384           	subql #1,%d4                                
   5012e:	4c41 4004      	remul %d1,%d4,%d4                           
   50132:	2004           	movel %d4,%d0                               
   50134:	5280           	addql #1,%d0                                
   50136:	6000 fbdc      	braw 4fd14 <rtems_rfs_format+0x138>         
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
   5013a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5013c:	6000 fbb2      	braw 4fcf0 <rtems_rfs_format+0x114>         <== NOT EXECUTED
   50140:	202e ff84      	movel %fp@(-124),%d0                        
        if ((gigs & (1 << b)) != 0)                                   
          break;                                                      
      fs->block_size = 1 << b;                                        
    }                                                                 
                                                                      
    if (fs->block_size < 512)                                         
   50144:	0c80 0000 01ff 	cmpil #511,%d0                              
   5014a:	6300 fcde      	blsw 4fe2a <rtems_rfs_format+0x24e>         
      fs->block_size = 512;                                           
                                                                      
    if (fs->block_size > (4 * 1024))                                  
   5014e:	0c80 0000 1000 	cmpil #4096,%d0                             <== NOT EXECUTED
   50154:	6300 0868      	blsw 509be <rtems_rfs_format+0xde2>         <== NOT EXECUTED
   50158:	206e ff8c      	moveal %fp@(-116),%a0                       <== NOT EXECUTED
      fs->block_size = (4 * 1024);                                    
   5015c:	203c 0000 1000 	movel #4096,%d0                             <== NOT EXECUTED
   50162:	2228 0020      	movel %a0@(32),%d1                          <== NOT EXECUTED
   50166:	2d40 ff84      	movel %d0,%fp@(-124)                        <== NOT EXECUTED
   5016a:	6000 fb14      	braw 4fc80 <rtems_rfs_format+0xa4>          <== NOT EXECUTED
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   5016e:	5380           	subql #1,%d0                                <== NOT EXECUTED
   50170:	4c43 0000      	remul %d3,%d0,%d0                           <== NOT EXECUTED
 * Return the number of bits that fit in the block size.              
 */                                                                   
static int                                                            
rtems_rfs_bits_per_block (rtems_rfs_file_system* fs)                  
{                                                                     
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));  
   50174:	e78b           	lsll #3,%d3                                 <== NOT EXECUTED
   50176:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   50178:	203c 0000 03e8 	movel #1000,%d0                             <== NOT EXECUTED
   5017e:	5481           	addql #2,%d1                                <== NOT EXECUTED
   50180:	4c00 1800      	mulsl %d0,%d1                               <== NOT EXECUTED
                                  rtems_rfs_fs_block_size (fs));      
  bits_per_block = rtems_rfs_bits_per_block (fs);                     
  /*                                                                  
   * There could be more bits than blocks, eg 512K disk with 512 blocks.
   */                                                                 
  if (bits_per_block > (rtems_rfs_fs_blocks (fs) - RTEMS_RFS_SUPERBLOCK_SIZE))
   50184:	202e ff80      	movel %fp@(-128),%d0                        <== NOT EXECUTED
   50188:	5380           	subql #1,%d0                                <== NOT EXECUTED
   5018a:	b083           	cmpl %d3,%d0                                <== NOT EXECUTED
   5018c:	6500 fd88      	bcsw 4ff16 <rtems_rfs_format+0x33a>         <== NOT EXECUTED
   50190:	6000 00f0      	braw 50282 <rtems_rfs_format+0x6a6>         <== NOT EXECUTED
    int inode_overhead = RTEMS_RFS_INODE_OVERHEAD_PERCENTAGE;         
                                                                      
    /*                                                                
     * The number of inodes per group is set as a percentage.         
     */                                                               
    if (config->inode_overhead)                                       
   50194:	7801           	moveq #1,%d4                                
static int                                                            
rtems_rfs_inodes_from_percent (rtems_rfs_file_system* fs,             
                               int                    percentage)     
{                                                                     
  int blocks;                                                         
  blocks = ((rtems_rfs_fs_blocks (fs) -                               
   50196:	5381           	subql #1,%d1                                
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;          
   50198:	4c04 1800      	mulsl %d4,%d1                               
   5019c:	7e64           	moveq #100,%d7                              
   5019e:	4c47 1001      	remul %d7,%d1,%d1                           
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   501a2:	6600 ff66      	bnew 5010a <rtems_rfs_format+0x52e>         
{                                                                     
  int blocks;                                                         
  blocks = ((rtems_rfs_fs_blocks (fs) -                               
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;          
  blocks = rtems_rfs_rup_quotient (blocks, fs->group_count);          
  return blocks * (rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE);
   501a6:	2202           	movel %d2,%d1                               
   501a8:	7e38           	moveq #56,%d7                               
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   501aa:	7801           	moveq #1,%d4                                
   501ac:	7001           	moveq #1,%d0                                
{                                                                     
  int blocks;                                                         
  blocks = ((rtems_rfs_fs_blocks (fs) -                               
             RTEMS_RFS_SUPERBLOCK_SIZE) * percentage) / 100;          
  blocks = rtems_rfs_rup_quotient (blocks, fs->group_count);          
  return blocks * (rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE);
   501ae:	4c47 1001      	remul %d7,%d1,%d1                           
   501b2:	4c01 4800      	mulsl %d1,%d4                               
  }                                                                   
                                                                      
  /*                                                                  
   * Round up to fill a block because the minimum allocation unit is a block.
   */                                                                 
  fs->inodes_per_block = rtems_rfs_fs_block_size (fs) / RTEMS_RFS_INODE_SIZE;
   501b6:	2d41 ffac      	movel %d1,%fp@(-84)                         
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   501ba:	4a84           	tstl %d4                                    
   501bc:	6700 fb56      	beqw 4fd14 <rtems_rfs_format+0x138>         
   501c0:	6000 ff6a      	braw 5012c <rtems_rfs_format+0x550>         
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   501c4:	2f0c           	movel %a4,%sp@-                             
   501c6:	2f06           	movel %d6,%sp@-                             
   501c8:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> 
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
  }                                                                   
                                                                      
  for (group = 0; group < fs.group_count; group++)                    
   501ce:	508f           	addql #8,%sp                                
   501d0:	4aae ffa0      	tstl %fp@(-96)                              
   501d4:	6f00 053a      	blew 50710 <rtems_rfs_format+0xb34>         
  size_t                   group_size;                                
  int                      blocks;                                    
  int                      b;                                         
  int                      rc;                                        
                                                                      
  group_base = rtems_rfs_fs_block (fs, group, 0);                     
   501d8:	242e ffa4      	movel %fp@(-92),%d2                         
    return -1;                                                        
  }                                                                   
                                                                      
  for (group = 0; group < fs.group_count; group++)                    
    if (!rtems_rfs_write_group (&fs, group,                           
                                config->initialise_inodes, config->verbose))
   501dc:	162a 0014      	moveb %a2@(20),%d3                          
  int                      b;                                         
  int                      rc;                                        
                                                                      
  group_base = rtems_rfs_fs_block (fs, group, 0);                     
                                                                      
  if (group_base > rtems_rfs_fs_blocks (fs))                          
   501e0:	202e ff80      	movel %fp@(-128),%d0                        
    return -1;                                                        
  }                                                                   
                                                                      
  for (group = 0; group < fs.group_count; group++)                    
    if (!rtems_rfs_write_group (&fs, group,                           
                                config->initialise_inodes, config->verbose))
   501e4:	1d43 ff2b      	moveb %d3,%fp@(-213)                        
   501e8:	122a 0015      	moveb %a2@(21),%d1                          
  int                      b;                                         
  int                      rc;                                        
                                                                      
  group_base = rtems_rfs_fs_block (fs, group, 0);                     
                                                                      
  if (group_base > rtems_rfs_fs_blocks (fs))                          
   501ec:	4a80           	tstl %d0                                    
   501ee:	6700 04ca      	beqw 506ba <rtems_rfs_format+0xade>         
   501f2:	97cb           	subal %a3,%a3                               
   501f4:	4287           	clrl %d7                                    
   501f6:	280e           	movel %fp,%d4                               
   501f8:	7601           	moveq #1,%d3                                
   501fa:	0684 ffff ff3e 	addil #-194,%d4                             
   50200:	2a47           	moveal %d7,%a5                              
   50202:	2a0b           	movel %a3,%d5                               
   50204:	1d41 ff1d      	moveb %d1,%fp@(-227)                        
  /*                                                                  
   * Be nice to strange sizes of disks. These are embedded systems after all
   * and nice numbers do not always work out. Let the last block pick up the
   * remainder of the blocks.                                         
   */                                                                 
  if ((group_base + group_size) > rtems_rfs_fs_blocks (fs))           
   50208:	2202           	movel %d2,%d1                               
   5020a:	d283           	addl %d3,%d1                                
   5020c:	b280           	cmpl %d0,%d1                                
   5020e:	6304           	blss 50214 <rtems_rfs_format+0x638>         <== NEVER TAKEN
    group_size = rtems_rfs_fs_blocks (fs) - group_base;               
   50210:	2400           	movel %d0,%d2                               
   50212:	9483           	subl %d3,%d2                                
                                                                      
  if (verbose)                                                        
   50214:	4a2e ff1d      	tstb %fp@(-227)                             
   50218:	6600 012c      	bnew 50346 <rtems_rfs_format+0x76a>         
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
   5021c:	42ae ff36      	clrl %fp@(-202)                             
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   50220:	4200           	clrb %d0                                    
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   50222:	42ae ff3a      	clrl %fp@(-198)                             
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   50226:	1d40 ff34      	moveb %d0,%fp@(-204)                        
    printf (", blocks");                                              
                                                                      
  /*                                                                  
   * Open the block bitmap using the new buffer.                      
   */                                                                 
  rc = rtems_rfs_bitmap_open (&bitmap, fs, &handle, group_size,       
   5022a:	2f03           	movel %d3,%sp@-                             
   5022c:	2f02           	movel %d2,%sp@-                             
   5022e:	2f0c           	movel %a4,%sp@-                             
   50230:	2f06           	movel %d6,%sp@-                             
   50232:	2f04           	movel %d4,%sp@-                             
   50234:	4eb9 0005 8cfc 	jsr 58cfc <rtems_rfs_bitmap_open>           
                              group_base + RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);
  if (rc > 0)                                                         
   5023a:	4fef 0014      	lea %sp@(20),%sp                            
   5023e:	4a80           	tstl %d0                                    
   50240:	6f00 0098      	blew 502da <rtems_rfs_format+0x6fe>         
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50244:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   50246:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
   50248:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5024a:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   50250:	4200           	clrb %d0                                    <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    printf ("\nrtems-rfs: write-group: group %3d: open block bitmap failed: %d: %s\n",
   50252:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   50254:	1d40 ff34      	moveb %d0,%fp@(-204)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50258:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5025c:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   50260:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   50266:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50268:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5026a:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5026c:	4879 0007 13cd 	pea 713cd <_CPU_m68k_BFFFO_table+0x4be>     <== NOT EXECUTED
   50272:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50278:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   5027c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5027e:	6000 fa2c      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
 * Return the number of bits that fit in the block size.              
 */                                                                   
static int                                                            
rtems_rfs_bits_per_block (rtems_rfs_file_system* fs)                  
{                                                                     
  return rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs));  
   50282:	2003           	movel %d3,%d0                               <== NOT EXECUTED
  /*                                                                  
   * There could be more bits than blocks, eg 512K disk with 512 blocks.
   */                                                                 
  if (bits_per_block > (rtems_rfs_fs_blocks (fs) - RTEMS_RFS_SUPERBLOCK_SIZE))
    bits_per_block = rtems_rfs_fs_blocks (fs) - RTEMS_RFS_SUPERBLOCK_SIZE;
  return ((blocks + 1) * 100 * 10) / bits_per_block;                  
   50284:	4c40 1801      	remsl %d0,%d1,%d1                           <== NOT EXECUTED
    printf ("rtems-rfs: format: block size = %zu\n",                  
            rtems_rfs_fs_block_size (&fs));                           
    printf ("rtems-rfs: format: bits per block = %u\n",               
            rtems_rfs_bits_per_block (&fs));                          
    printf ("rtems-rfs: format: inode size = %zu\n", RTEMS_RFS_INODE_SIZE);
    printf ("rtems-rfs: format: inodes = %zu (%d.%d%%)\n",            
   50288:	2a2e ffa0      	movel %fp@(-96),%d5                         <== NOT EXECUTED
   5028c:	760a           	moveq #10,%d3                               <== NOT EXECUTED
   5028e:	4c02 5800      	mulsl %d2,%d5                               <== NOT EXECUTED
   50292:	4c43 1800      	remsl %d3,%d0,%d1                           <== NOT EXECUTED
   50296:	4c43 1801      	remsl %d3,%d1,%d1                           <== NOT EXECUTED
   5029a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5029c:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5029e:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   502a0:	4879 0007 1215 	pea 71215 <_CPU_m68k_BFFFO_table+0x306>     <== NOT EXECUTED
   502a6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            fs.group_inodes * fs.group_count,                         
            rtems_rfs_inode_overhead (&fs) / 10,                      
            rtems_rfs_inode_overhead (&fs) % 10);                     
    printf ("rtems-rfs: format: groups = %u\n", fs.group_count);      
   502a8:	2f2e ffa0      	movel %fp@(-96),%sp@-                       <== NOT EXECUTED
   502ac:	4879 0007 1240 	pea 71240 <_CPU_m68k_BFFFO_table+0x331>     <== NOT EXECUTED
   502b2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    printf ("rtems-rfs: format: group blocks = %zu\n", fs.group_blocks);
   502b4:	2f2e ffa4      	movel %fp@(-92),%sp@-                       <== NOT EXECUTED
   502b8:	4879 0007 1260 	pea 71260 <_CPU_m68k_BFFFO_table+0x351>     <== NOT EXECUTED
   502be:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    printf ("rtems-rfs: format: group inodes = %zu\n", fs.group_inodes);
   502c0:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   502c4:	2eae ffa8      	movel %fp@(-88),%sp@                        <== NOT EXECUTED
   502c8:	4879 0007 1287 	pea 71287 <_CPU_m68k_BFFFO_table+0x378>     <== NOT EXECUTED
   502ce:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   502d0:	242e ff84      	movel %fp@(-124),%d2                        <== NOT EXECUTED
   502d4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   502d6:	6000 fa64      	braw 4fd3c <rtems_rfs_format+0x160>         <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Force the whole buffer to a known state. The bit map may not occupy the
   * whole block.                                                     
   */                                                                 
  memset (rtems_rfs_buffer_data (&handle), 0xff, rtems_rfs_fs_block_size (fs));
   502da:	2f2e ff84      	movel %fp@(-124),%sp@-                      
   502de:	206e ff3a      	moveal %fp@(-198),%a0                       
   502e2:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  
   502e6:	2f28 001a      	movel %a0@(26),%sp@-                        
   502ea:	4eb9 0006 159c 	jsr 6159c <memset>                          
                                                                      
  /*                                                                  
   * Clear the bitmap.                                                
   */                                                                 
  rc = rtems_rfs_bitmap_map_clear_all (&bitmap);                      
   502f0:	2f04           	movel %d4,%sp@-                             
   502f2:	4eb9 0005 8b22 	jsr 58b22 <rtems_rfs_bitmap_map_clear_all>  
  if (rc > 0)                                                         
   502f8:	4fef 0010      	lea %sp@(16),%sp                            
   502fc:	4a80           	tstl %d0                                    
   502fe:	6f7a           	bles 5037a <rtems_rfs_format+0x79e>         <== ALWAYS TAKEN
  {                                                                   
    rtems_rfs_bitmap_close (&bitmap);                                 
   50300:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   50302:	2a00           	movel %d0,%d5                               <== NOT EXECUTED
   50304:	4eb9 0005 8d60 	jsr 58d60 <rtems_rfs_bitmap_close>          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5030a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5030c:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5030e:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   50314:	4201           	clrb %d1                                    <== NOT EXECUTED
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    printf ("\nrtems-rfs: write-group: group %3d: block bitmap clear all failed: %d: %s\n",
   50316:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   50318:	1d41 ff34      	moveb %d1,%fp@(-204)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5031c:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   50320:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   50324:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5032a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5032c:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5032e:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   50330:	4879 0007 1413 	pea 71413 <_CPU_m68k_BFFFO_table+0x504>     <== NOT EXECUTED
   50336:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5033c:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   50340:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   50342:	6000 f968      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
   */                                                                 
  if ((group_base + group_size) > rtems_rfs_fs_blocks (fs))           
    group_size = rtems_rfs_fs_blocks (fs) - group_base;               
                                                                      
  if (verbose)                                                        
    printf ("\rrtems-rfs: format: group %3d: base = %" PRId32 ", size = %zd",
   50346:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   50348:	4207           	clrb %d7                                    <== NOT EXECUTED
   5034a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5034c:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5034e:	4879 0007 138e 	pea 7138e <_CPU_m68k_BFFFO_table+0x47f>     <== NOT EXECUTED
   50354:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
            rc, strerror (rc));                                       
    return false;                                                     
  }                                                                   
                                                                      
  if (verbose)                                                        
    printf (", blocks");                                              
   5035a:	4879 0007 13c4 	pea 713c4 <_CPU_m68k_BFFFO_table+0x4b5>     <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50360:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   50364:	1d47 ff34      	moveb %d7,%fp@(-204)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   50368:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   5036c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50372:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   50376:	6000 feb2      	braw 5022a <rtems_rfs_format+0x64e>         <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * Forced allocation of the block bitmap.                           
   */                                                                 
  rtems_rfs_bitmap_map_set (&bitmap, RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);
   5037a:	42a7           	clrl %sp@-                                  
   5037c:	2f04           	movel %d4,%sp@-                             
   5037e:	4eb9 0005 8924 	jsr 58924 <rtems_rfs_bitmap_map_set>        
                                                                      
  /*                                                                  
   * Forced allocation of the inode bitmap.                           
   */                                                                 
  rtems_rfs_bitmap_map_set (&bitmap, RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);
   50384:	4878 0001      	pea 1 <ADD>                                 
   50388:	2f04           	movel %d4,%sp@-                             
   5038a:	4eb9 0005 8924 	jsr 58924 <rtems_rfs_bitmap_map_set>        
                                                                      
  /*                                                                  
   * Determine the number of inodes blocks in the group.              
   */                                                                 
  blocks = rtems_rfs_rup_quotient (fs->group_inodes, fs->inodes_per_block);
   50390:	226e ffac      	moveal %fp@(-84),%a1                        
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   50394:	4fef 0010      	lea %sp@(16),%sp                            
  rtems_rfs_bitmap_map_set (&bitmap, RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);
                                                                      
  /*                                                                  
   * Determine the number of inodes blocks in the group.              
   */                                                                 
  blocks = rtems_rfs_rup_quotient (fs->group_inodes, fs->inodes_per_block);
   50398:	202e ffa8      	movel %fp@(-88),%d0                         
 * "quotient = dividend / divisor"                                    
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
   5039c:	6600 0140      	bnew 504de <rtems_rfs_format+0x902>         
    return 1;                                                         
   503a0:	7e01           	moveq #1,%d7                                <== NOT EXECUTED
   503a2:	97cb           	subal %a3,%a3                               <== NOT EXECUTED
   503a4:	2d4a ff22      	movel %a2,%fp@(-222)                        <== NOT EXECUTED
   503a8:	244b           	moveal %a3,%a2                              <== NOT EXECUTED
   503aa:	2d47 ff26      	movel %d7,%fp@(-218)                        <== NOT EXECUTED
   503ae:	266e ff26      	moveal %fp@(-218),%a3                       <== NOT EXECUTED
   503b2:	1e2e ff1d      	moveb %fp@(-227),%d7                        <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Forced allocation of the inode blocks which follow the block bitmap.
   */                                                                 
  for (b = 0; b < blocks; b++)                                        
    rtems_rfs_bitmap_map_set (&bitmap, b + RTEMS_RFS_GROUP_INODE_BLOCK);
   503b6:	486a 0002      	pea %a2@(2)                                 
  blocks = rtems_rfs_rup_quotient (fs->group_inodes, fs->inodes_per_block);
                                                                      
  /*                                                                  
   * Forced allocation of the inode blocks which follow the block bitmap.
   */                                                                 
  for (b = 0; b < blocks; b++)                                        
   503ba:	528a           	addql #1,%a2                                
    rtems_rfs_bitmap_map_set (&bitmap, b + RTEMS_RFS_GROUP_INODE_BLOCK);
   503bc:	2f04           	movel %d4,%sp@-                             
   503be:	4eb9 0005 8924 	jsr 58924 <rtems_rfs_bitmap_map_set>        
  blocks = rtems_rfs_rup_quotient (fs->group_inodes, fs->inodes_per_block);
                                                                      
  /*                                                                  
   * Forced allocation of the inode blocks which follow the block bitmap.
   */                                                                 
  for (b = 0; b < blocks; b++)                                        
   503c4:	508f           	addql #8,%sp                                
   503c6:	b7ca           	cmpal %a2,%a3                               
   503c8:	6eec           	bgts 503b6 <rtems_rfs_format+0x7da>         
   503ca:	246e ff22      	moveal %fp@(-222),%a2                       
   503ce:	1d47 ff1d      	moveb %d7,%fp@(-227)                        
    rtems_rfs_bitmap_map_set (&bitmap, b + RTEMS_RFS_GROUP_INODE_BLOCK);
                                                                      
  /*                                                                  
   * Close the block bitmap.                                          
   */                                                                 
  rc = rtems_rfs_bitmap_close (&bitmap);                              
   503d2:	2f04           	movel %d4,%sp@-                             
   503d4:	4eb9 0005 8d60 	jsr 58d60 <rtems_rfs_bitmap_close>          
  if (rc > 0)                                                         
   503da:	588f           	addql #4,%sp                                
   503dc:	4a80           	tstl %d0                                    
   503de:	6e00 012a      	bgtw 5050a <rtems_rfs_format+0x92e>         
    printf ("\nrtems-rfs: write-group: group %3d: close block bitmap failed: %d: %s\n",
            group, rc, strerror (rc));                                
    return false;                                                     
  }                                                                   
                                                                      
  rtems_rfs_buffer_mark_dirty (&handle);                              
   503e2:	7201           	moveq #1,%d1                                
   503e4:	1d41 ff34      	moveb %d1,%fp@(-204)                        
                                                                      
  if (verbose)                                                        
   503e8:	4a2e ff1d      	tstb %fp@(-227)                             
   503ec:	665a           	bnes 50448 <rtems_rfs_format+0x86c>         <== NEVER TAKEN
    printf (", inodes");                                              
                                                                      
  /*                                                                  
   * Open the inode bitmap using the old buffer. Should release any changes.
   */                                                                 
  rc = rtems_rfs_bitmap_open (&bitmap, fs, &handle, group_size,       
   503ee:	2045           	moveal %d5,%a0                              
   503f0:	4868 0002      	pea %a0@(2)                                 
   503f4:	2f02           	movel %d2,%sp@-                             
   503f6:	2f0c           	movel %a4,%sp@-                             
   503f8:	2f06           	movel %d6,%sp@-                             
   503fa:	2f04           	movel %d4,%sp@-                             
   503fc:	4eb9 0005 8cfc 	jsr 58cfc <rtems_rfs_bitmap_open>           
                              group_base + RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);
  if (rc > 0)                                                         
   50402:	4fef 0014      	lea %sp@(20),%sp                            
   50406:	4a80           	tstl %d0                                    
   50408:	6f68           	bles 50472 <rtems_rfs_format+0x896>         <== ALWAYS TAKEN
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5040a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5040c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5040e:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   50410:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   50416:	4200           	clrb %d0                                    <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    printf ("\nrtems-rfs: write-group: group %3d: open inode bitmap failed: %d: %s\n",
   50418:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5041a:	1d40 ff34      	moveb %d0,%fp@(-204)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5041e:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   50422:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   50426:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5042c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5042e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50430:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   50432:	4879 0007 14ae 	pea 714ae <_CPU_m68k_BFFFO_table+0x59f>     <== NOT EXECUTED
   50438:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5043e:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   50442:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   50444:	6000 f866      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_buffer_mark_dirty (&handle);                              
                                                                      
  if (verbose)                                                        
    printf (", inodes");                                              
   50448:	4879 0007 14a5 	pea 714a5 <_CPU_m68k_BFFFO_table+0x596>     <== NOT EXECUTED
   5044e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50454:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Open the inode bitmap using the old buffer. Should release any changes.
   */                                                                 
  rc = rtems_rfs_bitmap_open (&bitmap, fs, &handle, group_size,       
   50456:	2045           	moveal %d5,%a0                              <== NOT EXECUTED
   50458:	4868 0002      	pea %a0@(2)                                 <== NOT EXECUTED
   5045c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5045e:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   50460:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   50462:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   50464:	4eb9 0005 8cfc 	jsr 58cfc <rtems_rfs_bitmap_open>           <== NOT EXECUTED
                              group_base + RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);
  if (rc > 0)                                                         
   5046a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5046e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   50470:	6e98           	bgts 5040a <rtems_rfs_format+0x82e>         <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Force the whole buffer to a known state. The bit map may not occupy the
   * whole block.                                                     
   */                                                                 
  memset (rtems_rfs_buffer_data (&handle), 0x00, rtems_rfs_fs_block_size (fs));
   50472:	2f2e ff84      	movel %fp@(-124),%sp@-                      
   50476:	206e ff3a      	moveal %fp@(-198),%a0                       
   5047a:	42a7           	clrl %sp@-                                  
   5047c:	2f28 001a      	movel %a0@(26),%sp@-                        
   50480:	4eb9 0006 159c 	jsr 6159c <memset>                          
                                                                      
  /*                                                                  
   * Clear the inode bitmap.                                          
   */                                                                 
  rc = rtems_rfs_bitmap_map_clear_all (&bitmap);                      
   50486:	2f04           	movel %d4,%sp@-                             
   50488:	4eb9 0005 8b22 	jsr 58b22 <rtems_rfs_bitmap_map_clear_all>  
  if (rc > 0)                                                         
   5048e:	4fef 0010      	lea %sp@(16),%sp                            
   50492:	4a80           	tstl %d0                                    
   50494:	6f00 00e4      	blew 5057a <rtems_rfs_format+0x99e>         
  {                                                                   
    rtems_rfs_bitmap_close (&bitmap);                                 
   50498:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5049a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5049c:	4eb9 0005 8d60 	jsr 58d60 <rtems_rfs_bitmap_close>          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   504a2:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   504a4:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   504a6:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   504ac:	4201           	clrb %d1                                    <== NOT EXECUTED
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    printf ("\nrtems-rfs: write-group: group %3d: inode bitmap" \     
   504ae:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   504b0:	1d41 ff34      	moveb %d1,%fp@(-204)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   504b4:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   504b8:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   504bc:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   504c2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   504c4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   504c6:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   504c8:	4879 0007 14f4 	pea 714f4 <_CPU_m68k_BFFFO_table+0x5e5>     <== NOT EXECUTED
   504ce:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   504d4:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   504d8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   504da:	6000 f7d0      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   504de:	2640           	moveal %d0,%a3                              
   504e0:	538b           	subql #1,%a3                                
   504e2:	200b           	movel %a3,%d0                               
   504e4:	2209           	movel %a1,%d1                               
   504e6:	4c41 0000      	remul %d1,%d0,%d0                           
   504ea:	2640           	moveal %d0,%a3                              
   504ec:	528b           	addql #1,%a3                                
   504ee:	2d4b ff26      	movel %a3,%fp@(-218)                        
  blocks = rtems_rfs_rup_quotient (fs->group_inodes, fs->inodes_per_block);
                                                                      
  /*                                                                  
   * Forced allocation of the inode blocks which follow the block bitmap.
   */                                                                 
  for (b = 0; b < blocks; b++)                                        
   504f2:	6f00 fede      	blew 503d2 <rtems_rfs_format+0x7f6>         
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
   504f6:	97cb           	subal %a3,%a3                               
   504f8:	2d4a ff22      	movel %a2,%fp@(-222)                        
   504fc:	244b           	moveal %a3,%a2                              
   504fe:	266e ff26      	moveal %fp@(-218),%a3                       
   50502:	1e2e ff1d      	moveb %fp@(-227),%d7                        
   50506:	6000 feae      	braw 503b6 <rtems_rfs_format+0x7da>         
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5050a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5050c:	2d40 ff1e      	movel %d0,%fp@(-226)                        <== NOT EXECUTED
   50510:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   50512:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
   */                                                                 
  rc = rtems_rfs_bitmap_close (&bitmap);                              
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    printf ("\nrtems-rfs: write-group: group %3d: close block bitmap failed: %d: %s\n",
   50518:	222e ff1e      	movel %fp@(-226),%d1                        <== NOT EXECUTED
  handle->dirty = false;                                              
   5051c:	4200           	clrb %d0                                    <== NOT EXECUTED
   5051e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   50520:	1d40 ff34      	moveb %d0,%fp@(-204)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50524:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   50528:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   5052c:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   50532:	222e ff1e      	movel %fp@(-226),%d1                        <== NOT EXECUTED
   50536:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50538:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5053a:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5053c:	4879 0007 145e 	pea 7145e <_CPU_m68k_BFFFO_table+0x54f>     <== NOT EXECUTED
   50542:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50548:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   5054c:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5054e:	6000 f75c      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_buffer_setblksize (&fs, rtems_rfs_fs_block_size (&fs));
  if (rc > 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: setting block size failed: %d: %s\n", 
   50552:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50554:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5055a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5055c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5055e:	4879 0007 12ae 	pea 712ae <_CPU_m68k_BFFFO_table+0x39f>     <== NOT EXECUTED
   50564:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5056a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
   5056e:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50570:	4cee 3cfc fef4 	moveml %fp@(-268),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   50576:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50578:	4e75           	rts                                         <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * Close the inode bitmap.                                          
   */                                                                 
  rc = rtems_rfs_bitmap_close (&bitmap);                              
   5057a:	2f04           	movel %d4,%sp@-                             
   5057c:	4eb9 0005 8d60 	jsr 58d60 <rtems_rfs_bitmap_close>          
  if (rc > 0)                                                         
   50582:	588f           	addql #4,%sp                                
   50584:	4a80           	tstl %d0                                    
   50586:	6e00 00b0      	bgtw 50638 <rtems_rfs_format+0xa5c>         
    printf ("\nrtems-rfs: write-group: group %3d: close inode" \      
            " bitmap failed: %d: %s\n", group, rc, strerror (rc));    
    return false;                                                     
  }                                                                   
                                                                      
  rtems_rfs_buffer_mark_dirty (&handle);                              
   5058a:	7a01           	moveq #1,%d5                                
   5058c:	1d45 ff34      	moveb %d5,%fp@(-204)                        
                                                                      
  /*                                                                  
   * Initialise the inode tables if required to do so.                
   */                                                                 
  if (initialise_inodes)                                              
   50590:	4a2e ff2b      	tstb %fp@(-213)                             
   50594:	674c           	beqs 505e2 <rtems_rfs_format+0xa06>         <== ALWAYS TAKEN
  {                                                                   
    for (b = 0; b < blocks; b++)                                      
   50596:	4aae ff26      	tstl %fp@(-218)                             <== NOT EXECUTED
   5059a:	6f46           	bles 505e2 <rtems_rfs_format+0xa06>         <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
                                                                      
int                                                                   
rtems_rfs_format (const char* name, const rtems_rfs_format_config* config)
   5059c:	266e ff26      	moveal %fp@(-218),%a3                       <== NOT EXECUTED
   505a0:	5483           	addql #2,%d3                                <== NOT EXECUTED
   505a2:	d7c3           	addal %d3,%a3                               <== NOT EXECUTED
   */                                                                 
  if (initialise_inodes)                                              
  {                                                                   
    for (b = 0; b < blocks; b++)                                      
    {                                                                 
      rc = rtems_rfs_buffer_handle_request (fs, &handle,              
   505a4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   505a6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   505a8:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   505aa:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   505ac:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
                                            group_base + b + RTEMS_RFS_GROUP_INODE_BLOCK,
                                            false);                   
      if (rc > 0)                                                     
   505b2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   505b6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   505b8:	6e00 0116      	bgtw 506d0 <rtems_rfs_format+0xaf4>         <== NOT EXECUTED
                                                                      
      /*                                                              
       * Force the whole buffer to a known state. The bit map may not occupy the
       * whole block.                                                 
       */                                                             
      memset (rtems_rfs_buffer_data (&handle), 0xff, rtems_rfs_fs_block_size (fs));
   505bc:	2f2e ff84      	movel %fp@(-124),%sp@-                      <== NOT EXECUTED
   505c0:	5283           	addql #1,%d3                                <== NOT EXECUTED
   505c2:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  <== NOT EXECUTED
   505c6:	206e ff3a      	moveal %fp@(-198),%a0                       <== NOT EXECUTED
   505ca:	2f28 001a      	movel %a0@(26),%sp@-                        <== NOT EXECUTED
   505ce:	4eb9 0006 159c 	jsr 6159c <memset>                          <== NOT EXECUTED
  /*                                                                  
   * Initialise the inode tables if required to do so.                
   */                                                                 
  if (initialise_inodes)                                              
  {                                                                   
    for (b = 0; b < blocks; b++)                                      
   505d4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
       * Force the whole buffer to a known state. The bit map may not occupy the
       * whole block.                                                 
       */                                                             
      memset (rtems_rfs_buffer_data (&handle), 0xff, rtems_rfs_fs_block_size (fs));
                                                                      
      rtems_rfs_buffer_mark_dirty (&handle);                          
   505d8:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   505da:	1d41 ff34      	moveb %d1,%fp@(-204)                        <== NOT EXECUTED
  /*                                                                  
   * Initialise the inode tables if required to do so.                
   */                                                                 
  if (initialise_inodes)                                              
  {                                                                   
    for (b = 0; b < blocks; b++)                                      
   505de:	b7c3           	cmpal %d3,%a3                               <== NOT EXECUTED
   505e0:	66c2           	bnes 505a4 <rtems_rfs_format+0x9c8>         <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   505e2:	2f0c           	movel %a4,%sp@-                             
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
  }                                                                   
                                                                      
  for (group = 0; group < fs.group_count; group++)                    
   505e4:	528d           	addql #1,%a5                                
   505e6:	2f06           	movel %d6,%sp@-                             
   505e8:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> 
   505ee:	508f           	addql #8,%sp                                
   505f0:	bbee ffa0      	cmpal %fp@(-96),%a5                         
   505f4:	6c00 011a      	bgew 50710 <rtems_rfs_format+0xb34>         
  size_t                   group_size;                                
  int                      blocks;                                    
  int                      b;                                         
  int                      rc;                                        
                                                                      
  group_base = rtems_rfs_fs_block (fs, group, 0);                     
   505f8:	242e ffa4      	movel %fp@(-92),%d2                         <== NOT EXECUTED
   505fc:	2a0d           	movel %a5,%d5                               <== NOT EXECUTED
   505fe:	4c02 5800      	mulsl %d2,%d5                               <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  for (group = 0; group < fs.group_count; group++)                    
    if (!rtems_rfs_write_group (&fs, group,                           
                                config->initialise_inodes, config->verbose))
   50602:	1e2a 0015      	moveb %a2@(21),%d7                          <== NOT EXECUTED
   50606:	122a 0014      	moveb %a2@(20),%d1                          <== NOT EXECUTED
  size_t                   group_size;                                
  int                      blocks;                                    
  int                      b;                                         
  int                      rc;                                        
                                                                      
  group_base = rtems_rfs_fs_block (fs, group, 0);                     
   5060a:	2605           	movel %d5,%d3                               <== NOT EXECUTED
   5060c:	5283           	addql #1,%d3                                <== NOT EXECUTED
                                                                      
  if (group_base > rtems_rfs_fs_blocks (fs))                          
   5060e:	202e ff80      	movel %fp@(-128),%d0                        <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  for (group = 0; group < fs.group_count; group++)                    
    if (!rtems_rfs_write_group (&fs, group,                           
                                config->initialise_inodes, config->verbose))
   50612:	1d47 ff1d      	moveb %d7,%fp@(-227)                        <== NOT EXECUTED
   50616:	1d41 ff2b      	moveb %d1,%fp@(-213)                        <== NOT EXECUTED
  int                      b;                                         
  int                      rc;                                        
                                                                      
  group_base = rtems_rfs_fs_block (fs, group, 0);                     
                                                                      
  if (group_base > rtems_rfs_fs_blocks (fs))                          
   5061a:	b083           	cmpl %d3,%d0                                <== NOT EXECUTED
   5061c:	6400 fbea      	bccw 50208 <rtems_rfs_format+0x62c>         <== NOT EXECUTED
   50620:	2e0d           	movel %a5,%d7                               <== NOT EXECUTED
  {                                                                   
    printf ("rtems-rfs: write-group: group %d base beyond disk limit\n",
   50622:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   50624:	4879 0007 1355 	pea 71355 <_CPU_m68k_BFFFO_table+0x446>     <== NOT EXECUTED
   5062a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50630:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   50632:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   50634:	6000 f676      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
   50638:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5063a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5063c:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
  handle->dirty = false;                                              
   5063e:	4203           	clrb %d3                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50640:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   50646:	1d43 ff34      	moveb %d3,%fp@(-204)                        <== NOT EXECUTED
   */                                                                 
  rc = rtems_rfs_bitmap_close (&bitmap);                              
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    printf ("\nrtems-rfs: write-group: group %3d: close inode" \      
   5064a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5064c:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   50650:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   50654:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5065a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5065c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5065e:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   50660:	4879 0007 153f 	pea 7153f <_CPU_m68k_BFFFO_table+0x630>     <== NOT EXECUTED
   50666:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5066c:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   50670:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   50672:	6000 f638      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
   * Open the buffer interface.                                       
   */                                                                 
  rc = rtems_rfs_buffer_open (name, &fs);                             
  if (rc > 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: buffer open failed: %d: %s\n",        
   50676:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50678:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5067e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50680:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50682:	4879 0007 1026 	pea 71026 <_CPU_m68k_BFFFO_table+0x117>     <== NOT EXECUTED
   50688:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5068e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
   50692:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50694:	4cee 3cfc fef4 	moveml %fp@(-268),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5069a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5069c:	4e75           	rts                                         <== NOT EXECUTED
  /*                                                                  
   * Check the media.                                                 
   */                                                                 
  if (rtems_rfs_fs_media_block_size (&fs) == 0)                       
  {                                                                   
    printf ("rtems-rfs: media block is invalid: %" PRIu32 "\n",       
   5069e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   506a0:	4879 0007 1055 	pea 71055 <_CPU_m68k_BFFFO_table+0x146>     <== NOT EXECUTED
   506a6:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   506ac:	508f           	addql #8,%sp                                <== NOT EXECUTED
            rtems_rfs_fs_media_block_size (&fs));                     
    return -1;                                                        
   506ae:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   506b0:	4cee 3cfc fef4 	moveml %fp@(-268),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   506b6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   506b8:	4e75           	rts                                         <== NOT EXECUTED
  int                      b;                                         
  int                      rc;                                        
                                                                      
  group_base = rtems_rfs_fs_block (fs, group, 0);                     
                                                                      
  if (group_base > rtems_rfs_fs_blocks (fs))                          
   506ba:	4287           	clrl %d7                                    <== NOT EXECUTED
  {                                                                   
    printf ("rtems-rfs: write-group: group %d base beyond disk limit\n",
   506bc:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   506be:	4879 0007 1355 	pea 71355 <_CPU_m68k_BFFFO_table+0x446>     <== NOT EXECUTED
   506c4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   506ca:	508f           	addql #8,%sp                                <== NOT EXECUTED
   506cc:	6000 ff64      	braw 50632 <rtems_rfs_format+0xa56>         <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   506d0:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   506d2:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   506d4:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   506d6:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   506dc:	4200           	clrb %d0                                    <== NOT EXECUTED
                                            group_base + b + RTEMS_RFS_GROUP_INODE_BLOCK,
                                            false);                   
      if (rc > 0)                                                     
      {                                                               
        rtems_rfs_buffer_handle_close (fs, &handle);                  
        printf ("\nrtems-rfs: write-group: group %3d: block %" PRId32 " request failed: %d: %s\n",
   506de:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   506e0:	1d40 ff34      	moveb %d0,%fp@(-204)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   506e4:	42ae ff36      	clrl %fp@(-202)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   506e8:	42ae ff3a      	clrl %fp@(-198)                             <== NOT EXECUTED
   506ec:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   506f2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   506f4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   506f6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   506f8:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   506fa:	4879 0007 1586 	pea 71586 <_CPU_m68k_BFFFO_table+0x677>     <== NOT EXECUTED
   50700:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50706:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!rtems_rfs_write_superblock (&fs))                              
  {                                                                   
    printf ("rtems-rfs: format: superblock write failed\n");          
    return -1;                                                        
   5070a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5070c:	6000 f59e      	braw 4fcac <rtems_rfs_format+0xd0>          <== NOT EXECUTED
  for (group = 0; group < fs.group_count; group++)                    
    if (!rtems_rfs_write_group (&fs, group,                           
                                config->initialise_inodes, config->verbose))
      return -1;                                                      
                                                                      
  if (config->verbose)                                                
   50710:	4a2a 0015      	tstb %a2@(21)                               
   50714:	667e           	bnes 50794 <rtems_rfs_format+0xbb8>         <== NEVER TAKEN
    printf ("\n");                                                    
                                                                      
  rc = rtems_rfs_buffer_close (&fs);                                  
   50716:	2f06           	movel %d6,%sp@-                             
   50718:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          
  if (rc > 0)                                                         
   5071e:	588f           	addql #4,%sp                                
      return -1;                                                      
                                                                      
  if (config->verbose)                                                
    printf ("\n");                                                    
                                                                      
  rc = rtems_rfs_buffer_close (&fs);                                  
   50720:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   50722:	6e00 0144      	bgtw 50868 <rtems_rfs_format+0xc8c>         
  int                    rc;                                          
                                                                      
  /*                                                                  
   * External API so returns -1.                                      
   */                                                                 
  rc = rtems_rfs_fs_open (name, NULL,                                 
   50726:	486e ff2c      	pea %fp@(-212)                              
   5072a:	42a7           	clrl %sp@-                                  
   5072c:	4878 0006      	pea 6 <EXTENDSFDF>                          
   50730:	42a7           	clrl %sp@-                                  
   50732:	2f2e 0008      	movel %fp@(8),%sp@-                         
   50736:	4eb9 0005 d070 	jsr 5d070 <rtems_rfs_fs_open>               
                          RTEMS_RFS_FS_FORCE_OPEN | RTEMS_RFS_FS_NO_LOCAL_CACHE,
                          0, &fs);                                    
  if (rc < 0)                                                         
   5073c:	4fef 0014      	lea %sp@(20),%sp                            
   50740:	4a80           	tstl %d0                                    
   50742:	6d00 0216      	bltw 5095a <rtems_rfs_format+0xd7e>         
    printf ("rtems-rfs: format: file system open failed: %d: %s\n",   
            errno, strerror (errno));                                 
    return -1;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_alloc (fs, RTEMS_RFS_ROOT_INO, &ino);          
   50746:	486e ff30      	pea %fp@(-208)                              
   5074a:	4878 0001      	pea 1 <ADD>                                 
   5074e:	2f2e ff2c      	movel %fp@(-212),%sp@-                      
   50752:	4eb9 0005 11bc 	jsr 511bc <rtems_rfs_inode_alloc>           
  if (rc > 0)                                                         
   50758:	4fef 000c      	lea %sp@(12),%sp                            
    printf ("rtems-rfs: format: file system open failed: %d: %s\n",   
            errno, strerror (errno));                                 
    return -1;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_alloc (fs, RTEMS_RFS_ROOT_INO, &ino);          
   5075c:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   5075e:	6e44           	bgts 507a4 <rtems_rfs_format+0xbc8>         <== NEVER TAKEN
            rc, strerror (rc));                                       
    rtems_rfs_fs_close (fs);                                          
    return rc;                                                        
  }                                                                   
                                                                      
  if (ino != RTEMS_RFS_ROOT_INO)                                      
   50760:	202e ff30      	movel %fp@(-208),%d0                        
   50764:	7201           	moveq #1,%d1                                
   50766:	b280           	cmpl %d0,%d1                                
   50768:	6700 0084      	beqw 507ee <rtems_rfs_format+0xc12>         
  {                                                                   
    printf ("rtems-rfs: format: allocated inode not root ino: %" PRId32 "\n", ino);
   5076c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5076e:	4879 0007 1664 	pea 71664 <_CPU_m68k_BFFFO_table+0x755>     <== NOT EXECUTED
   50774:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
    rtems_rfs_fs_close (fs);                                          
   5077a:	2f2e ff2c      	movel %fp@(-212),%sp@-                      <== NOT EXECUTED
   5077e:	4eb9 0005 da3e 	jsr 5da3e <rtems_rfs_fs_close>              <== NOT EXECUTED
   50784:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    printf ("rtems-rfs: format: writing root dir failed: %d: %s\n",   
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
   50788:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5078a:	4cee 3cfc fef4 	moveml %fp@(-268),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   50790:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50792:	4e75           	rts                                         <== NOT EXECUTED
    if (!rtems_rfs_write_group (&fs, group,                           
                                config->initialise_inodes, config->verbose))
      return -1;                                                      
                                                                      
  if (config->verbose)                                                
    printf ("\n");                                                    
   50794:	4878 000a      	pea a <LASTO>                               <== NOT EXECUTED
   50798:	4eb9 0006 187c 	jsr 6187c <putchar>                         <== NOT EXECUTED
   5079e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   507a0:	6000 ff74      	braw 50716 <rtems_rfs_format+0xb3a>         <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_alloc (fs, RTEMS_RFS_ROOT_INO, &ino);          
  if (rc > 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: inode allocation failed: %d: %s\n",   
   507a4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   507a6:	45f9 0006 2630 	lea 62630 <strerror>,%a2                    <== NOT EXECUTED
   507ac:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   507ae:	47f9 0006 16ec 	lea 616ec <printf>,%a3                      <== NOT EXECUTED
   507b4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   507b6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   507b8:	4879 0007 1630 	pea 71630 <_CPU_m68k_BFFFO_table+0x721>     <== NOT EXECUTED
   507be:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            rc, strerror (rc));                                       
    rtems_rfs_fs_close (fs);                                          
   507c0:	2f2e ff2c      	movel %fp@(-212),%sp@-                      <== NOT EXECUTED
   507c4:	4eb9 0005 da3e 	jsr 5da3e <rtems_rfs_fs_close>              <== NOT EXECUTED
   507ca:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_write_root_dir (name);                               
  if (rc > 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: writing root dir failed: %d: %s\n",   
   507ce:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   507d0:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   507d2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   507d4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   507d6:	4879 0007 1791 	pea 71791 <_CPU_m68k_BFFFO_table+0x882>     <== NOT EXECUTED
   507dc:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   507de:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
   507e2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   507e4:	4cee 3cfc fef4 	moveml %fp@(-268),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   507ea:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   507ec:	4e75           	rts                                         <== NOT EXECUTED
    printf ("rtems-rfs: format: allocated inode not root ino: %" PRId32 "\n", ino);
    rtems_rfs_fs_close (fs);                                          
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   507ee:	4878 0001      	pea 1 <ADD>                                 
   507f2:	260e           	movel %fp,%d3                               
   507f4:	0683 ffff ff56 	addil #-170,%d3                             
   507fa:	2f03           	movel %d3,%sp@-                             
   507fc:	4878 0001      	pea 1 <ADD>                                 
   50800:	2f2e ff2c      	movel %fp@(-212),%sp@-                      
   50804:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            
  if (rc > 0)                                                         
   5080a:	4fef 0010      	lea %sp@(16),%sp                            
    printf ("rtems-rfs: format: allocated inode not root ino: %" PRId32 "\n", ino);
    rtems_rfs_fs_close (fs);                                          
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5080e:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   50810:	6f7e           	bles 50890 <rtems_rfs_format+0xcb4>         <== ALWAYS TAKEN
  {                                                                   
    printf ("rtems-rfs: format: inode open failed: %d: %s\n",         
   50812:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50814:	45f9 0006 2630 	lea 62630 <strerror>,%a2                    <== NOT EXECUTED
   5081a:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5081c:	47f9 0006 16ec 	lea 616ec <printf>,%a3                      <== NOT EXECUTED
   50822:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50824:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50826:	4879 0007 169a 	pea 7169a <_CPU_m68k_BFFFO_table+0x78b>     <== NOT EXECUTED
   5082c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
            rc, strerror (rc));                                       
    rtems_rfs_group_bitmap_free (fs, true, ino);                      
   5082e:	2f2e ff30      	movel %fp@(-208),%sp@-                      <== NOT EXECUTED
   50832:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   50836:	2f2e ff2c      	movel %fp@(-212),%sp@-                      <== NOT EXECUTED
   5083a:	4eb9 0005 0f5c 	jsr 50f5c <rtems_rfs_group_bitmap_free>     <== NOT EXECUTED
    rtems_rfs_fs_close (fs);                                          
   50840:	2f2e ff2c      	movel %fp@(-212),%sp@-                      <== NOT EXECUTED
   50844:	4eb9 0005 da3e 	jsr 5da3e <rtems_rfs_fs_close>              <== NOT EXECUTED
   5084a:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_write_root_dir (name);                               
  if (rc > 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: writing root dir failed: %d: %s\n",   
   5084e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50850:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   50852:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50854:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50856:	4879 0007 1791 	pea 71791 <_CPU_m68k_BFFFO_table+0x882>     <== NOT EXECUTED
   5085c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5085e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
   50862:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   50864:	6000 ff7e      	braw 507e4 <rtems_rfs_format+0xc08>         <== NOT EXECUTED
    printf ("\n");                                                    
                                                                      
  rc = rtems_rfs_buffer_close (&fs);                                  
  if (rc > 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: buffer close failed: %d: %s\n",       
   50868:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5086a:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   50870:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50872:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50874:	4879 0007 15cc 	pea 715cc <_CPU_m68k_BFFFO_table+0x6bd>     <== NOT EXECUTED
   5087a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50880:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
   50884:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50886:	4cee 3cfc fef4 	moveml %fp@(-268),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5088c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5088e:	4e75           	rts                                         <== NOT EXECUTED
    rtems_rfs_group_bitmap_free (fs, true, ino);                      
    rtems_rfs_fs_close (fs);                                          
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_initialise (&inode, 0,                         
   50890:	42a7           	clrl %sp@-                                  
   50892:	42a7           	clrl %sp@-                                  
   50894:	4878 41c9      	pea 41c9 <D_MAX_EXP+0x39ca>                 
   50898:	42a7           	clrl %sp@-                                  
   5089a:	2f03           	movel %d3,%sp@-                             
   5089c:	4eb9 0005 1732 	jsr 51732 <rtems_rfs_inode_initialise>      
                                   (RTEMS_RFS_S_IFDIR | RTEMS_RFS_S_IRWXU |
                                    RTEMS_RFS_S_IXGRP | RTEMS_RFS_S_IXOTH),
                                   0, 0);                             
  if (rc > 0)                                                         
   508a2:	4fef 0014      	lea %sp@(20),%sp                            
    rtems_rfs_group_bitmap_free (fs, true, ino);                      
    rtems_rfs_fs_close (fs);                                          
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_initialise (&inode, 0,                         
   508a6:	2400           	movel %d0,%d2                               
                                   (RTEMS_RFS_S_IFDIR | RTEMS_RFS_S_IRWXU |
                                    RTEMS_RFS_S_IXGRP | RTEMS_RFS_S_IXOTH),
                                   0, 0);                             
  if (rc > 0)                                                         
   508a8:	6f1c           	bles 508c6 <rtems_rfs_format+0xcea>         <== ALWAYS TAKEN
    printf ("rtems-rfs: format: inode initialise failed: %d: %s\n",   
   508aa:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   508ac:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   508b2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   508b4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   508b6:	4879 0007 16c8 	pea 716c8 <_CPU_m68k_BFFFO_table+0x7b9>     <== NOT EXECUTED
   508bc:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   508c2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_dir_add_entry (fs, &inode, ".", 1, ino);             
   508c6:	2f2e ff30      	movel %fp@(-208),%sp@-                      
   508ca:	4878 0001      	pea 1 <ADD>                                 
   508ce:	4879 0006 f2c7 	pea 6f2c7 <flashdisk_ops+0x19>              
   508d4:	2f03           	movel %d3,%sp@-                             
   508d6:	2f2e ff2c      	movel %fp@(-212),%sp@-                      
   508da:	4eb9 0005 aeca 	jsr 5aeca <rtems_rfs_dir_add_entry>         
  if (rc > 0)                                                         
   508e0:	4fef 0014      	lea %sp@(20),%sp                            
                                   0, 0);                             
  if (rc > 0)                                                         
    printf ("rtems-rfs: format: inode initialise failed: %d: %s\n",   
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_dir_add_entry (fs, &inode, ".", 1, ino);             
   508e4:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   508e6:	6f1c           	bles 50904 <rtems_rfs_format+0xd28>         <== ALWAYS TAKEN
    printf ("rtems-rfs: format: directory add failed: %d: %s\n",      
   508e8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   508ea:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   508f0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   508f2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   508f4:	4879 0007 16fc 	pea 716fc <_CPU_m68k_BFFFO_table+0x7ed>     <== NOT EXECUTED
   508fa:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50900:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   50904:	2f03           	movel %d3,%sp@-                             
   50906:	2f2e ff2c      	movel %fp@(-212),%sp@-                      
   5090a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           
  if (rc > 0)                                                         
   50910:	508f           	addql #8,%sp                                
  rc = rtems_rfs_dir_add_entry (fs, &inode, ".", 1, ino);             
  if (rc > 0)                                                         
    printf ("rtems-rfs: format: directory add failed: %d: %s\n",      
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   50912:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   50914:	6f1c           	bles 50932 <rtems_rfs_format+0xd56>         <== ALWAYS TAKEN
    printf ("rtems-rfs: format: inode close failed: %d: %s\n",        
   50916:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50918:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5091e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50920:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50922:	4879 0007 172d 	pea 7172d <_CPU_m68k_BFFFO_table+0x81e>     <== NOT EXECUTED
   50928:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5092e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_fs_close (fs);                                       
   50932:	2f2e ff2c      	movel %fp@(-212),%sp@-                      
   50936:	4eb9 0005 da3e 	jsr 5da3e <rtems_rfs_fs_close>              
  if (rc < 0)                                                         
   5093c:	588f           	addql #4,%sp                                
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
    printf ("rtems-rfs: format: inode close failed: %d: %s\n",        
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_fs_close (fs);                                       
   5093e:	2400           	movel %d0,%d2                               
  if (rc < 0)                                                         
   50940:	6d4a           	blts 5098c <rtems_rfs_format+0xdb0>         <== NEVER TAKEN
    printf ("rtems-rfs: format: writing root dir failed: %d: %s\n",   
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
   50942:	4280           	clrl %d0                                    
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_write_root_dir (name);                               
  if (rc > 0)                                                         
   50944:	4a82           	tstl %d2                                    
   50946:	6700 f364      	beqw 4fcac <rtems_rfs_format+0xd0>          
   5094a:	47f9 0006 16ec 	lea 616ec <printf>,%a3                      <== NOT EXECUTED
   50950:	45f9 0006 2630 	lea 62630 <strerror>,%a2                    <== NOT EXECUTED
   50956:	6000 fe76      	braw 507ce <rtems_rfs_format+0xbf2>         <== NOT EXECUTED
                          RTEMS_RFS_FS_FORCE_OPEN | RTEMS_RFS_FS_NO_LOCAL_CACHE,
                          0, &fs);                                    
  if (rc < 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: file system open failed: %d: %s\n",   
            errno, strerror (errno));                                 
   5095a:	45f9 0006 0414 	lea 60414 <__errno>,%a2                     <== NOT EXECUTED
   50960:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  rc = rtems_rfs_fs_open (name, NULL,                                 
                          RTEMS_RFS_FS_FORCE_OPEN | RTEMS_RFS_FS_NO_LOCAL_CACHE,
                          0, &fs);                                    
  if (rc < 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: file system open failed: %d: %s\n",   
   50962:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   50964:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   50966:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5096c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
            errno, strerror (errno));                                 
   5096e:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  rc = rtems_rfs_fs_open (name, NULL,                                 
                          RTEMS_RFS_FS_FORCE_OPEN | RTEMS_RFS_FS_NO_LOCAL_CACHE,
                          0, &fs);                                    
  if (rc < 0)                                                         
  {                                                                   
    printf ("rtems-rfs: format: file system open failed: %d: %s\n",   
   50970:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   50972:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50974:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   50976:	4879 0007 15fc 	pea 715fc <_CPU_m68k_BFFFO_table+0x6ed>     <== NOT EXECUTED
   5097c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50982:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    printf ("rtems-rfs: format: writing root dir failed: %d: %s\n",   
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
   50986:	4280           	clrl %d0                                    <== NOT EXECUTED
   50988:	6000 fe00      	braw 5078a <rtems_rfs_format+0xbae>         <== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_fs_close (fs);                                       
  if (rc < 0)                                                         
    printf ("rtems-rfs: format: file system close failed: %d: %s\n",  
            errno, strerror (errno));                                 
   5098c:	45f9 0006 0414 	lea 60414 <__errno>,%a2                     <== NOT EXECUTED
   50992:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    printf ("rtems-rfs: format: inode close failed: %d: %s\n",        
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_fs_close (fs);                                       
  if (rc < 0)                                                         
    printf ("rtems-rfs: format: file system close failed: %d: %s\n",  
   50994:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   50996:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   50998:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5099e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
            errno, strerror (errno));                                 
   509a0:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    printf ("rtems-rfs: format: inode close failed: %d: %s\n",        
            rc, strerror (rc));                                       
                                                                      
  rc = rtems_rfs_fs_close (fs);                                       
  if (rc < 0)                                                         
    printf ("rtems-rfs: format: file system close failed: %d: %s\n",  
   509a2:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   509a4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   509a6:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   509a8:	4879 0007 175c 	pea 7175c <_CPU_m68k_BFFFO_table+0x84d>     <== NOT EXECUTED
   509ae:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   509b4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    printf ("rtems-rfs: format: writing root dir failed: %d: %s\n",   
            rc, strerror (rc));                                       
    return -1;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
   509b8:	4280           	clrl %d0                                    <== NOT EXECUTED
   509ba:	6000 fdce      	braw 5078a <rtems_rfs_format+0xbae>         <== NOT EXECUTED
   509be:	206e ff8c      	moveal %fp@(-116),%a0                       <== NOT EXECUTED
   509c2:	2228 0020      	movel %a0@(32),%d1                          <== NOT EXECUTED
   509c6:	6000 f2b8      	braw 4fc80 <rtems_rfs_format+0xa4>          <== NOT EXECUTED
	...                                                                  
                                                                      

0005da3e <rtems_rfs_fs_close>: return 0; } int rtems_rfs_fs_close (rtems_rfs_file_system* fs) {
   5da3e:	4e56 fff0      	linkw %fp,#-16                              
   5da42:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
  int group;                                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_CLOSE))                        
   5da46:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_fs_close (rtems_rfs_file_system* fs)                        
{                                                                     
   5da4a:	246e 0008      	moveal %fp@(8),%a2                          
  int group;                                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_CLOSE))                        
   5da4e:	42a7           	clrl %sp@-                                  
   5da50:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   5da56:	508f           	addql #8,%sp                                
   5da58:	4a00           	tstb %d0                                    
   5da5a:	6648           	bnes 5daa4 <rtems_rfs_fs_close+0x66>        <== NEVER TAKEN
    printf ("rtems-rfs: close\n");                                    
                                                                      
  for (group = 0; group < fs->group_count; group++)                   
   5da5c:	4aaa 0024      	tstl %a2@(36)                               
   5da60:	6f26           	bles 5da88 <rtems_rfs_fs_close+0x4a>        <== NEVER TAKEN
   5da62:	4283           	clrl %d3                                    
   5da64:	4282           	clrl %d2                                    
   5da66:	47f9 0005 0c56 	lea 50c56 <rtems_rfs_group_close>,%a3       
    rtems_rfs_group_close (fs, &fs->groups[group]);                   
   5da6c:	202a 0020      	movel %a2@(32),%d0                          
   5da70:	d083           	addl %d3,%d0                                
  int group;                                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_CLOSE))                        
    printf ("rtems-rfs: close\n");                                    
                                                                      
  for (group = 0; group < fs->group_count; group++)                   
   5da72:	5282           	addql #1,%d2                                
   5da74:	0683 0000 004c 	addil #76,%d3                               
    rtems_rfs_group_close (fs, &fs->groups[group]);                   
   5da7a:	2f00           	movel %d0,%sp@-                             
   5da7c:	2f0a           	movel %a2,%sp@-                             
   5da7e:	4e93           	jsr %a3@                                    
  int group;                                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_CLOSE))                        
    printf ("rtems-rfs: close\n");                                    
                                                                      
  for (group = 0; group < fs->group_count; group++)                   
   5da80:	508f           	addql #8,%sp                                
   5da82:	b4aa 0024      	cmpl %a2@(36),%d2                           
   5da86:	6de4           	blts 5da6c <rtems_rfs_fs_close+0x2e>        <== NEVER TAKEN
    rtems_rfs_group_close (fs, &fs->groups[group]);                   
                                                                      
  rtems_rfs_buffer_close (fs);                                        
   5da88:	2f0a           	movel %a2,%sp@-                             
   5da8a:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          
                                                                      
  free (fs);                                                          
   5da90:	2f0a           	movel %a2,%sp@-                             
   5da92:	4eb9 0004 7344 	jsr 47344 <free>                            
  return 0;                                                           
}                                                                     
   5da98:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   5da9e:	4280           	clrl %d0                                    
   5daa0:	4e5e           	unlk %fp                                    
   5daa2:	4e75           	rts                                         
rtems_rfs_fs_close (rtems_rfs_file_system* fs)                        
{                                                                     
  int group;                                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_CLOSE))                        
    printf ("rtems-rfs: close\n");                                    
   5daa4:	4879 0007 337d 	pea 7337d <CSWTCH.2+0x12b5>                 <== NOT EXECUTED
   5daaa:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5dab0:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5dab2:	60a8           	bras 5da5c <rtems_rfs_fs_close+0x1e>        <== NOT EXECUTED
                                                                      

0005d070 <rtems_rfs_fs_open>: rtems_rfs_fs_open (const char* name, void* user, uint32_t flags, uint32_t max_held_buffers, rtems_rfs_file_system** fs) {
   5d070:	4e56 ff9c      	linkw %fp,#-100                             
   5d074:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
#endif                                                                
  rtems_rfs_inode_handle inode;                                       
  uint16_t               mode;                                        
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                         
   5d078:	4878 0001      	pea 1 <ADD>                                 
   5d07c:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             
rtems_rfs_fs_open (const char*             name,                      
                   void*                   user,                      
                   uint32_t                flags,                     
                   uint32_t                max_held_buffers,          
                   rtems_rfs_file_system** fs)                        
{                                                                     
   5d082:	246e 0018      	moveal %fp@(24),%a2                         
#endif                                                                
  rtems_rfs_inode_handle inode;                                       
  uint16_t               mode;                                        
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                         
   5d086:	42a7           	clrl %sp@-                                  
   5d088:	4e93           	jsr %a3@                                    
   5d08a:	508f           	addql #8,%sp                                
   5d08c:	4a00           	tstb %d0                                    
   5d08e:	6600 01a2      	bnew 5d232 <rtems_rfs_fs_open+0x1c2>        
    printf ("rtems-rfs: open: %s\n", name);                           
                                                                      
  *fs = malloc (sizeof (rtems_rfs_file_system));                      
   5d092:	4878 0084      	pea 84 <DBL_MANT_DIG+0x4f>                  
   5d096:	4eb9 0004 794c 	jsr 4794c <malloc>                          
  if (!*fs)                                                           
   5d09c:	588f           	addql #4,%sp                                
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                         
    printf ("rtems-rfs: open: %s\n", name);                           
                                                                      
  *fs = malloc (sizeof (rtems_rfs_file_system));                      
   5d09e:	2480           	movel %d0,%a2@                              
  if (!*fs)                                                           
   5d0a0:	6700 05fe      	beqw 5d6a0 <rtems_rfs_fs_open+0x630>        
      printf ("rtems-rfs: open: no memory for file system data\n");   
    errno = ENOMEM;                                                   
    return -1;                                                        
  }                                                                   
                                                                      
  memset (*fs, 0, sizeof (rtems_rfs_file_system));                    
   5d0a4:	4878 0084      	pea 84 <DBL_MANT_DIG+0x4f>                  
   5d0a8:	42a7           	clrl %sp@-                                  
   5d0aa:	2f00           	movel %d0,%sp@-                             
   5d0ac:	4eb9 0006 159c 	jsr 6159c <memset>                          
                                                                      
  (*fs)->user = user;                                                 
   5d0b2:	2052           	moveal %a2@,%a0                             
   5d0b4:	216e 000c 0080 	movel %fp@(12),%a0@(128)                    
  rtems_chain_initialize_empty (&(*fs)->buffers);                     
   5d0ba:	2052           	moveal %a2@,%a0                             
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   5d0bc:	43e8 0044      	lea %a0@(68),%a1                            
   5d0c0:	2149 004c      	movel %a1,%a0@(76)                          
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   5d0c4:	43e8 0048      	lea %a0@(72),%a1                            
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   5d0c8:	42a8 0048      	clrl %a0@(72)                               
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   5d0cc:	2149 0044      	movel %a1,%a0@(68)                          
  rtems_chain_initialize_empty (&(*fs)->release);                     
   5d0d0:	2052           	moveal %a2@,%a0                             
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   5d0d2:	43e8 0054      	lea %a0@(84),%a1                            
   5d0d6:	2149 005c      	movel %a1,%a0@(92)                          
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   5d0da:	43e8 0058      	lea %a0@(88),%a1                            
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   5d0de:	42a8 0058      	clrl %a0@(88)                               
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   5d0e2:	2149 0054      	movel %a1,%a0@(84)                          
  rtems_chain_initialize_empty (&(*fs)->release_modified);            
   5d0e6:	2052           	moveal %a2@,%a0                             
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   5d0e8:	43e8 0064      	lea %a0@(100),%a1                           
   5d0ec:	2149 006c      	movel %a1,%a0@(108)                         
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   5d0f0:	43e8 0068      	lea %a0@(104),%a1                           
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   5d0f4:	42a8 0068      	clrl %a0@(104)                              
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
  Chain_Node *tail = _Chain_Tail( the_chain );                        
   5d0f8:	2149 0064      	movel %a1,%a0@(100)                         
  rtems_chain_initialize_empty (&(*fs)->file_shares);                 
   5d0fc:	2052           	moveal %a2@,%a0                             
   5d0fe:	43e8 0078      	lea %a0@(120),%a1                           
   5d102:	2149 0074      	movel %a1,%a0@(116)                         
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   5d106:	43e8 0074      	lea %a0@(116),%a1                           
  Chain_Node *tail = _Chain_Tail( the_chain );                        
                                                                      
  head->next = tail;                                                  
  head->previous = NULL;                                              
   5d10a:	42a8 0078      	clrl %a0@(120)                              
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Initialize_empty(                    
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  Chain_Node *head = _Chain_Head( the_chain );                        
   5d10e:	2149 007c      	movel %a1,%a0@(124)                         
                                                                      
  (*fs)->max_held_buffers = max_held_buffers;                         
   5d112:	2052           	moveal %a2@,%a0                             
   5d114:	216e 0014 0040 	movel %fp@(20),%a0@(64)                     
  (*fs)->buffers_count = 0;                                           
  (*fs)->release_count = 0;                                           
  (*fs)->release_modified_count = 0;                                  
  (*fs)->flags = flags;                                               
   5d11a:	20ae 0010      	movel %fp@(16),%a0@                         
  rtems_chain_initialize_empty (&(*fs)->release);                     
  rtems_chain_initialize_empty (&(*fs)->release_modified);            
  rtems_chain_initialize_empty (&(*fs)->file_shares);                 
                                                                      
  (*fs)->max_held_buffers = max_held_buffers;                         
  (*fs)->buffers_count = 0;                                           
   5d11e:	42a8 0050      	clrl %a0@(80)                               
  (*fs)->release_count = 0;                                           
   5d122:	42a8 0060      	clrl %a0@(96)                               
  (*fs)->release_modified_count = 0;                                  
   5d126:	42a8 0070      	clrl %a0@(112)                              
#endif                                                                
                                                                      
  /*                                                                  
   * Open the buffer interface.                                       
   */                                                                 
  rc = rtems_rfs_buffer_open (name, *fs);                             
   5d12a:	2f08           	movel %a0,%sp@-                             
   5d12c:	2f2e 0008      	movel %fp@(8),%sp@-                         
   5d130:	4eb9 0005 a454 	jsr 5a454 <rtems_rfs_buffer_open>           
  if (rc > 0)                                                         
   5d136:	4fef 0014      	lea %sp@(20),%sp                            
#endif                                                                
                                                                      
  /*                                                                  
   * Open the buffer interface.                                       
   */                                                                 
  rc = rtems_rfs_buffer_open (name, *fs);                             
   5d13a:	2800           	movel %d0,%d4                               
  if (rc > 0)                                                         
   5d13c:	6e00 02a8      	bgtw 5d3e6 <rtems_rfs_fs_open+0x376>        
      printf ("rtems-rfs: read-superblock: handle open failed: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_buffer_handle_request (fs, &handle, 0, true);        
   5d140:	4878 0001      	pea 1 <ADD>                                 
              rc, strerror (rc));                                     
    errno = rc;                                                       
    return -1;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
   5d144:	2a52           	moveal %a2@,%a5                             
      printf ("rtems-rfs: read-superblock: handle open failed: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_buffer_handle_request (fs, &handle, 0, true);        
   5d146:	42a7           	clrl %sp@-                                  
   5d148:	486e ffd0      	pea %fp@(-48)                               
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5d14c:	4200           	clrb %d0                                    
   5d14e:	2f0d           	movel %a5,%sp@-                             
   5d150:	1d40 ffd0      	moveb %d0,%fp@(-48)                         
  handle->bnum  = 0;                                                  
   5d154:	42ae ffd2      	clrl %fp@(-46)                              
  handle->buffer = NULL;                                              
   5d158:	42ae ffd6      	clrl %fp@(-42)                              
   5d15c:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> 
  if (rc > 0)                                                         
   5d162:	4fef 0010      	lea %sp@(16),%sp                            
      printf ("rtems-rfs: read-superblock: handle open failed: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_buffer_handle_request (fs, &handle, 0, true);        
   5d166:	2800           	movel %d0,%d4                               
  if (rc > 0)                                                         
   5d168:	6f4a           	bles 5d1b4 <rtems_rfs_fs_open+0x144>        <== ALWAYS TAKEN
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d16a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d16e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d170:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d172:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d174:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d176:	6600 00d0      	bnew 5d248 <rtems_rfs_fs_open+0x1d8>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d17a:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d17c:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d182:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d184:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d18a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d18e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d190:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d192:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d196:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d198:	6600 02ae      	bnew 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
      printf ("rtems-rfs: open: reading superblock: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d19c:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d1a2:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: reading superblock: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d1a4:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5d1a6:	2284           	movel %d4,%a1@                              <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
  return 0;                                                           
}                                                                     
   5d1a8:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5d1aa:	4cee 3cfc ff9c 	moveml %fp@(-100),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5d1b0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5d1b2:	4e75           	rts                                         <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: request failed%d: %s\n",   
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  sb = rtems_rfs_buffer_data (&handle);                               
   5d1b4:	206e ffd6      	moveal %fp@(-42),%a0                        
                                                                      
#define read_sb(_o) rtems_rfs_read_u32 (sb + (_o))                    
                                                                      
  if (read_sb (RTEMS_RFS_SB_OFFSET_MAGIC) != RTEMS_RFS_SB_MAGIC)      
   5d1b8:	4280           	clrl %d0                                    
   5d1ba:	4284           	clrl %d4                                    
   5d1bc:	7218           	moveq #24,%d1                               
   5d1be:	4285           	clrl %d5                                    
      printf ("rtems-rfs: read-superblock: request failed%d: %s\n",   
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  sb = rtems_rfs_buffer_data (&handle);                               
   5d1c0:	2868 001a      	moveal %a0@(26),%a4                         
                                                                      
#define read_sb(_o) rtems_rfs_read_u32 (sb + (_o))                    
                                                                      
  if (read_sb (RTEMS_RFS_SB_OFFSET_MAGIC) != RTEMS_RFS_SB_MAGIC)      
   5d1c4:	1014           	moveb %a4@,%d0                              
   5d1c6:	182c 0001      	moveb %a4@(1),%d4                           
   5d1ca:	1a2c 0003      	moveb %a4@(3),%d5                           
   5d1ce:	e3a8           	lsll %d1,%d0                                
   5d1d0:	4844           	swap %d4                                    
   5d1d2:	4244           	clrw %d4                                    
   5d1d4:	4281           	clrl %d1                                    
   5d1d6:	122c 0002      	moveb %a4@(2),%d1                           
   5d1da:	8084           	orl %d4,%d0                                 
   5d1dc:	e189           	lsll #8,%d1                                 
   5d1de:	8085           	orl %d5,%d0                                 
   5d1e0:	8081           	orl %d1,%d0                                 
   5d1e2:	0c80 2809 2001 	cmpil #671686657,%d0                        
   5d1e8:	6700 00c2      	beqw 5d2ac <rtems_rfs_fs_open+0x23c>        
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d1ec:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d1f0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d1f2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d1f4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d1f6:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d1f8:	6600 0090      	bnew 5d28a <rtems_rfs_fs_open+0x21a>        <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5d1fc:	486e ffd0      	pea %fp@(-48)                               <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: inode size mismatch: fs:%" PRId32 " target:%" PRId32 "\n",
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
   5d200:	7805           	moveq #5,%d4                                <== NOT EXECUTED
   5d202:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d204:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
   5d20a:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d20c:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d20e:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d214:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d216:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d21c:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d220:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d222:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d224:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d228:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d22a:	6700 ff70      	beqw 5d19c <rtems_rfs_fs_open+0x12c>        <== NOT EXECUTED
   5d22e:	6000 0218      	braw 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  uint16_t               mode;                                        
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                         
    printf ("rtems-rfs: open: %s\n", name);                           
   5d232:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5d236:	4879 0007 3076 	pea 73076 <CSWTCH.2+0xfae>                  <== NOT EXECUTED
   5d23c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d242:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d244:	6000 fe4c      	braw 5d092 <rtems_rfs_fs_open+0x22>         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_buffer_handle_request (fs, &handle, 0, true);        
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: request failed%d: %s\n",   
   5d248:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d24a:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5d250:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d252:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d254:	4879 0007 30e8 	pea 730e8 <CSWTCH.2+0x1020>                 <== NOT EXECUTED
   5d25a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d260:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d264:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d266:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d26c:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d26e:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d274:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d278:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d27a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d27c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d280:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d282:	6700 ff18      	beqw 5d19c <rtems_rfs_fs_open+0x12c>        <== NOT EXECUTED
   5d286:	6000 01c0      	braw 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
#define read_sb(_o) rtems_rfs_read_u32 (sb + (_o))                    
                                                                      
  if (read_sb (RTEMS_RFS_SB_OFFSET_MAGIC) != RTEMS_RFS_SB_MAGIC)      
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: invalid superblock, bad magic\n");
   5d28a:	4879 0007 311a 	pea 7311a <CSWTCH.2+0x1052>                 <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: inode size mismatch: fs:%" PRId32 " target:%" PRId32 "\n",
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
   5d290:	7805           	moveq #5,%d4                                <== NOT EXECUTED
#define read_sb(_o) rtems_rfs_read_u32 (sb + (_o))                    
                                                                      
  if (read_sb (RTEMS_RFS_SB_OFFSET_MAGIC) != RTEMS_RFS_SB_MAGIC)      
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: invalid superblock, bad magic\n");
   5d292:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5d298:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5d29a:	486e ffd0      	pea %fp@(-48)                               <== NOT EXECUTED
   5d29e:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d2a0:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
   5d2a6:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d2a8:	6000 ff62      	braw 5d20c <rtems_rfs_fs_open+0x19c>        <== NOT EXECUTED
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);              
   5d2ac:	4281           	clrl %d1                                    
   5d2ae:	4284           	clrl %d4                                    
   5d2b0:	122c 000c      	moveb %a4@(12),%d1                          
   5d2b4:	182c 000d      	moveb %a4@(13),%d4                          
   5d2b8:	7418           	moveq #24,%d2                               
   5d2ba:	4285           	clrl %d5                                    
   5d2bc:	4280           	clrl %d0                                    
   5d2be:	1a2c 000f      	moveb %a4@(15),%d5                          
   5d2c2:	102c 000e      	moveb %a4@(14),%d0                          
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);          
   5d2c6:	4286           	clrl %d6                                    
uint64_t                                                              
rtems_rfs_fs_size (rtems_rfs_file_system* fs)                         
{                                                                     
  uint64_t blocks = rtems_rfs_fs_blocks (fs);                         
  uint64_t block_size = rtems_rfs_fs_block_size (fs);                 
  return blocks * block_size;                                         
   5d2c8:	2e3c 0006 d714 	movel #448276,%d7                           
   5d2ce:	2247           	moveal %d7,%a1                              
      printf ("rtems-rfs: read-superblock: invalid superblock, bad magic\n");
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);              
   5d2d0:	e5a9           	lsll %d2,%d1                                
   5d2d2:	4844           	swap %d4                                    
   5d2d4:	4244           	clrw %d4                                    
   5d2d6:	e188           	lsll #8,%d0                                 
}                                                                     
                                                                      
uint64_t                                                              
rtems_rfs_fs_media_size (rtems_rfs_file_system* fs)                   
{                                                                     
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);  
   5d2d8:	206d 0010      	moveal %a5@(16),%a0                         
      printf ("rtems-rfs: read-superblock: invalid superblock, bad magic\n");
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);              
   5d2dc:	8284           	orl %d4,%d1                                 
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);          
   5d2de:	4284           	clrl %d4                                    
      printf ("rtems-rfs: read-superblock: invalid superblock, bad magic\n");
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);              
   5d2e0:	8285           	orl %d5,%d1                                 
   5d2e2:	8280           	orl %d0,%d1                                 
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);          
   5d2e4:	4280           	clrl %d0                                    
      printf ("rtems-rfs: read-superblock: invalid superblock, bad magic\n");
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);              
   5d2e6:	2b41 0004      	movel %d1,%a5@(4)                           
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);          
   5d2ea:	1c2c 0008      	moveb %a4@(8),%d6                           
   5d2ee:	182c 0009      	moveb %a4@(9),%d4                           
   5d2f2:	1a2c 000b      	moveb %a4@(11),%d5                          
   5d2f6:	102c 000a      	moveb %a4@(10),%d0                          
   5d2fa:	e5ae           	lsll %d2,%d6                                
   5d2fc:	4844           	swap %d4                                    
   5d2fe:	4244           	clrw %d4                                    
   5d300:	e188           	lsll #8,%d0                                 
}                                                                     
                                                                      
uint64_t                                                              
rtems_rfs_fs_media_size (rtems_rfs_file_system* fs)                   
{                                                                     
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);  
   5d302:	4202           	clrb %d2                                    
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);              
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);          
   5d304:	8c84           	orl %d4,%d6                                 
   5d306:	8c85           	orl %d5,%d6                                 
   5d308:	8c80           	orl %d0,%d6                                 
   5d30a:	2b46 0008      	movel %d6,%a5@(8)                           
uint64_t                                                              
rtems_rfs_fs_size (rtems_rfs_file_system* fs)                         
{                                                                     
  uint64_t blocks = rtems_rfs_fs_blocks (fs);                         
  uint64_t block_size = rtems_rfs_fs_block_size (fs);                 
  return blocks * block_size;                                         
   5d30e:	2f01           	movel %d1,%sp@-                             
   5d310:	42a7           	clrl %sp@-                                  
   5d312:	2f06           	movel %d6,%sp@-                             
   5d314:	2d48 ffc4      	movel %a0,%fp@(-60)                         
   5d318:	42a7           	clrl %sp@-                                  
   5d31a:	4e91           	jsr %a1@                                    
}                                                                     
                                                                      
uint64_t                                                              
rtems_rfs_fs_media_size (rtems_rfs_file_system* fs)                   
{                                                                     
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);  
   5d31c:	206e ffc4      	moveal %fp@(-60),%a0                        
uint64_t                                                              
rtems_rfs_fs_size (rtems_rfs_file_system* fs)                         
{                                                                     
  uint64_t blocks = rtems_rfs_fs_blocks (fs);                         
  uint64_t block_size = rtems_rfs_fs_block_size (fs);                 
  return blocks * block_size;                                         
   5d320:	4fef 0010      	lea %sp@(16),%sp                            
uint64_t                                                              
rtems_rfs_fs_media_size (rtems_rfs_file_system* fs)                   
{                                                                     
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);  
  uint64_t media_block_size = (uint64_t) rtems_rfs_fs_media_block_size (fs);
  return media_blocks * media_block_size;                             
   5d324:	2247           	moveal %d7,%a1                              
}                                                                     
                                                                      
uint64_t                                                              
rtems_rfs_fs_media_size (rtems_rfs_file_system* fs)                   
{                                                                     
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);  
   5d326:	2628 001c      	movel %a0@(28),%d3                          
  uint64_t media_block_size = (uint64_t) rtems_rfs_fs_media_block_size (fs);
   5d32a:	2068 0020      	moveal %a0@(32),%a0                         
  return media_blocks * media_block_size;                             
   5d32e:	2f03           	movel %d3,%sp@-                             
uint64_t                                                              
rtems_rfs_fs_size (rtems_rfs_file_system* fs)                         
{                                                                     
  uint64_t blocks = rtems_rfs_fs_blocks (fs);                         
  uint64_t block_size = rtems_rfs_fs_block_size (fs);                 
  return blocks * block_size;                                         
   5d330:	2800           	movel %d0,%d4                               
   5d332:	2a01           	movel %d1,%d5                               
uint64_t                                                              
rtems_rfs_fs_media_size (rtems_rfs_file_system* fs)                   
{                                                                     
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);  
  uint64_t media_block_size = (uint64_t) rtems_rfs_fs_media_block_size (fs);
  return media_blocks * media_block_size;                             
   5d334:	2f02           	movel %d2,%sp@-                             
                                                                      
uint64_t                                                              
rtems_rfs_fs_media_size (rtems_rfs_file_system* fs)                   
{                                                                     
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);  
  uint64_t media_block_size = (uint64_t) rtems_rfs_fs_media_block_size (fs);
   5d336:	2d48 ffcc      	movel %a0,%fp@(-52)                         
  return media_blocks * media_block_size;                             
   5d33a:	2f2e ffcc      	movel %fp@(-52),%sp@-                       
                                                                      
uint64_t                                                              
rtems_rfs_fs_media_size (rtems_rfs_file_system* fs)                   
{                                                                     
  uint64_t media_blocks = (uint64_t) rtems_rfs_fs_media_blocks (fs);  
  uint64_t media_block_size = (uint64_t) rtems_rfs_fs_media_block_size (fs);
   5d33e:	91c8           	subal %a0,%a0                               
   5d340:	2d48 ffc8      	movel %a0,%fp@(-56)                         
  return media_blocks * media_block_size;                             
   5d344:	2f2e ffc8      	movel %fp@(-56),%sp@-                       
   5d348:	4e91           	jsr %a1@                                    
   5d34a:	4fef 0010      	lea %sp@(16),%sp                            
  }                                                                   
                                                                      
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);              
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);          
                                                                      
  if (rtems_rfs_fs_size(fs) > rtems_rfs_fs_media_size (fs))           
   5d34e:	9285           	subl %d5,%d1                                
   5d350:	9184           	subxl %d4,%d0                               
   5d352:	6500 00c2      	bcsw 5d416 <rtems_rfs_fs_open+0x3a6>        
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  if (read_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE) != RTEMS_RFS_INODE_SIZE)
   5d356:	4280           	clrl %d0                                    
   5d358:	4281           	clrl %d1                                    
   5d35a:	102c 0024      	moveb %a4@(36),%d0                          
   5d35e:	122c 0025      	moveb %a4@(37),%d1                          
   5d362:	7418           	moveq #24,%d2                               
   5d364:	7638           	moveq #56,%d3                               
   5d366:	e5a8           	lsll %d2,%d0                                
   5d368:	4841           	swap %d1                                    
   5d36a:	4241           	clrw %d1                                    
   5d36c:	4282           	clrl %d2                                    
   5d36e:	142c 0027      	moveb %a4@(39),%d2                          
   5d372:	8081           	orl %d1,%d0                                 
   5d374:	4281           	clrl %d1                                    
   5d376:	122c 0026      	moveb %a4@(38),%d1                          
   5d37a:	8082           	orl %d2,%d0                                 
   5d37c:	e189           	lsll #8,%d1                                 
   5d37e:	8081           	orl %d1,%d0                                 
   5d380:	b680           	cmpl %d0,%d3                                
   5d382:	6700 011c      	beqw 5d4a0 <rtems_rfs_fs_open+0x430>        
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d386:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d38a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d38c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d38e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d390:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d392:	6700 fe68      	beqw 5d1fc <rtems_rfs_fs_open+0x18c>        <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: inode size mismatch: fs:%" PRId32 " target:%" PRId32 "\n",
   5d396:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
   5d398:	4280           	clrl %d0                                    <== NOT EXECUTED
   5d39a:	4282           	clrl %d2                                    <== NOT EXECUTED
   5d39c:	102c 0004      	moveb %a4@(4),%d0                           <== NOT EXECUTED
   5d3a0:	142c 0005      	moveb %a4@(5),%d2                           <== NOT EXECUTED
   5d3a4:	7818           	moveq #24,%d4                               <== NOT EXECUTED
   5d3a6:	4283           	clrl %d3                                    <== NOT EXECUTED
   5d3a8:	4281           	clrl %d1                                    <== NOT EXECUTED
   5d3aa:	162c 0007      	moveb %a4@(7),%d3                           <== NOT EXECUTED
   5d3ae:	122c 0006      	moveb %a4@(6),%d1                           <== NOT EXECUTED
   5d3b2:	e9a8           	lsll %d4,%d0                                <== NOT EXECUTED
   5d3b4:	4842           	swap %d2                                    <== NOT EXECUTED
   5d3b6:	4242           	clrw %d2                                    <== NOT EXECUTED
   5d3b8:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
   5d3ba:	7805           	moveq #5,%d4                                <== NOT EXECUTED
                                                                      
  if (read_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE) != RTEMS_RFS_INODE_SIZE)
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: inode size mismatch: fs:%" PRId32 " target:%" PRId32 "\n",
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
   5d3bc:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   5d3be:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
  }                                                                   
                                                                      
  if (read_sb (RTEMS_RFS_SB_OFFSET_INODE_SIZE) != RTEMS_RFS_INODE_SIZE)
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: inode size mismatch: fs:%" PRId32 " target:%" PRId32 "\n",
   5d3c0:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5d3c2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d3c4:	4879 0007 3194 	pea 73194 <CSWTCH.2+0x10cc>                 <== NOT EXECUTED
   5d3ca:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d3d0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5d3d4:	486e ffd0      	pea %fp@(-48)                               <== NOT EXECUTED
   5d3d8:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d3da:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
   5d3e0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d3e2:	6000 fe28      	braw 5d20c <rtems_rfs_fs_open+0x19c>        <== NOT EXECUTED
   * Open the buffer interface.                                       
   */                                                                 
  rc = rtems_rfs_buffer_open (name, *fs);                             
  if (rc > 0)                                                         
  {                                                                   
    free (*fs);                                                       
   5d3e6:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d3e8:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d3ee:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d3f2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d3f4:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d3f6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5d3fa:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d3fc:	6676           	bnes 5d474 <rtems_rfs_fs_open+0x404>        <== NOT EXECUTED
      printf ("rtems-rfs: open: buffer open failed: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d3fe:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d404:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
  {                                                                   
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: buffer open failed: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d406:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5d408:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
  return 0;                                                           
}                                                                     
   5d40a:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5d40c:	4cee 3cfc ff9c 	moveml %fp@(-100),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5d412:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5d414:	4e75           	rts                                         <== NOT EXECUTED
  fs->blocks     = read_sb (RTEMS_RFS_SB_OFFSET_BLOCKS);              
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);          
                                                                      
  if (rtems_rfs_fs_size(fs) > rtems_rfs_fs_media_size (fs))           
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d416:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d41a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d41c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d41e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d420:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d422:	6700 fdd8      	beqw 5d1fc <rtems_rfs_fs_open+0x18c>        <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: invalid superblock block/size count\n");
   5d426:	4879 0007 3154 	pea 73154 <CSWTCH.2+0x108c>                 <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: inode size mismatch: fs:%" PRId32 " target:%" PRId32 "\n",
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
   5d42c:	7805           	moveq #5,%d4                                <== NOT EXECUTED
  fs->block_size = read_sb (RTEMS_RFS_SB_OFFSET_BLOCK_SIZE);          
                                                                      
  if (rtems_rfs_fs_size(fs) > rtems_rfs_fs_media_size (fs))           
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: invalid superblock block/size count\n");
   5d42e:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5d434:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5d436:	486e ffd0      	pea %fp@(-48)                               <== NOT EXECUTED
   5d43a:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d43c:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
   5d442:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d444:	6000 fdc6      	braw 5d20c <rtems_rfs_fs_open+0x19c>        <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: reading superblock: %d: %s\n",        
   5d448:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d44a:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5d450:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d452:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d454:	4879 0007 32cd 	pea 732cd <CSWTCH.2+0x1205>                 <== NOT EXECUTED
   5d45a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d460:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d464:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d46a:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: reading superblock: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d46c:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5d46e:	2284           	movel %d4,%a1@                              <== NOT EXECUTED
   5d470:	6000 fd36      	braw 5d1a8 <rtems_rfs_fs_open+0x138>        <== NOT EXECUTED
  rc = rtems_rfs_buffer_open (name, *fs);                             
  if (rc > 0)                                                         
  {                                                                   
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: buffer open failed: %d: %s\n",        
   5d474:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d476:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5d47c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d47e:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d480:	4879 0007 30bb 	pea 730bb <CSWTCH.2+0xff3>                  <== NOT EXECUTED
   5d486:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d48c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d490:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d496:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
  {                                                                   
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: buffer open failed: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d498:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5d49a:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
   5d49c:	6000 ff6c      	braw 5d40a <rtems_rfs_fs_open+0x39a>        <== NOT EXECUTED
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
   5d4a0:	4280           	clrl %d0                                    
   5d4a2:	4282           	clrl %d2                                    
   5d4a4:	102c 0010      	moveb %a4@(16),%d0                          
   5d4a8:	142c 0011      	moveb %a4@(17),%d2                          
   5d4ac:	7218           	moveq #24,%d1                               
   5d4ae:	4284           	clrl %d4                                    
   5d4b0:	182c 0013      	moveb %a4@(19),%d4                          
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);   
                                                                      
  fs->blocks_per_block =                                              
    rtems_rfs_fs_block_size (fs) / sizeof (rtems_rfs_inode_block);    
   5d4b4:	2606           	movel %d6,%d3                               
   5d4b6:	e48b           	lsrl #2,%d3                                 
                                                                      
  fs->block_map_singly_blocks =                                       
    fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;                    
  fs->block_map_doubly_blocks =                                       
    fs->blocks_per_block * fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;
   5d4b8:	2e03           	movel %d3,%d7                               
   5d4ba:	4c03 7800      	mulsl %d3,%d7                               
  fs->inodes = fs->group_count * fs->group_inodes;                    
                                                                      
  fs->inodes_per_block = fs->block_size / RTEMS_RFS_INODE_SIZE;       
                                                                      
  if (fs->group_blocks >                                              
      rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs)))     
   5d4be:	2a06           	movel %d6,%d5                               
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
   5d4c0:	e3a8           	lsll %d1,%d0                                
   5d4c2:	4842           	swap %d2                                    
   5d4c4:	4242           	clrw %d2                                    
   5d4c6:	4281           	clrl %d1                                    
   5d4c8:	122c 0012      	moveb %a4@(18),%d1                          
    rtems_rfs_fs_block_size (fs) / sizeof (rtems_rfs_inode_block);    
                                                                      
  fs->block_map_singly_blocks =                                       
    fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;                    
  fs->block_map_doubly_blocks =                                       
    fs->blocks_per_block * fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;
   5d4cc:	2047           	moveal %d7,%a0                              
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
   5d4ce:	7e18           	moveq #24,%d7                               
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
   5d4d0:	8082           	orl %d2,%d0                                 
   5d4d2:	e189           	lsll #8,%d1                                 
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
   5d4d4:	4282           	clrl %d2                                    
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
   5d4d6:	8084           	orl %d4,%d0                                 
  fs->blocks_per_block =                                              
    rtems_rfs_fs_block_size (fs) / sizeof (rtems_rfs_inode_block);    
                                                                      
  fs->block_map_singly_blocks =                                       
    fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;                    
  fs->block_map_doubly_blocks =                                       
   5d4d8:	41f0 8c00      	lea %a0@(00000000,%a0:l:4),%a0              
  fs->inodes = fs->group_count * fs->group_inodes;                    
                                                                      
  fs->inodes_per_block = fs->block_size / RTEMS_RFS_INODE_SIZE;       
                                                                      
  if (fs->group_blocks >                                              
      rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs)))     
   5d4dc:	e78d           	lsll #3,%d5                                 
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
   5d4de:	8081           	orl %d1,%d0                                 
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
   5d4e0:	4281           	clrl %d1                                    
              read_sb (RTEMS_RFS_SB_OFFSET_VERSION), RTEMS_RFS_VERSION_MASK);
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
   5d4e2:	2b40 0018      	movel %d0,%a5@(24)                          
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
   5d4e6:	4280           	clrl %d0                                    
   5d4e8:	102c 0014      	moveb %a4@(20),%d0                          
   5d4ec:	142c 0015      	moveb %a4@(21),%d2                          
   5d4f0:	182c 0017      	moveb %a4@(23),%d4                          
   5d4f4:	122c 0016      	moveb %a4@(22),%d1                          
   5d4f8:	efa8           	lsll %d7,%d0                                
   5d4fa:	4842           	swap %d2                                    
   5d4fc:	4242           	clrw %d2                                    
   5d4fe:	e189           	lsll #8,%d1                                 
   5d500:	8082           	orl %d2,%d0                                 
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
   5d502:	4282           	clrl %d2                                    
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
   5d504:	8084           	orl %d4,%d0                                 
   5d506:	8081           	orl %d1,%d0                                 
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
   5d508:	4281           	clrl %d1                                    
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
   5d50a:	2b40 001c      	movel %d0,%a5@(28)                          
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
   5d50e:	142c 0018      	moveb %a4@(24),%d2                          
   5d512:	122c 0019      	moveb %a4@(25),%d1                          
   5d516:	4280           	clrl %d0                                    
   5d518:	182c 001b      	moveb %a4@(27),%d4                          
   5d51c:	102c 001a      	moveb %a4@(26),%d0                          
   5d520:	efaa           	lsll %d7,%d2                                
   5d522:	4841           	swap %d1                                    
   5d524:	4241           	clrw %d1                                    
   5d526:	e188           	lsll #8,%d0                                 
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
   5d528:	4287           	clrl %d7                                    
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
   5d52a:	8481           	orl %d1,%d2                                 
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
   5d52c:	7218           	moveq #24,%d1                               
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
   5d52e:	8484           	orl %d4,%d2                                 
   5d530:	8480           	orl %d0,%d2                                 
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
   5d532:	4280           	clrl %d0                                    
    return EIO;                                                       
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
   5d534:	2b42 0024      	movel %d2,%a5@(36)                          
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
   5d538:	102c 001c      	moveb %a4@(28),%d0                          
   5d53c:	182c 001d      	moveb %a4@(29),%d4                          
   5d540:	1e2c 001f      	moveb %a4@(31),%d7                          
   5d544:	e3a8           	lsll %d1,%d0                                
   5d546:	4844           	swap %d4                                    
   5d548:	4244           	clrw %d4                                    
   5d54a:	4281           	clrl %d1                                    
   5d54c:	122c 001e      	moveb %a4@(30),%d1                          
   5d550:	8084           	orl %d4,%d0                                 
   5d552:	e189           	lsll #8,%d1                                 
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);   
   5d554:	4284           	clrl %d4                                    
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
   5d556:	8087           	orl %d7,%d0                                 
   5d558:	8081           	orl %d1,%d0                                 
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);   
   5d55a:	4281           	clrl %d1                                    
  }                                                                   
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
   5d55c:	2b40 0028      	movel %d0,%a5@(40)                          
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);   
   5d560:	182c 0023      	moveb %a4@(35),%d4                          
   5d564:	122c 0020      	moveb %a4@(32),%d1                          
   5d568:	1e2c 0021      	moveb %a4@(33),%d7                          
   5d56c:	2244           	moveal %d4,%a1                              
   5d56e:	7818           	moveq #24,%d4                               
   5d570:	4847           	swap %d7                                    
   5d572:	4247           	clrw %d7                                    
   5d574:	e9a9           	lsll %d4,%d1                                
   5d576:	4284           	clrl %d4                                    
   5d578:	182c 0022      	moveb %a4@(34),%d4                          
   5d57c:	8287           	orl %d7,%d1                                 
   5d57e:	2e09           	movel %a1,%d7                               
                                                                      
  fs->blocks_per_block =                                              
    rtems_rfs_fs_block_size (fs) / sizeof (rtems_rfs_inode_block);    
                                                                      
  fs->block_map_singly_blocks =                                       
   5d580:	2243           	moveal %d3,%a1                              
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);   
   5d582:	e18c           	lsll #8,%d4                                 
   5d584:	8287           	orl %d7,%d1                                 
                                                                      
  fs->blocks_per_block =                                              
    rtems_rfs_fs_block_size (fs) / sizeof (rtems_rfs_inode_block);    
                                                                      
  fs->block_map_singly_blocks =                                       
   5d586:	43f1 3c00      	lea %a1@(00000000,%d3:l:4),%a1              
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);   
                                                                      
  fs->blocks_per_block =                                              
   5d58a:	2b43 0034      	movel %d3,%a5@(52)                          
  fs->block_map_doubly_blocks =                                       
    fs->blocks_per_block * fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;
                                                                      
  fs->inodes = fs->group_count * fs->group_inodes;                    
                                                                      
  fs->inodes_per_block = fs->block_size / RTEMS_RFS_INODE_SIZE;       
   5d58e:	7638           	moveq #56,%d3                               
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);   
   5d590:	8284           	orl %d4,%d1                                 
                                                                      
  fs->blocks_per_block =                                              
    rtems_rfs_fs_block_size (fs) / sizeof (rtems_rfs_inode_block);    
                                                                      
  fs->block_map_singly_blocks =                                       
   5d592:	2b49 0038      	movel %a1,%a5@(56)                          
    fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;                    
  fs->block_map_doubly_blocks =                                       
    fs->blocks_per_block * fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;
                                                                      
  fs->inodes = fs->group_count * fs->group_inodes;                    
   5d596:	4c01 2800      	mulsl %d1,%d2                               
  fs->blocks_per_block =                                              
    rtems_rfs_fs_block_size (fs) / sizeof (rtems_rfs_inode_block);    
                                                                      
  fs->block_map_singly_blocks =                                       
    fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;                    
  fs->block_map_doubly_blocks =                                       
   5d59a:	2b48 003c      	movel %a0,%a5@(60)                          
    fs->blocks_per_block * fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;
                                                                      
  fs->inodes = fs->group_count * fs->group_inodes;                    
   5d59e:	2b42 0014      	movel %d2,%a5@(20)                          
                                                                      
  fs->inodes_per_block = fs->block_size / RTEMS_RFS_INODE_SIZE;       
   5d5a2:	4c43 6006      	remul %d3,%d6,%d6                           
                                                                      
  fs->bad_blocks      = read_sb (RTEMS_RFS_SB_OFFSET_BAD_BLOCKS);     
  fs->max_name_length = read_sb (RTEMS_RFS_SB_OFFSET_MAX_NAME_LENGTH);
  fs->group_count     = read_sb (RTEMS_RFS_SB_OFFSET_GROUPS);         
  fs->group_blocks    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_BLOCKS);   
  fs->group_inodes    = read_sb (RTEMS_RFS_SB_OFFSET_GROUP_INODES);   
   5d5a6:	2b41 002c      	movel %d1,%a5@(44)                          
  fs->block_map_doubly_blocks =                                       
    fs->blocks_per_block * fs->blocks_per_block * RTEMS_RFS_INODE_BLOCKS;
                                                                      
  fs->inodes = fs->group_count * fs->group_inodes;                    
                                                                      
  fs->inodes_per_block = fs->block_size / RTEMS_RFS_INODE_SIZE;       
   5d5aa:	2b46 0030      	movel %d6,%a5@(48)                          
                                                                      
  if (fs->group_blocks >                                              
   5d5ae:	ba80           	cmpl %d0,%d5                                
   5d5b0:	6454           	bccs 5d606 <rtems_rfs_fs_open+0x596>        <== ALWAYS TAKEN
   5d5b2:	486e ffd0      	pea %fp@(-48)                               <== NOT EXECUTED
  handle->dirty = false;                                              
   5d5b6:	4204           	clrb %d4                                    <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5d5b8:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d5ba:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
      rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs)))     
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d5c0:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
   5d5c4:	42ae ffd2      	clrl %fp@(-46)                              <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5d5c8:	1d44 ffd0      	moveb %d4,%fp@(-48)                         <== NOT EXECUTED
   5d5cc:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5d5ce:	42ae ffd6      	clrl %fp@(-42)                              <== NOT EXECUTED
   5d5d2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d5d4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d5d8:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d5da:	6600 010a      	bnew 5d6e6 <rtems_rfs_fs_open+0x676>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d5de:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
      rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs)))     
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: groups blocks larger than block bits\n");
    return EIO;                                                       
   5d5e0:	7805           	moveq #5,%d4                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d5e2:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d5e8:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d5ea:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d5f0:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d5f4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d5f6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d5f8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d5fc:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d5fe:	6700 fb9c      	beqw 5d19c <rtems_rfs_fs_open+0x12c>        <== NOT EXECUTED
   5d602:	6000 fe44      	braw 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5d606:	486e ffd0      	pea %fp@(-48)                               
   5d60a:	49f9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a4
  handle->dirty = false;                                              
   5d610:	4207           	clrb %d7                                    
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5d612:	2f0d           	movel %a5,%sp@-                             
   5d614:	4e94           	jsr %a4@                                    
  rtems_rfs_buffer_handle_close (fs, &handle);                        
                                                                      
  /*                                                                  
   * Change the block size to the value in the superblock.            
   */                                                                 
  rc = rtems_rfs_buffer_setblksize (fs, rtems_rfs_fs_block_size (fs));
   5d616:	2f2d 0008      	movel %a5@(8),%sp@-                         
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
   5d61a:	42ae ffd2      	clrl %fp@(-46)                              
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5d61e:	1d47 ffd0      	moveb %d7,%fp@(-48)                         
   5d622:	2f0d           	movel %a5,%sp@-                             
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5d624:	42ae ffd6      	clrl %fp@(-42)                              
   5d628:	4eb9 0005 a738 	jsr 5a738 <rtems_rfs_buffer_setblksize>     
  if (rc > 0)                                                         
   5d62e:	4fef 0010      	lea %sp@(16),%sp                            
  rtems_rfs_buffer_handle_close (fs, &handle);                        
                                                                      
  /*                                                                  
   * Change the block size to the value in the superblock.            
   */                                                                 
  rc = rtems_rfs_buffer_setblksize (fs, rtems_rfs_fs_block_size (fs));
   5d632:	2800           	movel %d0,%d4                               
  if (rc > 0)                                                         
   5d634:	6f00 00e6      	blew 5d71c <rtems_rfs_fs_open+0x6ac>        
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5d638:	486e ffd0      	pea %fp@(-48)                               <== NOT EXECUTED
   5d63c:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d63e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d640:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
  handle->dirty = false;                                              
  handle->bnum  = 0;                                                  
   5d644:	42ae ffd2      	clrl %fp@(-46)                              <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   5d648:	1d47 ffd0      	moveb %d7,%fp@(-48)                         <== NOT EXECUTED
   5d64c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   5d64e:	42ae ffd6      	clrl %fp@(-42)                              <== NOT EXECUTED
   5d652:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d654:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d658:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d65a:	6700 fb1e      	beqw 5d17a <rtems_rfs_fs_open+0x10a>        <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: invalid superblock block size%d: %s\n",
   5d65e:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d660:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5d666:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d668:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d66a:	4879 0007 3219 	pea 73219 <CSWTCH.2+0x1151>                 <== NOT EXECUTED
   5d670:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d676:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d67a:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d67c:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d682:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d684:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d68a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d68e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d690:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d692:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d696:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d698:	6700 fb02      	beqw 5d19c <rtems_rfs_fs_open+0x12c>        <== NOT EXECUTED
   5d69c:	6000 fdaa      	braw 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
    printf ("rtems-rfs: open: %s\n", name);                           
                                                                      
  *fs = malloc (sizeof (rtems_rfs_file_system));                      
  if (!*fs)                                                           
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d6a0:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d6a4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d6a6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d6a8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d6aa:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d6ac:	661a           	bnes 5d6c8 <rtems_rfs_fs_open+0x658>        <== NOT EXECUTED
      printf ("rtems-rfs: open: no memory for file system data\n");   
    errno = ENOMEM;                                                   
   5d6ae:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5d6b4:	740c           	moveq #12,%d2                               <== NOT EXECUTED
    return -1;                                                        
   5d6b6:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
  *fs = malloc (sizeof (rtems_rfs_file_system));                      
  if (!*fs)                                                           
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: no memory for file system data\n");   
    errno = ENOMEM;                                                   
   5d6b8:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5d6ba:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
  return 0;                                                           
}                                                                     
   5d6bc:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5d6be:	4cee 3cfc ff9c 	moveml %fp@(-100),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5d6c4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5d6c6:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  *fs = malloc (sizeof (rtems_rfs_file_system));                      
  if (!*fs)                                                           
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: no memory for file system data\n");   
   5d6c8:	4879 0007 308b 	pea 7308b <CSWTCH.2+0xfc3>                  <== NOT EXECUTED
    errno = ENOMEM;                                                   
   5d6ce:	740c           	moveq #12,%d2                               <== NOT EXECUTED
                                                                      
  *fs = malloc (sizeof (rtems_rfs_file_system));                      
  if (!*fs)                                                           
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: no memory for file system data\n");   
   5d6d0:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5d6d6:	588f           	addql #4,%sp                                <== NOT EXECUTED
    errno = ENOMEM;                                                   
   5d6d8:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d6de:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
  *fs = malloc (sizeof (rtems_rfs_file_system));                      
  if (!*fs)                                                           
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: no memory for file system data\n");   
    errno = ENOMEM;                                                   
   5d6e0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5d6e2:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   5d6e4:	60d6           	bras 5d6bc <rtems_rfs_fs_open+0x64c>        <== NOT EXECUTED
  if (fs->group_blocks >                                              
      rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs)))     
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: groups blocks larger than block bits\n");
   5d6e6:	4879 0007 31d8 	pea 731d8 <CSWTCH.2+0x1110>                 <== NOT EXECUTED
    return EIO;                                                       
   5d6ec:	7805           	moveq #5,%d4                                <== NOT EXECUTED
  if (fs->group_blocks >                                              
      rtems_rfs_bitmap_numof_bits (rtems_rfs_fs_block_size (fs)))     
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: groups blocks larger than block bits\n");
   5d6ee:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5d6f4:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d6f6:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d6f8:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d6fe:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d700:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d706:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d70a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d70c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d70e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d712:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d714:	6700 fa86      	beqw 5d19c <rtems_rfs_fs_open+0x12c>        <== NOT EXECUTED
   5d718:	6000 fd2e      	braw 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
      printf ("rtems-rfs: read-superblock: invalid superblock block size%d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  fs->groups = calloc (fs->group_count, sizeof (rtems_rfs_group));    
   5d71c:	242d 0024      	movel %a5@(36),%d2                          
   5d720:	4878 004c      	pea 4c <DBL_MANT_DIG+0x17>                  
   5d724:	2f02           	movel %d2,%sp@-                             
   5d726:	4eb9 0004 6f64 	jsr 46f64 <calloc>                          
                                                                      
  if (!fs->groups)                                                    
   5d72c:	508f           	addql #8,%sp                                
      printf ("rtems-rfs: read-superblock: invalid superblock block size%d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  fs->groups = calloc (fs->group_count, sizeof (rtems_rfs_group));    
   5d72e:	2b40 0020      	movel %d0,%a5@(32)                          
                                                                      
  if (!fs->groups)                                                    
   5d732:	6700 0286      	beqw 5d9ba <rtems_rfs_fs_open+0x94a>        
  /*                                                                  
   * Perform each phase of group initialisation at the same time. This way we
   * know how far the initialisation has gone if an error occurs and we need to
   * close everything.                                                
   */                                                                 
  for (group = 0; group < fs->group_count; group++)                   
   5d736:	4a82           	tstl %d2                                    
   5d738:	6f46           	bles 5d780 <rtems_rfs_fs_open+0x710>        <== NEVER TAKEN
   5d73a:	4283           	clrl %d3                                    
   5d73c:	4282           	clrl %d2                                    
   5d73e:	2a3c 0005 09cc 	movel #330188,%d5                           
  {                                                                   
    rc = rtems_rfs_group_open (fs,                                    
   5d744:	222d 0020      	movel %a5@(32),%d1                          
   5d748:	d283           	addl %d3,%d1                                
   5d74a:	2245           	moveal %d5,%a1                              
   5d74c:	0683 0000 004c 	addil #76,%d3                               
                               rtems_rfs_fs_block (fs, group, 0),     
   5d752:	202d 0028      	movel %a5@(40),%d0                          
   * know how far the initialisation has gone if an error occurs and we need to
   * close everything.                                                
   */                                                                 
  for (group = 0; group < fs->group_count; group++)                   
  {                                                                   
    rc = rtems_rfs_group_open (fs,                                    
   5d756:	2f01           	movel %d1,%sp@-                             
   5d758:	2f2d 002c      	movel %a5@(44),%sp@-                        
                               rtems_rfs_fs_block (fs, group, 0),     
   5d75c:	2202           	movel %d2,%d1                               
   5d75e:	4c00 1800      	mulsl %d0,%d1                               
   * know how far the initialisation has gone if an error occurs and we need to
   * close everything.                                                
   */                                                                 
  for (group = 0; group < fs->group_count; group++)                   
  {                                                                   
    rc = rtems_rfs_group_open (fs,                                    
   5d762:	2f00           	movel %d0,%sp@-                             
   5d764:	2041           	moveal %d1,%a0                              
   5d766:	4868 0001      	pea %a0@(1)                                 
   5d76a:	2f0d           	movel %a5,%sp@-                             
   5d76c:	4e91           	jsr %a1@                                    
                               rtems_rfs_fs_block (fs, group, 0),     
                               fs->group_blocks,                      
                               fs->group_inodes,                      
                               &fs->groups[group]);                   
    if (rc > 0)                                                       
   5d76e:	4fef 0014      	lea %sp@(20),%sp                            
   5d772:	4a80           	tstl %d0                                    
   5d774:	6e00 01ae      	bgtw 5d924 <rtems_rfs_fs_open+0x8b4>        
  /*                                                                  
   * Perform each phase of group initialisation at the same time. This way we
   * know how far the initialisation has gone if an error occurs and we need to
   * close everything.                                                
   */                                                                 
  for (group = 0; group < fs->group_count; group++)                   
   5d778:	5282           	addql #1,%d2                                
   5d77a:	b4ad 0024      	cmpl %a5@(36),%d2                           
   5d77e:	6dc4           	blts 5d744 <rtems_rfs_fs_open+0x6d4>        <== NEVER TAKEN
              rc, strerror (rc));                                     
    errno = rc;                                                       
    return -1;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (*fs, RTEMS_RFS_ROOT_INO, &inode, true);  
   5d780:	4878 0001      	pea 1 <ADD>                                 
   5d784:	240e           	movel %fp,%d2                               
   5d786:	0682 ffff ffda 	addil #-38,%d2                              
   5d78c:	2f02           	movel %d2,%sp@-                             
   5d78e:	4878 0001      	pea 1 <ADD>                                 
   5d792:	2f12           	movel %a2@,%sp@-                            
   5d794:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            
  if (rc > 0)                                                         
   5d79a:	4fef 0010      	lea %sp@(16),%sp                            
              rc, strerror (rc));                                     
    errno = rc;                                                       
    return -1;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (*fs, RTEMS_RFS_ROOT_INO, &inode, true);  
   5d79e:	2600           	movel %d0,%d3                               
  if (rc > 0)                                                         
   5d7a0:	6e00 0120      	bgtw 5d8c2 <rtems_rfs_fs_open+0x852>        
              rc, strerror (rc));                                     
    errno = rc;                                                       
    return -1;                                                        
  }                                                                   
                                                                      
  if (((*fs)->flags & RTEMS_RFS_FS_FORCE_OPEN) == 0)                  
   5d7a4:	2052           	moveal %a2@,%a0                             
   5d7a6:	7004           	moveq #4,%d0                                
   5d7a8:	c090           	andl %a0@,%d0                               
   5d7aa:	662a           	bnes 5d7d6 <rtems_rfs_fs_open+0x766>        <== ALWAYS TAKEN
  {                                                                   
    mode = rtems_rfs_inode_get_mode (&inode);                         
   5d7ac:	226e ffe6      	moveal %fp@(-26),%a1                        <== NOT EXECUTED
 * @return uint16_t The mode.                                         
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle)             
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->mode);                    
   5d7b0:	4280           	clrl %d0                                    <== NOT EXECUTED
   5d7b2:	1029 0002      	moveb %a1@(2),%d0                           <== NOT EXECUTED
   5d7b6:	4281           	clrl %d1                                    <== NOT EXECUTED
   5d7b8:	1229 0003      	moveb %a1@(3),%d1                           <== NOT EXECUTED
   5d7bc:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5d7be:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
                                                                      
    if ((mode == 0xffff) || !RTEMS_RFS_S_ISDIR (mode))                
   5d7c0:	0c80 0000 ffff 	cmpil #65535,%d0                            <== NOT EXECUTED
   5d7c6:	6736           	beqs 5d7fe <rtems_rfs_fs_open+0x78e>        <== NOT EXECUTED
   5d7c8:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   5d7ce:	0c80 0000 4000 	cmpil #16384,%d0                            <== NOT EXECUTED
   5d7d4:	6628           	bnes 5d7fe <rtems_rfs_fs_open+0x78e>        <== NOT EXECUTED
      errno = EIO;                                                    
      return -1;                                                      
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (*fs, &inode);                           
   5d7d6:	2f02           	movel %d2,%sp@-                             
   5d7d8:	2f08           	movel %a0,%sp@-                             
   5d7da:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           
  if (rc > 0)                                                         
   5d7e0:	508f           	addql #8,%sp                                
      errno = EIO;                                                    
      return -1;                                                      
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (*fs, &inode);                           
   5d7e2:	2400           	movel %d0,%d2                               
  if (rc > 0)                                                         
   5d7e4:	6e7a           	bgts 5d860 <rtems_rfs_fs_open+0x7f0>        <== NEVER TAKEN
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));
    errno = rc;                                                       
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
   5d7e6:	4eb9 0006 0414 	jsr 60414 <__errno>                         
  return 0;                                                           
   5d7ec:	4281           	clrl %d1                                    
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));
    errno = rc;                                                       
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
   5d7ee:	2240           	moveal %d0,%a1                              
  return 0;                                                           
}                                                                     
   5d7f0:	2001           	movel %d1,%d0                               
   5d7f2:	4cee 3cfc ff9c 	moveml %fp@(-100),%d2-%d7/%a2-%a5           
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));
    errno = rc;                                                       
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
   5d7f8:	4291           	clrl %a1@                                   
  return 0;                                                           
}                                                                     
   5d7fa:	4e5e           	unlk %fp                                    
   5d7fc:	4e75           	rts                                         
  {                                                                   
    mode = rtems_rfs_inode_get_mode (&inode);                         
                                                                      
    if ((mode == 0xffff) || !RTEMS_RFS_S_ISDIR (mode))                
    {                                                                 
      rtems_rfs_inode_close (*fs, &inode);                            
   5d7fe:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5d800:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5d802:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
      rtems_rfs_buffer_close (*fs);                                   
   5d808:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d80a:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
      free (*fs);                                                     
   5d810:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d812:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                     
   5d818:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d81c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d81e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d820:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   5d824:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d826:	661a           	bnes 5d842 <rtems_rfs_fs_open+0x7d2>        <== NOT EXECUTED
        printf ("rtems-rfs: open: invalid root inode mode\n");        
      errno = EIO;                                                    
   5d828:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
      return -1;                                                      
   5d82e:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
      rtems_rfs_inode_close (*fs, &inode);                            
      rtems_rfs_buffer_close (*fs);                                   
      free (*fs);                                                     
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                     
        printf ("rtems-rfs: open: invalid root inode mode\n");        
      errno = EIO;                                                    
   5d830:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5d832:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   5d834:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
  return 0;                                                           
}                                                                     
   5d836:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5d838:	4cee 3cfc ff9c 	moveml %fp@(-100),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5d83e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5d840:	4e75           	rts                                         <== NOT EXECUTED
    {                                                                 
      rtems_rfs_inode_close (*fs, &inode);                            
      rtems_rfs_buffer_close (*fs);                                   
      free (*fs);                                                     
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                     
        printf ("rtems-rfs: open: invalid root inode mode\n");        
   5d842:	4879 0007 3327 	pea 73327 <CSWTCH.2+0x125f>                 <== NOT EXECUTED
   5d848:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5d84e:	588f           	addql #4,%sp                                <== NOT EXECUTED
      errno = EIO;                                                    
   5d850:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
      return -1;                                                      
   5d856:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
      rtems_rfs_inode_close (*fs, &inode);                            
      rtems_rfs_buffer_close (*fs);                                   
      free (*fs);                                                     
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                     
        printf ("rtems-rfs: open: invalid root inode mode\n");        
      errno = EIO;                                                    
   5d858:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5d85a:	7005           	moveq #5,%d0                                <== NOT EXECUTED
   5d85c:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
   5d85e:	60d6           	bras 5d836 <rtems_rfs_fs_open+0x7c6>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (*fs, &inode);                           
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d860:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d862:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d868:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d86a:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d870:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d874:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d876:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d878:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d87c:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d87e:	6618           	bnes 5d898 <rtems_rfs_fs_open+0x828>        <== NOT EXECUTED
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));
    errno = rc;                                                       
   5d880:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d886:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));
    errno = rc;                                                       
   5d888:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5d88a:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
  return 0;                                                           
}                                                                     
   5d88c:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5d88e:	4cee 3cfc ff9c 	moveml %fp@(-100),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5d894:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5d896:	4e75           	rts                                         <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));
   5d898:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5d89a:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5d8a0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d8a2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5d8a4:	4879 0007 3350 	pea 73350 <CSWTCH.2+0x1288>                 <== NOT EXECUTED
   5d8aa:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d8b0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    errno = rc;                                                       
   5d8b4:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d8ba:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: closing root inode: %d: %s\n", rc, strerror (rc));
    errno = rc;                                                       
   5d8bc:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5d8be:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   5d8c0:	60ca           	bras 5d88c <rtems_rfs_fs_open+0x81c>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (*fs, RTEMS_RFS_ROOT_INO, &inode, true);  
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d8c2:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d8c4:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d8ca:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d8cc:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d8d2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d8d6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d8d8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d8da:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d8de:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d8e0:	6618           	bnes 5d8fa <rtems_rfs_fs_open+0x88a>        <== NOT EXECUTED
      printf ("rtems-rfs: open: reading root inode: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d8e2:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d8e8:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: reading root inode: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d8ea:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5d8ec:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
    return -1;                                                        
  }                                                                   
                                                                      
  errno = 0;                                                          
  return 0;                                                           
}                                                                     
   5d8ee:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5d8f0:	4cee 3cfc ff9c 	moveml %fp@(-100),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   5d8f6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5d8f8:	4e75           	rts                                         <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: reading root inode: %d: %s\n",        
   5d8fa:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5d8fc:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5d902:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d904:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5d906:	4879 0007 32fa 	pea 732fa <CSWTCH.2+0x1232>                 <== NOT EXECUTED
   5d90c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d912:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d916:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
    return -1;                                                        
   5d91c:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
    rtems_rfs_buffer_close (*fs);                                     
    free (*fs);                                                       
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: open: reading root inode: %d: %s\n",        
              rc, strerror (rc));                                     
    errno = rc;                                                       
   5d91e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5d920:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
   5d922:	60ca           	bras 5d8ee <rtems_rfs_fs_open+0x87e>        <== NOT EXECUTED
   5d924:	2800           	movel %d0,%d4                               <== NOT EXECUTED
                               fs->group_inodes,                      
                               &fs->groups[group]);                   
    if (rc > 0)                                                       
    {                                                                 
      int g;                                                          
      for (g = 0; g < group; g++)                                     
   5d926:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5d928:	6726           	beqs 5d950 <rtems_rfs_fs_open+0x8e0>        <== NOT EXECUTED
   5d92a:	4285           	clrl %d5                                    <== NOT EXECUTED
   5d92c:	4283           	clrl %d3                                    <== NOT EXECUTED
   5d92e:	2c3c 0005 0c56 	movel #330838,%d6                           <== NOT EXECUTED
        rtems_rfs_group_close (fs, &fs->groups[g]);                   
   5d934:	222d 0020      	movel %a5@(32),%d1                          <== NOT EXECUTED
   5d938:	d285           	addl %d5,%d1                                <== NOT EXECUTED
   5d93a:	2046           	moveal %d6,%a0                              <== NOT EXECUTED
                               fs->group_inodes,                      
                               &fs->groups[group]);                   
    if (rc > 0)                                                       
    {                                                                 
      int g;                                                          
      for (g = 0; g < group; g++)                                     
   5d93c:	5283           	addql #1,%d3                                <== NOT EXECUTED
   5d93e:	0685 0000 004c 	addil #76,%d5                               <== NOT EXECUTED
        rtems_rfs_group_close (fs, &fs->groups[g]);                   
   5d944:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5d946:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d948:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                               fs->group_inodes,                      
                               &fs->groups[group]);                   
    if (rc > 0)                                                       
    {                                                                 
      int g;                                                          
      for (g = 0; g < group; g++)                                     
   5d94a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5d94c:	b483           	cmpl %d3,%d2                                <== NOT EXECUTED
   5d94e:	66e4           	bnes 5d934 <rtems_rfs_fs_open+0x8c4>        <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5d950:	486e ffd0      	pea %fp@(-48)                               <== NOT EXECUTED
   5d954:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d956:	4e94           	jsr %a4@                                    <== NOT EXECUTED
        rtems_rfs_group_close (fs, &fs->groups[g]);                   
      rtems_rfs_buffer_handle_close (fs, &handle);                    
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                     
   5d958:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
  handle->dirty = false;                                              
   5d95c:	4200           	clrb %d0                                    <== NOT EXECUTED
   5d95e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d960:	1d40 ffd0      	moveb %d0,%fp@(-48)                         <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5d964:	42ae ffd2      	clrl %fp@(-46)                              <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5d968:	42ae ffd6      	clrl %fp@(-42)                              <== NOT EXECUTED
   5d96c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d96e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d972:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d974:	6700 f804      	beqw 5d17a <rtems_rfs_fs_open+0x10a>        <== NOT EXECUTED
        printf ("rtems-rfs: read-superblock: no memory for group table%d: %s\n",
   5d978:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d97a:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5d980:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d982:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5d984:	4879 0007 3290 	pea 73290 <CSWTCH.2+0x11c8>                 <== NOT EXECUTED
   5d98a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5d990:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d994:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d996:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d99c:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d99e:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d9a4:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d9a8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d9aa:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d9ac:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d9b0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d9b2:	6700 f7e8      	beqw 5d19c <rtems_rfs_fs_open+0x12c>        <== NOT EXECUTED
   5d9b6:	6000 fa90      	braw 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5d9ba:	486e ffd0      	pea %fp@(-48)                               <== NOT EXECUTED
   5d9be:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   5d9c0:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  fs->groups = calloc (fs->group_count, sizeof (rtems_rfs_group));    
                                                                      
  if (!fs->groups)                                                    
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d9c2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
  handle->dirty = false;                                              
   5d9c6:	4200           	clrb %d0                                    <== NOT EXECUTED
   5d9c8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d9ca:	1d40 ffd0      	moveb %d0,%fp@(-48)                         <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5d9ce:	42ae ffd2      	clrl %fp@(-46)                              <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5d9d2:	42ae ffd6      	clrl %fp@(-42)                              <== NOT EXECUTED
   5d9d6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d9d8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d9dc:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5d9de:	6628           	bnes 5da08 <rtems_rfs_fs_open+0x998>        <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d9e0:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
  if (!fs->groups)                                                    
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: no memory for group table\n");
    return ENOMEM;                                                    
   5d9e2:	780c           	moveq #12,%d4                               <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5d9e4:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5d9ea:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5d9ec:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5d9f2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5d9f6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5d9f8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5d9fa:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5d9fe:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5da00:	6700 f79a      	beqw 5d19c <rtems_rfs_fs_open+0x12c>        <== NOT EXECUTED
   5da04:	6000 fa42      	braw 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
                                                                      
  if (!fs->groups)                                                    
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: no memory for group table\n");
   5da08:	4879 0007 325a 	pea 7325a <CSWTCH.2+0x1192>                 <== NOT EXECUTED
    return ENOMEM;                                                    
   5da0e:	780c           	moveq #12,%d4                               <== NOT EXECUTED
                                                                      
  if (!fs->groups)                                                    
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &handle);                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
      printf ("rtems-rfs: read-superblock: no memory for group table\n");
   5da10:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5da16:	588f           	addql #4,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_read_superblock (*fs);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_close (*fs);                                     
   5da18:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5da1a:	4eb9 0005 a83e 	jsr 5a83e <rtems_rfs_buffer_close>          <== NOT EXECUTED
    free (*fs);                                                       
   5da20:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5da22:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_OPEN))                       
   5da28:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5da2c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5da2e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5da30:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5da34:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5da36:	6700 f764      	beqw 5d19c <rtems_rfs_fs_open+0x12c>        <== NOT EXECUTED
   5da3a:	6000 fa0c      	braw 5d448 <rtems_rfs_fs_open+0x3d8>        <== NOT EXECUTED
                                                                      

0005d00c <rtems_rfs_fs_size>: #include <rtems/rfs/rtems-rfs-trace.h> uint64_t rtems_rfs_fs_size (rtems_rfs_file_system* fs) { uint64_t blocks = rtems_rfs_fs_blocks (fs);
   5d00c:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
  uint64_t block_size = rtems_rfs_fs_block_size (fs);                 
   5d00e:	4280           	clrl %d0                                    <== NOT EXECUTED
#include <rtems/rfs/rtems-rfs-inode.h>                                
#include <rtems/rfs/rtems-rfs-trace.h>                                
                                                                      
uint64_t                                                              
rtems_rfs_fs_size (rtems_rfs_file_system* fs)                         
{                                                                     
   5d010:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5d014:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5d016:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  uint64_t blocks = rtems_rfs_fs_blocks (fs);                         
   5d01a:	226a 0004      	moveal %a2@(4),%a1                          <== NOT EXECUTED
  uint64_t block_size = rtems_rfs_fs_block_size (fs);                 
   5d01e:	222a 0008      	movel %a2@(8),%d1                           <== NOT EXECUTED
  return blocks * block_size;                                         
   5d022:	2f09           	movel %a1,%sp@-                             <== NOT EXECUTED
   5d024:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5d026:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5d028:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5d02a:	4eb9 0006 d714 	jsr 6d714 <__muldi3>                        <== NOT EXECUTED
}                                                                     
   5d030:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
uint64_t                                                              
rtems_rfs_fs_size (rtems_rfs_file_system* fs)                         
{                                                                     
  uint64_t blocks = rtems_rfs_fs_blocks (fs);                         
  uint64_t block_size = rtems_rfs_fs_block_size (fs);                 
  return blocks * block_size;                                         
   5d034:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
}                                                                     
   5d038:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00050d4a <rtems_rfs_group_bitmap_alloc>: int rtems_rfs_group_bitmap_alloc (rtems_rfs_file_system* fs, rtems_rfs_bitmap_bit goal, bool inode, rtems_rfs_bitmap_bit* result) {
   50d4a:	4e56 ffc8      	linkw %fp,#-56                              
   50d4e:	222e 000c      	movel %fp@(12),%d1                          
   50d52:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   50d56:	162e 0013      	moveb %fp@(19),%d3                          
   50d5a:	2a6e 0008      	moveal %fp@(8),%a5                          
   50d5e:	1d43 fff7      	moveb %d3,%fp@(-9)                          
  rtems_rfs_bitmap_bit bit;                                           
  int                  offset;                                        
  bool                 updown;                                        
  int                  direction;                                     
                                                                      
  if (inode)                                                          
   50d62:	6700 0112      	beqw 50e76 <rtems_rfs_group_bitmap_alloc+0x12c>
  {                                                                   
    size = fs->group_inodes;                                          
   50d66:	202d 002c      	movel %a5@(44),%d0                          
    goal -= RTEMS_RFS_ROOT_INO;                                       
   50d6a:	5381           	subql #1,%d1                                
  }                                                                   
  else                                                                
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
   50d6c:	2e01           	movel %d1,%d7                               
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
    if (offset)                                                       
      bit = direction > 0 ? 0 : size - 1;                             
   50d6e:	2040           	moveal %d0,%a0                              
   50d70:	5388           	subql #1,%a0                                
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
  offset = 0;                                                         
  updown = true;                                                      
  direction = 1;                                                      
   50d72:	7401           	moveq #1,%d2                                
  else                                                                
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
  offset = 0;                                                         
   50d74:	4285           	clrl %d5                                    
   if (inode)                                                         
      bitmap = &fs->groups[group].inode_bitmap;                       
    else                                                              
      bitmap = &fs->groups[group].block_bitmap;                       
                                                                      
    rc = rtems_rfs_bitmap_map_alloc (bitmap, bit, &allocated, &bit);  
   50d76:	49ee fffc      	lea %fp@(-4),%a4                            
   50d7a:	47f9 0005 8bae 	lea 58bae <rtems_rfs_bitmap_map_alloc>,%a3  
  }                                                                   
  else                                                                
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
   50d80:	4c40 7003      	remul %d0,%d3,%d7                           
   50d84:	4c40 7007      	remul %d0,%d7,%d7                           
   */                                                                 
  while (true)                                                        
  {                                                                   
    rtems_rfs_bitmap_control* bitmap;                                 
    int                       group;                                  
    bool                      allocated = false;                      
   50d88:	4200           	clrb %d0                                    
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
  offset = 0;                                                         
  updown = true;                                                      
   50d8a:	7801           	moveq #1,%d4                                
  }                                                                   
  else                                                                
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
   50d8c:	2d43 fffc      	movel %d3,%fp@(-4)                          
                                                                      
    /*                                                                
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
   50d90:	2607           	movel %d7,%d3                               
   */                                                                 
  while (true)                                                        
  {                                                                   
    rtems_rfs_bitmap_control* bitmap;                                 
    int                       group;                                  
    bool                      allocated = false;                      
   50d92:	1d40 fffb      	moveb %d0,%fp@(-5)                          
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
    if (offset)                                                       
      bit = direction > 0 ? 0 : size - 1;                             
   50d96:	2d48 fff2      	movel %a0,%fp@(-14)                         
    /*                                                                
     * If we are still looking up and down and if the group is out of range we
     * have reached one end. Stopping looking up and down and just move in the
     * one direction one group at a time.                             
     */                                                               
    if ((group < 0) || (group >= fs->group_count))                    
   50d9a:	4a83           	tstl %d3                                    
   50d9c:	6d72           	blts 50e10 <rtems_rfs_group_bitmap_alloc+0xc6><== NEVER TAKEN
   50d9e:	b6ad 0024      	cmpl %a5@(36),%d3                           
   50da2:	6c6c           	bges 50e10 <rtems_rfs_group_bitmap_alloc+0xc6><== NEVER TAKEN
      updown = false;                                                 
      continue;                                                       
    }                                                                 
                                                                      
   if (inode)                                                         
      bitmap = &fs->groups[group].inode_bitmap;                       
   50da4:	7c4c           	moveq #76,%d6                               
   50da6:	4c03 6800      	mulsl %d3,%d6                               
   50daa:	246d 0020      	moveal %a5@(32),%a2                         
   50dae:	d5c6           	addal %d6,%a2                               
      direction = direction > 0 ? -1 : 1;                             
      updown = false;                                                 
      continue;                                                       
    }                                                                 
                                                                      
   if (inode)                                                         
   50db0:	4a2e fff7      	tstb %fp@(-9)                               
   50db4:	6700 00ba      	beqw 50e70 <rtems_rfs_group_bitmap_alloc+0x126>
      bitmap = &fs->groups[group].inode_bitmap;                       
   50db8:	45ea 002a      	lea %a2@(42),%a2                            
    else                                                              
      bitmap = &fs->groups[group].block_bitmap;                       
                                                                      
    rc = rtems_rfs_bitmap_map_alloc (bitmap, bit, &allocated, &bit);  
   50dbc:	2f0c           	movel %a4,%sp@-                             
   50dbe:	486e fffb      	pea %fp@(-5)                                
   50dc2:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   50dc6:	2f0a           	movel %a2,%sp@-                             
   50dc8:	4e93           	jsr %a3@                                    
    if (rc > 0)                                                       
   50dca:	4fef 0010      	lea %sp@(16),%sp                            
   50dce:	4a80           	tstl %d0                                    
   50dd0:	6e00 0094      	bgtw 50e66 <rtems_rfs_group_bitmap_alloc+0x11c>
      return rc;                                                      
                                                                      
    if (rtems_rfs_fs_release_bitmaps (fs))                            
   50dd4:	7001           	moveq #1,%d0                                
   50dd6:	c095           	andl %a5@,%d0                               
   50dd8:	6700 00d2      	beqw 50eac <rtems_rfs_group_bitmap_alloc+0x162>
      rtems_rfs_bitmap_release_buffer (fs, bitmap);                   
                                                                      
    if (allocated)                                                    
   50ddc:	4a2e fffb      	tstb %fp@(-5)                               
   50de0:	6600 00da      	bnew 50ebc <rtems_rfs_group_bitmap_alloc+0x172>
        printf ("rtems-rfs: group-bitmap-alloc: %s allocated: %" PRId32 "\n",
                inode ? "inode" : "block", *result);                  
      return 0;                                                       
    }                                                                 
                                                                      
    if (updown)                                                       
   50de4:	4a04           	tstb %d4                                    <== NOT EXECUTED
   50de6:	670a           	beqs 50df2 <rtems_rfs_group_bitmap_alloc+0xa8><== NOT EXECUTED
      direction = direction > 0 ? -1 : 1;                             
   50de8:	4a82           	tstl %d2                                    <== NOT EXECUTED
   50dea:	5ec2           	sgt %d2                                     <== NOT EXECUTED
   50dec:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   50dee:	49c2           	extbl %d2                                   <== NOT EXECUTED
   50df0:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
                                                                      
    offset++;                                                         
   50df2:	5285           	addql #1,%d5                                <== NOT EXECUTED
                                                                      
    /*                                                                
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
   50df4:	2602           	movel %d2,%d3                               <== NOT EXECUTED
   50df6:	4c05 3800      	mulsl %d5,%d3                               <== NOT EXECUTED
   */                                                                 
  while (true)                                                        
  {                                                                   
    rtems_rfs_bitmap_control* bitmap;                                 
    int                       group;                                  
    bool                      allocated = false;                      
   50dfa:	4200           	clrb %d0                                    <== NOT EXECUTED
                                                                      
    /*                                                                
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
   50dfc:	d687           	addl %d7,%d3                                <== NOT EXECUTED
   */                                                                 
  while (true)                                                        
  {                                                                   
    rtems_rfs_bitmap_control* bitmap;                                 
    int                       group;                                  
    bool                      allocated = false;                      
   50dfe:	1d40 fffb      	moveb %d0,%fp@(-5)                          <== NOT EXECUTED
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
    if (offset)                                                       
      bit = direction > 0 ? 0 : size - 1;                             
   50e02:	4a82           	tstl %d2                                    <== NOT EXECUTED
   50e04:	6f32           	bles 50e38 <rtems_rfs_group_bitmap_alloc+0xee><== NOT EXECUTED
   50e06:	4280           	clrl %d0                                    <== NOT EXECUTED
   50e08:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
    /*                                                                
     * If we are still looking up and down and if the group is out of range we
     * have reached one end. Stopping looking up and down and just move in the
     * one direction one group at a time.                             
     */                                                               
    if ((group < 0) || (group >= fs->group_count))                    
   50e0c:	4a83           	tstl %d3                                    <== NOT EXECUTED
   50e0e:	6c8e           	bges 50d9e <rtems_rfs_group_bitmap_alloc+0x54><== NOT EXECUTED
    {                                                                 
      if (!updown)                                                    
   50e10:	4a04           	tstb %d4                                    <== NOT EXECUTED
   50e12:	672e           	beqs 50e42 <rtems_rfs_group_bitmap_alloc+0xf8><== NOT EXECUTED
        break;                                                        
      direction = direction > 0 ? -1 : 1;                             
   50e14:	4a82           	tstl %d2                                    <== NOT EXECUTED
   50e16:	5ec2           	sgt %d2                                     <== NOT EXECUTED
   50e18:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   50e1a:	49c2           	extbl %d2                                   <== NOT EXECUTED
   */                                                                 
  while (true)                                                        
  {                                                                   
    rtems_rfs_bitmap_control* bitmap;                                 
    int                       group;                                  
    bool                      allocated = false;                      
   50e1c:	4203           	clrb %d3                                    <== NOT EXECUTED
     */                                                               
    if ((group < 0) || (group >= fs->group_count))                    
    {                                                                 
      if (!updown)                                                    
        break;                                                        
      direction = direction > 0 ? -1 : 1;                             
   50e1e:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
      updown = false;                                                 
   50e20:	4204           	clrb %d4                                    <== NOT EXECUTED
   */                                                                 
  while (true)                                                        
  {                                                                   
    rtems_rfs_bitmap_control* bitmap;                                 
    int                       group;                                  
    bool                      allocated = false;                      
   50e22:	1d43 fffb      	moveb %d3,%fp@(-5)                          <== NOT EXECUTED
                                                                      
    /*                                                                
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
   50e26:	2602           	movel %d2,%d3                               <== NOT EXECUTED
   50e28:	4c05 3800      	mulsl %d5,%d3                               <== NOT EXECUTED
   50e2c:	d687           	addl %d7,%d3                                <== NOT EXECUTED
    if (offset)                                                       
   50e2e:	4a85           	tstl %d5                                    <== NOT EXECUTED
   50e30:	6700 ff68      	beqw 50d9a <rtems_rfs_group_bitmap_alloc+0x50><== NOT EXECUTED
      bit = direction > 0 ? 0 : size - 1;                             
   50e34:	4a82           	tstl %d2                                    <== NOT EXECUTED
   50e36:	6ece           	bgts 50e06 <rtems_rfs_group_bitmap_alloc+0xbc><== NOT EXECUTED
   50e38:	202e fff2      	movel %fp@(-14),%d0                         <== NOT EXECUTED
   50e3c:	2d40 fffc      	movel %d0,%fp@(-4)                          <== NOT EXECUTED
   50e40:	60ca           	bras 50e0c <rtems_rfs_group_bitmap_alloc+0xc2><== NOT EXECUTED
      direction = direction > 0 ? -1 : 1;                             
                                                                      
    offset++;                                                         
  }                                                                   
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
   50e42:	2f3c 0002 0000 	movel #131072,%sp@-                         <== NOT EXECUTED
   50e48:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   50e4a:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   50e50:	508f           	addql #8,%sp                                <== NOT EXECUTED
   50e52:	4a00           	tstb %d0                                    <== NOT EXECUTED
   50e54:	670e           	beqs 50e64 <rtems_rfs_group_bitmap_alloc+0x11a><== NOT EXECUTED
    printf ("rtems-rfs: group-bitmap-alloc: no blocks available\n");  
   50e56:	4879 0007 1939 	pea 71939 <_CPU_m68k_BFFFO_table+0xa2a>     <== NOT EXECUTED
   50e5c:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   50e62:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  return ENOSPC;                                                      
   50e64:	701c           	moveq #28,%d0                               <== NOT EXECUTED
}                                                                     
   50e66:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   50e6c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50e6e:	4e75           	rts                                         <== NOT EXECUTED
    }                                                                 
                                                                      
   if (inode)                                                         
      bitmap = &fs->groups[group].inode_bitmap;                       
    else                                                              
      bitmap = &fs->groups[group].block_bitmap;                       
   50e70:	508a           	addql #8,%a2                                
   50e72:	6000 ff48      	braw 50dbc <rtems_rfs_group_bitmap_alloc+0x72>
  {                                                                   
    size = fs->group_inodes;                                          
    goal -= RTEMS_RFS_ROOT_INO;                                       
  }                                                                   
  else                                                                
    size = fs->group_blocks;                                          
   50e76:	202d 0028      	movel %a5@(40),%d0                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
   50e7a:	2e01           	movel %d1,%d7                               
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
    if (offset)                                                       
      bit = direction > 0 ? 0 : size - 1;                             
   50e7c:	2040           	moveal %d0,%a0                              
   50e7e:	5388           	subql #1,%a0                                
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
  offset = 0;                                                         
  updown = true;                                                      
  direction = 1;                                                      
   50e80:	7401           	moveq #1,%d2                                
  else                                                                
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
  offset = 0;                                                         
   50e82:	4285           	clrl %d5                                    
   if (inode)                                                         
      bitmap = &fs->groups[group].inode_bitmap;                       
    else                                                              
      bitmap = &fs->groups[group].block_bitmap;                       
                                                                      
    rc = rtems_rfs_bitmap_map_alloc (bitmap, bit, &allocated, &bit);  
   50e84:	49ee fffc      	lea %fp@(-4),%a4                            
   50e88:	47f9 0005 8bae 	lea 58bae <rtems_rfs_bitmap_map_alloc>,%a3  
  }                                                                   
  else                                                                
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
   50e8e:	4c40 7003      	remul %d0,%d3,%d7                           
   50e92:	4c40 7007      	remul %d0,%d7,%d7                           
   */                                                                 
  while (true)                                                        
  {                                                                   
    rtems_rfs_bitmap_control* bitmap;                                 
    int                       group;                                  
    bool                      allocated = false;                      
   50e96:	4200           	clrb %d0                                    
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
    if (offset)                                                       
      bit = direction > 0 ? 0 : size - 1;                             
   50e98:	2d48 fff2      	movel %a0,%fp@(-14)                         
   */                                                                 
  while (true)                                                        
  {                                                                   
    rtems_rfs_bitmap_control* bitmap;                                 
    int                       group;                                  
    bool                      allocated = false;                      
   50e9c:	1d40 fffb      	moveb %d0,%fp@(-5)                          
  }                                                                   
  else                                                                
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
   50ea0:	2d43 fffc      	movel %d3,%fp@(-4)                          
                                                                      
    /*                                                                
     * We can start at any location and we move out from that point in each
     * direction. The offset grows until we find a free bit or we hit an end.
     */                                                               
    group = group_start + (direction * offset);                       
   50ea4:	2607           	movel %d7,%d3                               
    size = fs->group_blocks;                                          
                                                                      
  group_start = goal / size;                                          
  bit = (rtems_rfs_bitmap_bit) (goal % size);                         
  offset = 0;                                                         
  updown = true;                                                      
   50ea6:	7801           	moveq #1,%d4                                
   50ea8:	6000 fef0      	braw 50d9a <rtems_rfs_group_bitmap_alloc+0x50>
    rc = rtems_rfs_bitmap_map_alloc (bitmap, bit, &allocated, &bit);  
    if (rc > 0)                                                       
      return rc;                                                      
                                                                      
    if (rtems_rfs_fs_release_bitmaps (fs))                            
      rtems_rfs_bitmap_release_buffer (fs, bitmap);                   
   50eac:	2f12           	movel %a2@,%sp@-                            
   50eae:	2f0d           	movel %a5,%sp@-                             
   50eb0:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> 
   50eb6:	508f           	addql #8,%sp                                
   50eb8:	6000 ff22      	braw 50ddc <rtems_rfs_group_bitmap_alloc+0x92>
                                                                      
    if (allocated)                                                    
    {                                                                 
      if (inode)                                                      
   50ebc:	4a2e fff7      	tstb %fp@(-9)                               
   50ec0:	675c           	beqs 50f1e <rtems_rfs_group_bitmap_alloc+0x1d4>
        *result = rtems_rfs_group_inode (fs, group, bit);             
   50ec2:	4bed 002c      	lea %a5@(44),%a5                            
   50ec6:	4c15 3800      	mulsl %a5@,%d3                              
   50eca:	202e fffc      	movel %fp@(-4),%d0                          
   50ece:	5280           	addql #1,%d0                                
   50ed0:	d083           	addl %d3,%d0                                
   50ed2:	206e 0014      	moveal %fp@(20),%a0                         
   50ed6:	2080           	movel %d0,%a0@                              
      else                                                            
        *result = rtems_rfs_group_block (&fs->groups[group], bit);    
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))            
   50ed8:	2f3c 0002 0000 	movel #131072,%sp@-                         
   50ede:	42a7           	clrl %sp@-                                  
   50ee0:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   50ee6:	508f           	addql #8,%sp                                
   50ee8:	4a00           	tstb %d0                                    
   50eea:	6746           	beqs 50f32 <rtems_rfs_group_bitmap_alloc+0x1e8><== ALWAYS TAKEN
        printf ("rtems-rfs: group-bitmap-alloc: %s allocated: %" PRId32 "\n",
   50eec:	206e 0014      	moveal %fp@(20),%a0                         <== NOT EXECUTED
   50ef0:	2210           	movel %a0@,%d1                              <== NOT EXECUTED
   50ef2:	4a2e fff7      	tstb %fp@(-9)                               <== NOT EXECUTED
   50ef6:	6746           	beqs 50f3e <rtems_rfs_group_bitmap_alloc+0x1f4><== NOT EXECUTED
   50ef8:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   50efa:	203c 0007 1901 	movel #465153,%d0                           <== NOT EXECUTED
   50f00:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50f02:	4879 0007 1907 	pea 71907 <_CPU_m68k_BFFFO_table+0x9f8>     <== NOT EXECUTED
   50f08:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50f0e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                inode ? "inode" : "block", *result);                  
      return 0;                                                       
   50f12:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
    printf ("rtems-rfs: group-bitmap-alloc: no blocks available\n");  
                                                                      
  return ENOSPC;                                                      
}                                                                     
   50f14:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   50f1a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50f1c:	4e75           	rts                                         <== NOT EXECUTED
    if (allocated)                                                    
    {                                                                 
      if (inode)                                                      
        *result = rtems_rfs_group_inode (fs, group, bit);             
      else                                                            
        *result = rtems_rfs_group_block (&fs->groups[group], bit);    
   50f1e:	206d 0020      	moveal %a5@(32),%a0                         
   50f22:	202e fffc      	movel %fp@(-4),%d0                          
   50f26:	d0b0 6800      	addl %a0@(00000000,%d6:l),%d0               
   50f2a:	226e 0014      	moveal %fp@(20),%a1                         
   50f2e:	2280           	movel %d0,%a1@                              
   50f30:	60a6           	bras 50ed8 <rtems_rfs_group_bitmap_alloc+0x18e>
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))            
        printf ("rtems-rfs: group-bitmap-alloc: %s allocated: %" PRId32 "\n",
                inode ? "inode" : "block", *result);                  
      return 0;                                                       
   50f32:	4280           	clrl %d0                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
    printf ("rtems-rfs: group-bitmap-alloc: no blocks available\n");  
                                                                      
  return ENOSPC;                                                      
}                                                                     
   50f34:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   50f3a:	4e5e           	unlk %fp                                    
   50f3c:	4e75           	rts                                         
      if (inode)                                                      
        *result = rtems_rfs_group_inode (fs, group, bit);             
      else                                                            
        *result = rtems_rfs_group_block (&fs->groups[group], bit);    
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))            
        printf ("rtems-rfs: group-bitmap-alloc: %s allocated: %" PRId32 "\n",
   50f3e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   50f40:	203c 0007 10e4 	movel #463076,%d0                           <== NOT EXECUTED
   50f46:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50f48:	4879 0007 1907 	pea 71907 <_CPU_m68k_BFFFO_table+0x9f8>     <== NOT EXECUTED
   50f4e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50f54:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                inode ? "inode" : "block", *result);                  
      return 0;                                                       
   50f58:	4280           	clrl %d0                                    <== NOT EXECUTED
   50f5a:	60b8           	bras 50f14 <rtems_rfs_group_bitmap_alloc+0x1ca><== NOT EXECUTED
                                                                      

00050f5c <rtems_rfs_group_bitmap_free>: int rtems_rfs_group_bitmap_free (rtems_rfs_file_system* fs, bool inode, rtems_rfs_bitmap_bit no) {
   50f5c:	4e56 fff4      	linkw %fp,#-12                              <== NOT EXECUTED
   50f60:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     <== NOT EXECUTED
  unsigned int              group;                                    
  rtems_rfs_bitmap_bit      bit;                                      
  size_t                    size;                                     
  int                       rc;                                       
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
   50f64:	2f3c 0002 0000 	movel #131072,%sp@-                         <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_group_bitmap_free (rtems_rfs_file_system* fs,               
                             bool                   inode,            
                             rtems_rfs_bitmap_bit   no)               
{                                                                     
   50f6a:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  unsigned int              group;                                    
  rtems_rfs_bitmap_bit      bit;                                      
  size_t                    size;                                     
  int                       rc;                                       
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
   50f6e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_group_bitmap_free (rtems_rfs_file_system* fs,               
                             bool                   inode,            
                             rtems_rfs_bitmap_bit   no)               
{                                                                     
   50f70:	266e 0010      	moveal %fp@(16),%a3                         <== NOT EXECUTED
   50f74:	142e 000f      	moveb %fp@(15),%d2                          <== NOT EXECUTED
  unsigned int              group;                                    
  rtems_rfs_bitmap_bit      bit;                                      
  size_t                    size;                                     
  int                       rc;                                       
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
   50f78:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   50f7e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   50f80:	4a00           	tstb %d0                                    <== NOT EXECUTED
   50f82:	6720           	beqs 50fa4 <rtems_rfs_group_bitmap_free+0x48><== NOT EXECUTED
    printf ("rtems-rfs: group-bitmap-free: %s free: %" PRId32 "\n",   
   50f84:	4a02           	tstb %d2                                    <== NOT EXECUTED
   50f86:	6700 009e      	beqw 51026 <rtems_rfs_group_bitmap_free+0xca><== NOT EXECUTED
   50f8a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   50f8c:	203c 0007 1901 	movel #465153,%d0                           <== NOT EXECUTED
   50f92:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50f94:	4879 0007 196c 	pea 7196c <_CPU_m68k_BFFFO_table+0xa5d>     <== NOT EXECUTED
   50f9a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50fa0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
            inode ? "inode" : "block", no);                           
                                                                      
  if (inode)                                                          
  {                                                                   
    no -= RTEMS_RFS_ROOT_INO;                                         
   50fa4:	220b           	movel %a3,%d1                               <== NOT EXECUTED
   50fa6:	5381           	subql #1,%d1                                <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
    printf ("rtems-rfs: group-bitmap-free: %s free: %" PRId32 "\n",   
            inode ? "inode" : "block", no);                           
                                                                      
  if (inode)                                                          
   50fa8:	4a02           	tstb %d2                                    <== NOT EXECUTED
   50faa:	673e           	beqs 50fea <rtems_rfs_group_bitmap_free+0x8e><== NOT EXECUTED
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
   50fac:	744c           	moveq #76,%d2                               <== NOT EXECUTED
    no -= RTEMS_RFS_SUPERBLOCK_SIZE;                                  
    size = fs->group_blocks;                                          
  }                                                                   
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
   50fae:	4c6a 1000 002c 	remul %a2@(44),%d0,%d1                      <== NOT EXECUTED
   50fb4:	4c6a 1001 002c 	remul %a2@(44),%d1,%d1                      <== NOT EXECUTED
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
   50fba:	266a 0020      	moveal %a2@(32),%a3                         <== NOT EXECUTED
   50fbe:	4c02 1800      	mulsl %d2,%d1                               <== NOT EXECUTED
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_clear (bitmap, bit);                      
   50fc2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
   50fc4:	d7c1           	addal %d1,%a3                               <== NOT EXECUTED
   50fc6:	47eb 002a      	lea %a3@(42),%a3                            <== NOT EXECUTED
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_clear (bitmap, bit);                      
   50fca:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   50fcc:	4eb9 0005 89be 	jsr 589be <rtems_rfs_bitmap_map_clear>      <== NOT EXECUTED
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
   50fd2:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_clear (bitmap, bit);                      
   50fd4:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
   50fd6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   50fd8:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
   50fde:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   50fe0:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   50fe6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50fe8:	4e75           	rts                                         <== NOT EXECUTED
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
   50fea:	744c           	moveq #76,%d2                               <== NOT EXECUTED
    no -= RTEMS_RFS_SUPERBLOCK_SIZE;                                  
    size = fs->group_blocks;                                          
  }                                                                   
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
   50fec:	4c6a 1000 0028 	remul %a2@(40),%d0,%d1                      <== NOT EXECUTED
   50ff2:	4c6a 1001 0028 	remul %a2@(40),%d1,%d1                      <== NOT EXECUTED
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
   50ff8:	266a 0020      	moveal %a2@(32),%a3                         <== NOT EXECUTED
   50ffc:	4c02 1800      	mulsl %d2,%d1                               <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_bitmap_map_clear (bitmap, bit);                      
   51000:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
   51002:	d7c1           	addal %d1,%a3                               <== NOT EXECUTED
   51004:	508b           	addql #8,%a3                                <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_bitmap_map_clear (bitmap, bit);                      
   51006:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51008:	4eb9 0005 89be 	jsr 589be <rtems_rfs_bitmap_map_clear>      <== NOT EXECUTED
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
   5100e:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_clear (bitmap, bit);                      
   51010:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
   51012:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51014:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
   5101a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5101c:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   51022:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51024:	4e75           	rts                                         <== NOT EXECUTED
  rtems_rfs_bitmap_bit      bit;                                      
  size_t                    size;                                     
  int                       rc;                                       
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
    printf ("rtems-rfs: group-bitmap-free: %s free: %" PRId32 "\n",   
   51026:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51028:	203c 0007 10e4 	movel #463076,%d0                           <== NOT EXECUTED
   5102e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   51030:	4879 0007 196c 	pea 7196c <_CPU_m68k_BFFFO_table+0xa5d>     <== NOT EXECUTED
   51036:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5103c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   51040:	6000 ff62      	braw 50fa4 <rtems_rfs_group_bitmap_free+0x48><== NOT EXECUTED
                                                                      

00051044 <rtems_rfs_group_bitmap_test>: int rtems_rfs_group_bitmap_test (rtems_rfs_file_system* fs, bool inode, rtems_rfs_bitmap_bit no, bool* state) {
   51044:	4e56 fff0      	linkw %fp,#-16                              <== NOT EXECUTED
   51048:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 <== NOT EXECUTED
  unsigned int              group;                                    
  rtems_rfs_bitmap_bit      bit;                                      
  size_t                    size;                                     
  int                       rc;                                       
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
   5104c:	2f3c 0002 0000 	movel #131072,%sp@-                         <== NOT EXECUTED
int                                                                   
rtems_rfs_group_bitmap_test (rtems_rfs_file_system* fs,               
                             bool                   inode,            
                             rtems_rfs_bitmap_bit   no,               
                             bool*                  state)            
{                                                                     
   51052:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  unsigned int              group;                                    
  rtems_rfs_bitmap_bit      bit;                                      
  size_t                    size;                                     
  int                       rc;                                       
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
   51056:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
int                                                                   
rtems_rfs_group_bitmap_test (rtems_rfs_file_system* fs,               
                             bool                   inode,            
                             rtems_rfs_bitmap_bit   no,               
                             bool*                  state)            
{                                                                     
   51058:	242e 0010      	movel %fp@(16),%d2                          <== NOT EXECUTED
   5105c:	162e 000f      	moveb %fp@(15),%d3                          <== NOT EXECUTED
  unsigned int              group;                                    
  rtems_rfs_bitmap_bit      bit;                                      
  size_t                    size;                                     
  int                       rc;                                       
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
   51060:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   51066:	508f           	addql #8,%sp                                <== NOT EXECUTED
   51068:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5106a:	6720           	beqs 5108c <rtems_rfs_group_bitmap_test+0x48><== NOT EXECUTED
    printf ("rtems-rfs: group-bitmap-test: %s test: %" PRId32 "\n",   
   5106c:	4a03           	tstb %d3                                    <== NOT EXECUTED
   5106e:	6700 0082      	beqw 510f2 <rtems_rfs_group_bitmap_test+0xae><== NOT EXECUTED
   51072:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51074:	203c 0007 1901 	movel #465153,%d0                           <== NOT EXECUTED
   5107a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5107c:	4879 0007 1998 	pea 71998 <_CPU_m68k_BFFFO_table+0xa89>     <== NOT EXECUTED
   51082:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   51088:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
            inode ? "inode" : "block", no);                           
                                                                      
  if (inode)                                                          
   5108c:	4a03           	tstb %d3                                    <== NOT EXECUTED
   5108e:	6718           	beqs 510a8 <rtems_rfs_group_bitmap_test+0x64><== NOT EXECUTED
  {                                                                   
    if ((no < RTEMS_RFS_ROOT_INO) || (no > rtems_rfs_fs_inodes (fs))) 
   51090:	4a82           	tstl %d2                                    <== NOT EXECUTED
   51092:	6f06           	bles 5109a <rtems_rfs_group_bitmap_test+0x56><== NOT EXECUTED
   51094:	b4aa 0014      	cmpl %a2@(20),%d2                           <== NOT EXECUTED
   51098:	6376           	blss 51110 <rtems_rfs_group_bitmap_test+0xcc><== NOT EXECUTED
        return EINVAL;                                                
   5109a:	7416           	moveq #22,%d2                               <== NOT EXECUTED
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
                                                                      
  return rc;                                                          
}                                                                     
   5109c:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5109e:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   510a4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   510a6:	4e75           	rts                                         <== NOT EXECUTED
    no -= RTEMS_RFS_ROOT_INO;                                         
    size = fs->group_inodes;                                          
  }                                                                   
  else                                                                
  {                                                                   
    if (no >= rtems_rfs_fs_blocks (fs))                               
   510a8:	b4aa 0004      	cmpl %a2@(4),%d2                            <== NOT EXECUTED
   510ac:	64ec           	bccs 5109a <rtems_rfs_group_bitmap_test+0x56><== NOT EXECUTED
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
   510ae:	266a 0020      	moveal %a2@(32),%a3                         <== NOT EXECUTED
   510b2:	724c           	moveq #76,%d1                               <== NOT EXECUTED
        return EINVAL;                                                
    size = fs->group_blocks;                                          
  }                                                                   
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
   510b4:	4c6a 2000 0028 	remul %a2@(40),%d0,%d2                      <== NOT EXECUTED
   510ba:	4c6a 2002 0028 	remul %a2@(40),%d2,%d2                      <== NOT EXECUTED
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
   510c0:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
   510c4:	4c01 2800      	mulsl %d1,%d2                               <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
   510c8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
   510ca:	d7c2           	addal %d2,%a3                               <== NOT EXECUTED
   510cc:	508b           	addql #8,%a3                                <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
   510ce:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   510d0:	4eb9 0005 8a42 	jsr 58a42 <rtems_rfs_bitmap_map_test>       <== NOT EXECUTED
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
   510d6:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
   510d8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
   510da:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   510dc:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
                                                                      
  return rc;                                                          
   510e2:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
}                                                                     
   510e6:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   510e8:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   510ee:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   510f0:	4e75           	rts                                         <== NOT EXECUTED
  rtems_rfs_bitmap_bit      bit;                                      
  size_t                    size;                                     
  int                       rc;                                       
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_BITMAPS))                
    printf ("rtems-rfs: group-bitmap-test: %s test: %" PRId32 "\n",   
   510f2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   510f4:	203c 0007 10e4 	movel #463076,%d0                           <== NOT EXECUTED
   510fa:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   510fc:	4879 0007 1998 	pea 71998 <_CPU_m68k_BFFFO_table+0xa89>     <== NOT EXECUTED
   51102:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   51108:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5110c:	6000 ff7e      	braw 5108c <rtems_rfs_group_bitmap_test+0x48><== NOT EXECUTED
                                                                      
  if (inode)                                                          
  {                                                                   
    if ((no < RTEMS_RFS_ROOT_INO) || (no > rtems_rfs_fs_inodes (fs))) 
        return EINVAL;                                                
    no -= RTEMS_RFS_ROOT_INO;                                         
   51110:	5382           	subql #1,%d2                                <== NOT EXECUTED
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
   51112:	724c           	moveq #76,%d1                               <== NOT EXECUTED
   51114:	266a 0020      	moveal %a2@(32),%a3                         <== NOT EXECUTED
        return EINVAL;                                                
    size = fs->group_blocks;                                          
  }                                                                   
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
   51118:	4c6a 2000 002c 	remul %a2@(44),%d0,%d2                      <== NOT EXECUTED
   5111e:	4c6a 2002 002c 	remul %a2@(44),%d2,%d2                      <== NOT EXECUTED
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
   51124:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
   51128:	4c01 2800      	mulsl %d1,%d2                               <== NOT EXECUTED
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
   5112c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
                                                                      
  group = no / size;                                                  
  bit = (rtems_rfs_bitmap_bit) (no % size);                           
                                                                      
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
   5112e:	d7c2           	addal %d2,%a3                               <== NOT EXECUTED
   51130:	47eb 002a      	lea %a3@(42),%a3                            <== NOT EXECUTED
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
   51134:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51136:	4eb9 0005 8a42 	jsr 58a42 <rtems_rfs_bitmap_map_test>       <== NOT EXECUTED
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
   5113c:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
  if (inode)                                                          
    bitmap = &fs->groups[group].inode_bitmap;                         
  else                                                                
    bitmap = &fs->groups[group].block_bitmap;                         
                                                                      
  rc = rtems_rfs_bitmap_map_test (bitmap, bit, state);                
   5113e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  rtems_rfs_bitmap_release_buffer (fs, bitmap);                       
   51140:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51142:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
                                                                      
  return rc;                                                          
   51148:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   5114c:	6098           	bras 510e6 <rtems_rfs_group_bitmap_test+0xa2><== NOT EXECUTED
                                                                      

00050c56 <rtems_rfs_group_close>: int rtems_rfs_group_close (rtems_rfs_file_system* fs, rtems_rfs_group* group) {
   50c56:	4e56 ffec      	linkw %fp,#-20                              
   50c5a:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 
  int result = 0;                                                     
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_CLOSE))                  
   50c5e:	2f3c 0001 0000 	movel #65536,%sp@-                          
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_group_close (rtems_rfs_file_system* fs, rtems_rfs_group* group)
{                                                                     
   50c64:	242e 0008      	movel %fp@(8),%d2                           
  int result = 0;                                                     
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_CLOSE))                  
   50c68:	42a7           	clrl %sp@-                                  
  return 0;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_rfs_group_close (rtems_rfs_file_system* fs, rtems_rfs_group* group)
{                                                                     
   50c6a:	246e 000c      	moveal %fp@(12),%a2                         
  int result = 0;                                                     
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_CLOSE))                  
   50c6e:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   50c74:	508f           	addql #8,%sp                                
   50c76:	4a00           	tstb %d0                                    
   50c78:	665c           	bnes 50cd6 <rtems_rfs_group_close+0x80>     <== NEVER TAKEN
  /*                                                                  
   * We need to close as much as possible and also return any error if one
   * occurs but this may result in one even more important error being lost but
   * we cannot OR the errors together so this is a reasonable compromise.
   */                                                                 
  rc = rtems_rfs_bitmap_close (&group->inode_bitmap);                 
   50c7a:	486a 002a      	pea %a2@(42)                                
   50c7e:	49f9 0005 8d60 	lea 58d60 <rtems_rfs_bitmap_close>,%a4      
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50c84:	47f9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a3
   50c8a:	4e94           	jsr %a4@                                    
   50c8c:	486a 0042      	pea %a2@(66)                                
   50c90:	2600           	movel %d0,%d3                               
   50c92:	2f02           	movel %d2,%sp@-                             
   50c94:	4e93           	jsr %a3@                                    
  if (rc > 0)                                                         
    result = rc;                                                      
  rc = rtems_rfs_buffer_handle_close (fs, &group->inode_bitmap_buffer);
  if (rc > 0)                                                         
    result = rc;                                                      
  rc = rtems_rfs_bitmap_close (&group->block_bitmap);                 
   50c96:	486a 0008      	pea %a2@(8)                                 
  handle->dirty = false;                                              
   50c9a:	4200           	clrb %d0                                    
  handle->bnum  = 0;                                                  
   50c9c:	42aa 0044      	clrl %a2@(68)                               
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   50ca0:	1540 0042      	moveb %d0,%a2@(66)                          
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   50ca4:	42aa 0048      	clrl %a2@(72)                               
   50ca8:	4e94           	jsr %a4@                                    
  if (rc > 0)                                                         
   50caa:	4fef 0010      	lea %sp@(16),%sp                            
   50cae:	4a80           	tstl %d0                                    
   50cb0:	6f6c           	bles 50d1e <rtems_rfs_group_close+0xc8>     <== ALWAYS TAKEN
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50cb2:	486a 0020      	pea %a2@(32)                                <== NOT EXECUTED
   50cb6:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   50cb8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50cba:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  handle->dirty = false;                                              
   50cbc:	4200           	clrb %d0                                    <== NOT EXECUTED
   50cbe:	1540 0020      	moveb %d0,%a2@(32)                          <== NOT EXECUTED
  rc = rtems_rfs_buffer_handle_close (fs, &group->block_bitmap_buffer);
  if (rc > 0)                                                         
    result = rc;                                                      
                                                                      
  return result;                                                      
}                                                                     
   50cc2:	2003           	movel %d3,%d0                               <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50cc4:	42aa 0022      	clrl %a2@(34)                               <== NOT EXECUTED
  handle->buffer = NULL;                                              
   50cc8:	42aa 0026      	clrl %a2@(38)                               <== NOT EXECUTED
   50ccc:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            <== NOT EXECUTED
   50cd2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50cd4:	4e75           	rts                                         <== NOT EXECUTED
{                                                                     
  int result = 0;                                                     
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_CLOSE))                  
    printf ("rtems-rfs: group-close: base=%" PRId32 "\n", group->base);
   50cd6:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
  /*                                                                  
   * We need to close as much as possible and also return any error if one
   * occurs but this may result in one even more important error being lost but
   * we cannot OR the errors together so this is a reasonable compromise.
   */                                                                 
  rc = rtems_rfs_bitmap_close (&group->inode_bitmap);                 
   50cd8:	49f9 0005 8d60 	lea 58d60 <rtems_rfs_bitmap_close>,%a4      <== NOT EXECUTED
{                                                                     
  int result = 0;                                                     
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_CLOSE))                  
    printf ("rtems-rfs: group-close: base=%" PRId32 "\n", group->base);
   50cde:	4879 0007 18df 	pea 718df <_CPU_m68k_BFFFO_table+0x9d0>     <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50ce4:	47f9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a3<== NOT EXECUTED
   50cea:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50cf0:	508f           	addql #8,%sp                                <== NOT EXECUTED
  /*                                                                  
   * We need to close as much as possible and also return any error if one
   * occurs but this may result in one even more important error being lost but
   * we cannot OR the errors together so this is a reasonable compromise.
   */                                                                 
  rc = rtems_rfs_bitmap_close (&group->inode_bitmap);                 
   50cf2:	486a 002a      	pea %a2@(42)                                <== NOT EXECUTED
   50cf6:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   50cf8:	486a 0042      	pea %a2@(66)                                <== NOT EXECUTED
   50cfc:	2600           	movel %d0,%d3                               <== NOT EXECUTED
   50cfe:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50d00:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
    result = rc;                                                      
  rc = rtems_rfs_buffer_handle_close (fs, &group->inode_bitmap_buffer);
  if (rc > 0)                                                         
    result = rc;                                                      
  rc = rtems_rfs_bitmap_close (&group->block_bitmap);                 
   50d02:	486a 0008      	pea %a2@(8)                                 <== NOT EXECUTED
  handle->dirty = false;                                              
   50d06:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50d08:	42aa 0044      	clrl %a2@(68)                               <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   50d0c:	1540 0042      	moveb %d0,%a2@(66)                          <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   50d10:	42aa 0048      	clrl %a2@(72)                               <== NOT EXECUTED
   50d14:	4e94           	jsr %a4@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
   50d16:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   50d1a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   50d1c:	6e94           	bgts 50cb2 <rtems_rfs_group_close+0x5c>     <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50d1e:	486a 0020      	pea %a2@(32)                                
   50d22:	2003           	movel %d3,%d0                               
   50d24:	4680           	notl %d0                                    
   50d26:	d080           	addl %d0,%d0                                
   50d28:	9180           	subxl %d0,%d0                               
   50d2a:	2f02           	movel %d2,%sp@-                             
   50d2c:	c680           	andl %d0,%d3                                
   50d2e:	4e93           	jsr %a3@                                    
  handle->dirty = false;                                              
   50d30:	4200           	clrb %d0                                    
   50d32:	1540 0020      	moveb %d0,%a2@(32)                          
  rc = rtems_rfs_buffer_handle_close (fs, &group->block_bitmap_buffer);
  if (rc > 0)                                                         
    result = rc;                                                      
                                                                      
  return result;                                                      
}                                                                     
   50d36:	2003           	movel %d3,%d0                               
  handle->bnum  = 0;                                                  
   50d38:	42aa 0022      	clrl %a2@(34)                               
  handle->buffer = NULL;                                              
   50d3c:	42aa 0026      	clrl %a2@(38)                               
   50d40:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   50d46:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000509cc <rtems_rfs_group_open>: rtems_rfs_group_open (rtems_rfs_file_system* fs, rtems_rfs_buffer_block base, size_t size, size_t inodes, rtems_rfs_group* group) {
   509cc:	4e56 ffdc      	linkw %fp,#-36                              
   509d0:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 
   509d4:	266e 0008      	moveal %fp@(8),%a3                          
   509d8:	262e 000c      	movel %fp@(12),%d3                          
   509dc:	242e 0010      	movel %fp@(16),%d2                          
   509e0:	246e 0018      	moveal %fp@(24),%a2                         
  int rc;                                                             
                                                                      
  if (base >= rtems_rfs_fs_blocks (fs))                               
   509e4:	202b 0004      	movel %a3@(4),%d0                           
   509e8:	b680           	cmpl %d0,%d3                                
   509ea:	6400 01de      	bccw 50bca <rtems_rfs_group_open+0x1fe>     
      printf ("rtems-rfs: group-open: base outside file system range: %d: %s\n",
              EIO, strerror (EIO));                                   
    return EIO;                                                       
  }                                                                   
                                                                      
  if ((base + size) >= rtems_rfs_fs_blocks (fs))                      
   509ee:	2202           	movel %d2,%d1                               
   509f0:	d283           	addl %d3,%d1                                
   509f2:	b280           	cmpl %d0,%d1                                
   509f4:	6504           	bcss 509fa <rtems_rfs_group_open+0x2e>      <== NEVER TAKEN
    size = rtems_rfs_fs_blocks (fs) - base;                           
   509f6:	2400           	movel %d0,%d2                               
   509f8:	9483           	subl %d3,%d2                                
   509fa:	2c02           	movel %d2,%d6                               
   509fc:	b4ae 0014      	cmpl %fp@(20),%d2                           
   50a00:	6200 008e      	bhiw 50a90 <rtems_rfs_group_open+0xc4>      
   * the format configuration needs reviewing.                        
   */                                                                 
  if (inodes > size)                                                  
    inodes = size;                                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                   
   50a04:	49f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a4             <== NOT EXECUTED
   50a0a:	2f3c 0000 8000 	movel #32768,%sp@-                          <== NOT EXECUTED
   50a10:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   50a12:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   50a14:	508f           	addql #8,%sp                                <== NOT EXECUTED
   50a16:	4a00           	tstb %d0                                    <== NOT EXECUTED
   50a18:	6600 0092      	bnew 50aac <rtems_rfs_group_open+0xe0>      <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open block bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,               
   50a1c:	2f03           	movel %d3,%sp@-                             
   50a1e:	280a           	movel %a2,%d4                               
   50a20:	0684 0000 0020 	addil #32,%d4                               
   50a26:	2a0a           	movel %a2,%d5                               
   50a28:	5085           	addql #8,%d5                                
   50a2a:	4bf9 0005 8cfc 	lea 58cfc <rtems_rfs_bitmap_open>,%a5       
   50a30:	2f02           	movel %d2,%sp@-                             
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   50a32:	4200           	clrb %d0                                    
   50a34:	2f04           	movel %d4,%sp@-                             
   50a36:	1540 0020      	moveb %d0,%a2@(32)                          
   50a3a:	2f0b           	movel %a3,%sp@-                             
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                   
    printf ("rtems-rfs: group-open: base=%" PRId32 ", blocks=%zd inodes=%zd\n",
            base, size, inodes);                                      
                                                                      
  group->base = base;                                                 
  group->size = size;                                                 
   50a3c:	2542 0004      	movel %d2,%a2@(4)                           
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                   
    printf ("rtems-rfs: group-open: base=%" PRId32 ", blocks=%zd inodes=%zd\n",
            base, size, inodes);                                      
                                                                      
  group->base = base;                                                 
   50a40:	2483           	movel %d3,%a2@                              
  handle->bnum  = 0;                                                  
   50a42:	42aa 0022      	clrl %a2@(34)                               
  handle->buffer = NULL;                                              
   50a46:	42aa 0026      	clrl %a2@(38)                               
      printf ("rtems-rfs: group-open: could not open block bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,               
   50a4a:	2f05           	movel %d5,%sp@-                             
   50a4c:	4e95           	jsr %a5@                                    
                              &group->block_bitmap_buffer, size,      
                              group->base + RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);
  if (rc > 0)                                                         
   50a4e:	4fef 0014      	lea %sp@(20),%sp                            
      printf ("rtems-rfs: group-open: could not open block bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,               
   50a52:	2400           	movel %d0,%d2                               
                              &group->block_bitmap_buffer, size,      
                              group->base + RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);
  if (rc > 0)                                                         
   50a54:	6f00 00a8      	blew 50afe <rtems_rfs_group_open+0x132>     
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50a58:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   50a5a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   50a5c:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   50a62:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50a64:	42aa 0022      	clrl %a2@(34)                               <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   50a68:	1540 0020      	moveb %d0,%a2@(32)                          <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &group->block_bitmap_buffer);  
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                 
   50a6c:	2f3c 0000 8000 	movel #32768,%sp@-                          <== NOT EXECUTED
   50a72:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   50a74:	42aa 0026      	clrl %a2@(38)                               <== NOT EXECUTED
   50a78:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   50a7a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   50a7e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   50a80:	6600 0120      	bnew 50ba2 <rtems_rfs_group_open+0x1d6>     <== NOT EXECUTED
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);       
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50a84:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   50a86:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   50a8c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50a8e:	4e75           	rts                                         <== NOT EXECUTED
   50a90:	2c2e 0014      	movel %fp@(20),%d6                          
   * the format configuration needs reviewing.                        
   */                                                                 
  if (inodes > size)                                                  
    inodes = size;                                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                   
   50a94:	49f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a4             
   50a9a:	2f3c 0000 8000 	movel #32768,%sp@-                          
   50aa0:	42a7           	clrl %sp@-                                  
   50aa2:	4e94           	jsr %a4@                                    
   50aa4:	508f           	addql #8,%sp                                
   50aa6:	4a00           	tstb %d0                                    
   50aa8:	6700 ff72      	beqw 50a1c <rtems_rfs_group_open+0x50>      
    printf ("rtems-rfs: group-open: base=%" PRId32 ", blocks=%zd inodes=%zd\n",
   50aac:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open block bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,               
   50aae:	280a           	movel %a2,%d4                               <== NOT EXECUTED
   50ab0:	0684 0000 0020 	addil #32,%d4                               <== NOT EXECUTED
   50ab6:	2a0a           	movel %a2,%d5                               <== NOT EXECUTED
   50ab8:	5085           	addql #8,%d5                                <== NOT EXECUTED
   50aba:	4bf9 0005 8cfc 	lea 58cfc <rtems_rfs_bitmap_open>,%a5       <== NOT EXECUTED
   */                                                                 
  if (inodes > size)                                                  
    inodes = size;                                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                   
    printf ("rtems-rfs: group-open: base=%" PRId32 ", blocks=%zd inodes=%zd\n",
   50ac0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50ac2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   50ac4:	4879 0007 182f 	pea 7182f <_CPU_m68k_BFFFO_table+0x920>     <== NOT EXECUTED
   50aca:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50ad0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open block bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,               
   50ad4:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   50ad6:	4200           	clrb %d0                                    <== NOT EXECUTED
   50ad8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50ada:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   50adc:	1540 0020      	moveb %d0,%a2@(32)                          <== NOT EXECUTED
   50ae0:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                   
    printf ("rtems-rfs: group-open: base=%" PRId32 ", blocks=%zd inodes=%zd\n",
            base, size, inodes);                                      
                                                                      
  group->base = base;                                                 
  group->size = size;                                                 
   50ae2:	2542 0004      	movel %d2,%a2@(4)                           <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                   
    printf ("rtems-rfs: group-open: base=%" PRId32 ", blocks=%zd inodes=%zd\n",
            base, size, inodes);                                      
                                                                      
  group->base = base;                                                 
   50ae6:	2483           	movel %d3,%a2@                              <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50ae8:	42aa 0022      	clrl %a2@(34)                               <== NOT EXECUTED
  handle->buffer = NULL;                                              
   50aec:	42aa 0026      	clrl %a2@(38)                               <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open block bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,               
   50af0:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   50af2:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                              &group->block_bitmap_buffer, size,      
                              group->base + RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);
  if (rc > 0)                                                         
   50af4:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open block bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->block_bitmap, fs,               
   50af8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                              &group->block_bitmap_buffer, size,      
                              group->base + RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);
  if (rc > 0)                                                         
   50afa:	6e00 ff5c      	bgtw 50a58 <rtems_rfs_group_open+0x8c>      <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open inode bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->inode_bitmap, fs,               
   50afe:	2012           	movel %a2@,%d0                              
   50b00:	5280           	addql #1,%d0                                
   50b02:	260a           	movel %a2,%d3                               
   50b04:	0683 0000 0042 	addil #66,%d3                               
   50b0a:	2f00           	movel %d0,%sp@-                             
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   50b0c:	4200           	clrb %d0                                    
   50b0e:	1540 0042      	moveb %d0,%a2@(66)                          
   50b12:	2f06           	movel %d6,%sp@-                             
   50b14:	2f03           	movel %d3,%sp@-                             
   50b16:	2f0b           	movel %a3,%sp@-                             
   50b18:	486a 002a      	pea %a2@(42)                                
  handle->bnum  = 0;                                                  
   50b1c:	42aa 0044      	clrl %a2@(68)                               
  handle->buffer = NULL;                                              
   50b20:	42aa 0048      	clrl %a2@(72)                               
   50b24:	4e95           	jsr %a5@                                    
                              &group->inode_bitmap_buffer, inodes,    
                              group->base + RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);
  if (rc > 0)                                                         
   50b26:	4fef 0014      	lea %sp@(20),%sp                            
      printf ("rtems-rfs: group-open: could not open inode bitmap handle: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_bitmap_open (&group->inode_bitmap, fs,               
   50b2a:	2400           	movel %d0,%d2                               
                              &group->inode_bitmap_buffer, inodes,    
                              group->base + RTEMS_RFS_GROUP_INODE_BITMAP_BLOCK);
  if (rc > 0)                                                         
   50b2c:	6f00 00be      	blew 50bec <rtems_rfs_group_open+0x220>     
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50b30:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   50b32:	4bf9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a5<== NOT EXECUTED
   50b38:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   50b3a:	4e95           	jsr %a5@                                    <== NOT EXECUTED
  handle->dirty = false;                                              
   50b3c:	4200           	clrb %d0                                    <== NOT EXECUTED
   50b3e:	1540 0042      	moveb %d0,%a2@(66)                          <== NOT EXECUTED
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &group->inode_bitmap_buffer);  
    rtems_rfs_bitmap_close (&group->block_bitmap);                    
   50b42:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50b44:	42aa 0044      	clrl %a2@(68)                               <== NOT EXECUTED
  handle->buffer = NULL;                                              
   50b48:	42aa 0048      	clrl %a2@(72)                               <== NOT EXECUTED
   50b4c:	4eb9 0005 8d60 	jsr 58d60 <rtems_rfs_bitmap_close>          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   50b52:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   50b54:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   50b56:	4e95           	jsr %a5@                                    <== NOT EXECUTED
  handle->dirty = false;                                              
   50b58:	4200           	clrb %d0                                    <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   50b5a:	42aa 0022      	clrl %a2@(34)                               <== NOT EXECUTED
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
  handle->dirty = false;                                              
   50b5e:	1540 0020      	moveb %d0,%a2@(32)                          <== NOT EXECUTED
    rtems_rfs_buffer_handle_close (fs, &group->block_bitmap_buffer);  
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                 
   50b62:	2f3c 0000 8000 	movel #32768,%sp@-                          <== NOT EXECUTED
   50b68:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  handle->bnum  = 0;                                                  
  handle->buffer = NULL;                                              
   50b6a:	42aa 0026      	clrl %a2@(38)                               <== NOT EXECUTED
   50b6e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   50b70:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   50b74:	4a00           	tstb %d0                                    <== NOT EXECUTED
   50b76:	6700 ff0c      	beqw 50a84 <rtems_rfs_group_open+0xb8>      <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open inode bitmap: %d: %s\n",
   50b7a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50b7c:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   50b82:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50b84:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50b86:	4879 0007 18a3 	pea 718a3 <_CPU_m68k_BFFFO_table+0x994>     <== NOT EXECUTED
   50b8c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50b92:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);       
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50b96:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   50b98:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   50b9e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50ba0:	4e75           	rts                                         <== NOT EXECUTED
                              group->base + RTEMS_RFS_GROUP_BLOCK_BITMAP_BLOCK);
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_buffer_handle_close (fs, &group->block_bitmap_buffer);  
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                 
      printf ("rtems-rfs: group-open: could not open block bitmap: %d: %s\n",
   50ba2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50ba4:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   50baa:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50bac:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   50bae:	4879 0007 1867 	pea 71867 <_CPU_m68k_BFFFO_table+0x958>     <== NOT EXECUTED
   50bb4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50bba:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);       
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50bbe:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   50bc0:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   50bc6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50bc8:	4e75           	rts                                         <== NOT EXECUTED
{                                                                     
  int rc;                                                             
                                                                      
  if (base >= rtems_rfs_fs_blocks (fs))                               
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                 
   50bca:	2f3c 0000 8000 	movel #32768,%sp@-                          <== NOT EXECUTED
   50bd0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   50bd2:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   50bd8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   50bda:	4a00           	tstb %d0                                    <== NOT EXECUTED
   50bdc:	6622           	bnes 50c00 <rtems_rfs_group_open+0x234>     <== NOT EXECUTED
      printf ("rtems-rfs: group-open: base outside file system range: %d: %s\n",
              EIO, strerror (EIO));                                   
    return EIO;                                                       
   50bde:	7405           	moveq #5,%d2                                <== NOT EXECUTED
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);       
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50be0:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   50be2:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   50be8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50bea:	4e75           	rts                                         <== NOT EXECUTED
      printf ("rtems-rfs: group-open: could not open inode bitmap: %d: %s\n",
              rc, strerror (rc));                                     
    return rc;                                                        
  }                                                                   
                                                                      
  if (rtems_rfs_fs_release_bitmaps (fs))                              
   50bec:	7001           	moveq #1,%d0                                
   50bee:	c093           	andl %a3@,%d0                               
   50bf0:	673c           	beqs 50c2e <rtems_rfs_group_open+0x262>     <== ALWAYS TAKEN
  {                                                                   
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);       
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);       
  }                                                                   
                                                                      
  return 0;                                                           
   50bf2:	4282           	clrl %d2                                    <== NOT EXECUTED
}                                                                     
   50bf4:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   50bf6:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   50bfc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50bfe:	4e75           	rts                                         <== NOT EXECUTED
  int rc;                                                             
                                                                      
  if (base >= rtems_rfs_fs_blocks (fs))                               
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                 
      printf ("rtems-rfs: group-open: base outside file system range: %d: %s\n",
   50c00:	4878 0005      	pea 5 <COMPARE>                             <== NOT EXECUTED
              EIO, strerror (EIO));                                   
    return EIO;                                                       
   50c04:	7405           	moveq #5,%d2                                <== NOT EXECUTED
  int rc;                                                             
                                                                      
  if (base >= rtems_rfs_fs_blocks (fs))                               
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_GROUP_OPEN))                 
      printf ("rtems-rfs: group-open: base outside file system range: %d: %s\n",
   50c06:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   50c0c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   50c0e:	4878 0005      	pea 5 <COMPARE>                             <== NOT EXECUTED
   50c12:	4879 0007 17f0 	pea 717f0 <_CPU_m68k_BFFFO_table+0x8e1>     <== NOT EXECUTED
   50c18:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   50c1e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);       
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50c22:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   50c24:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            <== NOT EXECUTED
   50c2a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   50c2c:	4e75           	rts                                         <== NOT EXECUTED
    return rc;                                                        
  }                                                                   
                                                                      
  if (rtems_rfs_fs_release_bitmaps (fs))                              
  {                                                                   
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);       
   50c2e:	2f2a 0008      	movel %a2@(8),%sp@-                         
   50c32:	49f9 0005 9fc0 	lea 59fc0 <rtems_rfs_buffer_handle_release>,%a4
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);       
  }                                                                   
                                                                      
  return 0;                                                           
   50c38:	4282           	clrl %d2                                    
    return rc;                                                        
  }                                                                   
                                                                      
  if (rtems_rfs_fs_release_bitmaps (fs))                              
  {                                                                   
    rtems_rfs_bitmap_release_buffer (fs, &group->block_bitmap);       
   50c3a:	2f0b           	movel %a3,%sp@-                             
   50c3c:	4e94           	jsr %a4@                                    
    rtems_rfs_bitmap_release_buffer (fs, &group->inode_bitmap);       
   50c3e:	2f2a 002a      	movel %a2@(42),%sp@-                        
   50c42:	2f0b           	movel %a3,%sp@-                             
   50c44:	4e94           	jsr %a4@                                    
   50c46:	4fef 0010      	lea %sp@(16),%sp                            
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   50c4a:	2002           	movel %d2,%d0                               
   50c4c:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   50c52:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005114e <rtems_rfs_group_usage>: int rtems_rfs_group_usage (rtems_rfs_file_system* fs, size_t* blocks, size_t* inodes) {
   5114e:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   51152:	226e 0010      	moveal %fp@(16),%a1                         <== NOT EXECUTED
   51156:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51158:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
   5115c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5115e:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  int g;                                                              
                                                                      
  *blocks = 0;                                                        
  *inodes = 0;                                                        
                                                                      
  for (g = 0; g < fs->group_count; g++)                               
   51162:	222b 0024      	movel %a3@(36),%d1                          <== NOT EXECUTED
                       size_t*                blocks,                 
                       size_t*                inodes)                 
{                                                                     
  int g;                                                              
                                                                      
  *blocks = 0;                                                        
   51166:	4292           	clrl %a2@                                   <== NOT EXECUTED
  *inodes = 0;                                                        
   51168:	4291           	clrl %a1@                                   <== NOT EXECUTED
                                                                      
  for (g = 0; g < fs->group_count; g++)                               
   5116a:	4a81           	tstl %d1                                    <== NOT EXECUTED
   5116c:	6f2e           	bles 5119c <rtems_rfs_group_usage+0x4e>     <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
                                                                      
int                                                                   
rtems_rfs_group_usage (rtems_rfs_file_system* fs,                     
   5116e:	704c           	moveq #76,%d0                               <== NOT EXECUTED
   51170:	4c00 1800      	mulsl %d0,%d1                               <== NOT EXECUTED
   51174:	206b 0020      	moveal %a3@(32),%a0                         <== NOT EXECUTED
   51178:	41e8 0014      	lea %a0@(20),%a0                            <== NOT EXECUTED
   5117c:	d288           	addl %a0,%d1                                <== NOT EXECUTED
                                                                      
  for (g = 0; g < fs->group_count; g++)                               
  {                                                                   
    rtems_rfs_group* group = &fs->groups[g];                          
    *blocks +=                                                        
      rtems_rfs_bitmap_map_size(&group->block_bitmap) -               
   5117e:	2010           	movel %a0@,%d0                              <== NOT EXECUTED
   51180:	d092           	addl %a2@,%d0                               <== NOT EXECUTED
  *inodes = 0;                                                        
                                                                      
  for (g = 0; g < fs->group_count; g++)                               
  {                                                                   
    rtems_rfs_group* group = &fs->groups[g];                          
    *blocks +=                                                        
   51182:	90a8 0004      	subl %a0@(4),%d0                            <== NOT EXECUTED
   51186:	2480           	movel %d0,%a2@                              <== NOT EXECUTED
      rtems_rfs_bitmap_map_size(&group->block_bitmap) -               
      rtems_rfs_bitmap_map_free (&group->block_bitmap);               
    *inodes +=                                                        
      rtems_rfs_bitmap_map_size (&group->inode_bitmap) -              
   51188:	2028 0022      	movel %a0@(34),%d0                          <== NOT EXECUTED
   5118c:	d091           	addl %a1@,%d0                               <== NOT EXECUTED
  {                                                                   
    rtems_rfs_group* group = &fs->groups[g];                          
    *blocks +=                                                        
      rtems_rfs_bitmap_map_size(&group->block_bitmap) -               
      rtems_rfs_bitmap_map_free (&group->block_bitmap);               
    *inodes +=                                                        
   5118e:	90a8 0026      	subl %a0@(38),%d0                           <== NOT EXECUTED
   51192:	41e8 004c      	lea %a0@(76),%a0                            <== NOT EXECUTED
   51196:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
  int g;                                                              
                                                                      
  *blocks = 0;                                                        
  *inodes = 0;                                                        
                                                                      
  for (g = 0; g < fs->group_count; g++)                               
   51198:	b288           	cmpl %a0,%d1                                <== NOT EXECUTED
   5119a:	66e2           	bnes 5117e <rtems_rfs_group_usage+0x30>     <== NOT EXECUTED
    *inodes +=                                                        
      rtems_rfs_bitmap_map_size (&group->inode_bitmap) -              
      rtems_rfs_bitmap_map_free (&group->inode_bitmap);               
  }                                                                   
                                                                      
  if (*blocks > rtems_rfs_fs_blocks (fs))                             
   5119c:	202b 0004      	movel %a3@(4),%d0                           <== NOT EXECUTED
   511a0:	b092           	cmpl %a2@,%d0                               <== NOT EXECUTED
   511a2:	6402           	bccs 511a6 <rtems_rfs_group_usage+0x58>     <== NOT EXECUTED
    *blocks = rtems_rfs_fs_blocks (fs);                               
   511a4:	2480           	movel %d0,%a2@                              <== NOT EXECUTED
  if (*inodes > rtems_rfs_fs_inodes (fs))                             
   511a6:	202b 0014      	movel %a3@(20),%d0                          <== NOT EXECUTED
   511aa:	b091           	cmpl %a1@,%d0                               <== NOT EXECUTED
   511ac:	6402           	bccs 511b0 <rtems_rfs_group_usage+0x62>     <== NOT EXECUTED
    *inodes = rtems_rfs_fs_inodes (fs);                               
   511ae:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
                                                                      
  return 0;                                                           
}                                                                     
   511b0:	245f           	moveal %sp@+,%a2                            <== NOT EXECUTED
   511b2:	4280           	clrl %d0                                    <== NOT EXECUTED
   511b4:	265f           	moveal %sp@+,%a3                            <== NOT EXECUTED
   511b6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

000514a2 <rtems_rfs_inode_close>: } int rtems_rfs_inode_close (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle) {
   514a2:	4e56 0000      	linkw %fp,#0                                
   514a6:	2f0b           	movel %a3,%sp@-                             
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                  
   514a8:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             
}                                                                     
                                                                      
int                                                                   
rtems_rfs_inode_close (rtems_rfs_file_system*  fs,                    
                       rtems_rfs_inode_handle* handle)                
{                                                                     
   514ae:	2f0a           	movel %a2,%sp@-                             
   514b0:	246e 000c      	moveal %fp@(12),%a2                         
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                  
   514b4:	2f3c 0008 0000 	movel #524288,%sp@-                         
   514ba:	42a7           	clrl %sp@-                                  
   514bc:	4e93           	jsr %a3@                                    
   514be:	508f           	addql #8,%sp                                
   514c0:	4a00           	tstb %d0                                    
   514c2:	6640           	bnes 51504 <rtems_rfs_inode_close+0x62>     <== NEVER TAKEN
    printf ("rtems-rfs: inode-close: ino: %" PRIu32 "\n", handle->ino);
                                                                      
  rc = rtems_rfs_inode_unload (fs, handle, true);                     
   514c4:	4878 0001      	pea 1 <ADD>                                 
   514c8:	2f0a           	movel %a2,%sp@-                             
   514ca:	2f2e 0008      	movel %fp@(8),%sp@-                         
   514ce:	4eb9 0005 1384 	jsr 51384 <rtems_rfs_inode_unload>          
                                                                      
  if ((rc == 0) && (handle->loads > 0))                               
   514d4:	4fef 000c      	lea %sp@(12),%sp                            
   514d8:	4a80           	tstl %d0                                    
   514da:	6618           	bnes 514f4 <rtems_rfs_inode_close+0x52>     <== NEVER TAKEN
   514dc:	4aaa 0022      	tstl %a2@(34)                               
   514e0:	6f12           	bles 514f4 <rtems_rfs_inode_close+0x52>     <== ALWAYS TAKEN
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                
   514e2:	2f3c 0008 0000 	movel #524288,%sp@-                         <== NOT EXECUTED
   514e8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   514ea:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   514ec:	508f           	addql #8,%sp                                <== NOT EXECUTED
   514ee:	4a00           	tstb %d0                                    <== NOT EXECUTED
   514f0:	6626           	bnes 51518 <rtems_rfs_inode_close+0x76>     <== NOT EXECUTED
      printf ("rtems-rfs: inode-close: bad loads number: %d\n",       
              handle->loads);                                         
    rc = EIO;                                                         
   514f2:	7005           	moveq #5,%d0                                <== NOT EXECUTED
  }                                                                   
                                                                      
  handle->ino = 0;                                                    
   514f4:	42aa 0008      	clrl %a2@(8)                                
  return rc;                                                          
}                                                                     
   514f8:	246e fff8      	moveal %fp@(-8),%a2                         
   514fc:	266e fffc      	moveal %fp@(-4),%a3                         
   51500:	4e5e           	unlk %fp                                    
   51502:	4e75           	rts                                         
                       rtems_rfs_inode_handle* handle)                
{                                                                     
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                  
    printf ("rtems-rfs: inode-close: ino: %" PRIu32 "\n", handle->ino);
   51504:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   51508:	4879 0007 1a51 	pea 71a51 <_CPU_m68k_BFFFO_table+0xb42>     <== NOT EXECUTED
   5150e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   51514:	508f           	addql #8,%sp                                <== NOT EXECUTED
   51516:	60ac           	bras 514c4 <rtems_rfs_inode_close+0x22>     <== NOT EXECUTED
  rc = rtems_rfs_inode_unload (fs, handle, true);                     
                                                                      
  if ((rc == 0) && (handle->loads > 0))                               
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                
      printf ("rtems-rfs: inode-close: bad loads number: %d\n",       
   51518:	2f2a 0022      	movel %a2@(34),%sp@-                        <== NOT EXECUTED
   5151c:	4879 0007 1a73 	pea 71a73 <_CPU_m68k_BFFFO_table+0xb64>     <== NOT EXECUTED
   51522:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
    rc = EIO;                                                         
  }                                                                   
                                                                      
  handle->ino = 0;                                                    
  return rc;                                                          
}                                                                     
   51528:	266e fffc      	moveal %fp@(-4),%a3                         <== NOT EXECUTED
  rc = rtems_rfs_inode_unload (fs, handle, true);                     
                                                                      
  if ((rc == 0) && (handle->loads > 0))                               
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CLOSE))                
      printf ("rtems-rfs: inode-close: bad loads number: %d\n",       
   5152c:	508f           	addql #8,%sp                                <== NOT EXECUTED
              handle->loads);                                         
    rc = EIO;                                                         
   5152e:	7005           	moveq #5,%d0                                <== NOT EXECUTED
  }                                                                   
                                                                      
  handle->ino = 0;                                                    
   51530:	42aa 0008      	clrl %a2@(8)                                <== NOT EXECUTED
  return rc;                                                          
}                                                                     
   51534:	246e fff8      	moveal %fp@(-8),%a2                         <== NOT EXECUTED
   51538:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005188e <rtems_rfs_inode_create>: uint16_t mode, uint16_t links, uid_t uid, gid_t gid, rtems_rfs_ino* ino) {
   5188e:	4e56 ff88      	linkw %fp,#-120                             <== NOT EXECUTED
   51892:	306e 001e      	moveaw %fp@(30),%a0                         <== NOT EXECUTED
   51896:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_rfs_inode_handle parent_inode;                                
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                 
   5189a:	2f3c 0040 0000 	movel #4194304,%sp@-                        <== NOT EXECUTED
                        uint16_t                mode,                 
                        uint16_t                links,                
                        uid_t                   uid,                  
                        gid_t                   gid,                  
                        rtems_rfs_ino*          ino)                  
{                                                                     
   518a0:	282e 0018      	movel %fp@(24),%d4                          <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                 
  {                                                                   
    const char* type = "unknown";                                     
    int         c;                                                    
    if (RTEMS_RFS_S_ISDIR (mode))                                     
   518a4:	2604           	movel %d4,%d3                               <== NOT EXECUTED
                        uint16_t                mode,                 
                        uint16_t                links,                
                        uid_t                   uid,                  
                        gid_t                   gid,                  
                        rtems_rfs_ino*          ino)                  
{                                                                     
   518a6:	3d48 ffb2      	movew %a0,%fp@(-78)                         <== NOT EXECUTED
   518aa:	306e 0022      	moveaw %fp@(34),%a0                         <== NOT EXECUTED
  rtems_rfs_inode_handle parent_inode;                                
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                 
   518ae:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
                        uint16_t                mode,                 
                        uint16_t                links,                
                        uid_t                   uid,                  
                        gid_t                   gid,                  
                        rtems_rfs_ino*          ino)                  
{                                                                     
   518b0:	246e 0010      	moveal %fp@(16),%a2                         <== NOT EXECUTED
   518b4:	242e 0014      	movel %fp@(20),%d2                          <== NOT EXECUTED
   518b8:	3d48 ffb0      	movew %a0,%fp@(-80)                         <== NOT EXECUTED
   518bc:	3a6e 0026      	moveaw %fp@(38),%a5                         <== NOT EXECUTED
  rtems_rfs_inode_handle parent_inode;                                
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                 
   518c0:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   518c6:	508f           	addql #8,%sp                                <== NOT EXECUTED
                        uint16_t                mode,                 
                        uint16_t                links,                
                        uid_t                   uid,                  
                        gid_t                   gid,                  
                        rtems_rfs_ino*          ino)                  
{                                                                     
   518c8:	3a04           	movew %d4,%d5                               <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                 
  {                                                                   
    const char* type = "unknown";                                     
    int         c;                                                    
    if (RTEMS_RFS_S_ISDIR (mode))                                     
   518ca:	0283 0000 f000 	andil #61440,%d3                            <== NOT EXECUTED
{                                                                     
  rtems_rfs_inode_handle parent_inode;                                
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                 
   518d0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   518d2:	6700 008a      	beqw 5195e <rtems_rfs_inode_create+0xd0>    <== NOT EXECUTED
  {                                                                   
    const char* type = "unknown";                                     
    int         c;                                                    
    if (RTEMS_RFS_S_ISDIR (mode))                                     
   518d6:	0c83 0000 4000 	cmpil #16384,%d3                            <== NOT EXECUTED
   518dc:	6700 0118      	beqw 519f6 <rtems_rfs_inode_create+0x168>   <== NOT EXECUTED
      type = "dir";                                                   
    else if (RTEMS_RFS_S_ISCHR (mode))                                
   518e0:	0c83 0000 2000 	cmpil #8192,%d3                             <== NOT EXECUTED
   518e6:	6700 0122      	beqw 51a0a <rtems_rfs_inode_create+0x17c>   <== NOT EXECUTED
      type = "char";                                                  
    else if (RTEMS_RFS_S_ISBLK (mode))                                
   518ea:	0c83 0000 6000 	cmpil #24576,%d3                            <== NOT EXECUTED
   518f0:	6700 010e      	beqw 51a00 <rtems_rfs_inode_create+0x172>   <== NOT EXECUTED
      type = "block";                                                 
    else if (RTEMS_RFS_S_ISREG (mode))                                
   518f4:	0c83 0000 8000 	cmpil #32768,%d3                            <== NOT EXECUTED
   518fa:	6700 0118      	beqw 51a14 <rtems_rfs_inode_create+0x186>   <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                 
  {                                                                   
    const char* type = "unknown";                                     
   518fe:	2c3c 0007 1ad6 	movel #465622,%d6                           <== NOT EXECUTED
      type = "char";                                                  
    else if (RTEMS_RFS_S_ISBLK (mode))                                
      type = "block";                                                 
    else if (RTEMS_RFS_S_ISREG (mode))                                
      type = "file";                                                  
    else if (RTEMS_RFS_S_ISLNK (mode))                                
   51904:	0c83 0000 a000 	cmpil #40960,%d3                            <== NOT EXECUTED
   5190a:	6700 0112      	beqw 51a1e <rtems_rfs_inode_create+0x190>   <== NOT EXECUTED
      type = "link";                                                  
    printf("rtems-rfs: inode-create: parent:%" PRIu32 " name:", parent);
   5190e:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   51912:	49f9 0006 16ec 	lea 616ec <printf>,%a4                      <== NOT EXECUTED
   51918:	4879 0007 1ade 	pea 71ade <_CPU_m68k_BFFFO_table+0xbcf>     <== NOT EXECUTED
   5191e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    for (c = 0; c < length; c++)                                      
   51920:	508f           	addql #8,%sp                                <== NOT EXECUTED
   51922:	4a82           	tstl %d2                                    <== NOT EXECUTED
   51924:	671e           	beqs 51944 <rtems_rfs_inode_create+0xb6>    <== NOT EXECUTED
   51926:	4280           	clrl %d0                                    <== NOT EXECUTED
   51928:	4287           	clrl %d7                                    <== NOT EXECUTED
   5192a:	47f9 0006 187c 	lea 6187c <putchar>,%a3                     <== NOT EXECUTED
   51930:	5287           	addql #1,%d7                                <== NOT EXECUTED
      printf ("%c", name[c]);                                         
   51932:	1032 0800      	moveb %a2@(00000000,%d0:l),%d0              <== NOT EXECUTED
   51936:	49c0           	extbl %d0                                   <== NOT EXECUTED
   51938:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5193a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    else if (RTEMS_RFS_S_ISREG (mode))                                
      type = "file";                                                  
    else if (RTEMS_RFS_S_ISLNK (mode))                                
      type = "link";                                                  
    printf("rtems-rfs: inode-create: parent:%" PRIu32 " name:", parent);
    for (c = 0; c < length; c++)                                      
   5193c:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5193e:	2007           	movel %d7,%d0                               <== NOT EXECUTED
   51940:	b487           	cmpl %d7,%d2                                <== NOT EXECUTED
   51942:	66ec           	bnes 51930 <rtems_rfs_inode_create+0xa2>    <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf (" type:%s mode:%04x (%03o)\n", type, mode, mode & ((1 << 10) - 1));
   51944:	0284 0000 03ff 	andil #1023,%d4                             <== NOT EXECUTED
   5194a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5194c:	3f05           	movew %d5,%sp@-                             <== NOT EXECUTED
   5194e:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   51950:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51952:	4879 0007 1b08 	pea 71b08 <_CPU_m68k_BFFFO_table+0xbf9>     <== NOT EXECUTED
   51958:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5195a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * The file type is field within the mode. Check we have a sane mode set.
   */                                                                 
  switch (mode & RTEMS_RFS_S_IFMT)                                    
   5195e:	0c83 0000 6000 	cmpil #24576,%d3                            <== NOT EXECUTED
   51964:	6730           	beqs 51996 <rtems_rfs_inode_create+0x108>   <== NOT EXECUTED
   51966:	631e           	blss 51986 <rtems_rfs_inode_create+0xf8>    <== NOT EXECUTED
   51968:	0c83 0000 8000 	cmpil #32768,%d3                            <== NOT EXECUTED
   5196e:	6726           	beqs 51996 <rtems_rfs_inode_create+0x108>   <== NOT EXECUTED
   51970:	0c83 0000 a000 	cmpil #40960,%d3                            <== NOT EXECUTED
   51976:	671e           	beqs 51996 <rtems_rfs_inode_create+0x108>   <== NOT EXECUTED
    case RTEMS_RFS_S_IFBLK:                                           
    case RTEMS_RFS_S_IFREG:                                           
    case RTEMS_RFS_S_IFLNK:                                           
      break;                                                          
    default:                                                          
      return EINVAL;                                                  
   51978:	7816           	moveq #22,%d4                               <== NOT EXECUTED
    rtems_rfs_inode_free (fs, *ino);                                  
    return rc;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   5197a:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5197c:	4cee 3cfc ff88 	moveml %fp@(-120),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   51982:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51984:	4e75           	rts                                         <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   * The file type is field within the mode. Check we have a sane mode set.
   */                                                                 
  switch (mode & RTEMS_RFS_S_IFMT)                                    
   51986:	0c83 0000 2000 	cmpil #8192,%d3                             <== NOT EXECUTED
   5198c:	6708           	beqs 51996 <rtems_rfs_inode_create+0x108>   <== NOT EXECUTED
   5198e:	0c83 0000 4000 	cmpil #16384,%d3                            <== NOT EXECUTED
   51994:	66e2           	bnes 51978 <rtems_rfs_inode_create+0xea>    <== NOT EXECUTED
      break;                                                          
    default:                                                          
      return EINVAL;                                                  
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_alloc (fs, parent, ino);                       
   51996:	2f2e 0028      	movel %fp@(40),%sp@-                        <== NOT EXECUTED
   5199a:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5199e:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   519a2:	4eb9 0005 11bc 	jsr 511bc <rtems_rfs_inode_alloc>           <== NOT EXECUTED
  if (rc > 0)                                                         
   519a8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
      break;                                                          
    default:                                                          
      return EINVAL;                                                  
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_alloc (fs, parent, ino);                       
   519ac:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   519ae:	6eca           	bgts 5197a <rtems_rfs_inode_create+0xec>    <== NOT EXECUTED
    return rc;                                                        
                                                                      
  rc = rtems_rfs_inode_open (fs, *ino, &inode, true);                 
   519b0:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   519b4:	2c0e           	movel %fp,%d6                               <== NOT EXECUTED
   519b6:	0686 ffff ffda 	addil #-38,%d6                              <== NOT EXECUTED
   519bc:	47f9 0005 12b4 	lea 512b4 <rtems_rfs_inode_open>,%a3        <== NOT EXECUTED
   519c2:	206e 0028      	moveal %fp@(40),%a0                         <== NOT EXECUTED
   519c6:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   519c8:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   519ca:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   519ce:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
   519d0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_alloc (fs, parent, ino);                       
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  rc = rtems_rfs_inode_open (fs, *ino, &inode, true);                 
   519d4:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   519d6:	6f50           	bles 51a28 <rtems_rfs_inode_create+0x19a>   <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_inode_free (fs, *ino);                                  
   519d8:	206e 0028      	moveal %fp@(40),%a0                         <== NOT EXECUTED
   519dc:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   519de:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   519e2:	4eb9 0005 11e2 	jsr 511e2 <rtems_rfs_inode_free>            <== NOT EXECUTED
   519e8:	508f           	addql #8,%sp                                <== NOT EXECUTED
    return rc;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   519ea:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   519ec:	4cee 3cfc ff88 	moveml %fp@(-120),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   519f2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   519f4:	4e75           	rts                                         <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_CREATE))                 
  {                                                                   
    const char* type = "unknown";                                     
    int         c;                                                    
    if (RTEMS_RFS_S_ISDIR (mode))                                     
      type = "dir";                                                   
   519f6:	2c3c 0007 1acd 	movel #465613,%d6                           <== NOT EXECUTED
   519fc:	6000 ff10      	braw 5190e <rtems_rfs_inode_create+0x80>    <== NOT EXECUTED
    else if (RTEMS_RFS_S_ISCHR (mode))                                
      type = "char";                                                  
    else if (RTEMS_RFS_S_ISBLK (mode))                                
      type = "block";                                                 
   51a00:	2c3c 0007 10e4 	movel #463076,%d6                           <== NOT EXECUTED
   51a06:	6000 ff06      	braw 5190e <rtems_rfs_inode_create+0x80>    <== NOT EXECUTED
    const char* type = "unknown";                                     
    int         c;                                                    
    if (RTEMS_RFS_S_ISDIR (mode))                                     
      type = "dir";                                                   
    else if (RTEMS_RFS_S_ISCHR (mode))                                
      type = "char";                                                  
   51a0a:	2c3c 0007 1ad1 	movel #465617,%d6                           <== NOT EXECUTED
   51a10:	6000 fefc      	braw 5190e <rtems_rfs_inode_create+0x80>    <== NOT EXECUTED
    else if (RTEMS_RFS_S_ISBLK (mode))                                
      type = "block";                                                 
    else if (RTEMS_RFS_S_ISREG (mode))                                
      type = "file";                                                  
   51a14:	2c3c 0007 240a 	movel #467978,%d6                           <== NOT EXECUTED
   51a1a:	6000 fef2      	braw 5190e <rtems_rfs_inode_create+0x80>    <== NOT EXECUTED
    else if (RTEMS_RFS_S_ISLNK (mode))                                
      type = "link";                                                  
   51a1e:	2c3c 0007 3990 	movel #473488,%d6                           <== NOT EXECUTED
   51a24:	6000 fee8      	braw 5190e <rtems_rfs_inode_create+0x80>    <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_free (fs, *ino);                                  
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_initialise (&inode, links, mode, uid, gid);    
   51a28:	3f0d           	movew %a5,%sp@-                             <== NOT EXECUTED
   51a2a:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   51a2c:	3f2e ffb0      	movew %fp@(-80),%sp@-                       <== NOT EXECUTED
   51a30:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   51a32:	3f05           	movew %d5,%sp@-                             <== NOT EXECUTED
   51a34:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   51a36:	3f2e ffb2      	movew %fp@(-78),%sp@-                       <== NOT EXECUTED
   51a3a:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   51a3c:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51a3e:	4eb9 0005 1732 	jsr 51732 <rtems_rfs_inode_initialise>      <== NOT EXECUTED
  if (rc > 0)                                                         
   51a44:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_free (fs, *ino);                                  
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_initialise (&inode, links, mode, uid, gid);    
   51a48:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   51a4a:	6e00 0164      	bgtw 51bb0 <rtems_rfs_inode_create+0x322>   <== NOT EXECUTED
  /*                                                                  
   * Only handle the specifics of a directory. Let caller handle the others.
   *                                                                  
   * The inode delete will free the inode.                            
   */                                                                 
  if (RTEMS_RFS_S_ISDIR (mode))                                       
   51a4e:	0c83 0000 4000 	cmpil #16384,%d3                            <== NOT EXECUTED
   51a54:	6700 00ae      	beqw 51b04 <rtems_rfs_inode_create+0x276>   <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
   51a58:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   51a5c:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   51a5e:	0685 ffff ffb4 	addil #-76,%d5                              <== NOT EXECUTED
   51a64:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   51a66:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   51a6a:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51a6e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
   51a70:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
   51a74:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   51a76:	6f28           	bles 51aa0 <rtems_rfs_inode_create+0x212>   <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_delete (fs, &inode);                              
   51a78:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51a7a:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51a7e:	4eb9 0005 153c 	jsr 5153c <rtems_rfs_inode_delete>          <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                               
   51a84:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51a86:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51a8a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   51a90:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    rtems_rfs_inode_free (fs, *ino);                                  
    return rc;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51a94:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   51a96:	4cee 3cfc ff88 	moveml %fp@(-120),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   51a9c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51a9e:	4e75           	rts                                         <== NOT EXECUTED
    rtems_rfs_inode_delete (fs, &inode);                              
    rtems_rfs_inode_close (fs, &inode);                               
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_dir_add_entry (fs, &parent_inode, name, length, *ino);
   51aa0:	206e 0028      	moveal %fp@(40),%a0                         <== NOT EXECUTED
   51aa4:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   51aa6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51aa8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51aaa:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   51aac:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51ab0:	4eb9 0005 aeca 	jsr 5aeca <rtems_rfs_dir_add_entry>         <== NOT EXECUTED
  if (rc > 0)                                                         
   51ab6:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
    rtems_rfs_inode_delete (fs, &inode);                              
    rtems_rfs_inode_close (fs, &inode);                               
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_dir_add_entry (fs, &parent_inode, name, length, *ino);
   51aba:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   51abc:	6e00 011e      	bgtw 51bdc <rtems_rfs_inode_create+0x34e>   <== NOT EXECUTED
                                                                      
  /*                                                                  
   * If the node is a directory update the parent link count as the   
   * new directory has the '..' link that points to the parent.       
   */                                                                 
  if (RTEMS_RFS_S_ISDIR (mode))                                       
   51ac0:	0c83 0000 4000 	cmpil #16384,%d3                            <== NOT EXECUTED
   51ac6:	6700 00ae      	beqw 51b76 <rtems_rfs_inode_create+0x2e8>   <== NOT EXECUTED
    rtems_rfs_inode_set_links (&parent_inode,                         
                               rtems_rfs_inode_get_links (&parent_inode) + 1);
                                                                      
  rc = rtems_rfs_inode_close (fs, &parent_inode);                     
   51aca:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   51acc:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51ad0:	45f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a2       <== NOT EXECUTED
   51ad6:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
   51ad8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   */                                                                 
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    rtems_rfs_inode_set_links (&parent_inode,                         
                               rtems_rfs_inode_get_links (&parent_inode) + 1);
                                                                      
  rc = rtems_rfs_inode_close (fs, &parent_inode);                     
   51ada:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   51adc:	6f00 0130      	blew 51c0e <rtems_rfs_inode_create+0x380>   <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_delete (fs, &inode);                              
   51ae0:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51ae2:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51ae6:	4eb9 0005 153c 	jsr 5153c <rtems_rfs_inode_delete>          <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                               
   51aec:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51aee:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51af2:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   51af4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    rtems_rfs_inode_free (fs, *ino);                                  
    return rc;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51af8:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   51afa:	4cee 3cfc ff88 	moveml %fp@(-120),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   51b00:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51b02:	4e75           	rts                                         <== NOT EXECUTED
   *                                                                  
   * The inode delete will free the inode.                            
   */                                                                 
  if (RTEMS_RFS_S_ISDIR (mode))                                       
  {                                                                   
    rc = rtems_rfs_dir_add_entry (fs, &inode, ".", 1, *ino);          
   51b04:	206e 0028      	moveal %fp@(40),%a0                         <== NOT EXECUTED
   51b08:	49f9 0005 aeca 	lea 5aeca <rtems_rfs_dir_add_entry>,%a4     <== NOT EXECUTED
   51b0e:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   51b10:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   51b14:	4879 0006 f2c7 	pea 6f2c7 <flashdisk_ops+0x19>              <== NOT EXECUTED
   51b1a:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51b1c:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51b20:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (rc == 0)                                                      
   51b22:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   *                                                                  
   * The inode delete will free the inode.                            
   */                                                                 
  if (RTEMS_RFS_S_ISDIR (mode))                                       
  {                                                                   
    rc = rtems_rfs_dir_add_entry (fs, &inode, ".", 1, *ino);          
   51b26:	2800           	movel %d0,%d4                               <== NOT EXECUTED
    if (rc == 0)                                                      
   51b28:	672a           	beqs 51b54 <rtems_rfs_inode_create+0x2c6>   <== NOT EXECUTED
      rc = rtems_rfs_dir_add_entry (fs, &inode, "..", 2, parent);     
    if (rc > 0)                                                       
   51b2a:	6e00 ff4c      	bgtw 51a78 <rtems_rfs_inode_create+0x1ea>   <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
   51b2e:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   51b32:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   51b34:	0685 ffff ffb4 	addil #-76,%d5                              <== NOT EXECUTED
   51b3a:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   51b3c:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   51b40:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51b44:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
   51b46:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
   51b4a:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   51b4c:	6e00 ff2a      	bgtw 51a78 <rtems_rfs_inode_create+0x1ea>   <== NOT EXECUTED
   51b50:	6000 ff4e      	braw 51aa0 <rtems_rfs_inode_create+0x212>   <== NOT EXECUTED
   */                                                                 
  if (RTEMS_RFS_S_ISDIR (mode))                                       
  {                                                                   
    rc = rtems_rfs_dir_add_entry (fs, &inode, ".", 1, *ino);          
    if (rc == 0)                                                      
      rc = rtems_rfs_dir_add_entry (fs, &inode, "..", 2, parent);     
   51b54:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   51b58:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   51b5c:	4879 0006 f2c6 	pea 6f2c6 <flashdisk_ops+0x18>              <== NOT EXECUTED
   51b62:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51b64:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51b68:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   51b6a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   51b6e:	2800           	movel %d0,%d4                               <== NOT EXECUTED
    if (rc > 0)                                                       
   51b70:	6fbc           	bles 51b2e <rtems_rfs_inode_create+0x2a0>   <== NOT EXECUTED
   51b72:	6000 ff04      	braw 51a78 <rtems_rfs_inode_create+0x1ea>   <== NOT EXECUTED
   * If the node is a directory update the parent link count as the   
   * new directory has the '..' link that points to the parent.       
   */                                                                 
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    rtems_rfs_inode_set_links (&parent_inode,                         
                               rtems_rfs_inode_get_links (&parent_inode) + 1);
   51b76:	206e ffc0      	moveal %fp@(-64),%a0                        <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   51b7a:	4280           	clrl %d0                                    <== NOT EXECUTED
   51b7c:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   51b7e:	4281           	clrl %d1                                    <== NOT EXECUTED
   51b80:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
   51b84:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   51b86:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  if (links == 0xffff)                                                
   51b88:	3200           	movew %d0,%d1                               <== NOT EXECUTED
    links = 0;                                                        
   51b8a:	0c81 0000 ffff 	cmpil #65535,%d1                            <== NOT EXECUTED
   51b90:	56c1           	sne %d1                                     <== NOT EXECUTED
   51b92:	4881           	extw %d1                                    <== NOT EXECUTED
   51b94:	c081           	andl %d1,%d0                                <== NOT EXECUTED
  /*                                                                  
   * If the node is a directory update the parent link count as the   
   * new directory has the '..' link that points to the parent.       
   */                                                                 
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    rtems_rfs_inode_set_links (&parent_inode,                         
   51b96:	5280           	addql #1,%d0                                <== NOT EXECUTED
 * @prarm links The links.                                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->links, links);                  
   51b98:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   51b9a:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   51b9c:	1081           	moveb %d1,%a0@                              <== NOT EXECUTED
   51b9e:	206e ffc0      	moveal %fp@(-64),%a0                        <== NOT EXECUTED
   51ba2:	1140 0001      	moveb %d0,%a0@(1)                           <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   51ba6:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   51ba8:	1d40 ffc4      	moveb %d0,%fp@(-60)                         <== NOT EXECUTED
   51bac:	6000 ff1c      	braw 51aca <rtems_rfs_inode_create+0x23c>   <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_initialise (&inode, links, mode, uid, gid);    
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
   51bb0:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51bb2:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51bb6:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
    rtems_rfs_inode_free (fs, *ino);                                  
   51bbc:	206e 0028      	moveal %fp@(40),%a0                         <== NOT EXECUTED
   51bc0:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   51bc2:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51bc6:	4eb9 0005 11e2 	jsr 511e2 <rtems_rfs_inode_free>            <== NOT EXECUTED
   51bcc:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    rtems_rfs_inode_free (fs, *ino);                                  
    return rc;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51bd0:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   51bd2:	4cee 3cfc ff88 	moveml %fp@(-120),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   51bd8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51bda:	4e75           	rts                                         <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_dir_add_entry (fs, &parent_inode, name, length, *ino);
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_inode_delete (fs, &inode);                              
   51bdc:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51bde:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                               
   51be2:	45f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a2       <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_dir_add_entry (fs, &parent_inode, name, length, *ino);
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_inode_delete (fs, &inode);                              
   51be8:	4eb9 0005 153c 	jsr 5153c <rtems_rfs_inode_delete>          <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                               
   51bee:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51bf0:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51bf4:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                        
   51bf6:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   51bf8:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51bfc:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   51bfe:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
    rtems_rfs_inode_free (fs, *ino);                                  
    return rc;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51c02:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   51c04:	4cee 3cfc ff88 	moveml %fp@(-120),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   51c0a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51c0c:	4e75           	rts                                         <== NOT EXECUTED
    rtems_rfs_inode_delete (fs, &inode);                              
    rtems_rfs_inode_close (fs, &inode);                               
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   51c0e:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51c10:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51c14:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
   51c16:	508f           	addql #8,%sp                                <== NOT EXECUTED
    rtems_rfs_inode_delete (fs, &inode);                              
    rtems_rfs_inode_close (fs, &inode);                               
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   51c18:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc > 0)                                                         
   51c1a:	6e00 fdbc      	bgtw 519d8 <rtems_rfs_inode_create+0x14a>   <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_free (fs, *ino);                                  
    return rc;                                                        
  }                                                                   
                                                                      
  return 0;                                                           
   51c1e:	4284           	clrl %d4                                    <== NOT EXECUTED
}                                                                     
   51c20:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   51c22:	4cee 3cfc ff88 	moveml %fp@(-120),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   51c28:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005153c <rtems_rfs_inode_delete>: } int rtems_rfs_inode_delete (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle) {
   5153c:	4e56 ffb4      	linkw %fp,#-76                              <== NOT EXECUTED
   51540:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   51542:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
   51546:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_DELETE))                 
   51548:	2f3c 0080 0000 	movel #8388608,%sp@-                        <== NOT EXECUTED
   5154e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   51550:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   51556:	508f           	addql #8,%sp                                <== NOT EXECUTED
   51558:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5155a:	6724           	beqs 51580 <rtems_rfs_inode_delete+0x44>    <== NOT EXECUTED
    printf("rtems-rfs: inode-delete: ino:%" PRIu32 " loaded:%s\n",    
   5155c:	4aaa 000c      	tstl %a2@(12)                               <== NOT EXECUTED
   51560:	6700 00f0      	beqw 51652 <rtems_rfs_inode_delete+0x116>   <== NOT EXECUTED
   51564:	203c 0007 19c4 	movel #465348,%d0                           <== NOT EXECUTED
   5156a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5156c:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   51570:	4879 0007 1aa1 	pea 71aa1 <_CPU_m68k_BFFFO_table+0xb92>     <== NOT EXECUTED
   51576:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5157c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
           rtems_rfs_inode_ino (handle),                              
           rtems_rfs_inode_is_loaded (handle) ? "yes" : "no");        
                                                                      
  if (rtems_rfs_inode_is_loaded (handle))                             
   51580:	4aaa 000c      	tstl %a2@(12)                               <== NOT EXECUTED
   51584:	6720           	beqs 515a6 <rtems_rfs_inode_delete+0x6a>    <== NOT EXECUTED
    rtems_rfs_block_map map;                                          
                                                                      
    /*                                                                
     * Free the ino number.                                           
     */                                                               
    rc = rtems_rfs_inode_free (fs, handle->ino);                      
   51586:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   5158a:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   5158e:	4eb9 0005 11e2 	jsr 511e2 <rtems_rfs_inode_free>            <== NOT EXECUTED
    if (rc > 0)                                                       
   51594:	508f           	addql #8,%sp                                <== NOT EXECUTED
   51596:	4a80           	tstl %d0                                    <== NOT EXECUTED
   51598:	6f1a           	bles 515b4 <rtems_rfs_inode_delete+0x78>    <== NOT EXECUTED
      handle->loads = 0;                                              
      handle->node = NULL;                                            
    }                                                                 
  }                                                                   
  return rc;                                                          
}                                                                     
   5159a:	242e ffac      	movel %fp@(-84),%d2                         <== NOT EXECUTED
   5159e:	246e ffb0      	moveal %fp@(-80),%a2                        <== NOT EXECUTED
   515a2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   515a4:	4e75           	rts                                         <== NOT EXECUTED
   515a6:	242e ffac      	movel %fp@(-84),%d2                         <== NOT EXECUTED
                                                                      
int                                                                   
rtems_rfs_inode_delete (rtems_rfs_file_system*  fs,                   
                        rtems_rfs_inode_handle* handle)               
{                                                                     
  int rc = 0;                                                         
   515aa:	4280           	clrl %d0                                    <== NOT EXECUTED
      handle->loads = 0;                                              
      handle->node = NULL;                                            
    }                                                                 
  }                                                                   
  return rc;                                                          
}                                                                     
   515ac:	246e ffb0      	moveal %fp@(-80),%a2                        <== NOT EXECUTED
   515b0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   515b2:	4e75           	rts                                         <== NOT EXECUTED
      return rc;                                                      
                                                                      
    /*                                                                
     * Free the blocks the inode may have attached.                   
     */                                                               
    rc = rtems_rfs_block_map_open (fs, handle, &map);                 
   515b4:	240e           	movel %fp,%d2                               <== NOT EXECUTED
   515b6:	0682 ffff ffb6 	addil #-74,%d2                              <== NOT EXECUTED
   515bc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   515be:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   515c0:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   515c4:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
    if (rc == 0)                                                      
   515ca:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   515ce:	4a80           	tstl %d0                                    <== NOT EXECUTED
   515d0:	66c8           	bnes 5159a <rtems_rfs_inode_delete+0x5e>    <== NOT EXECUTED
    {                                                                 
      int rrc;                                                        
      rrc = rtems_rfs_block_map_free_all (fs, &map);                  
   515d2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   515d4:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   515d8:	4eb9 0005 9df0 	jsr 59df0 <rtems_rfs_block_map_free_all>    <== NOT EXECUTED
      rc = rtems_rfs_block_map_close (fs, &map);                      
   515de:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   515e0:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
      if (rc > 0)                                                     
        rrc = rc;                                                     
      memset (handle->node, 0xff, RTEMS_RFS_INODE_SIZE);              
   515e4:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
    rc = rtems_rfs_block_map_open (fs, handle, &map);                 
    if (rc == 0)                                                      
    {                                                                 
      int rrc;                                                        
      rrc = rtems_rfs_block_map_free_all (fs, &map);                  
      rc = rtems_rfs_block_map_close (fs, &map);                      
   515e6:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
      if (rc > 0)                                                     
        rrc = rc;                                                     
      memset (handle->node, 0xff, RTEMS_RFS_INODE_SIZE);              
   515ec:	206a 000c      	moveal %a2@(12),%a0                         <== NOT EXECUTED
   515f0:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   515f2:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   515f4:	20c0           	movel %d0,%a0@+                             <== NOT EXECUTED
   515f6:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   515f8:	20c1           	movel %d1,%a0@+                             <== NOT EXECUTED
   515fa:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   515fc:	20c2           	movel %d2,%a0@+                             <== NOT EXECUTED
   515fe:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   51600:	20c0           	movel %d0,%a0@+                             <== NOT EXECUTED
   51602:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   51604:	20c1           	movel %d1,%a0@+                             <== NOT EXECUTED
   51606:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   51608:	20c2           	movel %d2,%a0@+                             <== NOT EXECUTED
   5160a:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   5160c:	20c0           	movel %d0,%a0@+                             <== NOT EXECUTED
   5160e:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   51610:	20c1           	movel %d1,%a0@+                             <== NOT EXECUTED
   51612:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   51614:	20c2           	movel %d2,%a0@+                             <== NOT EXECUTED
   51616:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   51618:	20c0           	movel %d0,%a0@+                             <== NOT EXECUTED
   5161a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5161c:	20c1           	movel %d1,%a0@+                             <== NOT EXECUTED
   5161e:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   51620:	20c2           	movel %d2,%a0@+                             <== NOT EXECUTED
   51622:	20c0           	movel %d0,%a0@+                             <== NOT EXECUTED
      rtems_rfs_buffer_mark_dirty (&handle->buffer);                  
   51624:	7001           	moveq #1,%d0                                <== NOT EXECUTED
      int rrc;                                                        
      rrc = rtems_rfs_block_map_free_all (fs, &map);                  
      rc = rtems_rfs_block_map_close (fs, &map);                      
      if (rc > 0)                                                     
        rrc = rc;                                                     
      memset (handle->node, 0xff, RTEMS_RFS_INODE_SIZE);              
   51626:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
      /*                                                              
       * Do the release here to avoid the ctime field being set on a  
       * close. Also if there loads is greater then one then other loads
       * active. Forcing the loads count to 0.                        
       */                                                             
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);     
   51628:	486a 0010      	pea %a2@(16)                                <== NOT EXECUTED
      rrc = rtems_rfs_block_map_free_all (fs, &map);                  
      rc = rtems_rfs_block_map_close (fs, &map);                      
      if (rc > 0)                                                     
        rrc = rc;                                                     
      memset (handle->node, 0xff, RTEMS_RFS_INODE_SIZE);              
      rtems_rfs_buffer_mark_dirty (&handle->buffer);                  
   5162c:	1540 0010      	moveb %d0,%a2@(16)                          <== NOT EXECUTED
      /*                                                              
       * Do the release here to avoid the ctime field being set on a  
       * close. Also if there loads is greater then one then other loads
       * active. Forcing the loads count to 0.                        
       */                                                             
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);     
   51630:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51634:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
      handle->loads = 0;                                              
      handle->node = NULL;                                            
    }                                                                 
  }                                                                   
  return rc;                                                          
}                                                                     
   5163a:	242e ffac      	movel %fp@(-84),%d2                         <== NOT EXECUTED
       * close. Also if there loads is greater then one then other loads
       * active. Forcing the loads count to 0.                        
       */                                                             
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);     
      handle->loads = 0;                                              
      handle->node = NULL;                                            
   5163e:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
       * Do the release here to avoid the ctime field being set on a  
       * close. Also if there loads is greater then one then other loads
       * active. Forcing the loads count to 0.                        
       */                                                             
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);     
      handle->loads = 0;                                              
   51642:	42aa 0022      	clrl %a2@(34)                               <== NOT EXECUTED
      handle->node = NULL;                                            
   51646:	42aa 000c      	clrl %a2@(12)                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
  return rc;                                                          
}                                                                     
   5164a:	246e ffb0      	moveal %fp@(-80),%a2                        <== NOT EXECUTED
   5164e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51650:	4e75           	rts                                         <== NOT EXECUTED
                        rtems_rfs_inode_handle* handle)               
{                                                                     
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_DELETE))                 
    printf("rtems-rfs: inode-delete: ino:%" PRIu32 " loaded:%s\n",    
   51652:	203c 0007 1dff 	movel #466431,%d0                           <== NOT EXECUTED
   51658:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5165a:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   5165e:	4879 0007 1aa1 	pea 71aa1 <_CPU_m68k_BFFFO_table+0xb92>     <== NOT EXECUTED
   51664:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5166a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5166e:	6000 ff10      	braw 51580 <rtems_rfs_inode_delete+0x44>    <== NOT EXECUTED
                                                                      

000511e2 <rtems_rfs_inode_free>: int rtems_rfs_inode_free (rtems_rfs_file_system* fs, rtems_rfs_ino ino) {
   511e2:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  rtems_rfs_bitmap_bit bit;                                           
  bit = ino;                                                          
  return rtems_rfs_group_bitmap_free (fs, true, bit);                 
   511e6:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   511ea:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   511ee:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   511f2:	4eb9 0005 0f5c 	jsr 50f5c <rtems_rfs_group_bitmap_free>     <== NOT EXECUTED
}                                                                     
   511f8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051c2c <rtems_rfs_inode_get_size>: * @return uint32_t The block count. */ static inline uint32_t rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle) { return rtems_rfs_read_u32 (&handle->node->block_count);
   51c2c:	4280           	clrl %d0                                    <== NOT EXECUTED
   51c2e:	7218           	moveq #24,%d1                               <== NOT EXECUTED
}                                                                     
                                                                      
rtems_rfs_pos                                                         
rtems_rfs_inode_get_size (rtems_rfs_file_system*  fs,                 
                          rtems_rfs_inode_handle* handle)             
{                                                                     
   51c30:	4e56 ffe8      	linkw %fp,#-24                              <== NOT EXECUTED
   51c34:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   51c38:	48d7 003c      	moveml %d2-%d5,%sp@                         <== NOT EXECUTED
  rtems_rfs_block_size size;                                          
  size.count = rtems_rfs_inode_get_block_count (handle);              
  size.offset = rtems_rfs_inode_get_block_offset (handle);            
  return rtems_rfs_block_get_size (fs, &size);                        
}                                                                     
   51c3c:	2068 000c      	moveal %a0@(12),%a0                         <== NOT EXECUTED
   51c40:	4283           	clrl %d3                                    <== NOT EXECUTED
   51c42:	1028 000c      	moveb %a0@(12),%d0                          <== NOT EXECUTED
   51c46:	1628 000d      	moveb %a0@(13),%d3                          <== NOT EXECUTED
   51c4a:	4285           	clrl %d5                                    <== NOT EXECUTED
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   51c4c:	4282           	clrl %d2                                    <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   51c4e:	1a28 000f      	moveb %a0@(15),%d5                          <== NOT EXECUTED
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   51c52:	1428 000a      	moveb %a0@(10),%d2                          <== NOT EXECUTED
   51c56:	4284           	clrl %d4                                    <== NOT EXECUTED
   51c58:	1828 000b      	moveb %a0@(11),%d4                          <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   51c5c:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   51c5e:	4843           	swap %d3                                    <== NOT EXECUTED
   51c60:	4243           	clrw %d3                                    <== NOT EXECUTED
   51c62:	4281           	clrl %d1                                    <== NOT EXECUTED
   51c64:	1228 000e      	moveb %a0@(14),%d1                          <== NOT EXECUTED
                          rtems_rfs_inode_handle* handle)             
{                                                                     
  rtems_rfs_block_size size;                                          
  size.count = rtems_rfs_inode_get_block_count (handle);              
  size.offset = rtems_rfs_inode_get_block_offset (handle);            
  return rtems_rfs_block_get_size (fs, &size);                        
   51c68:	486e fff8      	pea %fp@(-8)                                <== NOT EXECUTED
   51c6c:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   51c70:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   51c72:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   51c74:	e18a           	lsll #8,%d2                                 <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   51c76:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
rtems_rfs_inode_get_size (rtems_rfs_file_system*  fs,                 
                          rtems_rfs_inode_handle* handle)             
{                                                                     
  rtems_rfs_block_size size;                                          
  size.count = rtems_rfs_inode_get_block_count (handle);              
  size.offset = rtems_rfs_inode_get_block_offset (handle);            
   51c78:	8484           	orl %d4,%d2                                 <== NOT EXECUTED
   51c7a:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   51c7c:	2d42 fffc      	movel %d2,%fp@(-4)                          <== NOT EXECUTED
   51c80:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
  return rtems_rfs_block_get_size (fs, &size);                        
   51c84:	4eb9 0005 9180 	jsr 59180 <rtems_rfs_block_get_size>        <== NOT EXECUTED
}                                                                     
   51c8a:	4cee 003c ffe8 	moveml %fp@(-24),%d2-%d5                    <== NOT EXECUTED
   51c90:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000511fc <rtems_rfs_inode_load>: } int rtems_rfs_inode_load (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle) {
   511fc:	4e56 0000      	linkw %fp,#0                                
   51200:	2f0a           	movel %a2,%sp@-                             
   51202:	246e 000c      	moveal %fp@(12),%a2                         
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_LOAD))                   
   51206:	2f3c 0010 0000 	movel #1048576,%sp@-                        
   5120c:	42a7           	clrl %sp@-                                  
   5120e:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   51214:	508f           	addql #8,%sp                                
   51216:	4a00           	tstb %d0                                    
   51218:	6726           	beqs 51240 <rtems_rfs_inode_load+0x44>      <== ALWAYS TAKEN
    printf ("rtems-rfs: inode-load: ino=%" PRIu32 " loads=%i loaded=%s\n",
   5121a:	4aaa 000c      	tstl %a2@(12)                               <== NOT EXECUTED
   5121e:	6734           	beqs 51254 <rtems_rfs_inode_load+0x58>      <== NOT EXECUTED
   51220:	203c 0007 19c4 	movel #465348,%d0                           <== NOT EXECUTED
   51226:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   51228:	2f2a 0022      	movel %a2@(34),%sp@-                        <== NOT EXECUTED
   5122c:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   51230:	4879 0007 19c8 	pea 719c8 <_CPU_m68k_BFFFO_table+0xab9>     <== NOT EXECUTED
   51236:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5123c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
  /*                                                                  
   * An inode does not move so once loaded no need to do again.       
   */                                                                 
                                                                      
  if (!rtems_rfs_inode_is_loaded (handle))                            
   51240:	4aaa 000c      	tstl %a2@(12)                               
   51244:	6730           	beqs 51276 <rtems_rfs_inode_load+0x7a>      
                                                                      
    handle->node = rtems_rfs_buffer_data (&handle->buffer);           
    handle->node += handle->offset;                                   
  }                                                                   
                                                                      
  handle->loads++;                                                    
   51246:	52aa 0022      	addql #1,%a2@(34)                           
                                                                      
  return 0;                                                           
   5124a:	4280           	clrl %d0                                    
}                                                                     
   5124c:	246e fffc      	moveal %fp@(-4),%a2                         
   51250:	4e5e           	unlk %fp                                    
   51252:	4e75           	rts                                         
int                                                                   
rtems_rfs_inode_load (rtems_rfs_file_system*  fs,                     
                      rtems_rfs_inode_handle* handle)                 
{                                                                     
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_LOAD))                   
    printf ("rtems-rfs: inode-load: ino=%" PRIu32 " loads=%i loaded=%s\n",
   51254:	203c 0007 1dff 	movel #466431,%d0                           <== NOT EXECUTED
   5125a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5125c:	2f2a 0022      	movel %a2@(34),%sp@-                        <== NOT EXECUTED
   51260:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   51264:	4879 0007 19c8 	pea 719c8 <_CPU_m68k_BFFFO_table+0xab9>     <== NOT EXECUTED
   5126a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   51270:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   51274:	60ca           	bras 51240 <rtems_rfs_inode_load+0x44>      <== NOT EXECUTED
                                                                      
  if (!rtems_rfs_inode_is_loaded (handle))                            
  {                                                                   
    int rc;                                                           
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs,&handle->buffer,         
   51276:	4878 0001      	pea 1 <ADD>                                 
   5127a:	2f2a 001a      	movel %a2@(26),%sp@-                        
   5127e:	486a 0010      	pea %a2@(16)                                
   51282:	2f2e 0008      	movel %fp@(8),%sp@-                         
   51286:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> 
                                          handle->block, true);       
    if (rc > 0)                                                       
   5128c:	4fef 0010      	lea %sp@(16),%sp                            
   51290:	4a80           	tstl %d0                                    
   51292:	6eb8           	bgts 5124c <rtems_rfs_inode_load+0x50>      <== NEVER TAKEN
      return rc;                                                      
                                                                      
    handle->node = rtems_rfs_buffer_data (&handle->buffer);           
    handle->node += handle->offset;                                   
   51294:	202a 001e      	movel %a2@(30),%d0                          
   51298:	2200           	movel %d0,%d1                               
   5129a:	ed88           	lsll #6,%d0                                 
   5129c:	e789           	lsll #3,%d1                                 
    rc = rtems_rfs_buffer_handle_request (fs,&handle->buffer,         
                                          handle->block, true);       
    if (rc > 0)                                                       
      return rc;                                                      
                                                                      
    handle->node = rtems_rfs_buffer_data (&handle->buffer);           
   5129e:	206a 0016      	moveal %a2@(22),%a0                         
    handle->node += handle->offset;                                   
   512a2:	9081           	subl %d1,%d0                                
   512a4:	d0a8 001a      	addl %a0@(26),%d0                           
  }                                                                   
                                                                      
  handle->loads++;                                                    
   512a8:	52aa 0022      	addql #1,%a2@(34)                           
                                          handle->block, true);       
    if (rc > 0)                                                       
      return rc;                                                      
                                                                      
    handle->node = rtems_rfs_buffer_data (&handle->buffer);           
    handle->node += handle->offset;                                   
   512ac:	2540 000c      	movel %d0,%a2@(12)                          
  }                                                                   
                                                                      
  handle->loads++;                                                    
                                                                      
  return 0;                                                           
   512b0:	4280           	clrl %d0                                    
   512b2:	6098           	bras 5124c <rtems_rfs_inode_load+0x50>      
                                                                      

000512b4 <rtems_rfs_inode_open>: int rtems_rfs_inode_open (rtems_rfs_file_system* fs, rtems_rfs_ino ino, rtems_rfs_inode_handle* handle, bool load) {
   512b4:	4e56 fff0      	linkw %fp,#-16                              
   512b8:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
  int group;                                                          
  int gino;                                                           
  int index;                                                          
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_OPEN))                   
   512bc:	2f3c 0004 0000 	movel #262144,%sp@-                         
int                                                                   
rtems_rfs_inode_open (rtems_rfs_file_system*  fs,                     
                      rtems_rfs_ino           ino,                    
                      rtems_rfs_inode_handle* handle,                 
                      bool                    load)                   
{                                                                     
   512c2:	246e 0008      	moveal %fp@(8),%a2                          
  int group;                                                          
  int gino;                                                           
  int index;                                                          
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_OPEN))                   
   512c6:	42a7           	clrl %sp@-                                  
int                                                                   
rtems_rfs_inode_open (rtems_rfs_file_system*  fs,                     
                      rtems_rfs_ino           ino,                    
                      rtems_rfs_inode_handle* handle,                 
                      bool                    load)                   
{                                                                     
   512c8:	242e 000c      	movel %fp@(12),%d2                          
   512cc:	266e 0010      	moveal %fp@(16),%a3                         
   512d0:	162e 0017      	moveb %fp@(23),%d3                          
  int group;                                                          
  int gino;                                                           
  int index;                                                          
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_OPEN))                   
   512d4:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   512da:	508f           	addql #8,%sp                                
   512dc:	4a00           	tstb %d0                                    
   512de:	6676           	bnes 51356 <rtems_rfs_inode_open+0xa2>      <== NEVER TAKEN
    printf ("rtems-rfs: inode-open: ino: %" PRIu32 "\n", ino);        
                                                                      
  if (ino == RTEMS_RFS_EMPTY_INO)                                     
   512e0:	4a82           	tstl %d2                                    
   512e2:	660c           	bnes 512f0 <rtems_rfs_inode_open+0x3c>      <== ALWAYS TAKEN
    return EINVAL;                                                    
   512e4:	7016           	moveq #22,%d0                               <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_buffer_handle_open (fs, &handle->buffer);            
  if ((rc == 0) && load)                                              
    rc = rtems_rfs_inode_load (fs, handle);                           
  return rc;                                                          
}                                                                     
   512e6:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   512ec:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   512ee:	4e75           	rts                                         <== NOT EXECUTED
    printf ("rtems-rfs: inode-open: ino: %" PRIu32 "\n", ino);        
                                                                      
  if (ino == RTEMS_RFS_EMPTY_INO)                                     
    return EINVAL;                                                    
                                                                      
  if ((ino - RTEMS_RFS_ROOT_INO) > rtems_rfs_fs_inodes (fs))          
   512f0:	2002           	movel %d2,%d0                               
   512f2:	5380           	subql #1,%d0                                
   512f4:	b0aa 0014      	cmpl %a2@(20),%d0                           
   512f8:	62ea           	bhis 512e4 <rtems_rfs_inode_open+0x30>      <== NEVER TAKEN
  group = gino / fs->group_inodes;                                    
  gino  = gino % fs->group_inodes;                                    
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;
                                                                      
  handle->offset = gino % fs->inodes_per_block;                       
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index); 
   512fa:	206a 0020      	moveal %a2@(32),%a0                         
  handle->node = NULL;                                                
  handle->loads = 0;                                                  
                                                                      
  gino  = ino - RTEMS_RFS_ROOT_INO;                                   
  group = gino / fs->group_inodes;                                    
  gino  = gino % fs->group_inodes;                                    
   512fe:	4c6a 0001 002c 	remul %a2@(44),%d1,%d0                      
   51304:	4c6a 0000 002c 	remul %a2@(44),%d0,%d0                      
    return EINVAL;                                                    
                                                                      
  if ((ino - RTEMS_RFS_ROOT_INO) > rtems_rfs_fs_inodes (fs))          
    return EINVAL;                                                    
                                                                      
  handle->ino = ino;                                                  
   5130a:	2742 0008      	movel %d2,%a3@(8)                           
  group = gino / fs->group_inodes;                                    
  gino  = gino % fs->group_inodes;                                    
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;
                                                                      
  handle->offset = gino % fs->inodes_per_block;                       
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index); 
   5130e:	744c           	moveq #76,%d2                               
   51310:	4c02 0800      	mulsl %d2,%d0                               
  gino  = ino - RTEMS_RFS_ROOT_INO;                                   
  group = gino / fs->group_inodes;                                    
  gino  = gino % fs->group_inodes;                                    
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;
                                                                      
  handle->offset = gino % fs->inodes_per_block;                       
   51314:	4c6a 1002 0030 	remul %a2@(48),%d2,%d1                      
   5131a:	4c6a 1001 0030 	remul %a2@(48),%d1,%d1                      
                                                                      
  if ((ino - RTEMS_RFS_ROOT_INO) > rtems_rfs_fs_inodes (fs))          
    return EINVAL;                                                    
                                                                      
  handle->ino = ino;                                                  
  handle->node = NULL;                                                
   51320:	42ab 000c      	clrl %a3@(12)                               
  handle->loads = 0;                                                  
                                                                      
  gino  = ino - RTEMS_RFS_ROOT_INO;                                   
  group = gino / fs->group_inodes;                                    
  gino  = gino % fs->group_inodes;                                    
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;
   51324:	2030 0800      	movel %a0@(00000000,%d0:l),%d0              
   51328:	5480           	addql #2,%d0                                
                                                                      
  handle->offset = gino % fs->inodes_per_block;                       
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index); 
   5132a:	d081           	addl %d1,%d0                                
   5132c:	2740 001a      	movel %d0,%a3@(26)                          
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   51330:	4200           	clrb %d0                                    
  gino  = ino - RTEMS_RFS_ROOT_INO;                                   
  group = gino / fs->group_inodes;                                    
  gino  = gino % fs->group_inodes;                                    
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;
                                                                      
  handle->offset = gino % fs->inodes_per_block;                       
   51332:	2742 001e      	movel %d2,%a3@(30)                          
   51336:	1740 0010      	moveb %d0,%a3@(16)                          
  if ((ino - RTEMS_RFS_ROOT_INO) > rtems_rfs_fs_inodes (fs))          
    return EINVAL;                                                    
                                                                      
  handle->ino = ino;                                                  
  handle->node = NULL;                                                
  handle->loads = 0;                                                  
   5133a:	42ab 0022      	clrl %a3@(34)                               
  handle->bnum  = 0;                                                  
   5133e:	42ab 0012      	clrl %a3@(18)                               
  handle->buffer = NULL;                                              
   51342:	42ab 0016      	clrl %a3@(22)                               
                                                                      
  handle->offset = gino % fs->inodes_per_block;                       
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index); 
                                                                      
  rc = rtems_rfs_buffer_handle_open (fs, &handle->buffer);            
  if ((rc == 0) && load)                                              
   51346:	4a03           	tstb %d3                                    
   51348:	6624           	bnes 5136e <rtems_rfs_inode_open+0xba>      <== ALWAYS TAKEN
  index = (gino / fs->inodes_per_block) + RTEMS_RFS_GROUP_INODE_BLOCK;
                                                                      
  handle->offset = gino % fs->inodes_per_block;                       
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index); 
                                                                      
  rc = rtems_rfs_buffer_handle_open (fs, &handle->buffer);            
   5134a:	4280           	clrl %d0                                    <== NOT EXECUTED
  if ((rc == 0) && load)                                              
    rc = rtems_rfs_inode_load (fs, handle);                           
  return rc;                                                          
}                                                                     
   5134c:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   51352:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51354:	4e75           	rts                                         <== NOT EXECUTED
  int gino;                                                           
  int index;                                                          
  int rc;                                                             
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_OPEN))                   
    printf ("rtems-rfs: inode-open: ino: %" PRIu32 "\n", ino);        
   51356:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51358:	4879 0007 19fb 	pea 719fb <_CPU_m68k_BFFFO_table+0xaec>     <== NOT EXECUTED
   5135e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   51364:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
  if (ino == RTEMS_RFS_EMPTY_INO)                                     
   51366:	4a82           	tstl %d2                                    <== NOT EXECUTED
   51368:	6700 ff7a      	beqw 512e4 <rtems_rfs_inode_open+0x30>      <== NOT EXECUTED
   5136c:	6082           	bras 512f0 <rtems_rfs_inode_open+0x3c>      <== NOT EXECUTED
  handle->offset = gino % fs->inodes_per_block;                       
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index); 
                                                                      
  rc = rtems_rfs_buffer_handle_open (fs, &handle->buffer);            
  if ((rc == 0) && load)                                              
    rc = rtems_rfs_inode_load (fs, handle);                           
   5136e:	2d4b 000c      	movel %a3,%fp@(12)                          
   51372:	2d4a 0008      	movel %a2,%fp@(8)                           
  return rc;                                                          
}                                                                     
   51376:	4cee 0c0c fff0 	moveml %fp@(-16),%d2-%d3/%a2-%a3            
   5137c:	4e5e           	unlk %fp                                    
  handle->offset = gino % fs->inodes_per_block;                       
  handle->block  = rtems_rfs_group_block (&fs->groups[group], index); 
                                                                      
  rc = rtems_rfs_buffer_handle_open (fs, &handle->buffer);            
  if ((rc == 0) && load)                                              
    rc = rtems_rfs_inode_load (fs, handle);                           
   5137e:	4ef9 0005 11fc 	jmp 511fc <rtems_rfs_inode_load>            
                                                                      

00051672 <rtems_rfs_inode_time_stamp_now>: int rtems_rfs_inode_time_stamp_now (rtems_rfs_inode_handle* handle, bool atime, bool mtime) {
   51672:	4e56 fff4      	linkw %fp,#-12                              
   51676:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   5167a:	246e 0008      	moveal %fp@(8),%a2                          
   5167e:	162e 000f      	moveb %fp@(15),%d3                          
   51682:	142e 0013      	moveb %fp@(19),%d2                          
  time_t now;                                                         
  if (!rtems_rfs_inode_is_loaded (handle))                            
   51686:	4aaa 000c      	tstl %a2@(12)                               
   5168a:	6700 009a      	beqw 51726 <rtems_rfs_inode_time_stamp_now+0xb4>
    return ENXIO;                                                     
  now = time (NULL);                                                  
   5168e:	42a7           	clrl %sp@-                                  
   51690:	4eb9 0006 503c 	jsr 6503c <time>                            
  if (atime)                                                          
   51696:	588f           	addql #4,%sp                                
                                bool                    mtime)        
{                                                                     
  time_t now;                                                         
  if (!rtems_rfs_inode_is_loaded (handle))                            
    return ENXIO;                                                     
  now = time (NULL);                                                  
   51698:	2200           	movel %d0,%d1                               
  if (atime)                                                          
   5169a:	4a03           	tstb %d3                                    
   5169c:	6736           	beqs 516d4 <rtems_rfs_inode_time_stamp_now+0x62><== NEVER TAKEN
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   5169e:	2600           	movel %d0,%d3                               
   516a0:	7018           	moveq #24,%d0                               
   516a2:	e0ab           	lsrl %d0,%d3                                
   516a4:	2001           	movel %d1,%d0                               
   516a6:	e088           	lsrl #8,%d0                                 
   516a8:	206a 000c      	moveal %a2@(12),%a0                         
   516ac:	1143 0010      	moveb %d3,%a0@(16)                          
   516b0:	2601           	movel %d1,%d3                               
   516b2:	206a 000c      	moveal %a2@(12),%a0                         
   516b6:	4243           	clrw %d3                                    
   516b8:	4843           	swap %d3                                    
   516ba:	1143 0011      	moveb %d3,%a0@(17)                          
   516be:	206a 000c      	moveal %a2@(12),%a0                         
   516c2:	1140 0012      	moveb %d0,%a0@(18)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   516c6:	7001           	moveq #1,%d0                                
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   516c8:	206a 000c      	moveal %a2@(12),%a0                         
   516cc:	1141 0013      	moveb %d1,%a0@(19)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   516d0:	1540 0010      	moveb %d0,%a2@(16)                          
    rtems_rfs_inode_set_atime (handle, now);                          
  if (mtime)                                                          
   516d4:	4a02           	tstb %d2                                    
   516d6:	6742           	beqs 5171a <rtems_rfs_inode_time_stamp_now+0xa8><== NEVER TAKEN
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   516d8:	206a 000c      	moveal %a2@(12),%a0                         
   516dc:	2601           	movel %d1,%d3                               
   516de:	7018           	moveq #24,%d0                               
   516e0:	e0ab           	lsrl %d0,%d3                                
   516e2:	2401           	movel %d1,%d2                               
   516e4:	e08a           	lsrl #8,%d2                                 
    rtems_rfs_inode_set_mtime (handle, now);                          
  return 0;                                                           
   516e6:	4200           	clrb %d0                                    
   516e8:	1143 0014      	moveb %d3,%a0@(20)                          
   516ec:	2601           	movel %d1,%d3                               
   516ee:	206a 000c      	moveal %a2@(12),%a0                         
   516f2:	4243           	clrw %d3                                    
   516f4:	4843           	swap %d3                                    
   516f6:	1143 0015      	moveb %d3,%a0@(21)                          
   516fa:	206a 000c      	moveal %a2@(12),%a0                         
   516fe:	1142 0016      	moveb %d2,%a0@(22)                          
   51702:	206a 000c      	moveal %a2@(12),%a0                         
   51706:	1141 0017      	moveb %d1,%a0@(23)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5170a:	7201           	moveq #1,%d1                                
   5170c:	1541 0010      	moveb %d1,%a2@(16)                          
}                                                                     
   51710:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   51716:	4e5e           	unlk %fp                                    
   51718:	4e75           	rts                                         
  now = time (NULL);                                                  
  if (atime)                                                          
    rtems_rfs_inode_set_atime (handle, now);                          
  if (mtime)                                                          
    rtems_rfs_inode_set_mtime (handle, now);                          
  return 0;                                                           
   5171a:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5171c:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   51722:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51724:	4e75           	rts                                         <== NOT EXECUTED
                                bool                    atime,        
                                bool                    mtime)        
{                                                                     
  time_t now;                                                         
  if (!rtems_rfs_inode_is_loaded (handle))                            
    return ENXIO;                                                     
   51726:	7006           	moveq #6,%d0                                <== NOT EXECUTED
  if (atime)                                                          
    rtems_rfs_inode_set_atime (handle, now);                          
  if (mtime)                                                          
    rtems_rfs_inode_set_mtime (handle, now);                          
  return 0;                                                           
}                                                                     
   51728:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   5172e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051384 <rtems_rfs_inode_unload>: int rtems_rfs_inode_unload (rtems_rfs_file_system* fs, rtems_rfs_inode_handle* handle, bool update_ctime) {
   51384:	4e56 0000      	linkw %fp,#0                                
   51388:	2f0a           	movel %a2,%sp@-                             
   5138a:	246e 000c      	moveal %fp@(12),%a2                         
   5138e:	2f02           	movel %d2,%sp@-                             
   51390:	142e 0013      	moveb %fp@(19),%d2                          
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_UNLOAD))                 
   51394:	2f3c 0020 0000 	movel #2097152,%sp@-                        
   5139a:	42a7           	clrl %sp@-                                  
   5139c:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   513a2:	508f           	addql #8,%sp                                
   513a4:	4a00           	tstb %d0                                    
   513a6:	6726           	beqs 513ce <rtems_rfs_inode_unload+0x4a>    <== ALWAYS TAKEN
    printf ("rtems-rfs: inode-unload: ino=%" PRIu32 " loads=%i loaded=%s\n",
   513a8:	4aaa 000c      	tstl %a2@(12)                               <== NOT EXECUTED
   513ac:	677a           	beqs 51428 <rtems_rfs_inode_unload+0xa4>    <== NOT EXECUTED
   513ae:	203c 0007 19c4 	movel #465348,%d0                           <== NOT EXECUTED
   513b4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   513b6:	2f2a 0022      	movel %a2@(34),%sp@-                        <== NOT EXECUTED
   513ba:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   513be:	4879 0007 1a1c 	pea 71a1c <_CPU_m68k_BFFFO_table+0xb0d>     <== NOT EXECUTED
   513c4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   513ca:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            handle->ino, handle->loads,                               
            rtems_rfs_inode_is_loaded (handle) ? "yes" : "no");       
                                                                      
  if (rtems_rfs_inode_is_loaded (handle))                             
   513ce:	4aaa 000c      	tstl %a2@(12)                               
   513d2:	671c           	beqs 513f0 <rtems_rfs_inode_unload+0x6c>    <== NEVER TAKEN
  {                                                                   
    if (handle->loads == 0)                                           
   513d4:	202a 0022      	movel %a2@(34),%d0                          
   513d8:	660e           	bnes 513e8 <rtems_rfs_inode_unload+0x64>    <== ALWAYS TAKEN
      handle->node = NULL;                                            
    }                                                                 
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   513da:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
            rtems_rfs_inode_is_loaded (handle) ? "yes" : "no");       
                                                                      
  if (rtems_rfs_inode_is_loaded (handle))                             
  {                                                                   
    if (handle->loads == 0)                                           
      return EIO;                                                     
   513de:	7005           	moveq #5,%d0                                <== NOT EXECUTED
      handle->node = NULL;                                            
    }                                                                 
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   513e0:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   513e4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   513e6:	4e75           	rts                                         <== NOT EXECUTED
  if (rtems_rfs_inode_is_loaded (handle))                             
  {                                                                   
    if (handle->loads == 0)                                           
      return EIO;                                                     
                                                                      
    handle->loads--;                                                  
   513e8:	5380           	subql #1,%d0                                
   513ea:	2540 0022      	movel %d0,%a2@(34)                          
                                                                      
    if (handle->loads == 0)                                           
   513ee:	670e           	beqs 513fe <rtems_rfs_inode_unload+0x7a>    
      handle->node = NULL;                                            
    }                                                                 
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   513f0:	242e fff8      	movel %fp@(-8),%d2                          
int                                                                   
rtems_rfs_inode_unload (rtems_rfs_file_system*  fs,                   
                        rtems_rfs_inode_handle* handle,               
                        bool                    update_ctime)         
{                                                                     
  int rc = 0;                                                         
   513f4:	4280           	clrl %d0                                    
      handle->node = NULL;                                            
    }                                                                 
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   513f6:	246e fffc      	moveal %fp@(-4),%a2                         
   513fa:	4e5e           	unlk %fp                                    
   513fc:	4e75           	rts                                         
    if (handle->loads == 0)                                           
    {                                                                 
      /*                                                              
       * If the buffer is dirty it will be release. Also set the ctime.
       */                                                             
      if (rtems_rfs_buffer_dirty (&handle->buffer) && update_ctime)   
   513fe:	4a2a 0010      	tstb %a2@(16)                               
   51402:	6704           	beqs 51408 <rtems_rfs_inode_unload+0x84>    
   51404:	4a02           	tstb %d2                                    
   51406:	6642           	bnes 5144a <rtems_rfs_inode_unload+0xc6>    <== ALWAYS TAKEN
        rtems_rfs_inode_set_ctime (handle, time (NULL));              
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);     
   51408:	486a 0010      	pea %a2@(16)                                
   5140c:	2f2e 0008      	movel %fp@(8),%sp@-                         
   51410:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> 
      handle->node = NULL;                                            
   51416:	508f           	addql #8,%sp                                
   51418:	42aa 000c      	clrl %a2@(12)                               
    }                                                                 
  }                                                                   
                                                                      
  return rc;                                                          
}                                                                     
   5141c:	242e fff8      	movel %fp@(-8),%d2                          
   51420:	246e fffc      	moveal %fp@(-4),%a2                         
   51424:	4e5e           	unlk %fp                                    
   51426:	4e75           	rts                                         
                        bool                    update_ctime)         
{                                                                     
  int rc = 0;                                                         
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_INODE_UNLOAD))                 
    printf ("rtems-rfs: inode-unload: ino=%" PRIu32 " loads=%i loaded=%s\n",
   51428:	203c 0007 1dff 	movel #466431,%d0                           <== NOT EXECUTED
   5142e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   51430:	2f2a 0022      	movel %a2@(34),%sp@-                        <== NOT EXECUTED
   51434:	2f2a 0008      	movel %a2@(8),%sp@-                         <== NOT EXECUTED
   51438:	4879 0007 1a1c 	pea 71a1c <_CPU_m68k_BFFFO_table+0xb0d>     <== NOT EXECUTED
   5143e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   51444:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   51448:	6084           	bras 513ce <rtems_rfs_inode_unload+0x4a>    <== NOT EXECUTED
    {                                                                 
      /*                                                              
       * If the buffer is dirty it will be release. Also set the ctime.
       */                                                             
      if (rtems_rfs_buffer_dirty (&handle->buffer) && update_ctime)   
        rtems_rfs_inode_set_ctime (handle, time (NULL));              
   5144a:	42a7           	clrl %sp@-                                  
   5144c:	4eb9 0006 503c 	jsr 6503c <time>                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          ctime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->ctime, ctime);                  
   51452:	206a 000c      	moveal %a2@(12),%a0                         
   51456:	2400           	movel %d0,%d2                               
   51458:	7218           	moveq #24,%d1                               
   5145a:	e2aa           	lsrl %d1,%d2                                
   5145c:	2200           	movel %d0,%d1                               
   5145e:	e089           	lsrl #8,%d1                                 
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   51460:	588f           	addql #4,%sp                                
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_ctime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          ctime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->ctime, ctime);                  
   51462:	1142 0018      	moveb %d2,%a0@(24)                          
   51466:	2400           	movel %d0,%d2                               
   51468:	206a 000c      	moveal %a2@(12),%a0                         
   5146c:	4242           	clrw %d2                                    
   5146e:	4842           	swap %d2                                    
   51470:	1142 0019      	moveb %d2,%a0@(25)                          
   51474:	206a 000c      	moveal %a2@(12),%a0                         
   51478:	1141 001a      	moveb %d1,%a0@(26)                          
   5147c:	206a 000c      	moveal %a2@(12),%a0                         
   51480:	1140 001b      	moveb %d0,%a0@(27)                          
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   51484:	7001           	moveq #1,%d0                                
   51486:	1540 0010      	moveb %d0,%a2@(16)                          
      rc = rtems_rfs_buffer_handle_release (fs, &handle->buffer);     
   5148a:	486a 0010      	pea %a2@(16)                                
   5148e:	2f2e 0008      	movel %fp@(8),%sp@-                         
   51492:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> 
      handle->node = NULL;                                            
   51498:	508f           	addql #8,%sp                                
   5149a:	42aa 000c      	clrl %a2@(12)                               
   5149e:	6000 ff7c      	braw 5141c <rtems_rfs_inode_unload+0x98>    
                                                                      

0005dab4 <rtems_rfs_link>: const char* name, int length, rtems_rfs_ino parent, rtems_rfs_ino target, bool link_dir) {
   5dab4:	4e56 ff98      	linkw %fp,#-104                             <== NOT EXECUTED
   5dab8:	48d7 1c3c      	moveml %d2-%d5/%a2-%a4,%sp@                 <== NOT EXECUTED
  rtems_rfs_inode_handle parent_inode;                                
  rtems_rfs_inode_handle target_inode;                                
  uint16_t               links;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_LINK))                         
   5dabc:	2f3c 0100 0000 	movel #16777216,%sp@-                       <== NOT EXECUTED
                const char*            name,                          
                int                    length,                        
                rtems_rfs_ino          parent,                        
                rtems_rfs_ino          target,                        
                bool                   link_dir)                      
{                                                                     
   5dac2:	242e 0008      	movel %fp@(8),%d2                           <== NOT EXECUTED
  rtems_rfs_inode_handle parent_inode;                                
  rtems_rfs_inode_handle target_inode;                                
  uint16_t               links;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_LINK))                         
   5dac6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
                const char*            name,                          
                int                    length,                        
                rtems_rfs_ino          parent,                        
                rtems_rfs_ino          target,                        
                bool                   link_dir)                      
{                                                                     
   5dac8:	282e 0018      	movel %fp@(24),%d4                          <== NOT EXECUTED
   5dacc:	1a2e 001f      	moveb %fp@(31),%d5                          <== NOT EXECUTED
  rtems_rfs_inode_handle parent_inode;                                
  rtems_rfs_inode_handle target_inode;                                
  uint16_t               links;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_LINK))                         
   5dad0:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5dad6:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5dad8:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5dada:	6600 0102      	bnew 5dbde <rtems_rfs_link+0x12a>           <== NOT EXECUTED
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf ("(%" PRIu32 ")\n", target);                               
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, target, &target_inode, true);        
   5dade:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5dae2:	260e           	movel %fp,%d3                               <== NOT EXECUTED
   5dae4:	0683 ffff ffda 	addil #-38,%d3                              <== NOT EXECUTED
   5daea:	47f9 0005 12b4 	lea 512b4 <rtems_rfs_inode_open>,%a3        <== NOT EXECUTED
   5daf0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5daf2:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5daf4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5daf6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc)                                                             
   5daf8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf ("(%" PRIu32 ")\n", target);                               
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, target, &target_inode, true);        
   5dafc:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (rc)                                                             
   5dafe:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5db00:	6600 00d0      	bnew 5dbd2 <rtems_rfs_link+0x11e>           <== NOT EXECUTED
                                                                      
  /*                                                                  
   * If the target inode is a directory and we cannot link directories
   * return a not supported error code.                               
   */                                                                 
  if (!link_dir && S_ISDIR (rtems_rfs_inode_get_mode (&target_inode)))
   5db04:	4a05           	tstb %d5                                    <== NOT EXECUTED
   5db06:	661c           	bnes 5db24 <rtems_rfs_link+0x70>            <== NOT EXECUTED
   5db08:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   5db0c:	4281           	clrl %d1                                    <== NOT EXECUTED
   5db0e:	1228 0002      	moveb %a0@(2),%d1                           <== NOT EXECUTED
   5db12:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   5db14:	0281 0000 f000 	andil #61440,%d1                            <== NOT EXECUTED
   5db1a:	0c81 0000 4000 	cmpil #16384,%d1                            <== NOT EXECUTED
   5db20:	6700 0140      	beqw 5dc62 <rtems_rfs_link+0x1ae>           <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
    return ENOTSUP;                                                   
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
   5db24:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5db28:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5db2a:	0685 ffff ffb4 	addil #-76,%d5                              <== NOT EXECUTED
   5db30:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5db32:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5db36:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5db38:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc)                                                             
   5db3a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
    return ENOTSUP;                                                   
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
   5db3e:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (rc)                                                             
   5db40:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5db42:	6600 0106      	bnew 5dc4a <rtems_rfs_link+0x196>           <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_dir_add_entry (fs, &parent_inode, name, length, target);
   5db46:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5db48:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5db4c:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5db50:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5db52:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5db54:	4eb9 0005 aeca 	jsr 5aeca <rtems_rfs_dir_add_entry>         <== NOT EXECUTED
  if (rc > 0)                                                         
   5db5a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_dir_add_entry (fs, &parent_inode, name, length, target);
   5db5e:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (rc > 0)                                                         
   5db60:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5db62:	6e00 00c4      	bgtw 5dc28 <rtems_rfs_link+0x174>           <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                        
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  links = rtems_rfs_inode_get_links (&target_inode) + 1;              
   5db66:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   5db6a:	4280           	clrl %d0                                    <== NOT EXECUTED
   5db6c:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   5db6e:	4281           	clrl %d1                                    <== NOT EXECUTED
   5db70:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
   5db74:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5db76:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  if (links == 0xffff)                                                
   5db78:	0c80 0000 ffff 	cmpil #65535,%d0                            <== NOT EXECUTED
   5db7e:	6700 00fe      	beqw 5dc7e <rtems_rfs_link+0x1ca>           <== NOT EXECUTED
   5db82:	5280           	addql #1,%d0                                <== NOT EXECUTED
   5db84:	4281           	clrl %d1                                    <== NOT EXECUTED
   5db86:	3200           	movew %d0,%d1                               <== NOT EXECUTED
   5db88:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
 * @prarm links The links.                                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->links, links);                  
   5db8a:	1081           	moveb %d1,%a0@                              <== NOT EXECUTED
   5db8c:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   5db90:	1140 0001      	moveb %d0,%a0@(1)                           <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5db94:	7001           	moveq #1,%d0                                <== NOT EXECUTED
  rtems_rfs_inode_set_links (&target_inode, links);                   
                                                                      
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);    
   5db96:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5db9a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5db9e:	1d40 ffea      	moveb %d0,%fp@(-22)                         <== NOT EXECUTED
   5dba2:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5dba4:	4eb9 0005 1672 	jsr 51672 <rtems_rfs_inode_time_stamp_now>  <== NOT EXECUTED
  if (rc > 0)                                                         
   5dbaa:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  links = rtems_rfs_inode_get_links (&target_inode) + 1;              
  rtems_rfs_inode_set_links (&target_inode, links);                   
                                                                      
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);    
   5dbae:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (rc > 0)                                                         
   5dbb0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5dbb2:	6e74           	bgts 5dc28 <rtems_rfs_link+0x174>           <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                        
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &parent_inode);                     
   5dbb4:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5dbb6:	47f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a3       <== NOT EXECUTED
   5dbbc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dbbe:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
   5dbc0:	508f           	addql #8,%sp                                <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                        
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &parent_inode);                     
   5dbc2:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (rc > 0)                                                         
   5dbc4:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5dbc6:	6f00 00be      	blew 5dc86 <rtems_rfs_link+0x1d2>           <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
   5dbca:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dbcc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dbce:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5dbd0:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &target_inode);                     
                                                                      
  return rc;                                                          
}                                                                     
   5dbd2:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   5dbd4:	4cee 1c3c ff98 	moveml %fp@(-104),%d2-%d5/%a2-%a4           <== NOT EXECUTED
   5dbda:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5dbdc:	4e75           	rts                                         <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_LINK))                         
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: link: parent(%" PRIu32 ") -> ", parent);      
   5dbde:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5dbe2:	49f9 0006 16ec 	lea 616ec <printf>,%a4                      <== NOT EXECUTED
   5dbe8:	4879 0007 338e 	pea 7338e <CSWTCH.2+0x12c6>                 <== NOT EXECUTED
   5dbee:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    for (c = 0; c < length; c++)                                      
   5dbf0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5dbf2:	4aae 0010      	tstl %fp@(16)                               <== NOT EXECUTED
   5dbf6:	6f20           	bles 5dc18 <rtems_rfs_link+0x164>           <== NOT EXECUTED
#include <rtems/rfs/rtems-rfs-dir.h>                                  
#include <rtems/rfs/rtems-rfs-dir-hash.h>                             
#include <rtems/rfs/rtems-rfs-link.h>                                 
                                                                      
int                                                                   
rtems_rfs_link (rtems_rfs_file_system* fs,                            
   5dbf8:	262e 000c      	movel %fp@(12),%d3                          <== NOT EXECUTED
   5dbfc:	d6ae 0010      	addl %fp@(16),%d3                           <== NOT EXECUTED
   5dc00:	47f9 0006 187c 	lea 6187c <putchar>,%a3                     <== NOT EXECUTED
   5dc06:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_LINK))                         
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: link: parent(%" PRIu32 ") -> ", parent);      
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
   5dc0a:	101a           	moveb %a2@+,%d0                             <== NOT EXECUTED
   5dc0c:	49c0           	extbl %d0                                   <== NOT EXECUTED
   5dc0e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5dc10:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_LINK))                         
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: link: parent(%" PRIu32 ") -> ", parent);      
    for (c = 0; c < length; c++)                                      
   5dc12:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5dc14:	b68a           	cmpl %a2,%d3                                <== NOT EXECUTED
   5dc16:	66f2           	bnes 5dc0a <rtems_rfs_link+0x156>           <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf ("(%" PRIu32 ")\n", target);                               
   5dc18:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5dc1a:	4879 0007 33d3 	pea 733d3 <CSWTCH.2+0x130b>                 <== NOT EXECUTED
   5dc20:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   5dc22:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5dc24:	6000 feb8      	braw 5dade <rtems_rfs_link+0x2a>            <== NOT EXECUTED
  rtems_rfs_inode_set_links (&target_inode, links);                   
                                                                      
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);    
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_inode_close (fs, &parent_inode);                        
   5dc28:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5dc2a:	47f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a3       <== NOT EXECUTED
   5dc30:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dc32:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                        
   5dc34:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dc36:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dc38:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5dc3a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &target_inode);                     
                                                                      
  return rc;                                                          
}                                                                     
   5dc3e:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   5dc40:	4cee 1c3c ff98 	moveml %fp@(-104),%d2-%d5/%a2-%a4           <== NOT EXECUTED
   5dc46:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5dc48:	4e75           	rts                                         <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
  if (rc)                                                             
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
   5dc4a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dc4c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dc4e:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5dc54:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &target_inode);                     
                                                                      
  return rc;                                                          
}                                                                     
   5dc56:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   5dc58:	4cee 1c3c ff98 	moveml %fp@(-104),%d2-%d5/%a2-%a4           <== NOT EXECUTED
   5dc5e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5dc60:	4e75           	rts                                         <== NOT EXECUTED
   * If the target inode is a directory and we cannot link directories
   * return a not supported error code.                               
   */                                                                 
  if (!link_dir && S_ISDIR (rtems_rfs_inode_get_mode (&target_inode)))
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
   5dc62:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
    return ENOTSUP;                                                   
   5dc64:	347c 0086      	moveaw #134,%a2                             <== NOT EXECUTED
   * If the target inode is a directory and we cannot link directories
   * return a not supported error code.                               
   */                                                                 
  if (!link_dir && S_ISDIR (rtems_rfs_inode_get_mode (&target_inode)))
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
   5dc68:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dc6a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5dc70:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &target_inode);                     
                                                                      
  return rc;                                                          
}                                                                     
   5dc72:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   5dc74:	4cee 1c3c ff98 	moveml %fp@(-104),%d2-%d5/%a2-%a4           <== NOT EXECUTED
   5dc7a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5dc7c:	4e75           	rts                                         <== NOT EXECUTED
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
  if (links == 0xffff)                                                
   5dc7e:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5dc80:	4201           	clrb %d1                                    <== NOT EXECUTED
   5dc82:	6000 ff06      	braw 5db8a <rtems_rfs_link+0xd6>            <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &target_inode);                     
   5dc86:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dc88:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dc8a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5dc8c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5dc8e:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
   5dc90:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   5dc92:	4cee 1c3c ff98 	moveml %fp@(-104),%d2-%d5/%a2-%a4           <== NOT EXECUTED
   5dc98:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005e5ac <rtems_rfs_mutex_create>: RTEMS_INHERIT_PRIORITY | RTEMS_NO_PRIORITY_CEILING | RTEMS_LOCAL) #endif int rtems_rfs_mutex_create (rtems_rfs_mutex* mutex) {
   5e5ac:	4e56 0000      	linkw %fp,#0                                
   5e5b0:	2f02           	movel %d2,%sp@-                             
#if __rtems__                                                         
  rtems_status_code sc;                                               
  sc = rtems_semaphore_create (rtems_build_name ('R', 'F', 'S', 'm'), 
   5e5b2:	2f2e 0008      	movel %fp@(8),%sp@-                         
   5e5b6:	42a7           	clrl %sp@-                                  
   5e5b8:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
   5e5bc:	4878 0001      	pea 1 <ADD>                                 
   5e5c0:	2f3c 5246 536d 	movel #1380340589,%sp@-                     
   5e5c6:	4eb9 0004 befc 	jsr 4befc <rtems_semaphore_create>          
                               1, RTEMS_RFS_MUTEX_ATTRIBS, 0,         
                               mutex);                                
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e5cc:	4fef 0014      	lea %sp@(20),%sp                            
int                                                                   
rtems_rfs_mutex_create (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc;                                               
  sc = rtems_semaphore_create (rtems_build_name ('R', 'F', 'S', 'm'), 
   5e5d0:	2400           	movel %d0,%d2                               
                               1, RTEMS_RFS_MUTEX_ATTRIBS, 0,         
                               mutex);                                
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e5d2:	660a           	bnes 5e5de <rtems_rfs_mutex_create+0x32>    <== ALWAYS TAKEN
              rtems_status_text (sc));                                
    return EIO;                                                       
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e5d4:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
      printf ("rtems-rfs: mutex: open failed: %s\n",                  
              rtems_status_text (sc));                                
    return EIO;                                                       
  }                                                                   
#endif                                                                
  return 0;                                                           
   5e5d8:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5e5da:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e5dc:	4e75           	rts                                         <== NOT EXECUTED
  sc = rtems_semaphore_create (rtems_build_name ('R', 'F', 'S', 'm'), 
                               1, RTEMS_RFS_MUTEX_ATTRIBS, 0,         
                               mutex);                                
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5e5de:	4878 0004      	pea 4 <CONTEXT_ARG>                         
   5e5e2:	42a7           	clrl %sp@-                                  
   5e5e4:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   5e5ea:	508f           	addql #8,%sp                                
   5e5ec:	4a00           	tstb %d0                                    
   5e5ee:	660a           	bnes 5e5fa <rtems_rfs_mutex_create+0x4e>    <== NEVER TAKEN
              rtems_status_text (sc));                                
    return EIO;                                                       
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e5f0:	242e fffc      	movel %fp@(-4),%d2                          
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
      printf ("rtems-rfs: mutex: open failed: %s\n",                  
              rtems_status_text (sc));                                
    return EIO;                                                       
   5e5f4:	7005           	moveq #5,%d0                                
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e5f6:	4e5e           	unlk %fp                                    
   5e5f8:	4e75           	rts                                         
                               1, RTEMS_RFS_MUTEX_ATTRIBS, 0,         
                               mutex);                                
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
      printf ("rtems-rfs: mutex: open failed: %s\n",                  
   5e5fa:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e5fc:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5e602:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e604:	4879 0007 35ac 	pea 735ac <CSWTCH.2+0x14e4>                 <== NOT EXECUTED
   5e60a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
              rtems_status_text (sc));                                
    return EIO;                                                       
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e610:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
                               1, RTEMS_RFS_MUTEX_ATTRIBS, 0,         
                               mutex);                                
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
      printf ("rtems-rfs: mutex: open failed: %s\n",                  
   5e614:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
              rtems_status_text (sc));                                
    return EIO;                                                       
   5e618:	7005           	moveq #5,%d0                                <== NOT EXECUTED
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e61a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005e61e <rtems_rfs_mutex_destroy>: int rtems_rfs_mutex_destroy (rtems_rfs_mutex* mutex) {
   5e61e:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5e622:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5e626:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc;                                               
  sc = rtems_semaphore_delete (*mutex);                               
   5e628:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5e62a:	4eb9 0004 c0e8 	jsr 4c0e8 <rtems_semaphore_delete>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e630:	588f           	addql #4,%sp                                <== NOT EXECUTED
int                                                                   
rtems_rfs_mutex_destroy (rtems_rfs_mutex* mutex)                      
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc;                                               
  sc = rtems_semaphore_delete (*mutex);                               
   5e632:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e634:	660a           	bnes 5e640 <rtems_rfs_mutex_destroy+0x22>   <== NOT EXECUTED
              rtems_status_text (sc));                                
    return EIO;                                                       
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e636:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
      printf ("rtems-rfs: mutex: close failed: %s\n",                 
              rtems_status_text (sc));                                
    return EIO;                                                       
  }                                                                   
#endif                                                                
  return 0;                                                           
   5e63a:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5e63c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e63e:	4e75           	rts                                         <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc;                                               
  sc = rtems_semaphore_delete (*mutex);                               
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5e640:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5e644:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e646:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5e64c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e64e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5e650:	660a           	bnes 5e65c <rtems_rfs_mutex_destroy+0x3e>   <== NOT EXECUTED
              rtems_status_text (sc));                                
    return EIO;                                                       
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e652:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
      printf ("rtems-rfs: mutex: close failed: %s\n",                 
              rtems_status_text (sc));                                
    return EIO;                                                       
   5e656:	7005           	moveq #5,%d0                                <== NOT EXECUTED
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e658:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e65a:	4e75           	rts                                         <== NOT EXECUTED
  rtems_status_code sc;                                               
  sc = rtems_semaphore_delete (*mutex);                               
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
      printf ("rtems-rfs: mutex: close failed: %s\n",                 
   5e65c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e65e:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5e664:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e666:	4879 0007 35cf 	pea 735cf <CSWTCH.2+0x1507>                 <== NOT EXECUTED
   5e66c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
              rtems_status_text (sc));                                
    return EIO;                                                       
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e672:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
  rtems_status_code sc;                                               
  sc = rtems_semaphore_delete (*mutex);                               
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
      printf ("rtems-rfs: mutex: close failed: %s\n",                 
   5e676:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
              rtems_status_text (sc));                                
    return EIO;                                                       
   5e67a:	7005           	moveq #5,%d0                                <== NOT EXECUTED
  }                                                                   
#endif                                                                
  return 0;                                                           
}                                                                     
   5e67c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00059e0c <rtems_rfs_release_chain>: static int rtems_rfs_release_chain (rtems_chain_control* chain, uint32_t* count, bool modified) {
   59e0c:	4e56 ffe4      	linkw %fp,#-28                              
   59e10:	48d7 3c1c      	moveml %d2-%d4/%a2-%a5,%sp@                 
  rtems_rfs_buffer* buffer;                                           
  int               rrc = 0;                                          
  int               rc;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
   59e14:	4878 0080      	pea 80 <DBL_MANT_DIG+0x4b>                  
                                                                      
static int                                                            
rtems_rfs_release_chain (rtems_chain_control* chain,                  
                         uint32_t*            count,                  
                         bool                 modified)               
{                                                                     
   59e18:	246e 0008      	moveal %fp@(8),%a2                          
  rtems_rfs_buffer* buffer;                                           
  int               rrc = 0;                                          
  int               rc;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
   59e1c:	42a7           	clrl %sp@-                                  
                                                                      
static int                                                            
rtems_rfs_release_chain (rtems_chain_control* chain,                  
                         uint32_t*            count,                  
                         bool                 modified)               
{                                                                     
   59e1e:	266e 000c      	moveal %fp@(12),%a3                         
   59e22:	182e 0013      	moveb %fp@(19),%d4                          
  rtems_rfs_buffer* buffer;                                           
  int               rrc = 0;                                          
  int               rc;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
   59e26:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 
   59e2c:	508f           	addql #8,%sp                                
   59e2e:	4a00           	tstb %d0                                    
   59e30:	664c           	bnes 59e7e <rtems_rfs_release_chain+0x72>   <== NEVER TAKEN
   59e32:	260a           	movel %a2,%d3                               
    (*count)--;                                                       
                                                                      
    buffer->user = (void*) 0;                                         
                                                                      
    rc = rtems_rfs_buffer_io_release (buffer, modified);              
    if ((rc > 0) && (rrc == 0))                                       
   59e34:	4282           	clrl %d2                                    
   59e36:	5883           	addql #4,%d3                                
 */                                                                   
RTEMS_INLINE_ROUTINE rtems_chain_node *rtems_chain_get(               
  rtems_chain_control *the_chain                                      
)                                                                     
{                                                                     
  return _Chain_Get( the_chain );                                     
   59e38:	4bf9 0004 cd20 	lea 4cd20 <_Chain_Get>,%a5                  
    buffer = (rtems_rfs_buffer*) rtems_chain_get (chain);             
    (*count)--;                                                       
                                                                      
    buffer->user = (void*) 0;                                         
                                                                      
    rc = rtems_rfs_buffer_io_release (buffer, modified);              
   59e3e:	49f9 0006 0052 	lea 60052 <rtems_rfs_buffer_bdbuf_release>,%a4
   59e44:	0284 0000 00ff 	andil #255,%d4                              
  int               rc;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf ("rtems-rfs: release-chain: count=%" PRIu32 "\n", *count); 
                                                                      
  while (!rtems_chain_is_empty (chain))                               
   59e4a:	b692           	cmpl %a2@,%d3                               
   59e4c:	6724           	beqs 59e72 <rtems_rfs_release_chain+0x66>   <== ALWAYS TAKEN
   59e4e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59e50:	4e95           	jsr %a5@                                    <== NOT EXECUTED
  {                                                                   
    buffer = (rtems_rfs_buffer*) rtems_chain_get (chain);             
    (*count)--;                                                       
   59e52:	5393           	subql #1,%a3@                               <== NOT EXECUTED
                                                                      
    buffer->user = (void*) 0;                                         
   59e54:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   59e56:	42a8 0032      	clrl %a0@(50)                               <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_buffer_io_release (buffer, modified);              
   59e5a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   59e5c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   59e5e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if ((rc > 0) && (rrc == 0))                                       
   59e60:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   59e64:	4a80           	tstl %d0                                    <== NOT EXECUTED
   59e66:	6fe2           	bles 59e4a <rtems_rfs_release_chain+0x3e>   <== NOT EXECUTED
   59e68:	4a82           	tstl %d2                                    <== NOT EXECUTED
   59e6a:	66de           	bnes 59e4a <rtems_rfs_release_chain+0x3e>   <== NOT EXECUTED
   59e6c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  int               rc;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf ("rtems-rfs: release-chain: count=%" PRIu32 "\n", *count); 
                                                                      
  while (!rtems_chain_is_empty (chain))                               
   59e6e:	b692           	cmpl %a2@,%d3                               <== NOT EXECUTED
   59e70:	66dc           	bnes 59e4e <rtems_rfs_release_chain+0x42>   <== NOT EXECUTED
    rc = rtems_rfs_buffer_io_release (buffer, modified);              
    if ((rc > 0) && (rrc == 0))                                       
      rrc = rc;                                                       
  }                                                                   
  return rrc;                                                         
}                                                                     
   59e72:	2002           	movel %d2,%d0                               
   59e74:	4cee 3c1c ffe4 	moveml %fp@(-28),%d2-%d4/%a2-%a5            
   59e7a:	4e5e           	unlk %fp                                    
   59e7c:	4e75           	rts                                         
  rtems_rfs_buffer* buffer;                                           
  int               rrc = 0;                                          
  int               rc;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf ("rtems-rfs: release-chain: count=%" PRIu32 "\n", *count); 
   59e7e:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   59e80:	260a           	movel %a2,%d3                               <== NOT EXECUTED
   59e82:	4879 0007 21c5 	pea 721c5 <CSWTCH.2+0xfd>                   <== NOT EXECUTED
    (*count)--;                                                       
                                                                      
    buffer->user = (void*) 0;                                         
                                                                      
    rc = rtems_rfs_buffer_io_release (buffer, modified);              
    if ((rc > 0) && (rrc == 0))                                       
   59e88:	4282           	clrl %d2                                    <== NOT EXECUTED
   59e8a:	5883           	addql #4,%d3                                <== NOT EXECUTED
   59e8c:	4bf9 0004 cd20 	lea 4cd20 <_Chain_Get>,%a5                  <== NOT EXECUTED
    buffer = (rtems_rfs_buffer*) rtems_chain_get (chain);             
    (*count)--;                                                       
                                                                      
    buffer->user = (void*) 0;                                         
                                                                      
    rc = rtems_rfs_buffer_io_release (buffer, modified);              
   59e92:	49f9 0006 0052 	lea 60052 <rtems_rfs_buffer_bdbuf_release>,%a4<== NOT EXECUTED
  rtems_rfs_buffer* buffer;                                           
  int               rrc = 0;                                          
  int               rc;                                               
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf ("rtems-rfs: release-chain: count=%" PRIu32 "\n", *count); 
   59e98:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   59e9e:	508f           	addql #8,%sp                                <== NOT EXECUTED
    buffer = (rtems_rfs_buffer*) rtems_chain_get (chain);             
    (*count)--;                                                       
                                                                      
    buffer->user = (void*) 0;                                         
                                                                      
    rc = rtems_rfs_buffer_io_release (buffer, modified);              
   59ea0:	0284 0000 00ff 	andil #255,%d4                              <== NOT EXECUTED
   59ea6:	60a2           	bras 59e4a <rtems_rfs_release_chain+0x3e>   <== NOT EXECUTED
                                                                      

00052040 <rtems_rfs_rtems_chown>: static int rtems_rfs_rtems_chown (const rtems_filesystem_location_info_t *pathloc, uid_t owner, gid_t group) {
   52040:	4e56 ffc8      	linkw %fp,#-56                              <== NOT EXECUTED
   52044:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   52048:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
                                                                      
static int                                                            
rtems_rfs_rtems_chown (const rtems_filesystem_location_info_t *pathloc,
                       uid_t                                   owner, 
                       gid_t                                   group) 
{                                                                     
   5204c:	48d7 003c      	moveml %d2-%d5,%sp@                         <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   52050:	2629 0008      	movel %a1@(8),%d3                           <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_CHOWN))            
    printf ("rtems-rfs-rtems: chown: in: ino:%" PRId32 " uid:%d gid:%d\n",
            ino, owner, group);                                       
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   52054:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   52058:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   5205c:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
                                                                      
static int                                                            
rtems_rfs_rtems_chown (const rtems_filesystem_location_info_t *pathloc,
                       uid_t                                   owner, 
                       gid_t                                   group) 
{                                                                     
   52060:	382e 000e      	movew %fp@(14),%d4                          <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_CHOWN))            
    printf ("rtems-rfs-rtems: chown: in: ino:%" PRId32 " uid:%d gid:%d\n",
            ino, owner, group);                                       
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   52064:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
                                                                      
static int                                                            
rtems_rfs_rtems_chown (const rtems_filesystem_location_info_t *pathloc,
                       uid_t                                   owner, 
                       gid_t                                   group) 
{                                                                     
   52066:	3a2e 0012      	movew %fp@(18),%d5                          <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_CHOWN))            
    printf ("rtems-rfs-rtems: chown: in: ino:%" PRId32 " uid:%d gid:%d\n",
            ino, owner, group);                                       
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5206a:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc > 0)                                                         
   52070:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_CHOWN))            
    printf ("rtems-rfs-rtems: chown: in: ino:%" PRId32 " uid:%d gid:%d\n",
            ino, owner, group);                                       
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   52074:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   52076:	6f18           	bles 52090 <rtems_rfs_rtems_chown+0x50>     <== NOT EXECUTED
  rtems_rfs_inode_set_uid_gid (&inode, owner, group);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("chown: closing inode", rc);        
   52078:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5207e:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   52080:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52082:	2001           	movel %d1,%d0                               <== NOT EXECUTED
  rtems_rfs_inode_set_uid_gid (&inode, owner, group);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("chown: closing inode", rc);        
   52084:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52086:	4cee 003c ffc8 	moveml %fp@(-56),%d2-%d5                    <== NOT EXECUTED
   5208c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5208e:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_uid_gid (rtems_rfs_inode_handle* handle,          
                             uint16_t uid, uint16_t gid)              
{                                                                     
  rtems_rfs_write_u32 (&handle->node->owner, (((uint32_t) gid) << 16) | uid);
   52090:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   52092:	4281           	clrl %d1                                    <== NOT EXECUTED
   52094:	4840           	swap %d0                                    <== NOT EXECUTED
   52096:	4240           	clrw %d0                                    <== NOT EXECUTED
   52098:	3204           	movew %d4,%d1                               <== NOT EXECUTED
   5209a:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   5209e:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   520a0:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   520a2:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   520a4:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
   520a6:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   520a8:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   520aa:	1142 0004      	moveb %d2,%a0@(4)                           <== NOT EXECUTED
   520ae:	4240           	clrw %d0                                    <== NOT EXECUTED
   520b0:	4840           	swap %d0                                    <== NOT EXECUTED
   520b2:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   520b6:	1140 0005      	moveb %d0,%a0@(5)                           <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   520ba:	7001           	moveq #1,%d0                                <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_uid_gid (rtems_rfs_inode_handle* handle,          
                             uint16_t uid, uint16_t gid)              
{                                                                     
  rtems_rfs_write_u32 (&handle->node->owner, (((uint32_t) gid) << 16) | uid);
   520bc:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   520c0:	1141 0006      	moveb %d1,%a0@(6)                           <== NOT EXECUTED
   520c4:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   520c8:	1144 0007      	moveb %d4,%a0@(7)                           <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   520cc:	1d40 ffea      	moveb %d0,%fp@(-22)                         <== NOT EXECUTED
  }                                                                   
#endif                                                                
                                                                      
  rtems_rfs_inode_set_uid_gid (&inode, owner, group);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   520d0:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   520d4:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   520d6:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc)                                                             
   520dc:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
#endif                                                                
                                                                      
  rtems_rfs_inode_set_uid_gid (&inode, owner, group);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   520de:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   520e0:	6696           	bnes 52078 <rtems_rfs_rtems_chown+0x38>     <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("chown: closing inode", rc);        
  }                                                                   
                                                                      
  return 0;                                                           
   520e2:	4281           	clrl %d1                                    <== NOT EXECUTED
}                                                                     
   520e4:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   520e6:	4cee 003c ffc8 	moveml %fp@(-56),%d2-%d5                    <== NOT EXECUTED
   520ec:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005e6f6 <rtems_rfs_rtems_device_close>: * @return int */ static int rtems_rfs_rtems_device_close (rtems_libio_t* iop) {
   5e6f6:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5e6fa:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_device_major_number     major;                                
  rtems_device_minor_number     minor;                                
                                                                      
  rtems_rfs_rtems_device_get_major_and_minor (iop, &major, &minor);   
                                                                      
  return rtems_deviceio_close (iop, major, minor);                    
   5e6fe:	2f28 002c      	movel %a0@(44),%sp@-                        <== NOT EXECUTED
   5e702:	2f28 0028      	movel %a0@(40),%sp@-                        <== NOT EXECUTED
   5e706:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5e708:	4eb9 0005 fbce 	jsr 5fbce <rtems_deviceio_close>            <== NOT EXECUTED
}                                                                     
   5e70e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005e680 <rtems_rfs_rtems_device_ftruncate>: static int rtems_rfs_rtems_device_ftruncate (rtems_libio_t* iop, off_t length) { return 0; }
   5e680:	4280           	clrl %d0                                    <== NOT EXECUTED
 * @return int                                                        
 */                                                                   
                                                                      
static int                                                            
rtems_rfs_rtems_device_ftruncate (rtems_libio_t* iop, off_t length)   
{                                                                     
   5e682:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  return 0;                                                           
}                                                                     
   5e686:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005e68a <rtems_rfs_rtems_device_ioctl>: static int rtems_rfs_rtems_device_ioctl (rtems_libio_t* iop, ioctl_command_t command, void* buffer) {
   5e68a:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5e68e:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_device_major_number major;                                    
  rtems_device_minor_number minor;                                    
                                                                      
  rtems_rfs_rtems_device_get_major_and_minor (iop, &major, &minor);   
                                                                      
  return rtems_deviceio_control (iop, command, buffer, major, minor); 
   5e692:	2f28 002c      	movel %a0@(44),%sp@-                        <== NOT EXECUTED
   5e696:	2f28 0028      	movel %a0@(40),%sp@-                        <== NOT EXECUTED
   5e69a:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5e69e:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5e6a2:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5e6a4:	4eb9 0005 fd06 	jsr 5fd06 <rtems_deviceio_control>          <== NOT EXECUTED
}                                                                     
   5e6aa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005e712 <rtems_rfs_rtems_device_open>: static int rtems_rfs_rtems_device_open ( rtems_libio_t *iop, const char *pathname, int oflag, mode_t mode) {
   5e712:	4e56 ffac      	linkw %fp,#-84                              <== NOT EXECUTED
   5e716:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
   5e71a:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
  rtems_rfs_file_system*        fs = rtems_rfs_rtems_pathloc_dev (&iop->pathinfo);
   5e71e:	206b 0024      	moveal %a3@(36),%a0                         <== NOT EXECUTED
   5e722:	2468 0008      	moveal %a0@(8),%a2                          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5e726:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e728:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_rfs_rtems_device_ftruncate,                    
  .fsync_h     = rtems_filesystem_default_fsync_or_fdatasync,         
  .fdatasync_h = rtems_filesystem_default_fsync_or_fdatasync,         
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5e72a:	206a 0080      	moveal %a2@(128),%a0                        <== NOT EXECUTED
   5e72e:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
                              const char    *pathname,                
                              int            oflag,                   
                              mode_t         mode)                    
{                                                                     
  rtems_rfs_file_system*        fs = rtems_rfs_rtems_pathloc_dev (&iop->pathinfo);
  rtems_rfs_ino                 ino = rtems_rfs_rtems_get_iop_ino (iop);
   5e730:	262b 0018      	movel %a3@(24),%d3                          <== NOT EXECUTED
   5e734:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e73a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5e73e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e740:	664c           	bnes 5e78e <rtems_rfs_rtems_device_open+0x7c><== NOT EXECUTED
  rtems_device_minor_number     minor;                                
  int                           rc;                                   
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5e742:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5e746:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   5e74a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e74c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5e74e:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc > 0)                                                         
   5e754:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  rtems_device_minor_number     minor;                                
  int                           rc;                                   
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5e758:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5e75a:	6f00 00b6      	blew 5e812 <rtems_rfs_rtems_device_open+0x100><== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5e75e:	266a 0080      	moveal %a2@(128),%a3                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5e762:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5e764:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5e76a:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   5e76c:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e772:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5e774:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e776:	665e           	bnes 5e7d6 <rtems_rfs_rtems_device_open+0xc4><== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("device_open: closing inode", rc);  
   5e778:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5e77e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5e780:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5e782:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
                                                                      
  iop->data0 = major;                                                 
  iop->data1 = (void *) minor;                                        
                                                                      
  return rtems_deviceio_open (iop, pathname, oflag, mode, minor, major);
}                                                                     
   5e784:	4cee 3cfc ffac 	moveml %fp@(-84),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5e78a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e78c:	4e75           	rts                                         <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5e78e:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5e792:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e794:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5e79a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e79c:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5e79e:	67a2           	beqs 5e742 <rtems_rfs_rtems_device_open+0x30><== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5e7a0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e7a2:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5e7a8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e7aa:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5e7b0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5e7b6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  rtems_device_minor_number     minor;                                
  int                           rc;                                   
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5e7ba:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5e7be:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   5e7c2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e7c4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5e7c6:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc > 0)                                                         
   5e7cc:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  rtems_device_minor_number     minor;                                
  int                           rc;                                   
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5e7d0:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5e7d2:	6e8a           	bgts 5e75e <rtems_rfs_rtems_device_open+0x4c><== NOT EXECUTED
   5e7d4:	603c           	bras 5e812 <rtems_rfs_rtems_device_open+0x100><== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5e7d6:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5e7da:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e7dc:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5e7e2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e7e4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5e7e6:	6790           	beqs 5e778 <rtems_rfs_rtems_device_open+0x66><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5e7e8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e7ea:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5e7f0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e7f2:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5e7f8:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5e7fe:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("device_open: closing inode", rc);  
   5e802:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5e808:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5e80a:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5e80c:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   5e80e:	6000 ff74      	braw 5e784 <rtems_rfs_rtems_device_open+0x72><== NOT EXECUTED
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("device_open: opening inode", rc);  
  }                                                                   
                                                                      
  major = rtems_rfs_inode_get_block (&inode, 0);                      
   5e812:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 * @return uint32_t The block number.                                 
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block (rtems_rfs_inode_handle* handle, int block) 
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->data.blocks[block]);      
   5e816:	1428 0022      	moveb %a0@(34),%d2                          <== NOT EXECUTED
   5e81a:	1028 001c      	moveb %a0@(28),%d0                          <== NOT EXECUTED
   5e81e:	1228 001d      	moveb %a0@(29),%d1                          <== NOT EXECUTED
   5e822:	1a28 001e      	moveb %a0@(30),%d5                          <== NOT EXECUTED
   5e826:	1c28 001f      	moveb %a0@(31),%d6                          <== NOT EXECUTED
   5e82a:	1828 0020      	moveb %a0@(32),%d4                          <== NOT EXECUTED
   5e82e:	1e28 0021      	moveb %a0@(33),%d7                          <== NOT EXECUTED
   5e832:	1628 0023      	moveb %a0@(35),%d3                          <== NOT EXECUTED
  minor = rtems_rfs_inode_get_block (&inode, 1);                      
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5e836:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   5e83a:	1d42 ffd7      	moveb %d2,%fp@(-41)                         <== NOT EXECUTED
   5e83e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5e840:	3840           	moveaw %d0,%a4                              <== NOT EXECUTED
   5e842:	3a41           	moveaw %d1,%a5                              <== NOT EXECUTED
   5e844:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   5e84a:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  major = rtems_rfs_inode_get_block (&inode, 0);                      
  minor = rtems_rfs_inode_get_block (&inode, 1);                      
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5e84c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5e84e:	6e00 ff0e      	bgtw 5e75e <rtems_rfs_rtems_device_open+0x4c><== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5e852:	242a 0080      	movel %a2@(128),%d2                         <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5e856:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5e858:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5e85e:	2042           	moveal %d2,%a0                              <== NOT EXECUTED
   5e860:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5e862:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e868:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5e86a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e86c:	6672           	bnes 5e8e0 <rtems_rfs_rtems_device_open+0x1ce><== NOT EXECUTED
   5e86e:	4281           	clrl %d1                                    <== NOT EXECUTED
   5e870:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   5e872:	300d           	movew %a5,%d0                               <== NOT EXECUTED
   5e874:	0287 0000 00ff 	andil #255,%d7                              <== NOT EXECUTED
   5e87a:	0286 0000 00ff 	andil #255,%d6                              <== NOT EXECUTED
   5e880:	1200           	moveb %d0,%d1                               <== NOT EXECUTED
   5e882:	200c           	movel %a4,%d0                               <== NOT EXECUTED
   5e884:	4841           	swap %d1                                    <== NOT EXECUTED
   5e886:	4241           	clrw %d1                                    <== NOT EXECUTED
   5e888:	e5a8           	lsll %d2,%d0                                <== NOT EXECUTED
   5e88a:	0285 0000 00ff 	andil #255,%d5                              <== NOT EXECUTED
   5e890:	4847           	swap %d7                                    <== NOT EXECUTED
   5e892:	4247           	clrw %d7                                    <== NOT EXECUTED
   5e894:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5e896:	e5ac           	lsll %d2,%d4                                <== NOT EXECUTED
   5e898:	4281           	clrl %d1                                    <== NOT EXECUTED
   5e89a:	122e ffd7      	moveb %fp@(-41),%d1                         <== NOT EXECUTED
   5e89e:	8086           	orl %d6,%d0                                 <== NOT EXECUTED
   5e8a0:	e18d           	lsll #8,%d5                                 <== NOT EXECUTED
   5e8a2:	8887           	orl %d7,%d4                                 <== NOT EXECUTED
   5e8a4:	0283 0000 00ff 	andil #255,%d3                              <== NOT EXECUTED
   5e8aa:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   5e8ac:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  iop->data0 = major;                                                 
  iop->data1 = (void *) minor;                                        
                                                                      
  return rtems_deviceio_open (iop, pathname, oflag, mode, minor, major);
   5e8ae:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e8b0:	8883           	orl %d3,%d4                                 <== NOT EXECUTED
    return rtems_rfs_rtems_error ("device_open: closing inode", rc);  
  }                                                                   
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  iop->data0 = major;                                                 
   5e8b2:	2740 0028      	movel %d0,%a3@(40)                          <== NOT EXECUTED
   5e8b6:	8881           	orl %d1,%d4                                 <== NOT EXECUTED
  iop->data1 = (void *) minor;                                        
                                                                      
  return rtems_deviceio_open (iop, pathname, oflag, mode, minor, major);
   5e8b8:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e8ba:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5e8be:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5e8c2:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  iop->data0 = major;                                                 
  iop->data1 = (void *) minor;                                        
   5e8c6:	2744 002c      	movel %d4,%a3@(44)                          <== NOT EXECUTED
                                                                      
  return rtems_deviceio_open (iop, pathname, oflag, mode, minor, major);
   5e8ca:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5e8cc:	4eb9 0005 fb98 	jsr 5fb98 <rtems_deviceio_open>             <== NOT EXECUTED
   5e8d2:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
}                                                                     
   5e8d6:	4cee 3cfc ffac 	moveml %fp@(-84),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5e8dc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e8de:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5e8e0:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5e8e4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e8e6:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5e8ec:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e8ee:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5e8f0:	6700 ff7c      	beqw 5e86e <rtems_rfs_rtems_device_open+0x15c><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5e8f4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e8f6:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   5e8f8:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5e8fe:	0287 0000 00ff 	andil #255,%d7                              <== NOT EXECUTED
   5e904:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e906:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5e90c:	0286 0000 00ff 	andil #255,%d6                              <== NOT EXECUTED
   5e912:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5e918:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5e91c:	4281           	clrl %d1                                    <== NOT EXECUTED
   5e91e:	300d           	movew %a5,%d0                               <== NOT EXECUTED
   5e920:	0285 0000 00ff 	andil #255,%d5                              <== NOT EXECUTED
   5e926:	4847           	swap %d7                                    <== NOT EXECUTED
   5e928:	4247           	clrw %d7                                    <== NOT EXECUTED
   5e92a:	1200           	moveb %d0,%d1                               <== NOT EXECUTED
   5e92c:	200c           	movel %a4,%d0                               <== NOT EXECUTED
   5e92e:	4841           	swap %d1                                    <== NOT EXECUTED
   5e930:	4241           	clrw %d1                                    <== NOT EXECUTED
   5e932:	e5a8           	lsll %d2,%d0                                <== NOT EXECUTED
   5e934:	e5ac           	lsll %d2,%d4                                <== NOT EXECUTED
   5e936:	e18d           	lsll #8,%d5                                 <== NOT EXECUTED
   5e938:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5e93a:	4281           	clrl %d1                                    <== NOT EXECUTED
   5e93c:	122e ffd7      	moveb %fp@(-41),%d1                         <== NOT EXECUTED
   5e940:	8086           	orl %d6,%d0                                 <== NOT EXECUTED
   5e942:	8887           	orl %d7,%d4                                 <== NOT EXECUTED
   5e944:	0283 0000 00ff 	andil #255,%d3                              <== NOT EXECUTED
   5e94a:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   5e94c:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  iop->data0 = major;                                                 
  iop->data1 = (void *) minor;                                        
                                                                      
  return rtems_deviceio_open (iop, pathname, oflag, mode, minor, major);
   5e94e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e950:	8883           	orl %d3,%d4                                 <== NOT EXECUTED
    return rtems_rfs_rtems_error ("device_open: closing inode", rc);  
  }                                                                   
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  iop->data0 = major;                                                 
   5e952:	2740 0028      	movel %d0,%a3@(40)                          <== NOT EXECUTED
   5e956:	8881           	orl %d1,%d4                                 <== NOT EXECUTED
  iop->data1 = (void *) minor;                                        
                                                                      
  return rtems_deviceio_open (iop, pathname, oflag, mode, minor, major);
   5e958:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e95a:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5e95e:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5e962:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  iop->data0 = major;                                                 
  iop->data1 = (void *) minor;                                        
   5e966:	2744 002c      	movel %d4,%a3@(44)                          <== NOT EXECUTED
                                                                      
  return rtems_deviceio_open (iop, pathname, oflag, mode, minor, major);
   5e96a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5e96c:	4eb9 0005 fb98 	jsr 5fb98 <rtems_deviceio_open>             <== NOT EXECUTED
   5e972:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   5e976:	6000 ff5e      	braw 5e8d6 <rtems_rfs_rtems_device_open+0x1c4><== NOT EXECUTED
	...                                                                  
                                                                      

0005e6d2 <rtems_rfs_rtems_device_read>: * @return ssize_t */ static ssize_t rtems_rfs_rtems_device_read (rtems_libio_t* iop, void* buffer, size_t count) {
   5e6d2:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5e6d6:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_device_major_number major;                                    
  rtems_device_minor_number minor;                                    
                                                                      
  rtems_rfs_rtems_device_get_major_and_minor (iop, &major, &minor);   
                                                                      
  return rtems_deviceio_read (iop, buffer, count, major, minor);      
   5e6da:	2f28 002c      	movel %a0@(44),%sp@-                        <== NOT EXECUTED
   5e6de:	2f28 0028      	movel %a0@(40),%sp@-                        <== NOT EXECUTED
   5e6e2:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5e6e6:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5e6ea:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5e6ec:	4eb9 0005 fbfe 	jsr 5fbfe <rtems_deviceio_read>             <== NOT EXECUTED
}                                                                     
   5e6f2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005e6ae <rtems_rfs_rtems_device_write>: static ssize_t rtems_rfs_rtems_device_write (rtems_libio_t* iop, const void* buffer, size_t count) {
   5e6ae:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   5e6b2:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_device_major_number major;                                    
  rtems_device_minor_number minor;                                    
                                                                      
  rtems_rfs_rtems_device_get_major_and_minor (iop, &major, &minor);   
                                                                      
  return rtems_deviceio_write (iop, buffer, count, major, minor);     
   5e6b6:	2f28 002c      	movel %a0@(44),%sp@-                        <== NOT EXECUTED
   5e6ba:	2f28 0028      	movel %a0@(40),%sp@-                        <== NOT EXECUTED
   5e6be:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5e6c2:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5e6c6:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5e6c8:	4eb9 0005 fc82 	jsr 5fc82 <rtems_deviceio_write>            <== NOT EXECUTED
}                                                                     
   5e6ce:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005e97c <rtems_rfs_rtems_dir_close>: { /* * The RFS does not hold any resources. Nothing to do. */ return 0; }
   5e97c:	4280           	clrl %d0                                    <== NOT EXECUTED
 * @param iop                                                         
 * @retval 0 Always no error.                                         
 */                                                                   
static int                                                            
rtems_rfs_rtems_dir_close (rtems_libio_t* iop)                        
{                                                                     
   5e97e:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  /*                                                                  
   * The RFS does not hold any resources. Nothing to do.              
   */                                                                 
  return 0;                                                           
}                                                                     
   5e982:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005ebb8 <rtems_rfs_rtems_dir_open>: static int rtems_rfs_rtems_dir_open (rtems_libio_t* iop, const char* pathname, int oflag, mode_t mode) {
   5ebb8:	4e56 ffc8      	linkw %fp,#-56                              <== NOT EXECUTED
   5ebbc:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 <== NOT EXECUTED
   5ebc0:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (&iop->pathinfo);
   5ebc4:	206b 0024      	moveal %a3@(36),%a0                         <== NOT EXECUTED
   5ebc8:	2468 0008      	moveal %a0@(8),%a2                          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5ebcc:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  rtems_rfs_ino          ino = rtems_rfs_rtems_get_iop_ino (iop);     
   5ebce:	262b 0018      	movel %a3@(24),%d3                          <== NOT EXECUTED
   5ebd2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_filesystem_default_ftruncate_directory,        
  .fsync_h     = rtems_filesystem_default_fsync_or_fdatasync,         
  .fdatasync_h = rtems_rfs_rtems_fdatasync,                           
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5ebd4:	206a 0080      	moveal %a2@(128),%a0                        <== NOT EXECUTED
   5ebd8:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5ebda:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ebe0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5ebe4:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ebe6:	667e           	bnes 5ec66 <rtems_rfs_rtems_dir_open+0xae>  <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5ebe8:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5ebec:	240e           	movel %fp,%d2                               <== NOT EXECUTED
   5ebee:	0682 ffff ffda 	addil #-38,%d2                              <== NOT EXECUTED
   5ebf4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ebf6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5ebf8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5ebfa:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc)                                                             
   5ec00:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5ec04:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  if (rc)                                                             
   5ec06:	6600 00ae      	bnew 5ecb6 <rtems_rfs_rtems_dir_open+0xfe>  <== NOT EXECUTED
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("dir_open: opening inode", rc);     
  }                                                                   
                                                                      
  if (!RTEMS_RFS_S_ISDIR (rtems_rfs_inode_get_mode (&inode)))         
   5ec0a:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 * @return uint16_t The mode.                                         
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle)             
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->mode);                    
   5ec0e:	4280           	clrl %d0                                    <== NOT EXECUTED
   5ec10:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   5ec14:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5ec16:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   5ec1c:	0c80 0000 4000 	cmpil #16384,%d0                            <== NOT EXECUTED
   5ec22:	6600 0130      	bnew 5ed54 <rtems_rfs_rtems_dir_open+0x19c> <== NOT EXECUTED
    return rtems_rfs_rtems_error ("dir_open: not dir", ENOTDIR);      
  }                                                                   
                                                                      
  iop->offset = 0;                                                    
                                                                      
  rtems_rfs_inode_close (fs, &inode);                                 
   5ec26:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                               
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("dir_open: not dir", ENOTDIR);      
  }                                                                   
                                                                      
  iop->offset = 0;                                                    
   5ec28:	4280           	clrl %d0                                    <== NOT EXECUTED
   5ec2a:	4281           	clrl %d1                                    <== NOT EXECUTED
   5ec2c:	2740 0004      	movel %d0,%a3@(4)                           <== NOT EXECUTED
   5ec30:	2741 0008      	movel %d1,%a3@(8)                           <== NOT EXECUTED
                                                                      
  rtems_rfs_inode_close (fs, &inode);                                 
   5ec34:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5ec36:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5ec3c:	266a 0080      	moveal %a2@(128),%a3                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5ec40:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5ec42:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ec48:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   5ec4a:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ec50:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ec54:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ec56:	6600 008e      	bnew 5ece6 <rtems_rfs_rtems_dir_open+0x12e> <== NOT EXECUTED
  rtems_rfs_rtems_unlock (fs);                                        
  return 0;                                                           
   5ec5a:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5ec5c:	4cee 0c0c ffc8 	moveml %fp@(-56),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   5ec62:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ec64:	4e75           	rts                                         <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5ec66:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5ec6a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ec6c:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5ec72:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ec74:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ec76:	6700 ff70      	beqw 5ebe8 <rtems_rfs_rtems_dir_open+0x30>  <== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5ec7a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5ec7c:	240e           	movel %fp,%d2                               <== NOT EXECUTED
   5ec7e:	0682 ffff ffda 	addil #-38,%d2                              <== NOT EXECUTED
   5ec84:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5ec8a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ec8c:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5ec92:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ec98:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5ec9c:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5eca0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5eca2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5eca4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5eca6:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc)                                                             
   5ecac:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5ecb0:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  if (rc)                                                             
   5ecb2:	6700 ff56      	beqw 5ec0a <rtems_rfs_rtems_dir_open+0x52>  <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5ecb6:	266a 0080      	moveal %a2@(128),%a3                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5ecba:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5ecbc:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ecc2:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   5ecc4:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ecca:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5eccc:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ecce:	664a           	bnes 5ed1a <rtems_rfs_rtems_dir_open+0x162> <== NOT EXECUTED
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("dir_open: opening inode", rc);     
   5ecd0:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5ecd6:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5ecd8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5ecda:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
  iop->offset = 0;                                                    
                                                                      
  rtems_rfs_inode_close (fs, &inode);                                 
  rtems_rfs_rtems_unlock (fs);                                        
  return 0;                                                           
}                                                                     
   5ecdc:	4cee 0c0c ffc8 	moveml %fp@(-56),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   5ece2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ece4:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5ece6:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5ecea:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ecec:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5ecf2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ecf4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ecf6:	6700 ff62      	beqw 5ec5a <rtems_rfs_rtems_dir_open+0xa2>  <== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5ecfa:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ecfc:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5ed02:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ed04:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5ed0a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ed10:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  iop->offset = 0;                                                    
                                                                      
  rtems_rfs_inode_close (fs, &inode);                                 
  rtems_rfs_rtems_unlock (fs);                                        
  return 0;                                                           
   5ed14:	4280           	clrl %d0                                    <== NOT EXECUTED
   5ed16:	6000 ff44      	braw 5ec5c <rtems_rfs_rtems_dir_open+0xa4>  <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5ed1a:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5ed1e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ed20:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5ed26:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ed28:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ed2a:	67a4           	beqs 5ecd0 <rtems_rfs_rtems_dir_open+0x118> <== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5ed2c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ed2e:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5ed34:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ed36:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5ed3c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5ed42:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
  if (rc)                                                             
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("dir_open: opening inode", rc);     
   5ed46:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5ed4c:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5ed4e:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5ed50:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
   5ed52:	6088           	bras 5ecdc <rtems_rfs_rtems_dir_open+0x124> <== NOT EXECUTED
  }                                                                   
                                                                      
  if (!RTEMS_RFS_S_ISDIR (rtems_rfs_inode_get_mode (&inode)))         
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
   5ed54:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ed56:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5ed58:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5ed5e:	266a 0080      	moveal %a2@(128),%a3                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5ed62:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5ed64:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ed6a:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   5ed6c:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ed72:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ed76:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ed78:	6618           	bnes 5ed92 <rtems_rfs_rtems_dir_open+0x1da> <== NOT EXECUTED
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("dir_open: not dir", ENOTDIR);      
   5ed7a:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5ed80:	7214           	moveq #20,%d1                               <== NOT EXECUTED
   5ed82:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5ed84:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5ed86:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
  iop->offset = 0;                                                    
                                                                      
  rtems_rfs_inode_close (fs, &inode);                                 
  rtems_rfs_rtems_unlock (fs);                                        
  return 0;                                                           
}                                                                     
   5ed88:	4cee 0c0c ffc8 	moveml %fp@(-56),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   5ed8e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ed90:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5ed92:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5ed96:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ed98:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5ed9e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5eda0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5eda2:	67d6           	beqs 5ed7a <rtems_rfs_rtems_dir_open+0x1c2> <== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5eda4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5eda6:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5edac:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5edae:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5edb4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5edba:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  if (!RTEMS_RFS_S_ISDIR (rtems_rfs_inode_get_mode (&inode)))         
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("dir_open: not dir", ENOTDIR);      
   5edbe:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5edc4:	7214           	moveq #20,%d1                               <== NOT EXECUTED
   5edc6:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5edc8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5edca:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
   5edcc:	60ba           	bras 5ed88 <rtems_rfs_rtems_dir_open+0x1d0> <== NOT EXECUTED
	...                                                                  
                                                                      

0005e986 <rtems_rfs_rtems_dir_read>: */ static ssize_t rtems_rfs_rtems_dir_read (rtems_libio_t* iop, void* buffer, size_t count) {
   5e986:	4e56 ffa8      	linkw %fp,#-88                              <== NOT EXECUTED
   5e98a:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
   5e98e:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (&iop->pathinfo);
   5e992:	206a 0024      	moveal %a2@(36),%a0                         <== NOT EXECUTED
   5e996:	2668 0008      	moveal %a0@(8),%a3                          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5e99a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
 */                                                                   
static ssize_t                                                        
rtems_rfs_rtems_dir_read (rtems_libio_t* iop,                         
                          void*          buffer,                      
                          size_t         count)                       
{                                                                     
   5e99c:	286e 000c      	moveal %fp@(12),%a4                         <== NOT EXECUTED
   5e9a0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_filesystem_default_ftruncate_directory,        
  .fsync_h     = rtems_filesystem_default_fsync_or_fdatasync,         
  .fdatasync_h = rtems_rfs_rtems_fdatasync,                           
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5e9a2:	206b 0080      	moveal %a3@(128),%a0                        <== NOT EXECUTED
   5e9a6:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
rtems_rfs_rtems_dir_read (rtems_libio_t* iop,                         
                          void*          buffer,                      
                          size_t         count)                       
{                                                                     
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (&iop->pathinfo);
  rtems_rfs_ino          ino = rtems_rfs_rtems_get_iop_ino (iop);     
   5e9a8:	262a 0018      	movel %a2@(24),%d3                          <== NOT EXECUTED
   5e9ac:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e9b2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5e9b6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5e9b8:	6600 00c4      	bnew 5ea7e <rtems_rfs_rtems_dir_read+0xf8>  <== NOT EXECUTED
  count  = count / sizeof (struct dirent);                            
  dirent = buffer;                                                    
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5e9bc:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5e9c0:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5e9c2:	0685 ffff ffda 	addil #-38,%d5                              <== NOT EXECUTED
   5e9c8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5e9ca:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e9cc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5e9ce:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc)                                                             
   5e9d4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  count  = count / sizeof (struct dirent);                            
  dirent = buffer;                                                    
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5e9d8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   5e9da:	6600 00f2      	bnew 5eace <rtems_rfs_rtems_dir_read+0x148> <== NOT EXECUTED
  struct dirent*         dirent;                                      
  ssize_t                bytes_transferred;                           
  int                    d;                                           
  int                    rc;                                          
                                                                      
  count  = count / sizeof (struct dirent);                            
   5e9de:	2c2e 0010      	movel %fp@(16),%d6                          <== NOT EXECUTED
   5e9e2:	223c 0000 0110 	movel #272,%d1                              <== NOT EXECUTED
    return rtems_rfs_rtems_error ("dir_read: read inode", rc);        
  }                                                                   
                                                                      
  bytes_transferred = 0;                                              
                                                                      
  for (d = 0; d < count; d++, dirent++)                               
   5e9e8:	4284           	clrl %d4                                    <== NOT EXECUTED
  struct dirent*         dirent;                                      
  ssize_t                bytes_transferred;                           
  int                    d;                                           
  int                    rc;                                          
                                                                      
  count  = count / sizeof (struct dirent);                            
   5e9ea:	4c41 6006      	remul %d1,%d6,%d6                           <== NOT EXECUTED
    return rtems_rfs_rtems_error ("dir_read: read inode", rc);        
  }                                                                   
                                                                      
  bytes_transferred = 0;                                              
                                                                      
  for (d = 0; d < count; d++, dirent++)                               
   5e9ee:	675a           	beqs 5ea4a <rtems_rfs_rtems_dir_read+0xc4>  <== NOT EXECUTED
 * exisiting file, the remaining entries will be placed in the buffer and the
 * returned value will be equal to -m actual- times the size of a directory
 * entry.                                                             
 */                                                                   
static ssize_t                                                        
rtems_rfs_rtems_dir_read (rtems_libio_t* iop,                         
   5e9f0:	4287           	clrl %d7                                    <== NOT EXECUTED
   5e9f2:	4284           	clrl %d4                                    <== NOT EXECUTED
   5e9f4:	4bf9 0005 b7f2 	lea 5b7f2 <rtems_rfs_dir_read>,%a5          <== NOT EXECUTED
   5e9fa:	242a 0004      	movel %a2@(4),%d2                           <== NOT EXECUTED
   5e9fe:	262a 0008      	movel %a2@(8),%d3                           <== NOT EXECUTED
  bytes_transferred = 0;                                              
                                                                      
  for (d = 0; d < count; d++, dirent++)                               
  {                                                                   
    size_t size;                                                      
    rc = rtems_rfs_dir_read (fs, &inode, iop->offset, dirent, &size); 
   5ea02:	486e ffd6      	pea %fp@(-42)                               <== NOT EXECUTED
   5ea06:	4874 4800      	pea %a4@(00000000,%d4:l)                    <== NOT EXECUTED
    return rtems_rfs_rtems_error ("dir_read: read inode", rc);        
  }                                                                   
                                                                      
  bytes_transferred = 0;                                              
                                                                      
  for (d = 0; d < count; d++, dirent++)                               
   5ea0a:	5287           	addql #1,%d7                                <== NOT EXECUTED
  {                                                                   
    size_t size;                                                      
    rc = rtems_rfs_dir_read (fs, &inode, iop->offset, dirent, &size); 
   5ea0c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5ea0e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ea10:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5ea12:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5ea14:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    if (rc == ENOENT)                                                 
   5ea16:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
  bytes_transferred = 0;                                              
                                                                      
  for (d = 0; d < count; d++, dirent++)                               
  {                                                                   
    size_t size;                                                      
    rc = rtems_rfs_dir_read (fs, &inode, iop->offset, dirent, &size); 
   5ea1a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
    if (rc == ENOENT)                                                 
   5ea1c:	7002           	moveq #2,%d0                                <== NOT EXECUTED
   5ea1e:	b088           	cmpl %a0,%d0                                <== NOT EXECUTED
   5ea20:	6728           	beqs 5ea4a <rtems_rfs_rtems_dir_read+0xc4>  <== NOT EXECUTED
 * exisiting file, the remaining entries will be placed in the buffer and the
 * returned value will be equal to -m actual- times the size of a directory
 * entry.                                                             
 */                                                                   
static ssize_t                                                        
rtems_rfs_rtems_dir_read (rtems_libio_t* iop,                         
   5ea22:	0684 0000 0110 	addil #272,%d4                              <== NOT EXECUTED
    if (rc == ENOENT)                                                 
    {                                                                 
      rc = 0;                                                         
      break;                                                          
    }                                                                 
    if (rc > 0)                                                       
   5ea28:	4a88           	tstl %a0                                    <== NOT EXECUTED
   5ea2a:	6e00 0110      	bgtw 5eb3c <rtems_rfs_rtems_dir_read+0x1b6> <== NOT EXECUTED
    {                                                                 
      bytes_transferred = rtems_rfs_rtems_error ("dir_read: dir read", rc);
      break;                                                          
    }                                                                 
    iop->offset += size;                                              
   5ea2e:	262e ffd6      	movel %fp@(-42),%d3                         <== NOT EXECUTED
   5ea32:	4282           	clrl %d2                                    <== NOT EXECUTED
   5ea34:	202a 0004      	movel %a2@(4),%d0                           <== NOT EXECUTED
   5ea38:	d6aa 0008      	addl %a2@(8),%d3                            <== NOT EXECUTED
   5ea3c:	d580           	addxl %d0,%d2                               <== NOT EXECUTED
   5ea3e:	2542 0004      	movel %d2,%a2@(4)                           <== NOT EXECUTED
   5ea42:	2543 0008      	movel %d3,%a2@(8)                           <== NOT EXECUTED
    return rtems_rfs_rtems_error ("dir_read: read inode", rc);        
  }                                                                   
                                                                      
  bytes_transferred = 0;                                              
                                                                      
  for (d = 0; d < count; d++, dirent++)                               
   5ea46:	bc87           	cmpl %d7,%d6                                <== NOT EXECUTED
   5ea48:	66b8           	bnes 5ea02 <rtems_rfs_rtems_dir_read+0x7c>  <== NOT EXECUTED
    }                                                                 
    iop->offset += size;                                              
    bytes_transferred += sizeof (struct dirent);                      
  }                                                                   
                                                                      
  rtems_rfs_inode_close (fs, &inode);                                 
   5ea4a:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5ea4c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5ea4e:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5ea54:	246b 0080      	moveal %a3@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5ea58:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5ea5a:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ea60:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5ea62:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ea68:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ea6c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ea6e:	6600 0092      	bnew 5eb02 <rtems_rfs_rtems_dir_read+0x17c> <== NOT EXECUTED
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return bytes_transferred;                                           
}                                                                     
   5ea72:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5ea74:	4cee 3cfc ffa8 	moveml %fp@(-88),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5ea7a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ea7c:	4e75           	rts                                         <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5ea7e:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5ea82:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ea84:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5ea8a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ea8c:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ea8e:	6700 ff2c      	beqw 5e9bc <rtems_rfs_rtems_dir_read+0x36>  <== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5ea92:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  count  = count / sizeof (struct dirent);                            
  dirent = buffer;                                                    
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5ea94:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5ea96:	0685 ffff ffda 	addil #-38,%d5                              <== NOT EXECUTED
   5ea9c:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5eaa2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5eaa4:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5eaaa:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5eab0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5eab4:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5eab8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5eaba:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5eabc:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5eabe:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc)                                                             
   5eac4:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  count  = count / sizeof (struct dirent);                            
  dirent = buffer;                                                    
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5eac8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   5eaca:	6700 ff12      	beqw 5e9de <rtems_rfs_rtems_dir_read+0x58>  <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5eace:	246b 0080      	moveal %a3@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5ead2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5ead4:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5eada:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5eadc:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5eae2:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5eae4:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5eae6:	6600 0092      	bnew 5eb7a <rtems_rfs_rtems_dir_read+0x1f4> <== NOT EXECUTED
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("dir_read: read inode", rc);        
   5eaea:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5eaf0:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   5eaf2:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5eaf4:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
                                                                      
  rtems_rfs_inode_close (fs, &inode);                                 
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return bytes_transferred;                                           
}                                                                     
   5eaf6:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5eaf8:	4cee 3cfc ffa8 	moveml %fp@(-88),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5eafe:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5eb00:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5eb02:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5eb06:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5eb08:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5eb0e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5eb10:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5eb12:	6700 ff5e      	beqw 5ea72 <rtems_rfs_rtems_dir_read+0xec>  <== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5eb16:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5eb18:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5eb1e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5eb20:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5eb26:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5eb2c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5eb30:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   5eb32:	4cee 3cfc ffa8 	moveml %fp@(-88),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5eb38:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5eb3a:	4e75           	rts                                         <== NOT EXECUTED
      rc = 0;                                                         
      break;                                                          
    }                                                                 
    if (rc > 0)                                                       
    {                                                                 
      bytes_transferred = rtems_rfs_rtems_error ("dir_read: dir read", rc);
   5eb3c:	2d48 ffd0      	movel %a0,%fp@(-48)                         <== NOT EXECUTED
   5eb40:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   5eb42:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5eb48:	206e ffd0      	moveal %fp@(-48),%a0                        <== NOT EXECUTED
   5eb4c:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5eb4e:	2288           	movel %a0,%a1@                              <== NOT EXECUTED
    }                                                                 
    iop->offset += size;                                              
    bytes_transferred += sizeof (struct dirent);                      
  }                                                                   
                                                                      
  rtems_rfs_inode_close (fs, &inode);                                 
   5eb50:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5eb52:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5eb54:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5eb5a:	246b 0080      	moveal %a3@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5eb5e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5eb60:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5eb66:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5eb68:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5eb6e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5eb72:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5eb74:	6700 fefc      	beqw 5ea72 <rtems_rfs_rtems_dir_read+0xec>  <== NOT EXECUTED
   5eb78:	6088           	bras 5eb02 <rtems_rfs_rtems_dir_read+0x17c> <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5eb7a:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5eb7e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5eb80:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5eb86:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5eb88:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5eb8a:	6700 ff5e      	beqw 5eaea <rtems_rfs_rtems_dir_read+0x164> <== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5eb8e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
  if (rc)                                                             
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("dir_read: read inode", rc);        
   5eb90:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   5eb92:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5eb98:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5eb9a:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5eba0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5eba6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5ebaa:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5ebb0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5ebb2:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   5ebb4:	6000 ff40      	braw 5eaf6 <rtems_rfs_rtems_dir_read+0x170> <== NOT EXECUTED
                                                                      

000523d6 <rtems_rfs_rtems_eval_path>: .eval_token = rtems_rfs_rtems_eval_token }; static void rtems_rfs_rtems_eval_path (rtems_filesystem_eval_path_context_t *ctx) {
   523d6:	4e56 ffc8      	linkw %fp,#-56                              <== NOT EXECUTED
   523da:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     <== NOT EXECUTED
   523de:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (currentloc);
  rtems_rfs_ino ino = rtems_rfs_rtems_get_pathloc_ino (currentloc);   
  rtems_rfs_inode_handle inode;                                       
  int rc;                                                             
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   523e2:	240e           	movel %fp,%d2                               <== NOT EXECUTED
   523e4:	0682 ffff ffda 	addil #-38,%d2                              <== NOT EXECUTED
static void                                                           
rtems_rfs_rtems_eval_path (rtems_filesystem_eval_path_context_t *ctx) 
{                                                                     
  rtems_filesystem_location_info_t *currentloc =                      
    rtems_filesystem_eval_path_get_currentloc (ctx);                  
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (currentloc);
   523ea:	206a 002c      	moveal %a2@(44),%a0                         <== NOT EXECUTED
   523ee:	2628 0008      	movel %a0@(8),%d3                           <== NOT EXECUTED
  rtems_rfs_ino ino = rtems_rfs_rtems_get_pathloc_ino (currentloc);   
  rtems_rfs_inode_handle inode;                                       
  int rc;                                                             
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   523f2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   523f6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   523f8:	2f2a 0020      	movel %a2@(32),%sp@-                        <== NOT EXECUTED
   523fc:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   523fe:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc == 0) {                                                      
   52404:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (currentloc);
  rtems_rfs_ino ino = rtems_rfs_rtems_get_pathloc_ino (currentloc);   
  rtems_rfs_inode_handle inode;                                       
  int rc;                                                             
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   52408:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc == 0) {                                                      
   5240a:	662c           	bnes 52438 <rtems_rfs_rtems_eval_path+0x62> <== NOT EXECUTED
    rtems_filesystem_eval_path_generic (                              
   5240c:	4879 0007 1c24 	pea 71c24 <rtems_rfs_rtems_eval_config>     <== NOT EXECUTED
   52412:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52414:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52416:	4eb9 0005 695c 	jsr 5695c <rtems_filesystem_eval_path_generic><== NOT EXECUTED
      ctx,                                                            
      &inode,                                                         
      &rtems_rfs_rtems_eval_config                                    
    );                                                                
    rc = rtems_rfs_inode_close (fs, &inode);                          
   5241c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5241e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52420:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
    if (rc != 0) {                                                    
   52426:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
    rtems_filesystem_eval_path_generic (                              
      ctx,                                                            
      &inode,                                                         
      &rtems_rfs_rtems_eval_config                                    
    );                                                                
    rc = rtems_rfs_inode_close (fs, &inode);                          
   5242a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc != 0) {                                                    
   5242c:	662c           	bnes 5245a <rtems_rfs_rtems_eval_path+0x84> <== NOT EXECUTED
    rtems_filesystem_eval_path_error (                                
      ctx,                                                            
      rtems_rfs_rtems_error ("eval_path: opening inode", rc)          
    );                                                                
  }                                                                   
}                                                                     
   5242e:	4cee 041c ffc8 	moveml %fp@(-56),%d2-%d4/%a2                <== NOT EXECUTED
   52434:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52436:	4e75           	rts                                         <== NOT EXECUTED
      );                                                              
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error (                                
      ctx,                                                            
      rtems_rfs_rtems_error ("eval_path: opening inode", rc)          
   52438:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5243e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52440:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
        ctx,                                                          
        rtems_rfs_rtems_error ("eval_path: closing inode", rc)        
      );                                                              
    }                                                                 
  } else {                                                            
    rtems_filesystem_eval_path_error (                                
   52442:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   52446:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52448:	4eb9 0004 8aa6 	jsr 48aa6 <rtems_filesystem_eval_path_error><== NOT EXECUTED
   5244e:	508f           	addql #8,%sp                                <== NOT EXECUTED
      ctx,                                                            
      rtems_rfs_rtems_error ("eval_path: opening inode", rc)          
    );                                                                
  }                                                                   
}                                                                     
   52450:	4cee 041c ffc8 	moveml %fp@(-56),%d2-%d4/%a2                <== NOT EXECUTED
   52456:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52458:	4e75           	rts                                         <== NOT EXECUTED
    );                                                                
    rc = rtems_rfs_inode_close (fs, &inode);                          
    if (rc != 0) {                                                    
      rtems_filesystem_eval_path_error (                              
        ctx,                                                          
        rtems_rfs_rtems_error ("eval_path: closing inode", rc)        
   5245a:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52460:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52462:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
      &inode,                                                         
      &rtems_rfs_rtems_eval_config                                    
    );                                                                
    rc = rtems_rfs_inode_close (fs, &inode);                          
    if (rc != 0) {                                                    
      rtems_filesystem_eval_path_error (                              
   52464:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   52468:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5246a:	4eb9 0004 8aa6 	jsr 48aa6 <rtems_filesystem_eval_path_error><== NOT EXECUTED
   52470:	508f           	addql #8,%sp                                <== NOT EXECUTED
    rtems_filesystem_eval_path_error (                                
      ctx,                                                            
      rtems_rfs_rtems_error ("eval_path: opening inode", rc)          
    );                                                                
  }                                                                   
}                                                                     
   52472:	4cee 041c ffc8 	moveml %fp@(-56),%d2-%d4/%a2                <== NOT EXECUTED
   52478:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005283c <rtems_rfs_rtems_eval_token>: * @return uint16_t The group id (gid). */ static inline uint16_t rtems_rfs_inode_get_gid (rtems_rfs_inode_handle* handle) { return (rtems_rfs_read_u32 (&handle->node->owner) >> 16) & 0xffff;
   5283c:	4280           	clrl %d0                                    <== NOT EXECUTED
   5283e:	4281           	clrl %d1                                    <== NOT EXECUTED
  rtems_filesystem_eval_path_context_t *ctx,                          
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
   52840:	4e56 ffe4      	linkw %fp,#-28                              <== NOT EXECUTED
   52844:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 <== NOT EXECUTED
   52848:	266e 000c      	moveal %fp@(12),%a3                         <== NOT EXECUTED
   5284c:	4282           	clrl %d2                                    <== NOT EXECUTED
   5284e:	7618           	moveq #24,%d3                               <== NOT EXECUTED
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
  free (rtems);                                                       
}                                                                     
   52850:	206b 000c      	moveal %a3@(12),%a0                         <== NOT EXECUTED
   52854:	1028 0004      	moveb %a0@(4),%d0                           <== NOT EXECUTED
   52858:	1428 0005      	moveb %a0@(5),%d2                           <== NOT EXECUTED
   5285c:	1228 0006      	moveb %a0@(6),%d1                           <== NOT EXECUTED
   52860:	e7a8           	lsll %d3,%d0                                <== NOT EXECUTED
   52862:	4842           	swap %d2                                    <== NOT EXECUTED
   52864:	4242           	clrw %d2                                    <== NOT EXECUTED
   52866:	4283           	clrl %d3                                    <== NOT EXECUTED
   52868:	1628 0007      	moveb %a0@(7),%d3                           <== NOT EXECUTED
   5286c:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   5286e:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
  rtems_filesystem_eval_path_context_t *ctx,                          
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
   52870:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
   52874:	4240           	clrw %d0                                    <== NOT EXECUTED
   52876:	4840           	swap %d0                                    <== NOT EXECUTED
static bool                                                           
rtems_rfs_rtems_eval_perms (rtems_filesystem_eval_path_context_t *ctx,
                            int eval_flags,                           
                            rtems_rfs_inode_handle* inode)            
{                                                                     
  return rtems_filesystem_eval_path_check_access(                     
   52878:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
   5287a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
 * @return uint16_t The mode.                                         
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle)             
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->mode);                    
   5287c:	4280           	clrl %d0                                    <== NOT EXECUTED
   5287e:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   52880:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   52884:	4281           	clrl %d1                                    <== NOT EXECUTED
   52886:	1228 0003      	moveb %a0@(3),%d1                           <== NOT EXECUTED
   5288a:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5288c:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5288e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52890:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   52894:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52896:	4eb9 0005 6910 	jsr 56910 <rtems_filesystem_eval_path_check_access><== NOT EXECUTED
  rtems_filesystem_eval_path_generic_status status =                  
    RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_DONE;                          
  rtems_rfs_inode_handle* inode = arg;                                
  bool access_ok = rtems_rfs_rtems_eval_perms (ctx, RTEMS_FS_PERMS_EXEC, inode);
                                                                      
  if (access_ok) {                                                    
   5289c:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   528a0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   528a2:	6758           	beqs 528fc <rtems_rfs_rtems_eval_token+0xc0><== NOT EXECUTED
static inline bool rtems_filesystem_is_current_directory(             
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  return tokenlen == 1 && token [0] == '.';                           
   528a4:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   528a6:	b0ae 0014      	cmpl %fp@(20),%d0                           <== NOT EXECUTED
   528aa:	675c           	beqs 52908 <rtems_rfs_rtems_eval_token+0xcc><== NOT EXECUTED
    if (rtems_filesystem_is_current_directory (token, tokenlen)) {    
      rtems_filesystem_eval_path_clear_token (ctx);                   
    } else {                                                          
      rtems_filesystem_location_info_t *currentloc =                  
        rtems_filesystem_eval_path_get_currentloc( ctx );             
      rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (currentloc);
   528ac:	206a 002c      	moveal %a2@(44),%a0                         <== NOT EXECUTED
   528b0:	2428 0008      	movel %a0@(8),%d2                           <== NOT EXECUTED
      rtems_rfs_ino entry_ino;                                        
      uint32_t entry_doff;                                            
      int rc = rtems_rfs_dir_lookup_ino (                             
   528b4:	486e fff8      	pea %fp@(-8)                                <== NOT EXECUTED
   528b8:	486e fff4      	pea %fp@(-12)                               <== NOT EXECUTED
   528bc:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   528c0:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   528c4:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   528c6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   528c8:	4eb9 0005 a920 	jsr 5a920 <rtems_rfs_dir_lookup_ino>        <== NOT EXECUTED
        tokenlen,                                                     
        &entry_ino,                                                   
        &entry_doff                                                   
      );                                                              
                                                                      
      if (rc == 0) {                                                  
   528ce:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
   528d2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   528d4:	6750           	beqs 52926 <rtems_rfs_rtems_eval_token+0xea><== NOT EXECUTED
           * rtems_rfs_rtems_eval_path().                             
           */                                                         
          memset (inode, 0, sizeof(*inode));                          
        }                                                             
      } else {                                                        
        status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_NO_ENTRY;         
   528d6:	7002           	moveq #2,%d0                                <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   528d8:	4cee 0c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   528de:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   528e0:	4e75           	rts                                         <== NOT EXECUTED
              status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;   
            }                                                         
          } else {                                                    
            rtems_filesystem_eval_path_error (                        
              ctx,                                                    
              rtems_rfs_rtems_error ("eval_path: set handlers", rc)   
   528e2:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   528e8:	7205           	moveq #5,%d1                                <== NOT EXECUTED
   528ea:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   528ec:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
                                                                      
            if (!terminal) {                                          
              status = RTEMS_FILESYSTEM_EVAL_PATH_GENERIC_CONTINUE;   
            }                                                         
          } else {                                                    
            rtems_filesystem_eval_path_error (                        
   528ee:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   528f2:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   528f4:	4eb9 0004 8aa6 	jsr 48aa6 <rtems_filesystem_eval_path_error><== NOT EXECUTED
   528fa:	508f           	addql #8,%sp                                <== NOT EXECUTED
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   528fc:	7001           	moveq #1,%d0                                <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   528fe:	4cee 0c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   52904:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52906:	4e75           	rts                                         <== NOT EXECUTED
   52908:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   5290c:	722e           	moveq #46,%d1                               <== NOT EXECUTED
   5290e:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   52910:	49c0           	extbl %d0                                   <== NOT EXECUTED
   52912:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   52914:	6696           	bnes 528ac <rtems_rfs_rtems_eval_token+0x70><== NOT EXECUTED
                                                                      
static inline void rtems_filesystem_eval_path_clear_token(            
  rtems_filesystem_eval_path_context_t *ctx                           
)                                                                     
{                                                                     
  ctx->tokenlen = 0;                                                  
   52916:	42aa 000c      	clrl %a2@(12)                               <== NOT EXECUTED
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   5291a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   5291c:	4cee 0c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   52922:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52924:	4e75           	rts                                         <== NOT EXECUTED
        &entry_ino,                                                   
        &entry_doff                                                   
      );                                                              
                                                                      
      if (rc == 0) {                                                  
        rc = rtems_rfs_inode_close (fs, inode);                       
   52926:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   52928:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5292a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
        if (rc == 0) {                                                
   52930:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52932:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52934:	6720           	beqs 52956 <rtems_rfs_rtems_eval_token+0x11a><== NOT EXECUTED
        if (rc != 0) {                                                
          /*                                                          
           * This prevents the rtems_rfs_inode_close() from doing something in
           * rtems_rfs_rtems_eval_path().                             
           */                                                         
          memset (inode, 0, sizeof(*inode));                          
   52936:	429b           	clrl %a3@+                                  <== NOT EXECUTED
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   52938:	7001           	moveq #1,%d0                                <== NOT EXECUTED
        if (rc != 0) {                                                
          /*                                                          
           * This prevents the rtems_rfs_inode_close() from doing something in
           * rtems_rfs_rtems_eval_path().                             
           */                                                         
          memset (inode, 0, sizeof(*inode));                          
   5293a:	429b           	clrl %a3@+                                  <== NOT EXECUTED
   5293c:	429b           	clrl %a3@+                                  <== NOT EXECUTED
   5293e:	429b           	clrl %a3@+                                  <== NOT EXECUTED
   52940:	429b           	clrl %a3@+                                  <== NOT EXECUTED
   52942:	429b           	clrl %a3@+                                  <== NOT EXECUTED
   52944:	429b           	clrl %a3@+                                  <== NOT EXECUTED
   52946:	429b           	clrl %a3@+                                  <== NOT EXECUTED
   52948:	429b           	clrl %a3@+                                  <== NOT EXECUTED
   5294a:	4253           	clrw %a3@                                   <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   5294c:	4cee 0c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   52952:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52954:	4e75           	rts                                         <== NOT EXECUTED
      );                                                              
                                                                      
      if (rc == 0) {                                                  
        rc = rtems_rfs_inode_close (fs, inode);                       
        if (rc == 0) {                                                
          rc = rtems_rfs_inode_open (fs, entry_ino, inode, true);     
   52956:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5295a:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5295c:	2f2e fff4      	movel %fp@(-12),%sp@-                       <== NOT EXECUTED
   52960:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52962:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
        }                                                             
                                                                      
        if (rc != 0) {                                                
   52968:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5296c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5296e:	66c6           	bnes 52936 <rtems_rfs_rtems_eval_token+0xfa><== NOT EXECUTED
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
  free (rtems);                                                       
}                                                                     
   52970:	206b 000c      	moveal %a3@(12),%a0                         <== NOT EXECUTED
   52974:	4280           	clrl %d0                                    <== NOT EXECUTED
   52976:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   5297a:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   * link is actually the normal path to a regular file, directory, device
   * etc's inode. Links to inodes can be considered "the real" one, yet they
   * are all links.                                                   
   */                                                                 
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                   
  if (RTEMS_RFS_S_ISDIR (mode))                                       
   5297c:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   52982:	0c80 0000 4000 	cmpil #16384,%d0                            <== NOT EXECUTED
   52988:	6708           	beqs 52992 <rtems_rfs_rtems_eval_token+0x156><== NOT EXECUTED
    return RTEMS_FILESYSTEM_DIRECTORY;                                
  else if (RTEMS_RFS_S_ISLNK (mode))                                  
   5298a:	0c80 0000 a000 	cmpil #40960,%d0                            <== NOT EXECUTED
   52990:	673c           	beqs 529ce <rtems_rfs_rtems_eval_token+0x192><== NOT EXECUTED
      if (rc == 0) {                                                  
        bool is_sym_link = rtems_rfs_rtems_node_type_by_inode (inode) 
          == RTEMS_FILESYSTEM_SYM_LINK;                               
        int eval_flags = rtems_filesystem_eval_path_get_flags (ctx);  
        bool follow_sym_link = (eval_flags & RTEMS_FS_FOLLOW_SYM_LINK) != 0;
        bool terminal = !rtems_filesystem_eval_path_has_path (ctx);   
   52992:	4aaa 0004      	tstl %a2@(4)                                <== NOT EXECUTED
   52996:	57c0           	seq %d0                                     <== NOT EXECUTED
   52998:	42aa 000c      	clrl %a2@(12)                               <== NOT EXECUTED
   5299c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5299e:	4482           	negl %d2                                    <== NOT EXECUTED
        rtems_filesystem_eval_path_clear_token (ctx);                 
                                                                      
        if (is_sym_link && (follow_sym_link || !terminal)) {          
          rtems_rfs_rtems_follow_link (ctx, fs, entry_ino);           
        } else {                                                      
          rc = rtems_rfs_rtems_set_handlers (currentloc, inode) ? 0 : EIO;
   529a0:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   529a2:	486a 0018      	pea %a2@(24)                                <== NOT EXECUTED
   529a6:	4eb9 0005 2e34 	jsr 52e34 <rtems_rfs_rtems_set_handlers>    <== NOT EXECUTED
   529ac:	508f           	addql #8,%sp                                <== NOT EXECUTED
   529ae:	4a00           	tstb %d0                                    <== NOT EXECUTED
   529b0:	6700 ff30      	beqw 528e2 <rtems_rfs_rtems_eval_token+0xa6><== NOT EXECUTED
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   529b4:	4280           	clrl %d0                                    <== NOT EXECUTED
   529b6:	1002           	moveb %d2,%d0                               <== NOT EXECUTED
        if (is_sym_link && (follow_sym_link || !terminal)) {          
          rtems_rfs_rtems_follow_link (ctx, fs, entry_ino);           
        } else {                                                      
          rc = rtems_rfs_rtems_set_handlers (currentloc, inode) ? 0 : EIO;
          if (rc == 0) {                                              
            rtems_rfs_rtems_set_pathloc_ino (currentloc, entry_ino);  
   529b8:	256e fff4 0020 	movel %fp@(-12),%a2@(32)                    <== NOT EXECUTED
            rtems_rfs_rtems_set_pathloc_doff (currentloc, entry_doff);
   529be:	256e fff8 0024 	movel %fp@(-8),%a2@(36)                     <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  return status;                                                      
}                                                                     
   529c4:	4cee 0c0c ffe4 	moveml %fp@(-28),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   529ca:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   529cc:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
      if (rc == 0) {                                                  
        bool is_sym_link = rtems_rfs_rtems_node_type_by_inode (inode) 
          == RTEMS_FILESYSTEM_SYM_LINK;                               
        int eval_flags = rtems_filesystem_eval_path_get_flags (ctx);  
        bool follow_sym_link = (eval_flags & RTEMS_FS_FOLLOW_SYM_LINK) != 0;
   529ce:	7210           	moveq #16,%d1                               <== NOT EXECUTED
   529d0:	c2aa 0010      	andl %a2@(16),%d1                           <== NOT EXECUTED
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
  free (rtems);                                                       
}                                                                     
   529d4:	202a 0004      	movel %a2@(4),%d0                           <== NOT EXECUTED
   529d8:	42aa 000c      	clrl %a2@(12)                               <== NOT EXECUTED
        bool follow_sym_link = (eval_flags & RTEMS_FS_FOLLOW_SYM_LINK) != 0;
        bool terminal = !rtems_filesystem_eval_path_has_path (ctx);   
                                                                      
        rtems_filesystem_eval_path_clear_token (ctx);                 
                                                                      
        if (is_sym_link && (follow_sym_link || !terminal)) {          
   529dc:	4a81           	tstl %d1                                    <== NOT EXECUTED
   529de:	6608           	bnes 529e8 <rtems_rfs_rtems_eval_token+0x1ac><== NOT EXECUTED
   529e0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   529e2:	6604           	bnes 529e8 <rtems_rfs_rtems_eval_token+0x1ac><== NOT EXECUTED
   529e4:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   529e6:	60b8           	bras 529a0 <rtems_rfs_rtems_eval_token+0x164><== NOT EXECUTED
  rtems_rfs_file_system* fs,                                          
  rtems_rfs_ino ino                                                   
)                                                                     
{                                                                     
  size_t len = MAXPATHLEN;                                            
  char *link = malloc(len + 1);                                       
   529e8:	4878 0401      	pea 401 <DBL_MAX_EXP>                       <== NOT EXECUTED
  rtems_filesystem_eval_path_context_t* ctx,                          
  rtems_rfs_file_system* fs,                                          
  rtems_rfs_ino ino                                                   
)                                                                     
{                                                                     
  size_t len = MAXPATHLEN;                                            
   529ec:	263c 0000 0400 	movel #1024,%d3                             <== NOT EXECUTED
        bool terminal = !rtems_filesystem_eval_path_has_path (ctx);   
                                                                      
        rtems_filesystem_eval_path_clear_token (ctx);                 
                                                                      
        if (is_sym_link && (follow_sym_link || !terminal)) {          
          rtems_rfs_rtems_follow_link (ctx, fs, entry_ino);           
   529f2:	266e fff4      	moveal %fp@(-12),%a3                        <== NOT EXECUTED
  rtems_filesystem_eval_path_context_t* ctx,                          
  rtems_rfs_file_system* fs,                                          
  rtems_rfs_ino ino                                                   
)                                                                     
{                                                                     
  size_t len = MAXPATHLEN;                                            
   529f6:	2d43 fffc      	movel %d3,%fp@(-4)                          <== NOT EXECUTED
  char *link = malloc(len + 1);                                       
   529fa:	4eb9 0004 794c 	jsr 4794c <malloc>                          <== NOT EXECUTED
                                                                      
  if (link != NULL) {                                                 
   52a00:	588f           	addql #4,%sp                                <== NOT EXECUTED
  rtems_rfs_file_system* fs,                                          
  rtems_rfs_ino ino                                                   
)                                                                     
{                                                                     
  size_t len = MAXPATHLEN;                                            
  char *link = malloc(len + 1);                                       
   52a02:	2600           	movel %d0,%d3                               <== NOT EXECUTED
                                                                      
  if (link != NULL) {                                                 
   52a04:	6756           	beqs 52a5c <rtems_rfs_rtems_eval_token+0x220><== NOT EXECUTED
    int rc = rtems_rfs_symlink_read (fs, ino, link, len, &len);       
   52a06:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   52a0a:	4878 0400      	pea 400 <D_BIAS+0x2>                        <== NOT EXECUTED
   52a0e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52a10:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   52a12:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52a14:	4eb9 0005 e3b0 	jsr 5e3b0 <rtems_rfs_symlink_read>          <== NOT EXECUTED
                                                                      
    if (rc == 0) {                                                    
   52a1a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   52a1e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52a20:	6622           	bnes 52a44 <rtems_rfs_rtems_eval_token+0x208><== NOT EXECUTED
      rtems_filesystem_eval_path_recursive (ctx, link, len);          
   52a22:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   52a26:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52a28:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52a2a:	4eb9 0004 9030 	jsr 49030 <rtems_filesystem_eval_path_recursive><== NOT EXECUTED
   52a30:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    } else {                                                          
      rtems_filesystem_eval_path_error (ctx, 0);                      
    }                                                                 
                                                                      
    free(link);                                                       
   52a34:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52a36:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
   52a3c:	588f           	addql #4,%sp                                <== NOT EXECUTED
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   52a3e:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   52a40:	6000 febc      	braw 528fe <rtems_rfs_rtems_eval_token+0xc2><== NOT EXECUTED
    int rc = rtems_rfs_symlink_read (fs, ino, link, len, &len);       
                                                                      
    if (rc == 0) {                                                    
      rtems_filesystem_eval_path_recursive (ctx, link, len);          
    } else {                                                          
      rtems_filesystem_eval_path_error (ctx, 0);                      
   52a44:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52a46:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52a48:	4eb9 0004 8aa6 	jsr 48aa6 <rtems_filesystem_eval_path_error><== NOT EXECUTED
   52a4e:	508f           	addql #8,%sp                                <== NOT EXECUTED
    }                                                                 
                                                                      
    free(link);                                                       
   52a50:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52a52:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
   52a58:	588f           	addql #4,%sp                                <== NOT EXECUTED
   52a5a:	60e2           	bras 52a3e <rtems_rfs_rtems_eval_token+0x202><== NOT EXECUTED
  } else {                                                            
    rtems_filesystem_eval_path_error (ctx, ENOMEM);                   
   52a5c:	4878 000c      	pea c <OPER1>                               <== NOT EXECUTED
   52a60:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52a62:	4eb9 0004 8aa6 	jsr 48aa6 <rtems_filesystem_eval_path_error><== NOT EXECUTED
   52a68:	508f           	addql #8,%sp                                <== NOT EXECUTED
  void *arg,                                                          
  const char *token,                                                  
  size_t tokenlen                                                     
)                                                                     
{                                                                     
  rtems_filesystem_eval_path_generic_status status =                  
   52a6a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   52a6c:	6000 fe90      	braw 528fe <rtems_rfs_rtems_eval_token+0xc2><== NOT EXECUTED
                                                                      

000520f0 <rtems_rfs_rtems_fchmod>: } static int rtems_rfs_rtems_fchmod (const rtems_filesystem_location_info_t* pathloc, mode_t mode) {
   520f0:	4e56 ffcc      	linkw %fp,#-52                              <== NOT EXECUTED
   520f4:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system*  fs = rtems_rfs_rtems_pathloc_dev (pathloc); 
   520f8:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
}                                                                     
                                                                      
static int                                                            
rtems_rfs_rtems_fchmod (const rtems_filesystem_location_info_t* pathloc,
                        mode_t                                  mode) 
{                                                                     
   520fc:	48d7 001c      	moveml %d2-%d4,%sp@                         <== NOT EXECUTED
  rtems_rfs_file_system*  fs = rtems_rfs_rtems_pathloc_dev (pathloc); 
   52100:	2429 0008      	movel %a1@(8),%d2                           <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FCHMOD))           
    printf ("rtems-rfs-rtems: fchmod: in: ino:%" PRId32 " mode:%06" PRIomode_t "\n",
            ino, mode);                                               
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   52104:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   52108:	260e           	movel %fp,%d3                               <== NOT EXECUTED
   5210a:	0683 ffff ffda 	addil #-38,%d3                              <== NOT EXECUTED
   52110:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52112:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   52116:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52118:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc)                                                             
   5211e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FCHMOD))           
    printf ("rtems-rfs-rtems: fchmod: in: ino:%" PRId32 " mode:%06" PRIomode_t "\n",
            ino, mode);                                               
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   52122:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc)                                                             
   52124:	6718           	beqs 5213e <rtems_rfs_rtems_fchmod+0x4e>    <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("fchmod: opening inode", rc);       
   52126:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5212c:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   5212e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("fchmod: closing inode", rc);       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52130:	2001           	movel %d1,%d0                               <== NOT EXECUTED
            ino, mode);                                               
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("fchmod: opening inode", rc);       
   52132:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("fchmod: closing inode", rc);       
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52134:	4cee 001c ffcc 	moveml %fp@(-52),%d2-%d4                    <== NOT EXECUTED
   5213a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5213c:	4e75           	rts                                         <== NOT EXECUTED
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("fchmod: opening inode", rc);       
  }                                                                   
                                                                      
  imode = rtems_rfs_inode_get_mode (&inode);                          
   5213e:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 * @return uint16_t The mode.                                         
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle)             
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->mode);                    
   52142:	4280           	clrl %d0                                    <== NOT EXECUTED
   52144:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
    return rtems_rfs_rtems_error ("fchmod: checking uid", EPERM);     
  }                                                                   
#endif                                                                
                                                                      
  imode &= ~(S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX);
  imode |= mode & (S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX);
   52148:	222e 000c      	movel %fp@(12),%d1                          <== NOT EXECUTED
   5214c:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5214e:	0281 0000 0fff 	andil #4095,%d1                             <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &inode);                               
    return rtems_rfs_rtems_error ("fchmod: checking uid", EPERM);     
  }                                                                   
#endif                                                                
                                                                      
  imode &= ~(S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX);
   52154:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
  imode |= mode & (S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX);
   5215a:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
 * @prarm mode The mode.                                              
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mode (rtems_rfs_inode_handle* handle, uint16_t mode)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->mode, mode);                    
   5215c:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5215e:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   52160:	1141 0002      	moveb %d1,%a0@(2)                           <== NOT EXECUTED
   52164:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   52168:	1140 0003      	moveb %d0,%a0@(3)                           <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5216c:	7001           	moveq #1,%d0                                <== NOT EXECUTED
                                                                      
  rtems_rfs_inode_set_mode (&inode, imode);                           
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5216e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52170:	1d40 ffea      	moveb %d0,%fp@(-22)                         <== NOT EXECUTED
   52174:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52176:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   5217c:	508f           	addql #8,%sp                                <== NOT EXECUTED
  imode &= ~(S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX);
  imode |= mode & (S_IRWXU | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX);
                                                                      
  rtems_rfs_inode_set_mode (&inode, imode);                           
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5217e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   52180:	6f18           	bles 5219a <rtems_rfs_rtems_fchmod+0xaa>    <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("fchmod: closing inode", rc);       
   52182:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52188:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   5218a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   5218c:	2001           	movel %d1,%d0                               <== NOT EXECUTED
  rtems_rfs_inode_set_mode (&inode, imode);                           
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
  {                                                                   
    return rtems_rfs_rtems_error ("fchmod: closing inode", rc);       
   5218e:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52190:	4cee 001c ffcc 	moveml %fp@(-52),%d2-%d4                    <== NOT EXECUTED
   52196:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52198:	4e75           	rts                                         <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    return rtems_rfs_rtems_error ("fchmod: closing inode", rc);       
  }                                                                   
                                                                      
  return 0;                                                           
   5219a:	4281           	clrl %d1                                    <== NOT EXECUTED
}                                                                     
   5219c:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5219e:	4cee 001c ffcc 	moveml %fp@(-52),%d2-%d4                    <== NOT EXECUTED
   521a4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052df6 <rtems_rfs_rtems_fdatasync>: * @param iop * @return int */ int rtems_rfs_rtems_fdatasync (rtems_libio_t* iop) {
   52df6:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   52dfa:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  int rc;                                                             
                                                                      
  rc = rtems_rfs_buffer_sync (rtems_rfs_rtems_pathloc_dev (&iop->pathinfo));
   52dfe:	2068 0024      	moveal %a0@(36),%a0                         <== NOT EXECUTED
 * @param iop                                                         
 * @return int                                                        
 */                                                                   
int                                                                   
rtems_rfs_rtems_fdatasync (rtems_libio_t* iop)                        
{                                                                     
   52e02:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  int rc;                                                             
                                                                      
  rc = rtems_rfs_buffer_sync (rtems_rfs_rtems_pathloc_dev (&iop->pathinfo));
   52e04:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   52e08:	4eb9 0005 a5f6 	jsr 5a5f6 <rtems_rfs_buffer_sync>           <== NOT EXECUTED
  if (rc)                                                             
   52e0e:	588f           	addql #4,%sp                                <== NOT EXECUTED
int                                                                   
rtems_rfs_rtems_fdatasync (rtems_libio_t* iop)                        
{                                                                     
  int rc;                                                             
                                                                      
  rc = rtems_rfs_buffer_sync (rtems_rfs_rtems_pathloc_dev (&iop->pathinfo));
   52e10:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   52e12:	660a           	bnes 52e1e <rtems_rfs_rtems_fdatasync+0x28> <== NOT EXECUTED
    return rtems_rfs_rtems_error ("fdatasync: sync", rc);             
                                                                      
  return 0;                                                           
}                                                                     
   52e14:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_buffer_sync (rtems_rfs_rtems_pathloc_dev (&iop->pathinfo));
  if (rc)                                                             
    return rtems_rfs_rtems_error ("fdatasync: sync", rc);             
                                                                      
  return 0;                                                           
   52e18:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   52e1a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52e1c:	4e75           	rts                                         <== NOT EXECUTED
{                                                                     
  int rc;                                                             
                                                                      
  rc = rtems_rfs_buffer_sync (rtems_rfs_rtems_pathloc_dev (&iop->pathinfo));
  if (rc)                                                             
    return rtems_rfs_rtems_error ("fdatasync: sync", rc);             
   52e1e:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52e24:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52e26:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   52e28:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
                                                                      
  return 0;                                                           
}                                                                     
   52e2a:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   52e2e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
	...                                                                  
                                                                      

0005f154 <rtems_rfs_rtems_file_close>: * @param iop * @return int */ static int rtems_rfs_rtems_file_close (rtems_libio_t* iop) {
   5f154:	4e56 fff4      	linkw %fp,#-12                              <== NOT EXECUTED
   5f158:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5f15c:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     <== NOT EXECUTED
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
   5f160:	2668 001c      	moveal %a0@(28),%a3                         <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_file_fs (file);               
   5f164:	206b 001a      	moveal %a3@(26),%a0                         <== NOT EXECUTED
   5f168:	2468 0090      	moveal %a0@(144),%a2                        <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5f16c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f16e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_rfs_rtems_file_ftruncate,                      
  .fsync_h     = rtems_rfs_rtems_fdatasync,                           
  .fdatasync_h = rtems_rfs_rtems_fdatasync,                           
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5f170:	206a 0080      	moveal %a2@(128),%a0                        <== NOT EXECUTED
   5f174:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5f176:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f17c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5f180:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f182:	667c           	bnes 5f200 <rtems_rfs_rtems_file_close+0xac><== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_CLOSE))       
    printf("rtems-rfs: file-close: handle:%p\n", file);               
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_file_close (fs, file);                               
   5f184:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5f186:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f188:	4eb9 0005 c2bc 	jsr 5c2bc <rtems_rfs_file_close>            <== NOT EXECUTED
  if (rc > 0)                                                         
   5f18e:	508f           	addql #8,%sp                                <== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_CLOSE))       
    printf("rtems-rfs: file-close: handle:%p\n", file);               
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  rc = rtems_rfs_file_close (fs, file);                               
   5f190:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5f192:	6f0c           	bles 5f1a0 <rtems_rfs_rtems_file_close+0x4c><== NOT EXECUTED
    rc = rtems_rfs_rtems_error ("file-close: file close", rc);        
   5f194:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5f19a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5f19c:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   5f19e:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f1a0:	266a 0080      	moveal %a2@(128),%a3                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f1a4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f1a6:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f1ac:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   5f1ae:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f1b4:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f1b6:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f1b8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5f1ba:	660c           	bnes 5f1c8 <rtems_rfs_rtems_file_close+0x74><== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
  return rc;                                                          
}                                                                     
   5f1bc:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5f1be:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   5f1c4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f1c6:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f1c8:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f1cc:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f1ce:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f1d4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f1d6:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f1d8:	67e2           	beqs 5f1bc <rtems_rfs_rtems_file_close+0x68><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5f1da:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f1dc:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f1e2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f1e4:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5f1ea:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f1f0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5f1f4:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5f1f6:	4cee 0c04 fff4 	moveml %fp@(-12),%d2/%a2-%a3                <== NOT EXECUTED
   5f1fc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f1fe:	4e75           	rts                                         <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f200:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f204:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f206:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f20c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f20e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f210:	6700 ff72      	beqw 5f184 <rtems_rfs_rtems_file_close+0x30><== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5f214:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f216:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f21c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f21e:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5f224:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f22a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5f22e:	6000 ff54      	braw 5f184 <rtems_rfs_rtems_file_close+0x30><== NOT EXECUTED
                                                                      

0005f232 <rtems_rfs_rtems_file_ftruncate>: * @return int */ static int rtems_rfs_rtems_file_ftruncate (rtems_libio_t* iop, off_t length) {
   5f232:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
   5f236:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
 * @return int                                                        
 */                                                                   
static int                                                            
rtems_rfs_rtems_file_ftruncate (rtems_libio_t* iop,                   
                                off_t          length)                
{                                                                     
   5f23a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f23c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5f23e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
   5f240:	2468 001c      	moveal %a0@(28),%a2                         <== NOT EXECUTED
   5f244:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_FTRUNC))      
    printf("rtems-rfs: file-ftrunc: handle:%p length:%" PRIdoff_t "\n", file, length);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
   5f246:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_rfs_rtems_file_ftruncate,                      
  .fsync_h     = rtems_rfs_rtems_fdatasync,                           
  .fdatasync_h = rtems_rfs_rtems_fdatasync,                           
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5f24a:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
   5f24e:	2068 0080      	moveal %a0@(128),%a0                        <== NOT EXECUTED
   5f252:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5f254:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f25a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5f25e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f260:	6600 00b8      	bnew 5f31a <rtems_rfs_rtems_file_ftruncate+0xe8><== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_FTRUNC))      
    printf("rtems-rfs: file-ftrunc: handle:%p length:%" PRIdoff_t "\n", file, length);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  rc = rtems_rfs_file_set_size (file, length);                        
   5f264:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5f268:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5f26c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f26e:	4eb9 0005 cc70 	jsr 5cc70 <rtems_rfs_file_set_size>         <== NOT EXECUTED
  if (rc)                                                             
   5f274:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_FTRUNC))      
    printf("rtems-rfs: file-ftrunc: handle:%p length:%" PRIdoff_t "\n", file, length);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  rc = rtems_rfs_file_set_size (file, length);                        
   5f278:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   5f27a:	666c           	bnes 5f2e8 <rtems_rfs_rtems_file_ftruncate+0xb6><== NOT EXECUTED
    rc = rtems_rfs_rtems_error ("file_ftruncate: set size", rc);      
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5f27c:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f280:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f284:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f288:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f28a:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f290:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5f292:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f298:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f29a:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f29c:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5f29e:	660e           	bnes 5f2ae <rtems_rfs_rtems_file_ftruncate+0x7c><== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
   5f2a0:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5f2a2:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   5f2a6:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   5f2aa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f2ac:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f2ae:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f2b2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f2b4:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f2ba:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f2bc:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f2be:	67e0           	beqs 5f2a0 <rtems_rfs_rtems_file_ftruncate+0x6e><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5f2c0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f2c2:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f2c8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f2ca:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5f2d0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f2d6:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   5f2da:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5f2dc:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5f2e0:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   5f2e4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f2e6:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  rc = rtems_rfs_file_set_size (file, length);                        
  if (rc)                                                             
    rc = rtems_rfs_rtems_error ("file_ftruncate: set size", rc);      
   5f2e8:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5f2ee:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5f2f0:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5f2f2:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  rc = rtems_rfs_file_set_size (file, length);                        
  if (rc)                                                             
    rc = rtems_rfs_rtems_error ("file_ftruncate: set size", rc);      
   5f2f6:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5f2f8:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f2fc:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f300:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f302:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f308:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5f30a:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f310:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f312:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f314:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5f316:	6788           	beqs 5f2a0 <rtems_rfs_rtems_file_ftruncate+0x6e><== NOT EXECUTED
   5f318:	6094           	bras 5f2ae <rtems_rfs_rtems_file_ftruncate+0x7c><== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f31a:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f31e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f320:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f326:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f328:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f32a:	6700 ff38      	beqw 5f264 <rtems_rfs_rtems_file_ftruncate+0x32><== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5f32e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f330:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f336:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f338:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5f33e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f344:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_FTRUNC))      
    printf("rtems-rfs: file-ftrunc: handle:%p length:%" PRIdoff_t "\n", file, length);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  rc = rtems_rfs_file_set_size (file, length);                        
   5f348:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5f34c:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5f350:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f352:	4eb9 0005 cc70 	jsr 5cc70 <rtems_rfs_file_set_size>         <== NOT EXECUTED
  if (rc)                                                             
   5f358:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_FTRUNC))      
    printf("rtems-rfs: file-ftrunc: handle:%p length:%" PRIdoff_t "\n", file, length);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  rc = rtems_rfs_file_set_size (file, length);                        
   5f35c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   5f35e:	6700 ff1c      	beqw 5f27c <rtems_rfs_rtems_file_ftruncate+0x4a><== NOT EXECUTED
   5f362:	6084           	bras 5f2e8 <rtems_rfs_rtems_file_ftruncate+0xb6><== NOT EXECUTED
                                                                      

0005edd0 <rtems_rfs_rtems_file_lseek>: */ static off_t rtems_rfs_rtems_file_lseek (rtems_libio_t* iop, off_t offset, int whence) {
   5edd0:	4e56 ffdc      	linkw %fp,#-36                              <== NOT EXECUTED
   5edd4:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 <== NOT EXECUTED
   5edd8:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5eddc:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
   5edde:	266a 001c      	moveal %a2@(28),%a3                         <== NOT EXECUTED
   5ede2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  off_t                  new_offset;                                  
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_LSEEK))       
    printf("rtems-rfs: file-lseek: handle:%p offset:%" PRIdoff_t "\n", file, offset);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
   5ede4:	206b 001a      	moveal %a3@(26),%a0                         <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_rfs_rtems_file_ftruncate,                      
  .fsync_h     = rtems_rfs_rtems_fdatasync,                           
  .fdatasync_h = rtems_rfs_rtems_fdatasync,                           
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5ede8:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
   5edec:	2068 0080      	moveal %a0@(128),%a0                        <== NOT EXECUTED
   5edf0:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5edf2:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5edf8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5edfc:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5edfe:	6600 00c0      	bnew 5eec0 <rtems_rfs_rtems_file_lseek+0xf0><== NOT EXECUTED
    printf("rtems-rfs: file-lseek: handle:%p offset:%" PRIdoff_t "\n", file, offset);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  old_offset = iop->offset;                                           
  new_offset = rtems_filesystem_default_lseek_file (iop, offset, whence);
   5ee02:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5ee06:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5ee0a:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_LSEEK))       
    printf("rtems-rfs: file-lseek: handle:%p offset:%" PRIdoff_t "\n", file, offset);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  old_offset = iop->offset;                                           
   5ee0e:	282a 0004      	movel %a2@(4),%d4                           <== NOT EXECUTED
   5ee12:	2a2a 0008      	movel %a2@(8),%d5                           <== NOT EXECUTED
  new_offset = rtems_filesystem_default_lseek_file (iop, offset, whence);
   5ee16:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5ee18:	4eb9 0005 f89c 	jsr 5f89c <rtems_filesystem_default_lseek_file><== NOT EXECUTED
  if (new_offset != -1)                                               
   5ee1e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    printf("rtems-rfs: file-lseek: handle:%p offset:%" PRIdoff_t "\n", file, offset);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  old_offset = iop->offset;                                           
  new_offset = rtems_filesystem_default_lseek_file (iop, offset, whence);
   5ee22:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   5ee24:	2601           	movel %d1,%d3                               <== NOT EXECUTED
  if (new_offset != -1)                                               
   5ee26:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5ee28:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   5ee2a:	9283           	subl %d3,%d1                                <== NOT EXECUTED
   5ee2c:	9182           	subxl %d2,%d0                               <== NOT EXECUTED
   5ee2e:	6726           	beqs 5ee56 <rtems_rfs_rtems_file_lseek+0x86><== NOT EXECUTED
  {                                                                   
    rtems_rfs_pos pos = iop->offset;                                  
   5ee30:	204e           	moveal %fp,%a0                              <== NOT EXECUTED
   5ee32:	202a 0004      	movel %a2@(4),%d0                           <== NOT EXECUTED
   5ee36:	222a 0008      	movel %a2@(8),%d1                           <== NOT EXECUTED
   5ee3a:	2101           	movel %d1,%a0@-                             <== NOT EXECUTED
   5ee3c:	2100           	movel %d0,%a0@-                             <== NOT EXECUTED
    int           rc = rtems_rfs_file_seek (file, pos, &pos);         
   5ee3e:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5ee40:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5ee42:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ee44:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5ee46:	4eb9 0005 cb76 	jsr 5cb76 <rtems_rfs_file_seek>             <== NOT EXECUTED
                                                                      
    if (rc)                                                           
   5ee4c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  old_offset = iop->offset;                                           
  new_offset = rtems_filesystem_default_lseek_file (iop, offset, whence);
  if (new_offset != -1)                                               
  {                                                                   
    rtems_rfs_pos pos = iop->offset;                                  
    int           rc = rtems_rfs_file_seek (file, pos, &pos);         
   5ee50:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
                                                                      
    if (rc)                                                           
   5ee52:	6600 009e      	bnew 5eef2 <rtems_rfs_rtems_file_lseek+0x122><== NOT EXECUTED
      iop->offset = old_offset;                                       
      new_offset = -1;                                                
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5ee56:	206b 001a      	moveal %a3@(26),%a0                         <== NOT EXECUTED
   5ee5a:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5ee5e:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5ee62:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5ee64:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ee6a:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5ee6c:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ee72:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ee74:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ee76:	660e           	bnes 5ee86 <rtems_rfs_rtems_file_lseek+0xb6><== NOT EXECUTED
                                                                      
  return new_offset;                                                  
}                                                                     
   5ee78:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5ee7a:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   5ee7c:	4cee 0c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a3            <== NOT EXECUTED
   5ee82:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ee84:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5ee86:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5ee8a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ee8c:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5ee92:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ee94:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ee96:	67e0           	beqs 5ee78 <rtems_rfs_rtems_file_lseek+0xa8><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5ee98:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5ee9a:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5eea0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5eea2:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5eea8:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5eeae:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5eeb2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5eeb4:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   5eeb6:	4cee 0c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a3            <== NOT EXECUTED
   5eebc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5eebe:	4e75           	rts                                         <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5eec0:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5eec4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5eec6:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5eecc:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5eece:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5eed0:	6700 ff30      	beqw 5ee02 <rtems_rfs_rtems_file_lseek+0x32><== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5eed4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5eed6:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5eedc:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5eede:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5eee4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5eeea:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5eeee:	6000 ff12      	braw 5ee02 <rtems_rfs_rtems_file_lseek+0x32><== NOT EXECUTED
    rtems_rfs_pos pos = iop->offset;                                  
    int           rc = rtems_rfs_file_seek (file, pos, &pos);         
                                                                      
    if (rc)                                                           
    {                                                                 
      rtems_rfs_rtems_error ("file_lseek: lseek", rc);                
   5eef2:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5eef8:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5eefa:	2086           	movel %d6,%a0@                              <== NOT EXECUTED
      iop->offset = old_offset;                                       
      new_offset = -1;                                                
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5eefc:	206b 001a      	moveal %a3@(26),%a0                         <== NOT EXECUTED
   5ef00:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
    int           rc = rtems_rfs_file_seek (file, pos, &pos);         
                                                                      
    if (rc)                                                           
    {                                                                 
      rtems_rfs_rtems_error ("file_lseek: lseek", rc);                
      iop->offset = old_offset;                                       
   5ef04:	2544 0004      	movel %d4,%a2@(4)                           <== NOT EXECUTED
   5ef08:	2545 0008      	movel %d5,%a2@(8)                           <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5ef0c:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5ef10:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
      new_offset = -1;                                                
   5ef12:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
   5ef14:	76ff           	moveq #-1,%d3                               <== NOT EXECUTED
   5ef16:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ef1c:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5ef1e:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ef24:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5ef26:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ef28:	6700 ff4e      	beqw 5ee78 <rtems_rfs_rtems_file_lseek+0xa8><== NOT EXECUTED
   5ef2c:	6000 ff58      	braw 5ee86 <rtems_rfs_rtems_file_lseek+0xb6><== NOT EXECUTED
                                                                      

0005f364 <rtems_rfs_rtems_file_open>: static int rtems_rfs_rtems_file_open (rtems_libio_t* iop, const char* pathname, int oflag, mode_t mode) {
   5f364:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   5f368:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     <== NOT EXECUTED
   5f36c:	266e 0008      	moveal %fp@(8),%a3                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (&iop->pathinfo);
   5f370:	206b 0024      	moveal %a3@(36),%a0                         <== NOT EXECUTED
   5f374:	2468 0008      	moveal %a0@(8),%a2                          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5f378:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f37a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_rfs_rtems_file_ftruncate,                      
  .fsync_h     = rtems_rfs_rtems_fdatasync,                           
  .fdatasync_h = rtems_rfs_rtems_fdatasync,                           
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5f37c:	206a 0080      	moveal %a2@(128),%a0                        <== NOT EXECUTED
   5f380:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   5f382:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f388:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5f38c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f38e:	664e           	bnes 5f3de <rtems_rfs_rtems_file_open+0x7a> <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  ino = rtems_rfs_rtems_get_iop_ino (iop);                            
                                                                      
  rc = rtems_rfs_file_open (fs, ino, flags, &file);                   
   5f390:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   5f394:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f396:	2f2b 0018      	movel %a3@(24),%sp@-                        <== NOT EXECUTED
   5f39a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f39c:	4eb9 0005 bebc 	jsr 5bebc <rtems_rfs_file_open>             <== NOT EXECUTED
  if (rc > 0)                                                         
   5f3a2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  ino = rtems_rfs_rtems_get_iop_ino (iop);                            
                                                                      
  rc = rtems_rfs_file_open (fs, ino, flags, &file);                   
   5f3a6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5f3a8:	6f7a           	bles 5f424 <rtems_rfs_rtems_file_open+0xc0> <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f3aa:	266a 0080      	moveal %a2@(128),%a3                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f3ae:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f3b0:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f3b6:	2f13           	movel %a3@,%sp@-                            <== NOT EXECUTED
   5f3b8:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f3be:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f3c0:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f3c2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5f3c4:	6600 008a      	bnew 5f450 <rtems_rfs_rtems_file_open+0xec> <== NOT EXECUTED
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("file-open: open", rc);             
   5f3c8:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5f3ce:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5f3d0:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5f3d2:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_set_iop_file_handle (iop, file);                    
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
  return 0;                                                           
}                                                                     
   5f3d4:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                <== NOT EXECUTED
   5f3da:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f3dc:	4e75           	rts                                         <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f3de:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f3e2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f3e4:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f3ea:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f3ec:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f3ee:	67a0           	beqs 5f390 <rtems_rfs_rtems_file_open+0x2c> <== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5f3f0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f3f2:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f3f8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f3fa:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5f400:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f406:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  ino = rtems_rfs_rtems_get_iop_ino (iop);                            
                                                                      
  rc = rtems_rfs_file_open (fs, ino, flags, &file);                   
   5f40a:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   5f40e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f410:	2f2b 0018      	movel %a3@(24),%sp@-                        <== NOT EXECUTED
   5f414:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f416:	4eb9 0005 bebc 	jsr 5bebc <rtems_rfs_file_open>             <== NOT EXECUTED
  if (rc > 0)                                                         
   5f41c:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
                                                                      
  ino = rtems_rfs_rtems_get_iop_ino (iop);                            
                                                                      
  rc = rtems_rfs_file_open (fs, ino, flags, &file);                   
   5f420:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5f422:	6e86           	bgts 5f3aa <rtems_rfs_rtems_file_open+0x46> <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f424:	286a 0080      	moveal %a2@(128),%a4                        <== NOT EXECUTED
  }                                                                   
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_OPEN))        
    printf("rtems-rfs: file-open: handle:%p\n", file);                
                                                                      
  rtems_rfs_rtems_set_iop_file_handle (iop, file);                    
   5f428:	276e fffc 001c 	movel %fp@(-4),%a3@(28)                     <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f42e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f430:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f436:	2f14           	movel %a4@,%sp@-                            <== NOT EXECUTED
   5f438:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f43e:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f440:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f442:	664a           	bnes 5f48e <rtems_rfs_rtems_file_open+0x12a><== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
  return 0;                                                           
   5f444:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   5f446:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                <== NOT EXECUTED
   5f44c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f44e:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f450:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f454:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f456:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f45c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f45e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f460:	6700 ff66      	beqw 5f3c8 <rtems_rfs_rtems_file_open+0x64> <== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5f464:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f466:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f46c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f46e:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5f474:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f47a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_file_open (fs, ino, flags, &file);                   
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_rtems_unlock (fs);                                      
    return rtems_rfs_rtems_error ("file-open: open", rc);             
   5f47e:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5f484:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5f486:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5f488:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   5f48a:	6000 ff48      	braw 5f3d4 <rtems_rfs_rtems_file_open+0x70> <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f48e:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f492:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f494:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f49a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f49c:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f49e:	67a4           	beqs 5f444 <rtems_rfs_rtems_file_open+0xe0> <== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5f4a0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f4a2:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f4a8:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f4aa:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5f4b0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f4b6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    printf("rtems-rfs: file-open: handle:%p\n", file);                
                                                                      
  rtems_rfs_rtems_set_iop_file_handle (iop, file);                    
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
  return 0;                                                           
   5f4ba:	4280           	clrl %d0                                    <== NOT EXECUTED
   5f4bc:	6088           	bras 5f446 <rtems_rfs_rtems_file_open+0xe2> <== NOT EXECUTED
                                                                      

0005ef30 <rtems_rfs_rtems_file_read>: */ static ssize_t rtems_rfs_rtems_file_read (rtems_libio_t* iop, void* buffer, size_t count) {
   5ef30:	4e56 ffc8      	linkw %fp,#-56                              <== NOT EXECUTED
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
   5ef34:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
 */                                                                   
static ssize_t                                                        
rtems_rfs_rtems_file_read (rtems_libio_t* iop,                        
                           void*          buffer,                     
                           size_t         count)                      
{                                                                     
   5ef38:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5ef3c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
   5ef3e:	2468 001c      	moveal %a0@(28),%a2                         <== NOT EXECUTED
   5ef42:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_READ))        
    printf("rtems-rfs: file-read: handle:%p count:%zd\n", file, count);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
   5ef44:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_rfs_rtems_file_ftruncate,                      
  .fsync_h     = rtems_rfs_rtems_fdatasync,                           
  .fdatasync_h = rtems_rfs_rtems_fdatasync,                           
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5ef48:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
   5ef4c:	2068 0080      	moveal %a0@(128),%a0                        <== NOT EXECUTED
   5ef50:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
 */                                                                   
static ssize_t                                                        
rtems_rfs_rtems_file_read (rtems_libio_t* iop,                        
                           void*          buffer,                     
                           size_t         count)                      
{                                                                     
   5ef52:	282e 0010      	movel %fp@(16),%d4                          <== NOT EXECUTED
   5ef56:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ef5c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5ef60:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5ef62:	6600 0116      	bnew 5f07a <rtems_rfs_rtems_file_read+0x14a><== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  pos = iop->offset;                                                  
                                                                      
  if (pos < rtems_rfs_file_size (file))                               
   5ef66:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5ef6a:	4868 007c      	pea %a0@(124)                               <== NOT EXECUTED
   5ef6e:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_READ))        
    printf("rtems-rfs: file-read: handle:%p count:%zd\n", file, count);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  pos = iop->offset;                                                  
   5ef72:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5ef76:	2428 0004      	movel %a0@(4),%d2                           <== NOT EXECUTED
   5ef7a:	2628 0008      	movel %a0@(8),%d3                           <== NOT EXECUTED
   5ef7e:	2d42 fff4      	movel %d2,%fp@(-12)                         <== NOT EXECUTED
   5ef82:	2d43 fff8      	movel %d3,%fp@(-8)                          <== NOT EXECUTED
   5ef86:	4eb9 0005 9180 	jsr 59180 <rtems_rfs_block_get_size>        <== NOT EXECUTED
                                                                      
  if (pos < rtems_rfs_file_size (file))                               
   5ef8c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ef8e:	9681           	subl %d1,%d3                                <== NOT EXECUTED
   5ef90:	9580           	subxl %d0,%d2                               <== NOT EXECUTED
   5ef92:	6400 00c6      	bccw 5f05a <rtems_rfs_rtems_file_read+0x12a><== NOT EXECUTED
  {                                                                   
    while (count)                                                     
   5ef96:	4a84           	tstl %d4                                    <== NOT EXECUTED
   5ef98:	6700 00c0      	beqw 5f05a <rtems_rfs_rtems_file_read+0x12a><== NOT EXECUTED
   5ef9c:	2e0e           	movel %fp,%d7                               <== NOT EXECUTED
   5ef9e:	4286           	clrl %d6                                    <== NOT EXECUTED
   5efa0:	5987           	subql #4,%d7                                <== NOT EXECUTED
   5efa2:	47f9 0005 c67e 	lea 5c67e <rtems_rfs_file_io_start>,%a3     <== NOT EXECUTED
        break;                                                        
                                                                      
      if (size > count)                                               
        size = count;                                                 
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
   5efa8:	4bf9 0006 1438 	lea 61438 <memcpy>,%a5                      <== NOT EXECUTED
                                                                      
      data  += size;                                                  
      count -= size;                                                  
      read  += size;                                                  
                                                                      
      rc = rtems_rfs_file_io_end (file, size, true);                  
   5efae:	49f9 0005 c8dc 	lea 5c8dc <rtems_rfs_file_io_end>,%a4       <== NOT EXECUTED
                                                                      
  pos = iop->offset;                                                  
                                                                      
  if (pos < rtems_rfs_file_size (file))                               
  {                                                                   
    while (count)                                                     
   5efb4:	2a2e 000c      	movel %fp@(12),%d5                          <== NOT EXECUTED
    {                                                                 
      size_t size;                                                    
                                                                      
      rc = rtems_rfs_file_io_start (file, &size, true);               
   5efb8:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5efbc:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   5efbe:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5efc0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
      if (rc > 0)                                                     
   5efc2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  {                                                                   
    while (count)                                                     
    {                                                                 
      size_t size;                                                    
                                                                      
      rc = rtems_rfs_file_io_start (file, &size, true);               
   5efc6:	2200           	movel %d0,%d1                               <== NOT EXECUTED
      if (rc > 0)                                                     
   5efc8:	6e00 014e      	bgtw 5f118 <rtems_rfs_rtems_file_read+0x1e8><== NOT EXECUTED
      {                                                               
        read = rtems_rfs_rtems_error ("file-read: read: io-start", rc);
        break;                                                        
      }                                                               
                                                                      
      if (size == 0)                                                  
   5efcc:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   5efd0:	6738           	beqs 5f00a <rtems_rfs_rtems_file_read+0xda> <== NOT EXECUTED
        break;                                                        
                                                                      
      if (size > count)                                               
   5efd2:	b882           	cmpl %d2,%d4                                <== NOT EXECUTED
   5efd4:	6500 010e      	bcsw 5f0e4 <rtems_rfs_rtems_file_read+0x1b4><== NOT EXECUTED
        size = count;                                                 
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
   5efd8:	206a 000a      	moveal %a2@(10),%a0                         <== NOT EXECUTED
   5efdc:	9882           	subl %d2,%d4                                <== NOT EXECUTED
                                                                      
      data  += size;                                                  
      count -= size;                                                  
      read  += size;                                                  
   5efde:	dc82           	addl %d2,%d6                                <== NOT EXECUTED
        break;                                                        
                                                                      
      if (size > count)                                               
        size = count;                                                 
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
   5efe0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5efe2:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   5efe6:	d1ea 0012      	addal %a2@(18),%a0                          <== NOT EXECUTED
   5efea:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5efec:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
                                                                      
      data  += size;                                                  
   5efee:	da82           	addl %d2,%d5                                <== NOT EXECUTED
        break;                                                        
                                                                      
      if (size > count)                                               
        size = count;                                                 
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
   5eff0:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                                      
      data  += size;                                                  
      count -= size;                                                  
      read  += size;                                                  
                                                                      
      rc = rtems_rfs_file_io_end (file, size, true);                  
   5eff2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5eff6:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5eff8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5effa:	4e94           	jsr %a4@                                    <== NOT EXECUTED
      if (rc > 0)                                                     
   5effc:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                                                                      
      data  += size;                                                  
      count -= size;                                                  
      read  += size;                                                  
                                                                      
      rc = rtems_rfs_file_io_end (file, size, true);                  
   5f000:	2200           	movel %d0,%d1                               <== NOT EXECUTED
      if (rc > 0)                                                     
   5f002:	6e00 0114      	bgtw 5f118 <rtems_rfs_rtems_file_read+0x1e8><== NOT EXECUTED
                                                                      
  pos = iop->offset;                                                  
                                                                      
  if (pos < rtems_rfs_file_size (file))                               
  {                                                                   
    while (count)                                                     
   5f006:	4a84           	tstl %d4                                    <== NOT EXECUTED
   5f008:	66ae           	bnes 5efb8 <rtems_rfs_rtems_file_read+0x88> <== NOT EXECUTED
        break;                                                        
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if (read >= 0)                                                      
   5f00a:	4a86           	tstl %d6                                    <== NOT EXECUTED
   5f00c:	6d1e           	blts 5f02c <rtems_rfs_rtems_file_read+0xfc> <== NOT EXECUTED
    iop->offset = pos + read;                                         
   5f00e:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5f012:	2206           	movel %d6,%d1                               <== NOT EXECUTED
   5f014:	5bc0           	smi %d0                                     <== NOT EXECUTED
   5f016:	49c0           	extbl %d0                                   <== NOT EXECUTED
   5f018:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   5f01c:	262e fff8      	movel %fp@(-8),%d3                          <== NOT EXECUTED
   5f020:	d681           	addl %d1,%d3                                <== NOT EXECUTED
   5f022:	d580           	addxl %d0,%d2                               <== NOT EXECUTED
   5f024:	2142 0004      	movel %d2,%a0@(4)                           <== NOT EXECUTED
   5f028:	2143 0008      	movel %d3,%a0@(8)                           <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5f02c:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f030:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f034:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f038:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f03a:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f040:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5f042:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f048:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f04a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f04c:	665e           	bnes 5f0ac <rtems_rfs_rtems_file_read+0x17c><== NOT EXECUTED
                                                                      
  return read;                                                        
}                                                                     
   5f04e:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   5f050:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5f056:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f058:	4e75           	rts                                         <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if (read >= 0)                                                      
    iop->offset = pos + read;                                         
   5f05a:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
                           size_t         count)                      
{                                                                     
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
  rtems_rfs_pos          pos;                                         
  uint8_t*               data = buffer;                               
  ssize_t                read = 0;                                    
   5f05e:	4286           	clrl %d6                                    <== NOT EXECUTED
                                                                      
  pos = iop->offset;                                                  
                                                                      
  if (pos < rtems_rfs_file_size (file))                               
  {                                                                   
    while (count)                                                     
   5f060:	4280           	clrl %d0                                    <== NOT EXECUTED
   5f062:	4281           	clrl %d1                                    <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if (read >= 0)                                                      
    iop->offset = pos + read;                                         
   5f064:	242e fff4      	movel %fp@(-12),%d2                         <== NOT EXECUTED
   5f068:	262e fff8      	movel %fp@(-8),%d3                          <== NOT EXECUTED
   5f06c:	d681           	addl %d1,%d3                                <== NOT EXECUTED
   5f06e:	d580           	addxl %d0,%d2                               <== NOT EXECUTED
   5f070:	2142 0004      	movel %d2,%a0@(4)                           <== NOT EXECUTED
   5f074:	2143 0008      	movel %d3,%a0@(8)                           <== NOT EXECUTED
   5f078:	60b2           	bras 5f02c <rtems_rfs_rtems_file_read+0xfc> <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f07a:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f07e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f080:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f086:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f088:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f08a:	6700 feda      	beqw 5ef66 <rtems_rfs_rtems_file_read+0x36> <== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5f08e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f090:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f096:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f098:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5f09e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f0a4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5f0a8:	6000 febc      	braw 5ef66 <rtems_rfs_rtems_file_read+0x36> <== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f0ac:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f0b0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f0b2:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f0b8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f0ba:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f0bc:	6790           	beqs 5f04e <rtems_rfs_rtems_file_read+0x11e><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5f0be:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f0c0:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f0c6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f0c8:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5f0ce:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f0d4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
                                                                      
  return read;                                                        
}                                                                     
   5f0d8:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   5f0da:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5f0e0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f0e2:	4e75           	rts                                         <== NOT EXECUTED
        break;                                                        
                                                                      
      if (size > count)                                               
        size = count;                                                 
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
   5f0e4:	206a 000a      	moveal %a2@(10),%a0                         <== NOT EXECUTED
                                                                      
      if (size == 0)                                                  
        break;                                                        
                                                                      
      if (size > count)                                               
        size = count;                                                 
   5f0e8:	2404           	movel %d4,%d2                               <== NOT EXECUTED
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
                                                                      
      data  += size;                                                  
      count -= size;                                                  
      read  += size;                                                  
   5f0ea:	dc82           	addl %d2,%d6                                <== NOT EXECUTED
        break;                                                        
                                                                      
      if (size > count)                                               
        size = count;                                                 
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
   5f0ec:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f0ee:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   5f0f2:	d1ea 0012      	addal %a2@(18),%a0                          <== NOT EXECUTED
   5f0f6:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
                                                                      
      if (size == 0)                                                  
        break;                                                        
                                                                      
      if (size > count)                                               
        size = count;                                                 
   5f0f8:	2d44 fffc      	movel %d4,%fp@(-4)                          <== NOT EXECUTED
   5f0fc:	4284           	clrl %d4                                    <== NOT EXECUTED
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
   5f0fe:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
                                                                      
      data  += size;                                                  
   5f100:	da82           	addl %d2,%d5                                <== NOT EXECUTED
        break;                                                        
                                                                      
      if (size > count)                                               
        size = count;                                                 
                                                                      
      memcpy (data, rtems_rfs_file_data (file), size);                
   5f102:	4e95           	jsr %a5@                                    <== NOT EXECUTED
                                                                      
      data  += size;                                                  
      count -= size;                                                  
      read  += size;                                                  
                                                                      
      rc = rtems_rfs_file_io_end (file, size, true);                  
   5f104:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5f108:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f10a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f10c:	4e94           	jsr %a4@                                    <== NOT EXECUTED
      if (rc > 0)                                                     
   5f10e:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                                                                      
      data  += size;                                                  
      count -= size;                                                  
      read  += size;                                                  
                                                                      
      rc = rtems_rfs_file_io_end (file, size, true);                  
   5f112:	2200           	movel %d0,%d1                               <== NOT EXECUTED
      if (rc > 0)                                                     
   5f114:	6f00 fef0      	blew 5f006 <rtems_rfs_rtems_file_read+0xd6> <== NOT EXECUTED
      {                                                               
        read = rtems_rfs_rtems_error ("file-read: read: io-end", rc); 
   5f118:	2d41 fff0      	movel %d1,%fp@(-16)                         <== NOT EXECUTED
   5f11c:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
   5f11e:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5f124:	222e fff0      	movel %fp@(-16),%d1                         <== NOT EXECUTED
   5f128:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5f12a:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  if (read >= 0)                                                      
    iop->offset = pos + read;                                         
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5f12c:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f130:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f134:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f138:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f13a:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f140:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5f142:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f148:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f14a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f14c:	6700 ff00      	beqw 5f04e <rtems_rfs_rtems_file_read+0x11e><== NOT EXECUTED
   5f150:	6000 ff5a      	braw 5f0ac <rtems_rfs_rtems_file_read+0x17c><== NOT EXECUTED
                                                                      

0005f4be <rtems_rfs_rtems_file_write>: */ static ssize_t rtems_rfs_rtems_file_write (rtems_libio_t* iop, const void* buffer, size_t count) {
   5f4be:	4e56 ffcc      	linkw %fp,#-52                              <== NOT EXECUTED
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
   5f4c2:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
 */                                                                   
static ssize_t                                                        
rtems_rfs_rtems_file_write (rtems_libio_t* iop,                       
                            const void*    buffer,                    
                            size_t         count)                     
{                                                                     
   5f4c6:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5f4ca:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  rtems_rfs_file_handle* file = rtems_rfs_rtems_get_iop_file_handle (iop);
   5f4cc:	2468 001c      	moveal %a0@(28),%a2                         <== NOT EXECUTED
   5f4d0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_WRITE))       
    printf("rtems-rfs: file-write: handle:%p count:%zd\n", file, count);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
   5f4d2:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
  .fstat_h     = rtems_rfs_rtems_fstat,                               
  .ftruncate_h = rtems_rfs_rtems_file_ftruncate,                      
  .fsync_h     = rtems_rfs_rtems_fdatasync,                           
  .fdatasync_h = rtems_rfs_rtems_fdatasync,                           
  .fcntl_h     = rtems_filesystem_default_fcntl                       
};                                                                    
   5f4d6:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
   5f4da:	2068 0080      	moveal %a0@(128),%a0                        <== NOT EXECUTED
   5f4de:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
 */                                                                   
static ssize_t                                                        
rtems_rfs_rtems_file_write (rtems_libio_t* iop,                       
                            const void*    buffer,                    
                            size_t         count)                     
{                                                                     
   5f4e0:	282e 0010      	movel %fp@(16),%d4                          <== NOT EXECUTED
   5f4e4:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f4ea:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   5f4ee:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f4f0:	6600 014a      	bnew 5f63c <rtems_rfs_rtems_file_write+0x17e><== NOT EXECUTED
    printf("rtems-rfs: file-write: handle:%p count:%zd\n", file, count);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  pos = iop->offset;                                                  
  file_size = rtems_rfs_file_size (file);                             
   5f4f4:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f4f8:	4868 007c      	pea %a0@(124)                               <== NOT EXECUTED
   5f4fc:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_WRITE))       
    printf("rtems-rfs: file-write: handle:%p count:%zd\n", file, count);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  pos = iop->offset;                                                  
   5f500:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5f504:	2028 0004      	movel %a0@(4),%d0                           <== NOT EXECUTED
   5f508:	2228 0008      	movel %a0@(8),%d1                           <== NOT EXECUTED
   5f50c:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   5f510:	2d41 fffc      	movel %d1,%fp@(-4)                          <== NOT EXECUTED
   5f514:	4eb9 0005 9180 	jsr 59180 <rtems_rfs_block_get_size>        <== NOT EXECUTED
  file_size = rtems_rfs_file_size (file);                             
  if (pos > file_size)                                                
   5f51a:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f51c:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   5f520:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
   5f524:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
   5f526:	2c03           	movel %d3,%d6                               <== NOT EXECUTED
   5f528:	9c81           	subl %d1,%d6                                <== NOT EXECUTED
   5f52a:	9b80           	subxl %d0,%d5                               <== NOT EXECUTED
   5f52c:	6200 0178      	bhiw 5f6a6 <rtems_rfs_rtems_file_write+0x1e8><== NOT EXECUTED
      return rtems_rfs_rtems_error ("file-write: write extend", rc);  
    }                                                                 
                                                                      
    rtems_rfs_file_set_bpos (file, pos);                              
  }                                                                   
  else if (pos < file_size && (iop->flags & LIBIO_FLAGS_APPEND) != 0) 
   5f530:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
   5f532:	2c03           	movel %d3,%d6                               <== NOT EXECUTED
   5f534:	9c81           	subl %d1,%d6                                <== NOT EXECUTED
   5f536:	9b80           	subxl %d0,%d5                               <== NOT EXECUTED
   5f538:	6500 01be      	bcsw 5f6f8 <rtems_rfs_rtems_file_write+0x23a><== NOT EXECUTED
      rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));              
      return rtems_rfs_rtems_error ("file-write: write append seek", rc);
    }                                                                 
  }                                                                   
                                                                      
  while (count)                                                       
   5f53c:	4a84           	tstl %d4                                    <== NOT EXECUTED
   5f53e:	6700 02a6      	beqw 5f7e6 <rtems_rfs_rtems_file_write+0x328><== NOT EXECUTED
   5f542:	260e           	movel %fp,%d3                               <== NOT EXECUTED
   5f544:	4285           	clrl %d5                                    <== NOT EXECUTED
   5f546:	0683 ffff fff4 	addil #-12,%d3                              <== NOT EXECUTED
   5f54c:	49f9 0005 c67e 	lea 5c67e <rtems_rfs_file_io_start>,%a4     <== NOT EXECUTED
    }                                                                 
                                                                      
    if (size > count)                                                 
      size = count;                                                   
                                                                      
    memcpy (rtems_rfs_file_data (file), data, size);                  
   5f552:	47f9 0006 1438 	lea 61438 <memcpy>,%a3                      <== NOT EXECUTED
                                                                      
    data  += size;                                                    
    count -= size;                                                    
    write  += size;                                                   
                                                                      
    rc = rtems_rfs_file_io_end (file, size, false);                   
   5f558:	4bf9 0005 c8dc 	lea 5c8dc <rtems_rfs_file_io_end>,%a5       <== NOT EXECUTED
      rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));              
      return rtems_rfs_rtems_error ("file-write: write append seek", rc);
    }                                                                 
  }                                                                   
                                                                      
  while (count)                                                       
   5f55e:	242e 000c      	movel %fp@(12),%d2                          <== NOT EXECUTED
  {                                                                   
    size_t size = count;                                              
                                                                      
    rc = rtems_rfs_file_io_start (file, &size, false);                
   5f562:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f564:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  while (count)                                                       
  {                                                                   
    size_t size = count;                                              
   5f566:	2d44 fff4      	movel %d4,%fp@(-12)                         <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_file_io_start (file, &size, false);                
   5f56a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f56c:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (rc)                                                           
   5f56e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  while (count)                                                       
  {                                                                   
    size_t size = count;                                              
                                                                      
    rc = rtems_rfs_file_io_start (file, &size, false);                
   5f572:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
    if (rc)                                                           
   5f574:	6600 0094      	bnew 5f60a <rtems_rfs_rtems_file_write+0x14c><== NOT EXECUTED
    {                                                                 
      write = rtems_rfs_rtems_error ("file-write: write open", rc);   
      break;                                                          
    }                                                                 
                                                                      
    if (size > count)                                                 
   5f578:	202e fff4      	movel %fp@(-12),%d0                         <== NOT EXECUTED
   5f57c:	b880           	cmpl %d0,%d4                                <== NOT EXECUTED
   5f57e:	6406           	bccs 5f586 <rtems_rfs_rtems_file_write+0xc8><== NOT EXECUTED
      size = count;                                                   
   5f580:	2d44 fff4      	movel %d4,%fp@(-12)                         <== NOT EXECUTED
   5f584:	2004           	movel %d4,%d0                               <== NOT EXECUTED
                                                                      
    memcpy (rtems_rfs_file_data (file), data, size);                  
   5f586:	206a 000a      	moveal %a2@(10),%a0                         <== NOT EXECUTED
   5f58a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f58c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f58e:	2068 001a      	moveal %a0@(26),%a0                         <== NOT EXECUTED
   5f592:	d1ea 0012      	addal %a2@(18),%a0                          <== NOT EXECUTED
   5f596:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f598:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
    data  += size;                                                    
   5f59a:	222e fff4      	movel %fp@(-12),%d1                         <== NOT EXECUTED
    count -= size;                                                    
   5f59e:	9881           	subl %d1,%d4                                <== NOT EXECUTED
    if (size > count)                                                 
      size = count;                                                   
                                                                      
    memcpy (rtems_rfs_file_data (file), data, size);                  
                                                                      
    data  += size;                                                    
   5f5a0:	d481           	addl %d1,%d2                                <== NOT EXECUTED
    count -= size;                                                    
    write  += size;                                                   
   5f5a2:	da81           	addl %d1,%d5                                <== NOT EXECUTED
                                                                      
    rc = rtems_rfs_file_io_end (file, size, false);                   
   5f5a4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f5a6:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5f5a8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f5aa:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    if (rc)                                                           
   5f5ac:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                                                                      
    data  += size;                                                    
    count -= size;                                                    
    write  += size;                                                   
                                                                      
    rc = rtems_rfs_file_io_end (file, size, false);                   
   5f5b0:	2e00           	movel %d0,%d7                               <== NOT EXECUTED
    if (rc)                                                           
   5f5b2:	6656           	bnes 5f60a <rtems_rfs_rtems_file_write+0x14c><== NOT EXECUTED
      rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));              
      return rtems_rfs_rtems_error ("file-write: write append seek", rc);
    }                                                                 
  }                                                                   
                                                                      
  while (count)                                                       
   5f5b4:	4a84           	tstl %d4                                    <== NOT EXECUTED
   5f5b6:	66aa           	bnes 5f562 <rtems_rfs_rtems_file_write+0xa4><== NOT EXECUTED
   5f5b8:	2605           	movel %d5,%d3                               <== NOT EXECUTED
   5f5ba:	5bc2           	smi %d2                                     <== NOT EXECUTED
   5f5bc:	49c2           	extbl %d2                                   <== NOT EXECUTED
      write = rtems_rfs_rtems_error ("file-write: write close", rc);  
      break;                                                          
    }                                                                 
  }                                                                   
                                                                      
  if (write >= 0)                                                     
   5f5be:	4a85           	tstl %d5                                    <== NOT EXECUTED
   5f5c0:	6d18           	blts 5f5da <rtems_rfs_rtems_file_write+0x11c><== NOT EXECUTED
    iop->offset = pos + write;                                        
   5f5c2:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5f5c6:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   5f5ca:	222e fffc      	movel %fp@(-4),%d1                          <== NOT EXECUTED
   5f5ce:	d283           	addl %d3,%d1                                <== NOT EXECUTED
   5f5d0:	d182           	addxl %d2,%d0                               <== NOT EXECUTED
   5f5d2:	2140 0004      	movel %d0,%a0@(4)                           <== NOT EXECUTED
   5f5d6:	2141 0008      	movel %d1,%a0@(8)                           <== NOT EXECUTED
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5f5da:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f5de:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f5e2:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f5e6:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f5e8:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f5ee:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5f5f0:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f5f6:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f5f8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f5fa:	6600 0150      	bnew 5f74c <rtems_rfs_rtems_file_write+0x28e><== NOT EXECUTED
                                                                      
  return write;                                                       
}                                                                     
   5f5fe:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   5f600:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5f606:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f608:	4e75           	rts                                         <== NOT EXECUTED
    write  += size;                                                   
                                                                      
    rc = rtems_rfs_file_io_end (file, size, false);                   
    if (rc)                                                           
    {                                                                 
      write = rtems_rfs_rtems_error ("file-write: write close", rc);  
   5f60a:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5f610:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
   5f612:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5f614:	2087           	movel %d7,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  if (write >= 0)                                                     
    iop->offset = pos + write;                                        
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
   5f616:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f61a:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f61e:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f622:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f624:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f62a:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5f62c:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f632:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f634:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f636:	67c6           	beqs 5f5fe <rtems_rfs_rtems_file_write+0x140><== NOT EXECUTED
   5f638:	6000 0112      	braw 5f74c <rtems_rfs_rtems_file_write+0x28e><== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f63c:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f640:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f642:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f648:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f64a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f64c:	6700 fea6      	beqw 5f4f4 <rtems_rfs_rtems_file_write+0x36><== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   5f650:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f652:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f658:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f65a:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   5f660:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
    printf("rtems-rfs: file-write: handle:%p count:%zd\n", file, count);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  pos = iop->offset;                                                  
  file_size = rtems_rfs_file_size (file);                             
   5f666:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f66a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5f66e:	4868 007c      	pea %a0@(124)                               <== NOT EXECUTED
   5f672:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_FILE_WRITE))       
    printf("rtems-rfs: file-write: handle:%p count:%zd\n", file, count);
                                                                      
  rtems_rfs_rtems_lock (rtems_rfs_file_fs (file));                    
                                                                      
  pos = iop->offset;                                                  
   5f676:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5f67a:	2028 0004      	movel %a0@(4),%d0                           <== NOT EXECUTED
   5f67e:	2228 0008      	movel %a0@(8),%d1                           <== NOT EXECUTED
   5f682:	2d40 fff8      	movel %d0,%fp@(-8)                          <== NOT EXECUTED
   5f686:	2d41 fffc      	movel %d1,%fp@(-4)                          <== NOT EXECUTED
   5f68a:	4eb9 0005 9180 	jsr 59180 <rtems_rfs_block_get_size>        <== NOT EXECUTED
  file_size = rtems_rfs_file_size (file);                             
  if (pos > file_size)                                                
   5f690:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f692:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   5f696:	262e fffc      	movel %fp@(-4),%d3                          <== NOT EXECUTED
   5f69a:	2a02           	movel %d2,%d5                               <== NOT EXECUTED
   5f69c:	2c03           	movel %d3,%d6                               <== NOT EXECUTED
   5f69e:	9c81           	subl %d1,%d6                                <== NOT EXECUTED
   5f6a0:	9b80           	subxl %d0,%d5                               <== NOT EXECUTED
   5f6a2:	6300 fe8c      	blsw 5f530 <rtems_rfs_rtems_file_write+0x72><== NOT EXECUTED
    /*                                                                
     * If the iop position is past the physical end of the file we need to set
     * the file size to the new length before writing.  The           
     * rtems_rfs_file_io_end() will grow the file subsequently.       
     */                                                               
    rc = rtems_rfs_file_set_size (file, pos);                         
   5f6a6:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5f6a8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f6aa:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f6ac:	4eb9 0005 cc70 	jsr 5cc70 <rtems_rfs_file_set_size>         <== NOT EXECUTED
    if (rc)                                                           
   5f6b2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    /*                                                                
     * If the iop position is past the physical end of the file we need to set
     * the file size to the new length before writing.  The           
     * rtems_rfs_file_io_end() will grow the file subsequently.       
     */                                                               
    rc = rtems_rfs_file_set_size (file, pos);                         
   5f6b6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc)                                                           
   5f6b8:	6700 00cc      	beqw 5f786 <rtems_rfs_rtems_file_write+0x2c8><== NOT EXECUTED
  {                                                                   
    pos = file_size;                                                  
    rc = rtems_rfs_file_seek (file, pos, &pos);                       
    if (rc)                                                           
    {                                                                 
      rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));              
   5f6bc:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f6c0:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f6c4:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f6c8:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f6ca:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f6d0:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5f6d2:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f6d8:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f6da:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f6dc:	6600 00ca      	bnew 5f7a8 <rtems_rfs_rtems_file_write+0x2ea><== NOT EXECUTED
      return rtems_rfs_rtems_error ("file-write: write append seek", rc);
   5f6e0:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5f6e6:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
   5f6e8:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5f6ea:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
    iop->offset = pos + write;                                        
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
                                                                      
  return write;                                                       
}                                                                     
   5f6ec:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   5f6ee:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5f6f4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f6f6:	4e75           	rts                                         <== NOT EXECUTED
      return rtems_rfs_rtems_error ("file-write: write extend", rc);  
    }                                                                 
                                                                      
    rtems_rfs_file_set_bpos (file, pos);                              
  }                                                                   
  else if (pos < file_size && (iop->flags & LIBIO_FLAGS_APPEND) != 0) 
   5f6f8:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   5f6fc:	2428 000c      	movel %a0@(12),%d2                          <== NOT EXECUTED
   5f700:	0282 0000 0200 	andil #512,%d2                              <== NOT EXECUTED
   5f706:	6700 fe34      	beqw 5f53c <rtems_rfs_rtems_file_write+0x7e><== NOT EXECUTED
  {                                                                   
    pos = file_size;                                                  
   5f70a:	204e           	moveal %fp,%a0                              <== NOT EXECUTED
   5f70c:	2101           	movel %d1,%a0@-                             <== NOT EXECUTED
   5f70e:	2100           	movel %d0,%a0@-                             <== NOT EXECUTED
    rc = rtems_rfs_file_seek (file, pos, &pos);                       
   5f710:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f712:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   5f714:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f716:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5f718:	4eb9 0005 cb76 	jsr 5cb76 <rtems_rfs_file_seek>             <== NOT EXECUTED
    if (rc)                                                           
   5f71e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    rtems_rfs_file_set_bpos (file, pos);                              
  }                                                                   
  else if (pos < file_size && (iop->flags & LIBIO_FLAGS_APPEND) != 0) 
  {                                                                   
    pos = file_size;                                                  
    rc = rtems_rfs_file_seek (file, pos, &pos);                       
   5f722:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc)                                                           
   5f724:	6700 fe16      	beqw 5f53c <rtems_rfs_rtems_file_write+0x7e><== NOT EXECUTED
    {                                                                 
      rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));              
   5f728:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f72c:	2068 0090      	moveal %a0@(144),%a0                        <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   5f730:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   5f734:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   5f736:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f73c:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   5f73e:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f744:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   5f746:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   5f748:	6796           	beqs 5f6e0 <rtems_rfs_rtems_file_write+0x222><== NOT EXECUTED
   5f74a:	605c           	bras 5f7a8 <rtems_rfs_rtems_file_write+0x2ea><== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f74c:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f750:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f752:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f758:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f75a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f75c:	6700 fea0      	beqw 5f5fe <rtems_rfs_rtems_file_write+0x140><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5f760:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5f762:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f768:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f76a:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5f770:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f776:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    iop->offset = pos + write;                                        
                                                                      
  rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));                  
                                                                      
  return write;                                                       
}                                                                     
   5f77a:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   5f77c:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   5f782:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5f784:	4e75           	rts                                         <== NOT EXECUTED
    {                                                                 
      rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));              
      return rtems_rfs_rtems_error ("file-write: write extend", rc);  
    }                                                                 
                                                                      
    rtems_rfs_file_set_bpos (file, pos);                              
   5f786:	486a 000e      	pea %a2@(14)                                <== NOT EXECUTED
   5f78a:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   5f78e:	2f2e fff8      	movel %fp@(-8),%sp@-                        <== NOT EXECUTED
   5f792:	206a 001a      	moveal %a2@(26),%a0                         <== NOT EXECUTED
   5f796:	2f28 0090      	movel %a0@(144),%sp@-                       <== NOT EXECUTED
   5f79a:	4eb9 0005 90a2 	jsr 590a2 <rtems_rfs_block_get_bpos>        <== NOT EXECUTED
   5f7a0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5f7a4:	6000 fd96      	braw 5f53c <rtems_rfs_rtems_file_write+0x7e><== NOT EXECUTED
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
  if (sc != RTEMS_SUCCESSFUL)                                         
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   5f7a8:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   5f7ac:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5f7ae:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5f7b4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5f7b6:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5f7b8:	6700 ff26      	beqw 5f6e0 <rtems_rfs_rtems_file_write+0x222><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   5f7bc:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
    pos = file_size;                                                  
    rc = rtems_rfs_file_seek (file, pos, &pos);                       
    if (rc)                                                           
    {                                                                 
      rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));              
      return rtems_rfs_rtems_error ("file-write: write append seek", rc);
   5f7be:	7aff           	moveq #-1,%d5                               <== NOT EXECUTED
   5f7c0:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   5f7c6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5f7c8:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   5f7ce:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5f7d4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5f7d8:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5f7de:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5f7e0:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   5f7e2:	6000 ff08      	braw 5f6ec <rtems_rfs_rtems_file_write+0x22e><== NOT EXECUTED
      break;                                                          
    }                                                                 
  }                                                                   
                                                                      
  if (write >= 0)                                                     
    iop->offset = pos + write;                                        
   5f7e6:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
      rtems_rfs_rtems_unlock (rtems_rfs_file_fs (file));              
      return rtems_rfs_rtems_error ("file-write: write append seek", rc);
    }                                                                 
  }                                                                   
                                                                      
  while (count)                                                       
   5f7ea:	4285           	clrl %d5                                    <== NOT EXECUTED
   5f7ec:	4282           	clrl %d2                                    <== NOT EXECUTED
   5f7ee:	4283           	clrl %d3                                    <== NOT EXECUTED
      break;                                                          
    }                                                                 
  }                                                                   
                                                                      
  if (write >= 0)                                                     
    iop->offset = pos + write;                                        
   5f7f0:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   5f7f4:	222e fffc      	movel %fp@(-4),%d1                          <== NOT EXECUTED
   5f7f8:	d283           	addl %d3,%d1                                <== NOT EXECUTED
   5f7fa:	d182           	addxl %d2,%d0                               <== NOT EXECUTED
   5f7fc:	2140 0004      	movel %d0,%a0@(4)                           <== NOT EXECUTED
   5f800:	2141 0008      	movel %d1,%a0@(8)                           <== NOT EXECUTED
   5f804:	6000 fdd4      	braw 5f5da <rtems_rfs_rtems_file_write+0x11c><== NOT EXECUTED
                                                                      

000524b0 <rtems_rfs_rtems_fstat>: } int rtems_rfs_rtems_fstat (const rtems_filesystem_location_info_t* pathloc, struct stat* buf) {
   524b0:	4e56 ffb4      	linkw %fp,#-76                              <== NOT EXECUTED
   524b4:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   524b8:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
}                                                                     
                                                                      
int                                                                   
rtems_rfs_rtems_fstat (const rtems_filesystem_location_info_t* pathloc,
                       struct stat*                            buf)   
{                                                                     
   524bc:	48d7 1cfc      	moveml %d2-%d7/%a2-%a4,%sp@                 <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   524c0:	2669 0008      	moveal %a1@(8),%a3                          <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_STAT))             
    printf ("rtems-rfs-rtems: stat: in: ino:%" PRId32 "\n", ino);     
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   524c4:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   524c8:	240e           	movel %fp,%d2                               <== NOT EXECUTED
   524ca:	0682 ffff ffda 	addil #-38,%d2                              <== NOT EXECUTED
   524d0:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   524d2:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
}                                                                     
                                                                      
int                                                                   
rtems_rfs_rtems_fstat (const rtems_filesystem_location_info_t* pathloc,
                       struct stat*                            buf)   
{                                                                     
   524d6:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_STAT))             
    printf ("rtems-rfs-rtems: stat: in: ino:%" PRId32 "\n", ino);     
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   524da:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   524dc:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc)                                                             
   524e2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_STAT))             
    printf ("rtems-rfs-rtems: stat: in: ino:%" PRId32 "\n", ino);     
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   524e6:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  if (rc)                                                             
   524e8:	6600 0322      	bnew 5280c <rtems_rfs_rtems_fstat+0x35c>    <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("stat: opening inode", rc);         
  }                                                                   
                                                                      
  mode = rtems_rfs_inode_get_mode (&inode);                           
   524ec:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 * @return uint16_t The mode.                                         
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle)             
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->mode);                    
   524f0:	4280           	clrl %d0                                    <== NOT EXECUTED
   524f2:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   524f6:	4281           	clrl %d1                                    <== NOT EXECUTED
   524f8:	1228 0003      	moveb %a0@(3),%d1                           <== NOT EXECUTED
   524fc:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   524fe:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
                                                                      
  if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK (mode))           
   52500:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   52502:	0281 0000 f000 	andil #61440,%d1                            <== NOT EXECUTED
   52508:	0c81 0000 2000 	cmpil #8192,%d1                             <== NOT EXECUTED
   5250e:	6700 0138      	beqw 52648 <rtems_rfs_rtems_fstat+0x198>    <== NOT EXECUTED
   52512:	0c81 0000 6000 	cmpil #24576,%d1                            <== NOT EXECUTED
   52518:	6700 012e      	beqw 52648 <rtems_rfs_rtems_fstat+0x198>    <== NOT EXECUTED
    buf->st_rdev =                                                    
      rtems_filesystem_make_dev_t (rtems_rfs_inode_get_block (&inode, 0),
                                   rtems_rfs_inode_get_block (&inode, 1));
  }                                                                   
                                                                      
  buf->st_dev     = rtems_rfs_fs_device (fs);                         
   5251c:	282b 0010      	movel %a3@(16),%d4                          <== NOT EXECUTED
   52520:	5bc3           	smi %d3                                     <== NOT EXECUTED
   52522:	49c3           	extbl %d3                                   <== NOT EXECUTED
   52524:	2483           	movel %d3,%a2@                              <== NOT EXECUTED
   52526:	2544 0004      	movel %d4,%a2@(4)                           <== NOT EXECUTED
  buf->st_ino     = rtems_rfs_inode_ino (&inode);                     
  buf->st_mode    = rtems_rfs_rtems_mode (mode);                      
   5252a:	3f00           	movew %d0,%sp@-                             <== NOT EXECUTED
 * @return uint16_t The group id (gid).                               
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_gid (rtems_rfs_inode_handle* handle)              
{                                                                     
  return (rtems_rfs_read_u32 (&handle->node->owner) >> 16) & 0xffff;  
   5252c:	7818           	moveq #24,%d4                               <== NOT EXECUTED
      rtems_filesystem_make_dev_t (rtems_rfs_inode_get_block (&inode, 0),
                                   rtems_rfs_inode_get_block (&inode, 1));
  }                                                                   
                                                                      
  buf->st_dev     = rtems_rfs_fs_device (fs);                         
  buf->st_ino     = rtems_rfs_inode_ino (&inode);                     
   5252e:	256e ffe2 0008 	movel %fp@(-30),%a2@(8)                     <== NOT EXECUTED
  buf->st_mode    = rtems_rfs_rtems_mode (mode);                      
   52534:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   52536:	4eb9 0005 2eec 	jsr 52eec <rtems_rfs_rtems_mode>            <== NOT EXECUTED
  buf->st_nlink   = rtems_rfs_inode_get_links (&inode);               
   5253c:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   52540:	4281           	clrl %d1                                    <== NOT EXECUTED
                                   rtems_rfs_inode_get_block (&inode, 1));
  }                                                                   
                                                                      
  buf->st_dev     = rtems_rfs_fs_device (fs);                         
  buf->st_ino     = rtems_rfs_inode_ino (&inode);                     
  buf->st_mode    = rtems_rfs_rtems_mode (mode);                      
   52542:	2540 000c      	movel %d0,%a2@(12)                          <== NOT EXECUTED
   52546:	4280           	clrl %d0                                    <== NOT EXECUTED
   52548:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   5254a:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
   5254e:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   52550:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  if (links == 0xffff)                                                
   52552:	3200           	movew %d0,%d1                               <== NOT EXECUTED
    links = 0;                                                        
   52554:	0c81 0000 ffff 	cmpil #65535,%d1                            <== NOT EXECUTED
   5255a:	56c1           	sne %d1                                     <== NOT EXECUTED
   5255c:	4881           	extw %d1                                    <== NOT EXECUTED
   5255e:	c081           	andl %d1,%d0                                <== NOT EXECUTED
 * @return uint16_t The user id (uid).                                
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_uid (rtems_rfs_inode_handle* handle)              
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->owner) & 0xffff;          
   52560:	4281           	clrl %d1                                    <== NOT EXECUTED
  buf->st_nlink   = rtems_rfs_inode_get_links (&inode);               
   52562:	3540 0010      	movew %d0,%a2@(16)                          <== NOT EXECUTED
   52566:	4280           	clrl %d0                                    <== NOT EXECUTED
   52568:	1028 0006      	moveb %a0@(6),%d0                           <== NOT EXECUTED
   5256c:	1228 0007      	moveb %a0@(7),%d1                           <== NOT EXECUTED
   52570:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   52572:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  buf->st_uid     = rtems_rfs_inode_get_uid (&inode);                 
   52574:	3540 0012      	movew %d0,%a2@(18)                          <== NOT EXECUTED
 * @return uint16_t The group id (gid).                               
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_gid (rtems_rfs_inode_handle* handle)              
{                                                                     
  return (rtems_rfs_read_u32 (&handle->node->owner) >> 16) & 0xffff;  
   52578:	4280           	clrl %d0                                    <== NOT EXECUTED
   5257a:	1028 0004      	moveb %a0@(4),%d0                           <== NOT EXECUTED
   5257e:	1228 0005      	moveb %a0@(5),%d1                           <== NOT EXECUTED
   52582:	e9a8           	lsll %d4,%d0                                <== NOT EXECUTED
   52584:	4841           	swap %d1                                    <== NOT EXECUTED
   52586:	4241           	clrw %d1                                    <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Need to check is the ino is an open file. If so we take the values from
   * the open file rather than the inode.                             
   */                                                                 
  shared = rtems_rfs_file_get_shared (fs, rtems_rfs_inode_ino (&inode));
   52588:	2eae ffe2      	movel %fp@(-30),%sp@                        <== NOT EXECUTED
   5258c:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5258e:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   52590:	4240           	clrw %d0                                    <== NOT EXECUTED
   52592:	4840           	swap %d0                                    <== NOT EXECUTED
   52594:	3540 0014      	movew %d0,%a2@(20)                          <== NOT EXECUTED
   52598:	4eb9 0005 cfd8 	jsr 5cfd8 <rtems_rfs_file_get_shared>       <== NOT EXECUTED
                                                                      
  if (shared)                                                         
   5259e:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Need to check is the ino is an open file. If so we take the values from
   * the open file rather than the inode.                             
   */                                                                 
  shared = rtems_rfs_file_get_shared (fs, rtems_rfs_inode_ino (&inode));
   525a0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
                                                                      
  if (shared)                                                         
   525a2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   525a4:	6700 0188      	beqw 5272e <rtems_rfs_rtems_fstat+0x27e>    <== NOT EXECUTED
    buf->st_atime   = rtems_rfs_file_shared_get_atime (shared);       
    buf->st_mtime   = rtems_rfs_file_shared_get_mtime (shared);       
    buf->st_ctime   = rtems_rfs_file_shared_get_ctime (shared);       
    buf->st_blocks  = rtems_rfs_file_shared_get_block_count (shared); 
                                                                      
    if (S_ISLNK (buf->st_mode))                                       
   525a8:	202a 000c      	movel %a2@(12),%d0                          <== NOT EXECUTED
   */                                                                 
  shared = rtems_rfs_file_get_shared (fs, rtems_rfs_inode_ino (&inode));
                                                                      
  if (shared)                                                         
  {                                                                   
    buf->st_atime   = rtems_rfs_file_shared_get_atime (shared);       
   525ac:	2568 0084 0026 	movel %a0@(132),%a2@(38)                    <== NOT EXECUTED
    buf->st_mtime   = rtems_rfs_file_shared_get_mtime (shared);       
   525b2:	2568 0088 002e 	movel %a0@(136),%a2@(46)                    <== NOT EXECUTED
    buf->st_ctime   = rtems_rfs_file_shared_get_ctime (shared);       
   525b8:	2568 008c 0036 	movel %a0@(140),%a2@(54)                    <== NOT EXECUTED
    buf->st_blocks  = rtems_rfs_file_shared_get_block_count (shared); 
   525be:	2568 007c 0042 	movel %a0@(124),%a2@(66)                    <== NOT EXECUTED
                                                                      
    if (S_ISLNK (buf->st_mode))                                       
   525c4:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   525ca:	0c80 0000 a000 	cmpil #40960,%d0                            <== NOT EXECUTED
   525d0:	6744           	beqs 52616 <rtems_rfs_rtems_fstat+0x166>    <== NOT EXECUTED
 */                                                                   
static inline rtems_rfs_pos                                           
rtems_rfs_file_shared_get_size (rtems_rfs_file_system* fs,            
                                rtems_rfs_file_shared* shared)        
{                                                                     
  return rtems_rfs_block_get_size (fs, &shared->size);                
   525d2:	4868 007c      	pea %a0@(124)                               <== NOT EXECUTED
   525d6:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   525d8:	4eb9 0005 9180 	jsr 59180 <rtems_rfs_block_get_size>        <== NOT EXECUTED
      buf->st_size = rtems_rfs_file_shared_get_block_offset (shared); 
    else                                                              
      buf->st_size = rtems_rfs_file_shared_get_size (fs, shared);     
   525de:	508f           	addql #8,%sp                                <== NOT EXECUTED
   525e0:	2540 001e      	movel %d0,%a2@(30)                          <== NOT EXECUTED
   525e4:	2541 0022      	movel %d1,%a2@(34)                          <== NOT EXECUTED
      buf->st_size = rtems_rfs_inode_get_block_offset (&inode);       
    else                                                              
      buf->st_size = rtems_rfs_inode_get_size (fs, &inode);           
  }                                                                   
                                                                      
  buf->st_blksize = rtems_rfs_fs_block_size (fs);                     
   525e8:	256b 0008 003e 	movel %a3@(8),%a2@(62)                      <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   525ee:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   525f0:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   525f2:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   525f8:	508f           	addql #8,%sp                                <== NOT EXECUTED
      buf->st_size = rtems_rfs_inode_get_size (fs, &inode);           
  }                                                                   
                                                                      
  buf->st_blksize = rtems_rfs_fs_block_size (fs);                     
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   525fa:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   525fc:	6f3c           	bles 5263a <rtems_rfs_rtems_fstat+0x18a>    <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("stat: closing inode", rc);         
   525fe:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52604:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   52606:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52608:	2001           	movel %d1,%d0                               <== NOT EXECUTED
  buf->st_blksize = rtems_rfs_fs_block_size (fs);                     
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
  {                                                                   
    return rtems_rfs_rtems_error ("stat: closing inode", rc);         
   5260a:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   5260c:	4cee 1cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   52612:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52614:	4e75           	rts                                         <== NOT EXECUTED
    buf->st_mtime   = rtems_rfs_file_shared_get_mtime (shared);       
    buf->st_ctime   = rtems_rfs_file_shared_get_ctime (shared);       
    buf->st_blocks  = rtems_rfs_file_shared_get_block_count (shared); 
                                                                      
    if (S_ISLNK (buf->st_mode))                                       
      buf->st_size = rtems_rfs_file_shared_get_block_offset (shared); 
   52616:	4280           	clrl %d0                                    <== NOT EXECUTED
   52618:	3028 0082      	movew %a0@(130),%d0                         <== NOT EXECUTED
      buf->st_size = rtems_rfs_inode_get_block_offset (&inode);       
    else                                                              
      buf->st_size = rtems_rfs_inode_get_size (fs, &inode);           
  }                                                                   
                                                                      
  buf->st_blksize = rtems_rfs_fs_block_size (fs);                     
   5261c:	256b 0008 003e 	movel %a3@(8),%a2@(62)                      <== NOT EXECUTED
    buf->st_mtime   = rtems_rfs_file_shared_get_mtime (shared);       
    buf->st_ctime   = rtems_rfs_file_shared_get_ctime (shared);       
    buf->st_blocks  = rtems_rfs_file_shared_get_block_count (shared); 
                                                                      
    if (S_ISLNK (buf->st_mode))                                       
      buf->st_size = rtems_rfs_file_shared_get_block_offset (shared); 
   52622:	42aa 001e      	clrl %a2@(30)                               <== NOT EXECUTED
   52626:	2540 0022      	movel %d0,%a2@(34)                          <== NOT EXECUTED
      buf->st_size = rtems_rfs_inode_get_size (fs, &inode);           
  }                                                                   
                                                                      
  buf->st_blksize = rtems_rfs_fs_block_size (fs);                     
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5262a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5262c:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   5262e:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   52634:	508f           	addql #8,%sp                                <== NOT EXECUTED
      buf->st_size = rtems_rfs_inode_get_size (fs, &inode);           
  }                                                                   
                                                                      
  buf->st_blksize = rtems_rfs_fs_block_size (fs);                     
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52636:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   52638:	6ec4           	bgts 525fe <rtems_rfs_rtems_fstat+0x14e>    <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("stat: closing inode", rc);         
  }                                                                   
                                                                      
  return 0;                                                           
   5263a:	4281           	clrl %d1                                    <== NOT EXECUTED
}                                                                     
   5263c:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5263e:	4cee 1cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   52644:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52646:	4e75           	rts                                         <== NOT EXECUTED
 * @return uint32_t The block number.                                 
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block (rtems_rfs_inode_handle* handle, int block) 
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->data.blocks[block]);      
   52648:	4283           	clrl %d3                                    <== NOT EXECUTED
   5264a:	4281           	clrl %d1                                    <== NOT EXECUTED
   5264c:	1628 0020      	moveb %a0@(32),%d3                          <== NOT EXECUTED
   52650:	1228 001c      	moveb %a0@(28),%d1                          <== NOT EXECUTED
   52654:	7818           	moveq #24,%d4                               <== NOT EXECUTED
   52656:	4287           	clrl %d7                                    <== NOT EXECUTED
   52658:	4286           	clrl %d6                                    <== NOT EXECUTED
   5265a:	1e28 0021      	moveb %a0@(33),%d7                          <== NOT EXECUTED
   5265e:	1c28 001d      	moveb %a0@(29),%d6                          <== NOT EXECUTED
   52662:	4285           	clrl %d5                                    <== NOT EXECUTED
   52664:	1a28 0022      	moveb %a0@(34),%d5                          <== NOT EXECUTED
   52668:	e9ab           	lsll %d4,%d3                                <== NOT EXECUTED
   5266a:	e9a9           	lsll %d4,%d1                                <== NOT EXECUTED
   5266c:	4284           	clrl %d4                                    <== NOT EXECUTED
   5266e:	1828 0023      	moveb %a0@(35),%d4                          <== NOT EXECUTED
   52672:	2844           	moveal %d4,%a4                              <== NOT EXECUTED
   52674:	1828 001f      	moveb %a0@(31),%d4                          <== NOT EXECUTED
   52678:	2244           	moveal %d4,%a1                              <== NOT EXECUTED
   5267a:	1828 001e      	moveb %a0@(30),%d4                          <== NOT EXECUTED
   5267e:	4846           	swap %d6                                    <== NOT EXECUTED
   52680:	4246           	clrw %d6                                    <== NOT EXECUTED
   52682:	4847           	swap %d7                                    <== NOT EXECUTED
   52684:	4247           	clrw %d7                                    <== NOT EXECUTED
   52686:	e18d           	lsll #8,%d5                                 <== NOT EXECUTED
   52688:	8286           	orl %d6,%d1                                 <== NOT EXECUTED
   5268a:	2c0c           	movel %a4,%d6                               <== NOT EXECUTED
   5268c:	8687           	orl %d7,%d3                                 <== NOT EXECUTED
   5268e:	e18c           	lsll #8,%d4                                 <== NOT EXECUTED
   52690:	8686           	orl %d6,%d3                                 <== NOT EXECUTED
   52692:	2c09           	movel %a1,%d6                               <== NOT EXECUTED
                                                                      
  mode = rtems_rfs_inode_get_mode (&inode);                           
                                                                      
  if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK (mode))           
  {                                                                   
    buf->st_rdev =                                                    
   52694:	8685           	orl %d5,%d3                                 <== NOT EXECUTED
   52696:	8286           	orl %d6,%d1                                 <== NOT EXECUTED
   52698:	2543 001a      	movel %d3,%a2@(26)                          <== NOT EXECUTED
   5269c:	8284           	orl %d4,%d1                                 <== NOT EXECUTED
      rtems_filesystem_make_dev_t (rtems_rfs_inode_get_block (&inode, 0),
                                   rtems_rfs_inode_get_block (&inode, 1));
  }                                                                   
                                                                      
  buf->st_dev     = rtems_rfs_fs_device (fs);                         
   5269e:	282b 0010      	movel %a3@(16),%d4                          <== NOT EXECUTED
   526a2:	5bc3           	smi %d3                                     <== NOT EXECUTED
   526a4:	49c3           	extbl %d3                                   <== NOT EXECUTED
                                                                      
  mode = rtems_rfs_inode_get_mode (&inode);                           
                                                                      
  if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK (mode))           
  {                                                                   
    buf->st_rdev =                                                    
   526a6:	2541 0016      	movel %d1,%a2@(22)                          <== NOT EXECUTED
      rtems_filesystem_make_dev_t (rtems_rfs_inode_get_block (&inode, 0),
                                   rtems_rfs_inode_get_block (&inode, 1));
  }                                                                   
                                                                      
  buf->st_dev     = rtems_rfs_fs_device (fs);                         
   526aa:	2483           	movel %d3,%a2@                              <== NOT EXECUTED
   526ac:	2544 0004      	movel %d4,%a2@(4)                           <== NOT EXECUTED
  buf->st_ino     = rtems_rfs_inode_ino (&inode);                     
  buf->st_mode    = rtems_rfs_rtems_mode (mode);                      
   526b0:	3f00           	movew %d0,%sp@-                             <== NOT EXECUTED
 * @return uint16_t The group id (gid).                               
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_gid (rtems_rfs_inode_handle* handle)              
{                                                                     
  return (rtems_rfs_read_u32 (&handle->node->owner) >> 16) & 0xffff;  
   526b2:	7818           	moveq #24,%d4                               <== NOT EXECUTED
      rtems_filesystem_make_dev_t (rtems_rfs_inode_get_block (&inode, 0),
                                   rtems_rfs_inode_get_block (&inode, 1));
  }                                                                   
                                                                      
  buf->st_dev     = rtems_rfs_fs_device (fs);                         
  buf->st_ino     = rtems_rfs_inode_ino (&inode);                     
   526b4:	256e ffe2 0008 	movel %fp@(-30),%a2@(8)                     <== NOT EXECUTED
  buf->st_mode    = rtems_rfs_rtems_mode (mode);                      
   526ba:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   526bc:	4eb9 0005 2eec 	jsr 52eec <rtems_rfs_rtems_mode>            <== NOT EXECUTED
  buf->st_nlink   = rtems_rfs_inode_get_links (&inode);               
   526c2:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   526c6:	4281           	clrl %d1                                    <== NOT EXECUTED
                                   rtems_rfs_inode_get_block (&inode, 1));
  }                                                                   
                                                                      
  buf->st_dev     = rtems_rfs_fs_device (fs);                         
  buf->st_ino     = rtems_rfs_inode_ino (&inode);                     
  buf->st_mode    = rtems_rfs_rtems_mode (mode);                      
   526c8:	2540 000c      	movel %d0,%a2@(12)                          <== NOT EXECUTED
   526cc:	4280           	clrl %d0                                    <== NOT EXECUTED
   526ce:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   526d0:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
   526d4:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   526d6:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  if (links == 0xffff)                                                
   526d8:	3200           	movew %d0,%d1                               <== NOT EXECUTED
    links = 0;                                                        
   526da:	0c81 0000 ffff 	cmpil #65535,%d1                            <== NOT EXECUTED
   526e0:	56c1           	sne %d1                                     <== NOT EXECUTED
   526e2:	4881           	extw %d1                                    <== NOT EXECUTED
   526e4:	c081           	andl %d1,%d0                                <== NOT EXECUTED
 * @return uint16_t The user id (uid).                                
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_uid (rtems_rfs_inode_handle* handle)              
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->owner) & 0xffff;          
   526e6:	4281           	clrl %d1                                    <== NOT EXECUTED
  buf->st_nlink   = rtems_rfs_inode_get_links (&inode);               
   526e8:	3540 0010      	movew %d0,%a2@(16)                          <== NOT EXECUTED
   526ec:	4280           	clrl %d0                                    <== NOT EXECUTED
   526ee:	1028 0006      	moveb %a0@(6),%d0                           <== NOT EXECUTED
   526f2:	1228 0007      	moveb %a0@(7),%d1                           <== NOT EXECUTED
   526f6:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   526f8:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  buf->st_uid     = rtems_rfs_inode_get_uid (&inode);                 
   526fa:	3540 0012      	movew %d0,%a2@(18)                          <== NOT EXECUTED
 * @return uint16_t The group id (gid).                               
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_gid (rtems_rfs_inode_handle* handle)              
{                                                                     
  return (rtems_rfs_read_u32 (&handle->node->owner) >> 16) & 0xffff;  
   526fe:	4280           	clrl %d0                                    <== NOT EXECUTED
   52700:	1028 0004      	moveb %a0@(4),%d0                           <== NOT EXECUTED
   52704:	1228 0005      	moveb %a0@(5),%d1                           <== NOT EXECUTED
   52708:	e9a8           	lsll %d4,%d0                                <== NOT EXECUTED
   5270a:	4841           	swap %d1                                    <== NOT EXECUTED
   5270c:	4241           	clrw %d1                                    <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Need to check is the ino is an open file. If so we take the values from
   * the open file rather than the inode.                             
   */                                                                 
  shared = rtems_rfs_file_get_shared (fs, rtems_rfs_inode_ino (&inode));
   5270e:	2eae ffe2      	movel %fp@(-30),%sp@                        <== NOT EXECUTED
   52712:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   52714:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   52716:	4240           	clrw %d0                                    <== NOT EXECUTED
   52718:	4840           	swap %d0                                    <== NOT EXECUTED
   5271a:	3540 0014      	movew %d0,%a2@(20)                          <== NOT EXECUTED
   5271e:	4eb9 0005 cfd8 	jsr 5cfd8 <rtems_rfs_file_get_shared>       <== NOT EXECUTED
                                                                      
  if (shared)                                                         
   52724:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Need to check is the ino is an open file. If so we take the values from
   * the open file rather than the inode.                             
   */                                                                 
  shared = rtems_rfs_file_get_shared (fs, rtems_rfs_inode_ino (&inode));
   52726:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
                                                                      
  if (shared)                                                         
   52728:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5272a:	6600 fe7c      	bnew 525a8 <rtems_rfs_rtems_fstat+0xf8>     <== NOT EXECUTED
    else                                                              
      buf->st_size = rtems_rfs_file_shared_get_size (fs, shared);     
  }                                                                   
  else                                                                
  {                                                                   
    buf->st_atime   = rtems_rfs_inode_get_atime (&inode);             
   5272e:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 * @return rtems_rfs_time The atime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->atime);                   
   52732:	4280           	clrl %d0                                    <== NOT EXECUTED
   52734:	4283           	clrl %d3                                    <== NOT EXECUTED
   52736:	1028 0010      	moveb %a0@(16),%d0                          <== NOT EXECUTED
   5273a:	1628 0011      	moveb %a0@(17),%d3                          <== NOT EXECUTED
   5273e:	7c18           	moveq #24,%d6                               <== NOT EXECUTED
   52740:	4284           	clrl %d4                                    <== NOT EXECUTED
   52742:	4281           	clrl %d1                                    <== NOT EXECUTED
   52744:	1828 0013      	moveb %a0@(19),%d4                          <== NOT EXECUTED
   52748:	1228 0012      	moveb %a0@(18),%d1                          <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   5274c:	4285           	clrl %d5                                    <== NOT EXECUTED
 * @return rtems_rfs_time The atime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->atime);                   
   5274e:	4843           	swap %d3                                    <== NOT EXECUTED
   52750:	4243           	clrw %d3                                    <== NOT EXECUTED
   52752:	eda8           	lsll %d6,%d0                                <== NOT EXECUTED
   52754:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   52756:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   52758:	4283           	clrl %d3                                    <== NOT EXECUTED
 * @return rtems_rfs_time The atime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->atime);                   
   5275a:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
    buf->st_mtime   = rtems_rfs_inode_get_mtime (&inode);             
    buf->st_ctime   = rtems_rfs_inode_get_ctime (&inode);             
    buf->st_blocks  = rtems_rfs_inode_get_block_count (&inode);       
                                                                      
    if (S_ISLNK (buf->st_mode))                                       
   5275c:	282a 000c      	movel %a2@(12),%d4                          <== NOT EXECUTED
   52760:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   52762:	4281           	clrl %d1                                    <== NOT EXECUTED
 * @return rtems_rfs_time The atime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_atime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->atime);                   
   52764:	2540 0026      	movel %d0,%a2@(38)                          <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   52768:	4280           	clrl %d0                                    <== NOT EXECUTED
   5276a:	1028 0014      	moveb %a0@(20),%d0                          <== NOT EXECUTED
   5276e:	1628 0015      	moveb %a0@(21),%d3                          <== NOT EXECUTED
   52772:	1a28 0017      	moveb %a0@(23),%d5                          <== NOT EXECUTED
   52776:	1228 0016      	moveb %a0@(22),%d1                          <== NOT EXECUTED
   5277a:	4843           	swap %d3                                    <== NOT EXECUTED
   5277c:	4243           	clrw %d3                                    <== NOT EXECUTED
   5277e:	eda8           	lsll %d6,%d0                                <== NOT EXECUTED
   52780:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   52782:	0284 0000 f000 	andil #61440,%d4                            <== NOT EXECUTED
   52788:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
 * @return rtems_rfs_time The ctime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->ctime);                   
   5278a:	4283           	clrl %d3                                    <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   5278c:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   5278e:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
 * @return rtems_rfs_time The ctime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->ctime);                   
   52790:	4281           	clrl %d1                                    <== NOT EXECUTED
 * @return rtems_rfs_time The mtime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_mtime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->mtime);                   
   52792:	2540 002e      	movel %d0,%a2@(46)                          <== NOT EXECUTED
 * @return rtems_rfs_time The ctime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->ctime);                   
   52796:	4280           	clrl %d0                                    <== NOT EXECUTED
   52798:	1028 0018      	moveb %a0@(24),%d0                          <== NOT EXECUTED
   5279c:	1628 0019      	moveb %a0@(25),%d3                          <== NOT EXECUTED
   527a0:	1a28 001b      	moveb %a0@(27),%d5                          <== NOT EXECUTED
   527a4:	1228 001a      	moveb %a0@(26),%d1                          <== NOT EXECUTED
   527a8:	4843           	swap %d3                                    <== NOT EXECUTED
   527aa:	4243           	clrw %d3                                    <== NOT EXECUTED
   527ac:	eda8           	lsll %d6,%d0                                <== NOT EXECUTED
   527ae:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   527b0:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   527b2:	4283           	clrl %d3                                    <== NOT EXECUTED
 * @return rtems_rfs_time The ctime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->ctime);                   
   527b4:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   527b6:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   527b8:	4281           	clrl %d1                                    <== NOT EXECUTED
 * @return rtems_rfs_time The ctime.                                  
 */                                                                   
static inline rtems_rfs_time                                          
rtems_rfs_inode_get_ctime (rtems_rfs_inode_handle* handle)            
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->ctime);                   
   527ba:	2540 0036      	movel %d0,%a2@(54)                          <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   527be:	4280           	clrl %d0                                    <== NOT EXECUTED
   527c0:	1028 000c      	moveb %a0@(12),%d0                          <== NOT EXECUTED
   527c4:	1628 000d      	moveb %a0@(13),%d3                          <== NOT EXECUTED
   527c8:	1a28 000f      	moveb %a0@(15),%d5                          <== NOT EXECUTED
   527cc:	1228 000e      	moveb %a0@(14),%d1                          <== NOT EXECUTED
   527d0:	eda8           	lsll %d6,%d0                                <== NOT EXECUTED
   527d2:	4843           	swap %d3                                    <== NOT EXECUTED
   527d4:	4243           	clrw %d3                                    <== NOT EXECUTED
   527d6:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   527d8:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   527da:	8085           	orl %d5,%d0                                 <== NOT EXECUTED
   527dc:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   527de:	2540 0042      	movel %d0,%a2@(66)                          <== NOT EXECUTED
   527e2:	0c84 0000 a000 	cmpil #40960,%d4                            <== NOT EXECUTED
   527e8:	663a           	bnes 52824 <rtems_rfs_rtems_fstat+0x374>    <== NOT EXECUTED
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   527ea:	4280           	clrl %d0                                    <== NOT EXECUTED
   527ec:	1028 000a      	moveb %a0@(10),%d0                          <== NOT EXECUTED
   527f0:	4281           	clrl %d1                                    <== NOT EXECUTED
   527f2:	1228 000b      	moveb %a0@(11),%d1                          <== NOT EXECUTED
   527f6:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
      buf->st_size = rtems_rfs_inode_get_block_offset (&inode);       
   527f8:	42aa 001e      	clrl %a2@(30)                               <== NOT EXECUTED
   527fc:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   527fe:	0280 0000 ffff 	andil #65535,%d0                            <== NOT EXECUTED
   52804:	2540 0022      	movel %d0,%a2@(34)                          <== NOT EXECUTED
   52808:	6000 fdde      	braw 525e8 <rtems_rfs_rtems_fstat+0x138>    <== NOT EXECUTED
    printf ("rtems-rfs-rtems: stat: in: ino:%" PRId32 "\n", ino);     
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("stat: opening inode", rc);         
   5280c:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52812:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   52814:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("stat: closing inode", rc);         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52816:	2001           	movel %d1,%d0                               <== NOT EXECUTED
    printf ("rtems-rfs-rtems: stat: in: ino:%" PRId32 "\n", ino);     
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("stat: opening inode", rc);         
   52818:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("stat: closing inode", rc);         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   5281a:	4cee 1cfc ffb4 	moveml %fp@(-76),%d2-%d7/%a2-%a4            <== NOT EXECUTED
   52820:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52822:	4e75           	rts                                         <== NOT EXECUTED
    buf->st_blocks  = rtems_rfs_inode_get_block_count (&inode);       
                                                                      
    if (S_ISLNK (buf->st_mode))                                       
      buf->st_size = rtems_rfs_inode_get_block_offset (&inode);       
    else                                                              
      buf->st_size = rtems_rfs_inode_get_size (fs, &inode);           
   52824:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52826:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   52828:	4eb9 0005 1c2c 	jsr 51c2c <rtems_rfs_inode_get_size>        <== NOT EXECUTED
   5282e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52830:	2540 001e      	movel %d0,%a2@(30)                          <== NOT EXECUTED
   52834:	2541 0022      	movel %d1,%a2@(34)                          <== NOT EXECUTED
   52838:	6000 fdae      	braw 525e8 <rtems_rfs_rtems_fstat+0x138>    <== NOT EXECUTED
                                                                      

00052ee0 <rtems_rfs_rtems_imode>: uint16_t rtems_rfs_rtems_imode (mode_t mode) {
   52ee0:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  /*                                                                  
   * Mapping matches RTEMS so no need to change.                      
   */                                                                 
  return mode;                                                        
}                                                                     
   52ee4:	302e 000a      	movew %fp@(10),%d0                          <== NOT EXECUTED
   52ee8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052ade <rtems_rfs_rtems_initialise>: */ int rtems_rfs_rtems_initialise (rtems_filesystem_mount_table_entry_t* mt_entry, const void* data) {
   52ade:	4e56 ffdc      	linkw %fp,#-36                              
   52ae2:	48d7 3c3c      	moveml %d2-%d5/%a2-%a5,%sp@                 
   52ae6:	246e 000c      	moveal %fp@(12),%a2                         
  int                      rc;                                        
                                                                      
  /*                                                                  
   * Parse the options the user specifiies.                           
   */                                                                 
  while (options)                                                     
   52aea:	4a8a           	tstl %a2                                    
   52aec:	6700 0206      	beqw 52cf4 <rtems_rfs_rtems_initialise+0x216>
  {                                                                   
    printf ("options=%s\n", options);                                 
   52af0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52af2:	4879 0007 1b49 	pea 71b49 <_CPU_m68k_BFFFO_table+0xc3a>     <== NOT EXECUTED
   52af8:	49f9 0006 16ec 	lea 616ec <printf>,%a4                      <== NOT EXECUTED
   52afe:	47f9 0006 26d0 	lea 626d0 <strncmp>,%a3                     <== NOT EXECUTED
  int                      rc;                                        
                                                                      
  /*                                                                  
   * Parse the options the user specifiies.                           
   */                                                                 
  while (options)                                                     
   52b04:	7805           	moveq #5,%d4                                <== NOT EXECUTED
   52b06:	4282           	clrl %d2                                    <== NOT EXECUTED
  {                                                                   
    printf ("options=%s\n", options);                                 
    if (strncmp (options, "hold-bitmaps",                             
   52b08:	260b           	movel %a3,%d3                               <== NOT EXECUTED
                      sizeof ("no-local-cache") - 1) == 0)            
      flags |= RTEMS_RFS_FS_NO_LOCAL_CACHE;                           
    else if (strncmp (options, "max-held-bufs",                       
                      sizeof ("max-held-bufs") - 1) == 0)             
    {                                                                 
      max_held_buffers = strtoul (options + sizeof ("max-held-bufs"), 0, 0);
   52b0a:	2a3c 0006 2972 	movel #403826,%d5                           <== NOT EXECUTED
    }                                                                 
    else                                                              
      return rtems_rfs_rtems_error ("initialise: invalid option", EINVAL);
                                                                      
    options = strchr (options, ',');                                  
   52b10:	4bf9 0006 1f14 	lea 61f14 <strchr>,%a5                      <== NOT EXECUTED
  /*                                                                  
   * Parse the options the user specifiies.                           
   */                                                                 
  while (options)                                                     
  {                                                                   
    printf ("options=%s\n", options);                                 
   52b16:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (strncmp (options, "hold-bitmaps",                             
   52b18:	4878 000c      	pea c <OPER1>                               <== NOT EXECUTED
   52b1c:	4879 0007 1b55 	pea 71b55 <_CPU_m68k_BFFFO_table+0xc46>     <== NOT EXECUTED
   52b22:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52b24:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   52b26:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   52b2a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52b2c:	6600 008e      	bnew 52bbc <rtems_rfs_rtems_initialise+0xde><== NOT EXECUTED
                 sizeof ("hold-bitmaps") - 1) == 0)                   
      flags |= RTEMS_RFS_FS_BITMAPS_HOLD;                             
   52b30:	103c 0001      	moveb #1,%d0                                <== NOT EXECUTED
   52b34:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
      max_held_buffers = strtoul (options + sizeof ("max-held-bufs"), 0, 0);
    }                                                                 
    else                                                              
      return rtems_rfs_rtems_error ("initialise: invalid option", EINVAL);
                                                                      
    options = strchr (options, ',');                                  
   52b36:	4878 002c      	pea 2c <OPER2+0x18>                         <== NOT EXECUTED
   52b3a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52b3c:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   52b3e:	508f           	addql #8,%sp                                <== NOT EXECUTED
    if (options)                                                      
    {                                                                 
      ++options;                                                      
   52b40:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   52b42:	528a           	addql #1,%a2                                <== NOT EXECUTED
    }                                                                 
    else                                                              
      return rtems_rfs_rtems_error ("initialise: invalid option", EINVAL);
                                                                      
    options = strchr (options, ',');                                  
    if (options)                                                      
   52b44:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52b46:	6708           	beqs 52b50 <rtems_rfs_rtems_initialise+0x72><== NOT EXECUTED
    {                                                                 
      ++options;                                                      
      if (*options == '\0')                                           
   52b48:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52b4a:	4a28 0001      	tstb %a0@(1)                                <== NOT EXECUTED
   52b4e:	6646           	bnes 52b96 <rtems_rfs_rtems_initialise+0xb8><== NOT EXECUTED
        options = NULL;                                               
    }                                                                 
  }                                                                   
                                                                      
  rtems = malloc (sizeof (rtems_rfs_rtems_private));                  
   52b50:	4878 0004      	pea 4 <CONTEXT_ARG>                         
   52b54:	4eb9 0004 794c 	jsr 4794c <malloc>                          
  if (!rtems)                                                         
   52b5a:	588f           	addql #4,%sp                                
      if (*options == '\0')                                           
        options = NULL;                                               
    }                                                                 
  }                                                                   
                                                                      
  rtems = malloc (sizeof (rtems_rfs_rtems_private));                  
   52b5c:	2440           	moveal %d0,%a2                              
  if (!rtems)                                                         
   52b5e:	4a80           	tstl %d0                                    
   52b60:	6700 021a      	beqw 52d7c <rtems_rfs_rtems_initialise+0x29e>
    return rtems_rfs_rtems_error ("initialise: local data", ENOMEM);  
                                                                      
  memset (rtems, 0, sizeof (rtems_rfs_rtems_private));                
   52b64:	4292           	clrl %a2@                                   
                                                                      
  rc = rtems_rfs_mutex_create (&rtems->access);                       
   52b66:	2f00           	movel %d0,%sp@-                             
   52b68:	4eb9 0005 e5ac 	jsr 5e5ac <rtems_rfs_mutex_create>          
  if (rc > 0)                                                         
   52b6e:	588f           	addql #4,%sp                                
  if (!rtems)                                                         
    return rtems_rfs_rtems_error ("initialise: local data", ENOMEM);  
                                                                      
  memset (rtems, 0, sizeof (rtems_rfs_rtems_private));                
                                                                      
  rc = rtems_rfs_mutex_create (&rtems->access);                       
   52b70:	2600           	movel %d0,%d3                               
  if (rc > 0)                                                         
   52b72:	6f00 009a      	blew 52c0e <rtems_rfs_rtems_initialise+0x130>
  {                                                                   
    free (rtems);                                                     
   52b76:	2f0a           	movel %a2,%sp@-                             
   52b78:	4eb9 0004 7344 	jsr 47344 <free>                            
    return rtems_rfs_rtems_error ("initialise: cannot create mutex", rc);
   52b7e:	4eb9 0006 0414 	jsr 60414 <__errno>                         
   52b84:	588f           	addql #4,%sp                                
   52b86:	2040           	moveal %d0,%a0                              
   52b88:	70ff           	moveq #-1,%d0                               
   52b8a:	2083           	movel %d3,%a0@                              
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return 0;                                                           
}                                                                     
   52b8c:	4cee 3c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a5            
   52b92:	4e5e           	unlk %fp                                    
   52b94:	4e75           	rts                                         
  int                      rc;                                        
                                                                      
  /*                                                                  
   * Parse the options the user specifiies.                           
   */                                                                 
  while (options)                                                     
   52b96:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   52b98:	67b6           	beqs 52b50 <rtems_rfs_rtems_initialise+0x72><== NOT EXECUTED
  {                                                                   
    printf ("options=%s\n", options);                                 
   52b9a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52b9c:	4879 0007 1b49 	pea 71b49 <_CPU_m68k_BFFFO_table+0xc3a>     <== NOT EXECUTED
   52ba2:	4e94           	jsr %a4@                                    <== NOT EXECUTED
    if (strncmp (options, "hold-bitmaps",                             
   52ba4:	4878 000c      	pea c <OPER1>                               <== NOT EXECUTED
   52ba8:	4879 0007 1b55 	pea 71b55 <_CPU_m68k_BFFFO_table+0xc46>     <== NOT EXECUTED
   52bae:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52bb0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   52bb2:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
   52bb6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52bb8:	6700 ff76      	beqw 52b30 <rtems_rfs_rtems_initialise+0x52><== NOT EXECUTED
                 sizeof ("hold-bitmaps") - 1) == 0)                   
      flags |= RTEMS_RFS_FS_BITMAPS_HOLD;                             
    else if (strncmp (options, "no-local-cache",                      
   52bbc:	4878 000e      	pea e <OPER1+0x2>                           <== NOT EXECUTED
   52bc0:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   52bc2:	4879 0007 1b62 	pea 71b62 <_CPU_m68k_BFFFO_table+0xc53>     <== NOT EXECUTED
   52bc8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52bca:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   52bcc:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   52bd0:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52bd2:	660a           	bnes 52bde <rtems_rfs_rtems_initialise+0x100><== NOT EXECUTED
                      sizeof ("no-local-cache") - 1) == 0)            
      flags |= RTEMS_RFS_FS_NO_LOCAL_CACHE;                           
   52bd4:	103c 0002      	moveb #2,%d0                                <== NOT EXECUTED
   52bd8:	8480           	orl %d0,%d2                                 <== NOT EXECUTED
   52bda:	6000 ff5a      	braw 52b36 <rtems_rfs_rtems_initialise+0x58><== NOT EXECUTED
    else if (strncmp (options, "max-held-bufs",                       
   52bde:	4878 000d      	pea d <OPER1+0x1>                           <== NOT EXECUTED
   52be2:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   52be4:	4879 0007 1b71 	pea 71b71 <_CPU_m68k_BFFFO_table+0xc62>     <== NOT EXECUTED
   52bea:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52bec:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   52bee:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   52bf2:	4a80           	tstl %d0                                    <== NOT EXECUTED
   52bf4:	6600 00aa      	bnew 52ca0 <rtems_rfs_rtems_initialise+0x1c2><== NOT EXECUTED
                      sizeof ("max-held-bufs") - 1) == 0)             
    {                                                                 
      max_held_buffers = strtoul (options + sizeof ("max-held-bufs"), 0, 0);
   52bf8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52bfa:	2045           	moveal %d5,%a0                              <== NOT EXECUTED
   52bfc:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52bfe:	486a 000e      	pea %a2@(14)                                <== NOT EXECUTED
   52c02:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   52c04:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   52c08:	2800           	movel %d0,%d4                               <== NOT EXECUTED
   52c0a:	6000 ff2a      	braw 52b36 <rtems_rfs_rtems_initialise+0x58><== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   52c0e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52c10:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52c12:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   52c14:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   52c1a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   52c1e:	2600           	movel %d0,%d3                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   52c20:	6642           	bnes 52c64 <rtems_rfs_rtems_initialise+0x186><== NOT EXECUTED
    rtems_rfs_mutex_destroy (&rtems->access);                         
    free (rtems);                                                     
    return rtems_rfs_rtems_error ("initialise: cannot lock access  mutex", rc);
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_open (mt_entry->dev, rtems, flags, max_held_buffers, &fs);
   52c22:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   52c26:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   52c2a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   52c2c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52c2e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52c30:	2f28 0036      	movel %a0@(54),%sp@-                        <== NOT EXECUTED
   52c34:	4eb9 0005 d070 	jsr 5d070 <rtems_rfs_fs_open>               <== NOT EXECUTED
  if (rc)                                                             
   52c3a:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
    rtems_rfs_mutex_destroy (&rtems->access);                         
    free (rtems);                                                     
    return rtems_rfs_rtems_error ("initialise: cannot lock access  mutex", rc);
  }                                                                   
                                                                      
  rc = rtems_rfs_fs_open (mt_entry->dev, rtems, flags, max_held_buffers, &fs);
   52c3e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   52c40:	6700 00ba      	beqw 52cfc <rtems_rfs_rtems_initialise+0x21e><== NOT EXECUTED
  {                                                                   
    free (rtems);                                                     
   52c44:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52c46:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    return rtems_rfs_rtems_error ("initialise: open", rc);            
   52c4c:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52c52:	588f           	addql #4,%sp                                <== NOT EXECUTED
   52c54:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52c56:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   52c58:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return 0;                                                           
}                                                                     
   52c5a:	4cee 3c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a5            <== NOT EXECUTED
   52c60:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52c62:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   52c64:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   52c68:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52c6a:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   52c70:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52c72:	4a00           	tstb %d0                                    <== NOT EXECUTED
   52c74:	6642           	bnes 52cb8 <rtems_rfs_rtems_initialise+0x1da><== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_mutex_lock (&rtems->access);                         
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_mutex_destroy (&rtems->access);                         
   52c76:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
    free (rtems);                                                     
    return rtems_rfs_rtems_error ("initialise: cannot lock access  mutex", rc);
   52c78:	7405           	moveq #5,%d2                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_mutex_lock (&rtems->access);                         
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_mutex_destroy (&rtems->access);                         
   52c7a:	4eb9 0005 e61e 	jsr 5e61e <rtems_rfs_mutex_destroy>         <== NOT EXECUTED
    free (rtems);                                                     
   52c80:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52c82:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    return rtems_rfs_rtems_error ("initialise: cannot lock access  mutex", rc);
   52c88:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52c8e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52c90:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52c92:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   52c94:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return 0;                                                           
}                                                                     
   52c96:	4cee 3c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a5            <== NOT EXECUTED
   52c9c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52c9e:	4e75           	rts                                         <== NOT EXECUTED
                      sizeof ("max-held-bufs") - 1) == 0)             
    {                                                                 
      max_held_buffers = strtoul (options + sizeof ("max-held-bufs"), 0, 0);
    }                                                                 
    else                                                              
      return rtems_rfs_rtems_error ("initialise: invalid option", EINVAL);
   52ca0:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52ca6:	7816           	moveq #22,%d4                               <== NOT EXECUTED
   52ca8:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52caa:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   52cac:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return 0;                                                           
}                                                                     
   52cae:	4cee 3c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a5            <== NOT EXECUTED
   52cb4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52cb6:	4e75           	rts                                         <== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   52cb8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
  rc = rtems_rfs_mutex_lock (&rtems->access);                         
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_mutex_destroy (&rtems->access);                         
    free (rtems);                                                     
    return rtems_rfs_rtems_error ("initialise: cannot lock access  mutex", rc);
   52cba:	7405           	moveq #5,%d2                                <== NOT EXECUTED
   52cbc:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   52cc2:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52cc4:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   52cca:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   52cd0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_mutex_lock (&rtems->access);                         
  if (rc > 0)                                                         
  {                                                                   
    rtems_rfs_mutex_destroy (&rtems->access);                         
   52cd4:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52cd6:	4eb9 0005 e61e 	jsr 5e61e <rtems_rfs_mutex_destroy>         <== NOT EXECUTED
    free (rtems);                                                     
   52cdc:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   52cde:	4eb9 0004 7344 	jsr 47344 <free>                            <== NOT EXECUTED
    return rtems_rfs_rtems_error ("initialise: cannot lock access  mutex", rc);
   52ce4:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52cea:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52cec:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52cee:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   52cf0:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   52cf2:	60a2           	bras 52c96 <rtems_rfs_rtems_initialise+0x1b8><== NOT EXECUTED
                            const void*                           data)
{                                                                     
  rtems_rfs_rtems_private* rtems;                                     
  rtems_rfs_file_system*   fs;                                        
  uint32_t                 flags = 0;                                 
  uint32_t                 max_held_buffers = RTEMS_RFS_FS_MAX_HELD_BUFFERS;
   52cf4:	7805           	moveq #5,%d4                                
rtems_rfs_rtems_initialise (rtems_filesystem_mount_table_entry_t* mt_entry,
                            const void*                           data)
{                                                                     
  rtems_rfs_rtems_private* rtems;                                     
  rtems_rfs_file_system*   fs;                                        
  uint32_t                 flags = 0;                                 
   52cf6:	4282           	clrl %d2                                    
   52cf8:	6000 fe56      	braw 52b50 <rtems_rfs_rtems_initialise+0x72>
    return rtems_rfs_rtems_error ("initialise: open", rc);            
  }                                                                   
                                                                      
  mt_entry->fs_info                          = fs;                    
  mt_entry->ops                              = &rtems_rfs_ops;        
  mt_entry->mt_fs_root->location.node_access = (void*) RTEMS_RFS_ROOT_INO;
   52cfc:	246e 0008      	moveal %fp@(8),%a2                          <== NOT EXECUTED
  {                                                                   
    free (rtems);                                                     
    return rtems_rfs_rtems_error ("initialise: open", rc);            
  }                                                                   
                                                                      
  mt_entry->fs_info                          = fs;                    
   52d00:	206e fffc      	moveal %fp@(-4),%a0                         <== NOT EXECUTED
  mt_entry->ops                              = &rtems_rfs_ops;        
   52d04:	203c 0007 1ba4 	movel #465828,%d0                           <== NOT EXECUTED
  mt_entry->mt_fs_root->location.node_access = (void*) RTEMS_RFS_ROOT_INO;
   52d0a:	226a 0024      	moveal %a2@(36),%a1                         <== NOT EXECUTED
    free (rtems);                                                     
    return rtems_rfs_rtems_error ("initialise: open", rc);            
  }                                                                   
                                                                      
  mt_entry->fs_info                          = fs;                    
  mt_entry->ops                              = &rtems_rfs_ops;        
   52d0e:	2540 000c      	movel %d0,%a2@(12)                          <== NOT EXECUTED
  mt_entry->mt_fs_root->location.node_access = (void*) RTEMS_RFS_ROOT_INO;
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
   52d12:	203c 0007 3620 	movel #472608,%d0                           <== NOT EXECUTED
  {                                                                   
    free (rtems);                                                     
    return rtems_rfs_rtems_error ("initialise: open", rc);            
  }                                                                   
                                                                      
  mt_entry->fs_info                          = fs;                    
   52d18:	2548 0008      	movel %a0,%a2@(8)                           <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   52d1c:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  mt_entry->ops                              = &rtems_rfs_ops;        
  mt_entry->mt_fs_root->location.node_access = (void*) RTEMS_RFS_ROOT_INO;
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
   52d20:	2340 0010      	movel %d0,%a1@(16)                          <== NOT EXECUTED
    return rtems_rfs_rtems_error ("initialise: open", rc);            
  }                                                                   
                                                                      
  mt_entry->fs_info                          = fs;                    
  mt_entry->ops                              = &rtems_rfs_ops;        
  mt_entry->mt_fs_root->location.node_access = (void*) RTEMS_RFS_ROOT_INO;
   52d24:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   52d26:	2340 0008      	movel %d0,%a1@(8)                           <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   52d2a:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   52d2c:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   52d32:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   52d34:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   52d3a:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   52d3c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   52d3e:	660c           	bnes 52d4c <rtems_rfs_rtems_initialise+0x26e><== NOT EXECUTED
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return 0;                                                           
   52d40:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   52d42:	4cee 3c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a5            <== NOT EXECUTED
   52d48:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52d4a:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   52d4c:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   52d50:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52d52:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   52d58:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52d5a:	4a00           	tstb %d0                                    <== NOT EXECUTED
   52d5c:	67e2           	beqs 52d40 <rtems_rfs_rtems_initialise+0x262><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   52d5e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52d60:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   52d66:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52d68:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   52d6e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   52d74:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  mt_entry->mt_fs_root->location.node_access = (void*) RTEMS_RFS_ROOT_INO;
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return 0;                                                           
   52d78:	4280           	clrl %d0                                    <== NOT EXECUTED
   52d7a:	60c6           	bras 52d42 <rtems_rfs_rtems_initialise+0x264><== NOT EXECUTED
    }                                                                 
  }                                                                   
                                                                      
  rtems = malloc (sizeof (rtems_rfs_rtems_private));                  
  if (!rtems)                                                         
    return rtems_rfs_rtems_error ("initialise: local data", ENOMEM);  
   52d7c:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   52d82:	760c           	moveq #12,%d3                               <== NOT EXECUTED
   52d84:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52d86:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   52d88:	2083           	movel %d3,%a0@                              <== NOT EXECUTED
  mt_entry->mt_fs_root->location.handlers    = &rtems_rfs_rtems_dir_handlers;
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
                                                                      
  return 0;                                                           
}                                                                     
   52d8a:	4cee 3c3c ffdc 	moveml %fp@(-36),%d2-%d5/%a2-%a5            <== NOT EXECUTED
   52d90:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051c94 <rtems_rfs_rtems_is_directory>: * @return uint16_t The mode. */ static inline uint16_t rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle) { return rtems_rfs_read_u16 (&handle->node->mode);
   51c94:	4280           	clrl %d0                                    <== NOT EXECUTED
static bool                                                           
rtems_rfs_rtems_is_directory(                                         
  rtems_filesystem_eval_path_context_t *ctx,                          
  void *arg                                                           
)                                                                     
{                                                                     
   51c96:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   51c9a:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
  rtems_rfs_inode_handle* inode = arg;                                
                                                                      
  return rtems_rfs_rtems_node_type_by_inode (inode)                   
    == RTEMS_FILESYSTEM_DIRECTORY;                                    
}                                                                     
   51c9e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
  free (rtems);                                                       
}                                                                     
   51ca0:	2068 000c      	moveal %a0@(12),%a0                         <== NOT EXECUTED
   51ca4:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   51ca8:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   * link is actually the normal path to a regular file, directory, device
   * etc's inode. Links to inodes can be considered "the real" one, yet they
   * are all links.                                                   
   */                                                                 
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                   
  if (RTEMS_RFS_S_ISDIR (mode))                                       
   51caa:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   51cb0:	0c80 0000 4000 	cmpil #16384,%d0                            <== NOT EXECUTED
   51cb6:	57c0           	seq %d0                                     <== NOT EXECUTED
{                                                                     
  rtems_rfs_inode_handle* inode = arg;                                
                                                                      
  return rtems_rfs_rtems_node_type_by_inode (inode)                   
    == RTEMS_FILESYSTEM_DIRECTORY;                                    
}                                                                     
   51cb8:	4480           	negl %d0                                    <== NOT EXECUTED
                                                                      

00051d4c <rtems_rfs_rtems_link>: static int rtems_rfs_rtems_link (const rtems_filesystem_location_info_t *parentloc, const rtems_filesystem_location_info_t *targetloc, const char *name, size_t namelen) {
   51d4c:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   51d50:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   51d54:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51d56:	226e 0008      	moveal %fp@(8),%a1                          <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_LINK))             
    printf ("rtems-rfs-rtems: link: in: parent:%" PRId32 " target:%" PRId32 "\n",
            parent, target);                                          
                                                                      
  rc = rtems_rfs_link (fs, name, namelen, parent, target, false);     
   51d5a:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   51d5c:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   51d60:	2f29 0008      	movel %a1@(8),%sp@-                         <== NOT EXECUTED
   51d64:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
rtems_rfs_rtems_link (const rtems_filesystem_location_info_t *parentloc,
                      const rtems_filesystem_location_info_t *targetloc,
                      const char *name,                               
                      size_t namelen)                                 
{                                                                     
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (targetloc);
   51d68:	2068 0014      	moveal %a0@(20),%a0                         <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_LINK))             
    printf ("rtems-rfs-rtems: link: in: parent:%" PRId32 " target:%" PRId32 "\n",
            parent, target);                                          
                                                                      
  rc = rtems_rfs_link (fs, name, namelen, parent, target, false);     
   51d6c:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   51d70:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   51d74:	4eb9 0005 dab4 	jsr 5dab4 <rtems_rfs_link>                  <== NOT EXECUTED
  if (rc)                                                             
   51d7a:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_LINK))             
    printf ("rtems-rfs-rtems: link: in: parent:%" PRId32 " target:%" PRId32 "\n",
            parent, target);                                          
                                                                      
  rc = rtems_rfs_link (fs, name, namelen, parent, target, false);     
   51d7e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   51d80:	660a           	bnes 51d8c <rtems_rfs_rtems_link+0x40>      <== NOT EXECUTED
    return rtems_rfs_rtems_error ("link: linking", rc);               
	}                                                                    
                                                                      
                                                                      
	return 0;                                                            
}                                                                     
   51d82:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("link: linking", rc);               
	}                                                                    
                                                                      
                                                                      
	return 0;                                                            
   51d86:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   51d88:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51d8a:	4e75           	rts                                         <== NOT EXECUTED
            parent, target);                                          
                                                                      
  rc = rtems_rfs_link (fs, name, namelen, parent, target, false);     
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("link: linking", rc);               
   51d8c:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   51d92:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   51d94:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   51d96:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
	}                                                                    
                                                                      
                                                                      
	return 0;                                                            
}                                                                     
   51d98:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   51d9c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052d94 <rtems_rfs_rtems_lock_by_mt_entry>: static void rtems_rfs_rtems_lock_by_mt_entry ( const rtems_filesystem_mount_table_entry_t *mt_entry ) {
   52d94:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
  free (rtems);                                                       
}                                                                     
   52d98:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
                                                                      
static void                                                           
rtems_rfs_rtems_lock_by_mt_entry (                                    
  const rtems_filesystem_mount_table_entry_t *mt_entry                
)                                                                     
{                                                                     
   52d9c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   52d9e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
  free (rtems);                                                       
}                                                                     
   52da0:	2068 0008      	moveal %a0@(8),%a0                          <== NOT EXECUTED
   52da4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52da6:	2068 0080      	moveal %a0@(128),%a0                        <== NOT EXECUTED
   52daa:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   52dac:	4eb9 0004 c1c0 	jsr 4c1c0 <rtems_semaphore_obtain>          <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   52db2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_lock (rtems_rfs_mutex* mutex)                         
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_obtain (*mutex, RTEMS_WAIT, 0);
   52db6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   52db8:	6608           	bnes 52dc2 <rtems_rfs_rtems_lock_by_mt_entry+0x2e><== NOT EXECUTED
)                                                                     
{                                                                     
  rtems_rfs_file_system* fs = mt_entry->fs_info;                      
                                                                      
  rtems_rfs_rtems_lock (fs);                                          
}                                                                     
   52dba:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   52dbe:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52dc0:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   52dc2:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   52dc6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52dc8:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   52dce:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52dd0:	4a00           	tstb %d0                                    <== NOT EXECUTED
   52dd2:	67e6           	beqs 52dba <rtems_rfs_rtems_lock_by_mt_entry+0x26><== NOT EXECUTED
      printf ("rtems-rfs: mutex: obtain failed: %s\n",                
   52dd4:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52dd6:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   52ddc:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52dde:	4879 0007 1b7f 	pea 71b7f <_CPU_m68k_BFFFO_table+0xc70>     <== NOT EXECUTED
   52de4:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   52dea:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   52dee:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   52df2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0005228a <rtems_rfs_rtems_mknod>: rtems_rfs_rtems_mknod (const rtems_filesystem_location_info_t *parentloc, const char *name, size_t namelen, mode_t mode, dev_t dev) {
   5228a:	4e56 ffb8      	linkw %fp,#-72                              <== NOT EXECUTED
   5228e:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system*  fs = rtems_rfs_rtems_pathloc_dev (parentloc);
   52292:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
rtems_rfs_rtems_mknod (const rtems_filesystem_location_info_t *parentloc,
                       const char                             *name,  
                       size_t                                  namelen,
                       mode_t                                  mode,  
                       dev_t                                   dev)   
{                                                                     
   52296:	48d7 04fc      	moveml %d2-%d7/%a2,%sp@                     <== NOT EXECUTED
  rtems_rfs_file_system*  fs = rtems_rfs_rtems_pathloc_dev (parentloc);
   5229a:	2629 0008      	movel %a1@(8),%d3                           <== NOT EXECUTED
  uid = 0;                                                            
  gid = 0;                                                            
#endif                                                                
                                                                      
  rc = rtems_rfs_inode_create (fs, parent, name, namelen,             
                               rtems_rfs_rtems_imode (mode),          
   5229e:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
rtems_rfs_rtems_mknod (const rtems_filesystem_location_info_t *parentloc,
                       const char                             *name,  
                       size_t                                  namelen,
                       mode_t                                  mode,  
                       dev_t                                   dev)   
{                                                                     
   522a2:	2a2e 0018      	movel %fp@(24),%d5                          <== NOT EXECUTED
  rtems_rfs_file_system*  fs = rtems_rfs_rtems_pathloc_dev (parentloc);
  rtems_rfs_ino           parent = rtems_rfs_rtems_get_pathloc_ino (parentloc);
   522a6:	2428 0008      	movel %a0@(8),%d2                           <== NOT EXECUTED
rtems_rfs_rtems_mknod (const rtems_filesystem_location_info_t *parentloc,
                       const char                             *name,  
                       size_t                                  namelen,
                       mode_t                                  mode,  
                       dev_t                                   dev)   
{                                                                     
   522aa:	282e 001c      	movel %fp@(28),%d4                          <== NOT EXECUTED
  uid = 0;                                                            
  gid = 0;                                                            
#endif                                                                
                                                                      
  rc = rtems_rfs_inode_create (fs, parent, name, namelen,             
                               rtems_rfs_rtems_imode (mode),          
   522ae:	4eb9 0005 2ee0 	jsr 52ee0 <rtems_rfs_rtems_imode>           <== NOT EXECUTED
#else                                                                 
  uid = 0;                                                            
  gid = 0;                                                            
#endif                                                                
                                                                      
  rc = rtems_rfs_inode_create (fs, parent, name, namelen,             
   522b4:	486e ffd6      	pea %fp@(-42)                               <== NOT EXECUTED
   522b8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   522ba:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   522bc:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   522c0:	3f00           	movew %d0,%sp@-                             <== NOT EXECUTED
   522c2:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   522c4:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   522c8:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   522cc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   522ce:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   522d0:	4eb9 0005 188e 	jsr 5188e <rtems_rfs_inode_create>          <== NOT EXECUTED
                               rtems_rfs_rtems_imode (mode),          
                               1, uid, gid, &ino);                    
  if (rc > 0)                                                         
   522d6:	4fef 0028      	lea %sp@(40),%sp                            <== NOT EXECUTED
#else                                                                 
  uid = 0;                                                            
  gid = 0;                                                            
#endif                                                                
                                                                      
  rc = rtems_rfs_inode_create (fs, parent, name, namelen,             
   522da:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                               rtems_rfs_rtems_imode (mode),          
                               1, uid, gid, &ino);                    
  if (rc > 0)                                                         
   522dc:	6f18           	bles 522f6 <rtems_rfs_rtems_mknod+0x6c>     <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
  {                                                                   
    return rtems_rfs_rtems_error ("mknod: closing inode", rc);        
   522de:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   522e4:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   522e6:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   522e8:	2001           	movel %d1,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
  {                                                                   
    return rtems_rfs_rtems_error ("mknod: closing inode", rc);        
   522ea:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   522ec:	4cee 04fc ffb8 	moveml %fp@(-72),%d2-%d7/%a2                <== NOT EXECUTED
   522f2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   522f4:	4e75           	rts                                         <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    return rtems_rfs_rtems_error ("mknod: inode create", rc);         
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   522f6:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   522fa:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   522fe:	2f2e ffd6      	movel %fp@(-42),%sp@-                       <== NOT EXECUTED
   52302:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52304:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc > 0)                                                         
   5230a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    return rtems_rfs_rtems_error ("mknod: inode create", rc);         
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5230e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   52310:	6ecc           	bgts 522de <rtems_rfs_rtems_mknod+0x54>     <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("mknod: inode open", rc);           
  }                                                                   
                                                                      
  if (S_ISDIR(mode) || S_ISREG(mode))                                 
   52312:	202e 0014      	movel %fp@(20),%d0                          <== NOT EXECUTED
   52316:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   5231c:	0c80 0000 4000 	cmpil #16384,%d0                            <== NOT EXECUTED
   52322:	6768           	beqs 5238c <rtems_rfs_rtems_mknod+0x102>    <== NOT EXECUTED
   52324:	0c80 0000 8000 	cmpil #32768,%d0                            <== NOT EXECUTED
   5232a:	6760           	beqs 5238c <rtems_rfs_rtems_mknod+0x102>    <== NOT EXECUTED
  {                                                                   
  }                                                                   
  else if (S_ISCHR (mode) || S_ISBLK (mode))                          
   5232c:	0c80 0000 2000 	cmpil #8192,%d0                             <== NOT EXECUTED
   52332:	6708           	beqs 5233c <rtems_rfs_rtems_mknod+0xb2>     <== NOT EXECUTED
   52334:	0c80 0000 6000 	cmpil #24576,%d0                            <== NOT EXECUTED
   5233a:	6672           	bnes 523ae <rtems_rfs_rtems_mknod+0x124>    <== NOT EXECUTED
 * @param bno The block number.                                       
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block (rtems_rfs_inode_handle* handle, int block, uint32_t bno)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->data.blocks[block], bno);       
   5233c:	7218           	moveq #24,%d1                               <== NOT EXECUTED
   5233e:	2005           	movel %d5,%d0                               <== NOT EXECUTED
   52340:	e2a8           	lsrl %d1,%d0                                <== NOT EXECUTED
   52342:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   52344:	2404           	movel %d4,%d2                               <== NOT EXECUTED
   52346:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   52348:	e2aa           	lsrl %d1,%d2                                <== NOT EXECUTED
   5234a:	e088           	lsrl #8,%d0                                 <== NOT EXECUTED
   5234c:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   5234e:	2204           	movel %d4,%d1                               <== NOT EXECUTED
   52350:	2e05           	movel %d5,%d7                               <== NOT EXECUTED
   52352:	2c05           	movel %d5,%d6                               <== NOT EXECUTED
   52354:	e08e           	lsrl #8,%d6                                 <== NOT EXECUTED
   52356:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   5235a:	4241           	clrw %d1                                    <== NOT EXECUTED
   5235c:	4841           	swap %d1                                    <== NOT EXECUTED
   5235e:	3009           	movew %a1,%d0                               <== NOT EXECUTED
   52360:	4247           	clrw %d7                                    <== NOT EXECUTED
   52362:	4847           	swap %d7                                    <== NOT EXECUTED
   52364:	1141 0021      	moveb %d1,%a0@(33)                          <== NOT EXECUTED
   52368:	1140 001c      	moveb %d0,%a0@(28)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5236c:	7001           	moveq #1,%d0                                <== NOT EXECUTED
 * @param bno The block number.                                       
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block (rtems_rfs_inode_handle* handle, int block, uint32_t bno)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->data.blocks[block], bno);       
   5236e:	320a           	movew %a2,%d1                               <== NOT EXECUTED
   52370:	1147 001d      	moveb %d7,%a0@(29)                          <== NOT EXECUTED
   52374:	1146 001e      	moveb %d6,%a0@(30)                          <== NOT EXECUTED
   52378:	1145 001f      	moveb %d5,%a0@(31)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5237c:	1d40 ffea      	moveb %d0,%fp@(-22)                         <== NOT EXECUTED
 * @param bno The block number.                                       
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block (rtems_rfs_inode_handle* handle, int block, uint32_t bno)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->data.blocks[block], bno);       
   52380:	1142 0020      	moveb %d2,%a0@(32)                          <== NOT EXECUTED
   52384:	1141 0022      	moveb %d1,%a0@(34)                          <== NOT EXECUTED
   52388:	1144 0023      	moveb %d4,%a0@(35)                          <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
    return rtems_rfs_rtems_error ("mknod: bad mode", EINVAL);         
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5238c:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   52390:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52392:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   52398:	508f           	addql #8,%sp                                <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
    return rtems_rfs_rtems_error ("mknod: bad mode", EINVAL);         
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5239a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5239c:	6e00 ff40      	bgtw 522de <rtems_rfs_rtems_mknod+0x54>     <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("mknod: closing inode", rc);        
  }                                                                   
                                                                      
  return 0;                                                           
   523a0:	4281           	clrl %d1                                    <== NOT EXECUTED
}                                                                     
   523a2:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   523a4:	4cee 04fc ffb8 	moveml %fp@(-72),%d2-%d7/%a2                <== NOT EXECUTED
   523aa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   523ac:	4e75           	rts                                         <== NOT EXECUTED
    rtems_rfs_inode_set_block (&inode, 0, major);                     
    rtems_rfs_inode_set_block (&inode, 1, minor);                     
  }                                                                   
  else                                                                
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
   523ae:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   523b2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   523b4:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
    return rtems_rfs_rtems_error ("mknod: bad mode", EINVAL);         
   523ba:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   523c0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   523c2:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   523c4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   523c6:	7016           	moveq #22,%d0                               <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("mknod: closing inode", rc);        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   523c8:	4cee 04fc ffb8 	moveml %fp@(-72),%d2-%d7/%a2                <== NOT EXECUTED
    rtems_rfs_inode_set_block (&inode, 1, minor);                     
  }                                                                   
  else                                                                
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
    return rtems_rfs_rtems_error ("mknod: bad mode", EINVAL);         
   523ce:	2080           	movel %d0,%a0@                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("mknod: closing inode", rc);        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   523d0:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   523d2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052eec <rtems_rfs_rtems_mode>: mode_t rtems_rfs_rtems_mode (int imode) {
   52eec:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  /*                                                                  
   * Mapping matches RTEMS so no need to change.                      
   */                                                                 
  return imode;                                                       
}                                                                     
   52ef0:	202e 0008      	movel %fp@(8),%d0                           <== NOT EXECUTED
   52ef4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

000521a8 <rtems_rfs_rtems_node_type>: * @return rtems_filesystem_node_types_t */ static rtems_filesystem_node_types_t rtems_rfs_rtems_node_type (const rtems_filesystem_location_info_t* pathloc) {
   521a8:	4e56 ffcc      	linkw %fp,#-52                              <== NOT EXECUTED
   521ac:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system*        fs = rtems_rfs_rtems_pathloc_dev (pathloc);
   521b0:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
 * @return rtems_filesystem_node_types_t                              
 */                                                                   
                                                                      
static rtems_filesystem_node_types_t                                  
rtems_rfs_rtems_node_type (const rtems_filesystem_location_info_t* pathloc)
{                                                                     
   521b4:	48d7 001c      	moveml %d2-%d4,%sp@                         <== NOT EXECUTED
  rtems_rfs_file_system*        fs = rtems_rfs_rtems_pathloc_dev (pathloc);
   521b8:	2629 0008      	movel %a1@(8),%d3                           <== NOT EXECUTED
  rtems_rfs_ino                 ino = rtems_rfs_rtems_get_pathloc_ino (pathloc);
  rtems_filesystem_node_types_t type;                                 
  rtems_rfs_inode_handle        inode;                                
  int                           rc;                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   521bc:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   521c0:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   521c4:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   521c8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   521ca:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc > 0)                                                         
   521d0:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  rtems_rfs_ino                 ino = rtems_rfs_rtems_get_pathloc_ino (pathloc);
  rtems_filesystem_node_types_t type;                                 
  rtems_rfs_inode_handle        inode;                                
  int                           rc;                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   521d4:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   521d6:	6f18           	bles 521f0 <rtems_rfs_rtems_node_type+0x48> <== NOT EXECUTED
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc > 0)                                                         
  {                                                                   
    return rtems_rfs_rtems_error ("node_type: closing inode", rc);    
   521d8:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   521de:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   521e0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   521e2:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return type;                                                        
}                                                                     
   521e4:	2004           	movel %d4,%d0                               <== NOT EXECUTED
   521e6:	4cee 001c ffcc 	moveml %fp@(-52),%d2-%d4                    <== NOT EXECUTED
   521ec:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   521ee:	4e75           	rts                                         <== NOT EXECUTED
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
  free (rtems);                                                       
}                                                                     
   521f0:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 * @return uint16_t The mode.                                         
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle)             
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->mode);                    
   521f4:	4280           	clrl %d0                                    <== NOT EXECUTED
   521f6:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   521fa:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   * link is actually the normal path to a regular file, directory, device
   * etc's inode. Links to inodes can be considered "the real" one, yet they
   * are all links.                                                   
   */                                                                 
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                   
  if (RTEMS_RFS_S_ISDIR (mode))                                       
   521fc:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   52202:	0c80 0000 4000 	cmpil #16384,%d0                            <== NOT EXECUTED
   52208:	6750           	beqs 5225a <rtems_rfs_rtems_node_type+0xb2> <== NOT EXECUTED
    return RTEMS_FILESYSTEM_DIRECTORY;                                
  else if (RTEMS_RFS_S_ISLNK (mode))                                  
   5220a:	0c80 0000 a000 	cmpil #40960,%d0                            <== NOT EXECUTED
   52210:	6760           	beqs 52272 <rtems_rfs_rtems_node_type+0xca> <== NOT EXECUTED
    return RTEMS_FILESYSTEM_SYM_LINK;                                 
  else if (RTEMS_RFS_S_ISBLK (mode) || RTEMS_RFS_S_ISCHR (mode))      
   52212:	0c80 0000 6000 	cmpil #24576,%d0                            <== NOT EXECUTED
   52218:	672a           	beqs 52244 <rtems_rfs_rtems_node_type+0x9c> <== NOT EXECUTED
   5221a:	0c80 0000 2000 	cmpil #8192,%d0                             <== NOT EXECUTED
   52220:	6722           	beqs 52244 <rtems_rfs_rtems_node_type+0x9c> <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52222:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
  else if (RTEMS_RFS_S_ISLNK (mode))                                  
    return RTEMS_FILESYSTEM_SYM_LINK;                                 
  else if (RTEMS_RFS_S_ISBLK (mode) || RTEMS_RFS_S_ISCHR (mode))      
    return RTEMS_FILESYSTEM_DEVICE;                                   
  else                                                                
    return RTEMS_FILESYSTEM_MEMORY_FILE;                              
   52226:	7804           	moveq #4,%d4                                <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52228:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5222a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   52230:	508f           	addql #8,%sp                                <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52232:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   52234:	6fae           	bles 521e4 <rtems_rfs_rtems_node_type+0x3c> <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("node_type: closing inode", rc);    
   52236:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5223c:	78ff           	moveq #-1,%d4                               <== NOT EXECUTED
   5223e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   52240:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
   52242:	60a0           	bras 521e4 <rtems_rfs_rtems_node_type+0x3c> <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52244:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    return RTEMS_FILESYSTEM_DIRECTORY;                                
  else if (RTEMS_RFS_S_ISLNK (mode))                                  
    return RTEMS_FILESYSTEM_SYM_LINK;                                 
  else if (RTEMS_RFS_S_ISBLK (mode) || RTEMS_RFS_S_ISCHR (mode))      
    return RTEMS_FILESYSTEM_DEVICE;                                   
   52248:	7801           	moveq #1,%d4                                <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5224a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5224c:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   52252:	508f           	addql #8,%sp                                <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52254:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   52256:	6ede           	bgts 52236 <rtems_rfs_rtems_node_type+0x8e> <== NOT EXECUTED
   52258:	608a           	bras 521e4 <rtems_rfs_rtems_node_type+0x3c> <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5225a:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   * etc's inode. Links to inodes can be considered "the real" one, yet they
   * are all links.                                                   
   */                                                                 
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                   
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    return RTEMS_FILESYSTEM_DIRECTORY;                                
   5225e:	4284           	clrl %d4                                    <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52260:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   52262:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   52268:	508f           	addql #8,%sp                                <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5226a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5226c:	6ec8           	bgts 52236 <rtems_rfs_rtems_node_type+0x8e> <== NOT EXECUTED
   5226e:	6000 ff74      	braw 521e4 <rtems_rfs_rtems_node_type+0x3c> <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52272:	486e ffda      	pea %fp@(-38)                               <== NOT EXECUTED
   */                                                                 
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                   
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    return RTEMS_FILESYSTEM_DIRECTORY;                                
  else if (RTEMS_RFS_S_ISLNK (mode))                                  
    return RTEMS_FILESYSTEM_SYM_LINK;                                 
   52276:	7803           	moveq #3,%d4                                <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52278:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5227a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc > 0)                                                         
   52280:	508f           	addql #8,%sp                                <== NOT EXECUTED
    return rtems_rfs_rtems_error ("node_type: opening inode", rc);    
  }                                                                   
                                                                      
  type = rtems_rfs_rtems_node_type_by_inode (&inode);                 
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52282:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   52284:	6eb0           	bgts 52236 <rtems_rfs_rtems_node_type+0x8e> <== NOT EXECUTED
   52286:	6000 ff5c      	braw 521e4 <rtems_rfs_rtems_node_type+0x3c> <== NOT EXECUTED
                                                                      

00051e94 <rtems_rfs_rtems_readlink>: static ssize_t rtems_rfs_rtems_readlink (const rtems_filesystem_location_info_t* pathloc, char* buf, size_t bufsize) {
   51e94:	4e56 fffc      	linkw %fp,#-4                               <== NOT EXECUTED
   51e98:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   51e9c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  int                     rc;                                         
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_READLINK))         
    printf ("rtems-rfs-rtems: readlink: in: ino:%" PRId32 "\n", ino); 
                                                                      
  rc = rtems_rfs_symlink_read (fs, ino, buf, bufsize, &length);       
   51e9e:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
   51ea2:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   51ea6:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
static ssize_t                                                        
rtems_rfs_rtems_readlink (const rtems_filesystem_location_info_t* pathloc,
                          char*                                   buf,
                          size_t                                  bufsize)
{                                                                     
  rtems_rfs_file_system*  fs = rtems_rfs_rtems_pathloc_dev (pathloc); 
   51eaa:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
  int                     rc;                                         
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_READLINK))         
    printf ("rtems-rfs-rtems: readlink: in: ino:%" PRId32 "\n", ino); 
                                                                      
  rc = rtems_rfs_symlink_read (fs, ino, buf, bufsize, &length);       
   51eae:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   51eb2:	2f29 0008      	movel %a1@(8),%sp@-                         <== NOT EXECUTED
   51eb6:	4eb9 0005 e3b0 	jsr 5e3b0 <rtems_rfs_symlink_read>          <== NOT EXECUTED
  if (rc)                                                             
   51ebc:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
  int                     rc;                                         
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_READLINK))         
    printf ("rtems-rfs-rtems: readlink: in: ino:%" PRId32 "\n", ino); 
                                                                      
  rc = rtems_rfs_symlink_read (fs, ino, buf, bufsize, &length);       
   51ec0:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   51ec2:	660c           	bnes 51ed0 <rtems_rfs_rtems_readlink+0x3c>  <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("readlink: reading link", rc);      
  }                                                                   
                                                                      
  return (ssize_t) length;                                            
   51ec4:	202e fffc      	movel %fp@(-4),%d0                          <== NOT EXECUTED
}                                                                     
   51ec8:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   51ecc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51ece:	4e75           	rts                                         <== NOT EXECUTED
    printf ("rtems-rfs-rtems: readlink: in: ino:%" PRId32 "\n", ino); 
                                                                      
  rc = rtems_rfs_symlink_read (fs, ino, buf, bufsize, &length);       
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("readlink: reading link", rc);      
   51ed0:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   51ed6:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   51ed8:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   51eda:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return (ssize_t) length;                                            
}                                                                     
   51edc:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   51ee0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051da0 <rtems_rfs_rtems_rename>: rtems_rfs_rtems_rename(const rtems_filesystem_location_info_t* old_parent_loc, const rtems_filesystem_location_info_t* old_loc, const rtems_filesystem_location_info_t* new_parent_loc, const char* new_name, size_t new_name_len) {
   51da0:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   51da4:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
  rtems_rfs_file_system*  fs = rtems_rfs_rtems_pathloc_dev (old_loc); 
   51da8:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
rtems_rfs_rtems_rename(const rtems_filesystem_location_info_t* old_parent_loc,
                       const rtems_filesystem_location_info_t* old_loc,
                       const rtems_filesystem_location_info_t* new_parent_loc,
                       const char*                             new_name,
                       size_t                                  new_name_len)
{                                                                     
   51dac:	48d7 007c      	moveml %d2-%d6,%sp@                         <== NOT EXECUTED
  rtems_rfs_file_system*  fs = rtems_rfs_rtems_pathloc_dev (old_loc); 
   51db0:	2429 0008      	movel %a1@(8),%d2                           <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Link to the inode before unlinking so the inode is not erased when
   * unlinked.                                                        
   */                                                                 
  rc = rtems_rfs_link (fs, new_name, new_name_len, new_parent, ino, true);
   51db4:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
  int                     rc;                                         
                                                                      
  old_parent = rtems_rfs_rtems_get_pathloc_ino (old_parent_loc);      
  new_parent = rtems_rfs_rtems_get_pathloc_ino (new_parent_loc);      
                                                                      
  ino  = rtems_rfs_rtems_get_pathloc_ino (old_loc);                   
   51db8:	2628 0008      	movel %a0@(8),%d3                           <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Link to the inode before unlinking so the inode is not erased when
   * unlinked.                                                        
   */                                                                 
  rc = rtems_rfs_link (fs, new_name, new_name_len, new_parent, ino, true);
   51dbc:	226e 0010      	moveal %fp@(16),%a1                         <== NOT EXECUTED
   51dc0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   51dc2:	2f29 0008      	movel %a1@(8),%sp@-                         <== NOT EXECUTED
   51dc6:	2f2e 0018      	movel %fp@(24),%sp@-                        <== NOT EXECUTED
   51dca:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
                                                                      
  old_parent = rtems_rfs_rtems_get_pathloc_ino (old_parent_loc);      
  new_parent = rtems_rfs_rtems_get_pathloc_ino (new_parent_loc);      
                                                                      
  ino  = rtems_rfs_rtems_get_pathloc_ino (old_loc);                   
  doff = rtems_rfs_rtems_get_pathloc_doff (old_loc);                  
   51dce:	2c28 000c      	movel %a0@(12),%d6                          <== NOT EXECUTED
  rtems_rfs_ino           new_parent;                                 
  rtems_rfs_ino           ino;                                        
  uint32_t                doff;                                       
  int                     rc;                                         
                                                                      
  old_parent = rtems_rfs_rtems_get_pathloc_ino (old_parent_loc);      
   51dd2:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   51dd6:	2a28 0008      	movel %a0@(8),%d5                           <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Link to the inode before unlinking so the inode is not erased when
   * unlinked.                                                        
   */                                                                 
  rc = rtems_rfs_link (fs, new_name, new_name_len, new_parent, ino, true);
   51dda:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51ddc:	4eb9 0005 dab4 	jsr 5dab4 <rtems_rfs_link>                  <== NOT EXECUTED
  if (rc)                                                             
   51de2:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Link to the inode before unlinking so the inode is not erased when
   * unlinked.                                                        
   */                                                                 
  rc = rtems_rfs_link (fs, new_name, new_name_len, new_parent, ino, true);
   51de6:	2800           	movel %d0,%d4                               <== NOT EXECUTED
  if (rc)                                                             
   51de8:	6718           	beqs 51e02 <rtems_rfs_rtems_rename+0x62>    <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("rename: linking", rc);             
   51dea:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   51df0:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   51df2:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("rename: unlinking", rc);           
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51df4:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   * unlinked.                                                        
   */                                                                 
  rc = rtems_rfs_link (fs, new_name, new_name_len, new_parent, ino, true);
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("rename: linking", rc);             
   51df6:	2084           	movel %d4,%a0@                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("rename: unlinking", rc);           
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51df8:	4cee 007c ffec 	moveml %fp@(-20),%d2-%d6                    <== NOT EXECUTED
   51dfe:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51e00:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Unlink all inodes even directories with the dir option as false because a
   * directory may not be empty.                                      
   */                                                                 
  rc = rtems_rfs_unlink (fs, old_parent, ino, doff,                   
   51e02:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
   51e06:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   51e08:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   51e0a:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   51e0c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51e0e:	4eb9 0005 dc9c 	jsr 5dc9c <rtems_rfs_unlink>                <== NOT EXECUTED
                         rtems_rfs_unlink_dir_allowed);               
  if (rc)                                                             
   51e14:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Unlink all inodes even directories with the dir option as false because a
   * directory may not be empty.                                      
   */                                                                 
  rc = rtems_rfs_unlink (fs, old_parent, ino, doff,                   
   51e18:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                         rtems_rfs_unlink_dir_allowed);               
  if (rc)                                                             
   51e1a:	660e           	bnes 51e2a <rtems_rfs_rtems_rename+0x8a>    <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("rename: unlinking", rc);           
  }                                                                   
                                                                      
  return 0;                                                           
   51e1c:	4281           	clrl %d1                                    <== NOT EXECUTED
}                                                                     
   51e1e:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   51e20:	4cee 007c ffec 	moveml %fp@(-20),%d2-%d6                    <== NOT EXECUTED
   51e26:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51e28:	4e75           	rts                                         <== NOT EXECUTED
   */                                                                 
  rc = rtems_rfs_unlink (fs, old_parent, ino, doff,                   
                         rtems_rfs_unlink_dir_allowed);               
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("rename: unlinking", rc);           
   51e2a:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   51e30:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   51e32:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51e34:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   */                                                                 
  rc = rtems_rfs_unlink (fs, old_parent, ino, doff,                   
                         rtems_rfs_unlink_dir_allowed);               
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("rename: unlinking", rc);           
   51e36:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51e38:	4cee 007c ffec 	moveml %fp@(-20),%d2-%d6                    <== NOT EXECUTED
   51e3e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051e42 <rtems_rfs_rtems_rmnod>: * @return int */ int rtems_rfs_rtems_rmnod (const rtems_filesystem_location_info_t* parent_pathloc, const rtems_filesystem_location_info_t* pathloc) {
   51e42:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   51e46:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   51e4a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_RMNOD))            
    printf ("rtems-rfs: rmnod: parent:%" PRId32 " doff:%" PRIu32 ", ino:%" PRId32 "\n",
            parent, doff, ino);                                       
                                                                      
  rc = rtems_rfs_unlink (fs, parent, ino, doff, rtems_rfs_unlink_dir_if_empty);
   51e4c:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   51e50:	2f28 000c      	movel %a0@(12),%sp@-                        <== NOT EXECUTED
   51e54:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
 */                                                                   
int                                                                   
rtems_rfs_rtems_rmnod (const rtems_filesystem_location_info_t* parent_pathloc,
                       const rtems_filesystem_location_info_t* pathloc)
{                                                                     
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   51e58:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_RMNOD))            
    printf ("rtems-rfs: rmnod: parent:%" PRId32 " doff:%" PRIu32 ", ino:%" PRId32 "\n",
            parent, doff, ino);                                       
                                                                      
  rc = rtems_rfs_unlink (fs, parent, ino, doff, rtems_rfs_unlink_dir_if_empty);
   51e5c:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   51e60:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
   51e64:	2f29 0008      	movel %a1@(8),%sp@-                         <== NOT EXECUTED
   51e68:	4eb9 0005 dc9c 	jsr 5dc9c <rtems_rfs_unlink>                <== NOT EXECUTED
  if (rc)                                                             
   51e6e:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
                                                                      
  if (rtems_rfs_rtems_trace (RTEMS_RFS_RTEMS_DEBUG_RMNOD))            
    printf ("rtems-rfs: rmnod: parent:%" PRId32 " doff:%" PRIu32 ", ino:%" PRId32 "\n",
            parent, doff, ino);                                       
                                                                      
  rc = rtems_rfs_unlink (fs, parent, ino, doff, rtems_rfs_unlink_dir_if_empty);
   51e72:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   51e74:	660a           	bnes 51e80 <rtems_rfs_rtems_rmnod+0x3e>     <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("rmnod: unlinking", rc);            
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51e76:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("rmnod: unlinking", rc);            
  }                                                                   
                                                                      
  return 0;                                                           
   51e7a:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   51e7c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51e7e:	4e75           	rts                                         <== NOT EXECUTED
            parent, doff, ino);                                       
                                                                      
  rc = rtems_rfs_unlink (fs, parent, ino, doff, rtems_rfs_unlink_dir_if_empty);
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("rmnod: unlinking", rc);            
   51e80:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   51e86:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   51e88:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   51e8a:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51e8c:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   51e90:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052e34 <rtems_rfs_rtems_set_handlers>:
   52e34:	4280           	clrl %d0                                    <== NOT EXECUTED
   52e36:	4281           	clrl %d1                                    <== NOT EXECUTED
 */                                                                   
                                                                      
bool                                                                  
rtems_rfs_rtems_set_handlers (rtems_filesystem_location_info_t* loc,  
                              rtems_rfs_inode_handle*           inode)
{                                                                     
   52e38:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   52e3c:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
{                                                                     
  /*                                                                  
   * Mapping matches RTEMS so no need to change.                      
   */                                                                 
  return imode;                                                       
}                                                                     
   52e40:	2068 000c      	moveal %a0@(12),%a0                         <== NOT EXECUTED
   52e44:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   52e48:	1228 0003      	moveb %a0@(3),%d1                           <== NOT EXECUTED
   52e4c:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
 */                                                                   
                                                                      
bool                                                                  
rtems_rfs_rtems_set_handlers (rtems_filesystem_location_info_t* loc,  
                              rtems_rfs_inode_handle*           inode)
{                                                                     
   52e4e:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   52e52:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                   
  loc->handlers = NULL;                                               
   52e54:	42a8 0010      	clrl %a0@(16)                               <== NOT EXECUTED
  if (RTEMS_RFS_S_ISDIR (mode))                                       
   52e58:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   52e5a:	0281 0000 f000 	andil #61440,%d1                            <== NOT EXECUTED
   52e60:	0c81 0000 4000 	cmpil #16384,%d1                            <== NOT EXECUTED
   52e66:	6758           	beqs 52ec0 <rtems_rfs_rtems_set_handlers+0x8c><== NOT EXECUTED
    loc->handlers = rtems_rfs_rtems_handlers (dir);                   
  else if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK(mode))       
   52e68:	0c81 0000 2000 	cmpil #8192,%d1                             <== NOT EXECUTED
   52e6e:	6730           	beqs 52ea0 <rtems_rfs_rtems_set_handlers+0x6c><== NOT EXECUTED
   52e70:	0c81 0000 6000 	cmpil #24576,%d1                            <== NOT EXECUTED
   52e76:	6728           	beqs 52ea0 <rtems_rfs_rtems_set_handlers+0x6c><== NOT EXECUTED
    loc->handlers = rtems_rfs_rtems_handlers (device);                
  else if (RTEMS_RFS_S_ISLNK (mode))                                  
   52e78:	0c81 0000 a000 	cmpil #40960,%d1                            <== NOT EXECUTED
   52e7e:	6730           	beqs 52eb0 <rtems_rfs_rtems_set_handlers+0x7c><== NOT EXECUTED
    loc->handlers = rtems_rfs_rtems_handlers (link);                  
  else if (RTEMS_RFS_S_ISREG (mode))                                  
   52e80:	0c81 0000 8000 	cmpil #32768,%d1                            <== NOT EXECUTED
   52e86:	6748           	beqs 52ed0 <rtems_rfs_rtems_set_handlers+0x9c><== NOT EXECUTED
    loc->handlers = rtems_rfs_rtems_handlers (file);                  
  else                                                                
  {                                                                   
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);            
   52e88:	3f00           	movew %d0,%sp@-                             <== NOT EXECUTED
   52e8a:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   52e8c:	4879 0007 1c2c 	pea 71c2c <rtems_rfs_rtems_eval_config+0x8> <== NOT EXECUTED
   52e92:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
    return false;                                                     
   52e98:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
  return true;                                                        
}                                                                     
   52e9a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  else if (RTEMS_RFS_S_ISREG (mode))                                  
    loc->handlers = rtems_rfs_rtems_handlers (file);                  
  else                                                                
  {                                                                   
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);            
    return false;                                                     
   52e9c:	4200           	clrb %d0                                    <== NOT EXECUTED
  }                                                                   
  return true;                                                        
}                                                                     
   52e9e:	4e75           	rts                                         <== NOT EXECUTED
   52ea0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                   
  loc->handlers = NULL;                                               
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    loc->handlers = rtems_rfs_rtems_handlers (dir);                   
  else if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK(mode))       
    loc->handlers = rtems_rfs_rtems_handlers (device);                
   52ea2:	203c 0007 35f4 	movel #472564,%d0                           <== NOT EXECUTED
   52ea8:	2140 0010      	movel %d0,%a0@(16)                          <== NOT EXECUTED
  else                                                                
  {                                                                   
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);            
    return false;                                                     
  }                                                                   
  return true;                                                        
   52eac:	7001           	moveq #1,%d0                                <== NOT EXECUTED
}                                                                     
   52eae:	4e75           	rts                                         <== NOT EXECUTED
   52eb0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    loc->handlers = rtems_rfs_rtems_handlers (dir);                   
  else if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK(mode))       
    loc->handlers = rtems_rfs_rtems_handlers (device);                
  else if (RTEMS_RFS_S_ISLNK (mode))                                  
    loc->handlers = rtems_rfs_rtems_handlers (link);                  
   52eb2:	203c 0007 1bf8 	movel #465912,%d0                           <== NOT EXECUTED
   52eb8:	2140 0010      	movel %d0,%a0@(16)                          <== NOT EXECUTED
  else                                                                
  {                                                                   
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);            
    return false;                                                     
  }                                                                   
  return true;                                                        
   52ebc:	7001           	moveq #1,%d0                                <== NOT EXECUTED
}                                                                     
   52ebe:	4e75           	rts                                         <== NOT EXECUTED
   52ec0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                              rtems_rfs_inode_handle*           inode)
{                                                                     
  uint16_t mode = rtems_rfs_inode_get_mode (inode);                   
  loc->handlers = NULL;                                               
  if (RTEMS_RFS_S_ISDIR (mode))                                       
    loc->handlers = rtems_rfs_rtems_handlers (dir);                   
   52ec2:	203c 0007 3620 	movel #472608,%d0                           <== NOT EXECUTED
   52ec8:	2140 0010      	movel %d0,%a0@(16)                          <== NOT EXECUTED
  else                                                                
  {                                                                   
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);            
    return false;                                                     
  }                                                                   
  return true;                                                        
   52ecc:	7001           	moveq #1,%d0                                <== NOT EXECUTED
}                                                                     
   52ece:	4e75           	rts                                         <== NOT EXECUTED
   52ed0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
  else if (RTEMS_RFS_S_ISCHR (mode) || RTEMS_RFS_S_ISBLK(mode))       
    loc->handlers = rtems_rfs_rtems_handlers (device);                
  else if (RTEMS_RFS_S_ISLNK (mode))                                  
    loc->handlers = rtems_rfs_rtems_handlers (link);                  
  else if (RTEMS_RFS_S_ISREG (mode))                                  
    loc->handlers = rtems_rfs_rtems_handlers (file);                  
   52ed2:	203c 0007 364c 	movel #472652,%d0                           <== NOT EXECUTED
   52ed8:	2140 0010      	movel %d0,%a0@(16)                          <== NOT EXECUTED
  else                                                                
  {                                                                   
    printf ("rtems-rfs: mode type unknown: %04x\n", mode);            
    return false;                                                     
  }                                                                   
  return true;                                                        
   52edc:	7001           	moveq #1,%d0                                <== NOT EXECUTED
}                                                                     
                                                                      

0005247c <rtems_rfs_rtems_shutdown>: /** * Shutdown the file system. */ void rtems_rfs_rtems_shutdown (rtems_filesystem_mount_table_entry_t* mt_entry) {
   5247c:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   52480:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system*   fs = mt_entry->fs_info;                    
   52484:	2068 0008      	moveal %a0@(8),%a0                          <== NOT EXECUTED
/**                                                                   
 * Shutdown the file system.                                          
 */                                                                   
void                                                                  
rtems_rfs_rtems_shutdown (rtems_filesystem_mount_table_entry_t* mt_entry)
{                                                                     
   52488:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  rtems_rfs_file_system*   fs = mt_entry->fs_info;                    
  rtems_rfs_rtems_private* rtems;                                     
                                                                      
  rtems = rtems_rfs_fs_user (fs);                                     
   5248a:	2428 0080      	movel %a0@(128),%d2                         <== NOT EXECUTED
                                                                      
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
   5248e:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   52490:	4eb9 0005 da3e 	jsr 5da3e <rtems_rfs_fs_close>              <== NOT EXECUTED
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
   52496:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52498:	4eb9 0005 e61e 	jsr 5e61e <rtems_rfs_mutex_destroy>         <== NOT EXECUTED
  free (rtems);                                                       
   5249e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   524a0:	2d42 0008      	movel %d2,%fp@(8)                           <== NOT EXECUTED
}                                                                     
   524a4:	242e fffc      	movel %fp@(-4),%d2                          <== NOT EXECUTED
   524a8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      
  /* FIXME: Return value? */                                          
  rtems_rfs_fs_close(fs);                                             
                                                                      
  rtems_rfs_mutex_destroy (&rtems->access);                           
  free (rtems);                                                       
   524aa:	4ef9 0004 7344 	jmp 47344 <free>                            <== NOT EXECUTED
                                                                      

00051cbc <rtems_rfs_rtems_statvfs>: * @return int */ static int rtems_rfs_rtems_statvfs (const rtems_filesystem_location_info_t* pathloc, struct statvfs* sb) {
   51cbc:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   51cc0:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   51cc4:	2068 0014      	moveal %a0@(20),%a0                         <== NOT EXECUTED
 * @return int                                                        
 */                                                                   
static int                                                            
rtems_rfs_rtems_statvfs (const rtems_filesystem_location_info_t* pathloc,
                         struct statvfs*                         sb)  
{                                                                     
   51cc8:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   51ccc:	2668 0008      	moveal %a0@(8),%a3                          <== NOT EXECUTED
  size_t                 blocks;                                      
  size_t                 inodes;                                      
                                                                      
  rtems_rfs_group_usage (fs, &blocks, &inodes);                       
   51cd0:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
  sb->f_bfree   = rtems_rfs_fs_blocks (fs) - blocks;                  
  sb->f_bavail  = sb->f_bfree;                                        
  sb->f_files   = rtems_rfs_fs_inodes (fs);                           
  sb->f_ffree   = rtems_rfs_fs_inodes (fs) - inodes;                  
  sb->f_favail  = sb->f_ffree;                                        
  sb->f_fsid    = RTEMS_RFS_SB_MAGIC;                                 
   51cd4:	243c 2809 2001 	movel #671686657,%d2                        <== NOT EXECUTED
{                                                                     
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
  size_t                 blocks;                                      
  size_t                 inodes;                                      
                                                                      
  rtems_rfs_group_usage (fs, &blocks, &inodes);                       
   51cda:	486e fff8      	pea %fp@(-8)                                <== NOT EXECUTED
 * @return int                                                        
 */                                                                   
static int                                                            
rtems_rfs_rtems_statvfs (const rtems_filesystem_location_info_t* pathloc,
                         struct statvfs*                         sb)  
{                                                                     
   51cde:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
  size_t                 blocks;                                      
  size_t                 inodes;                                      
                                                                      
  rtems_rfs_group_usage (fs, &blocks, &inodes);                       
   51ce2:	2f0b           	movel %a3,%sp@-                             <== NOT EXECUTED
   51ce4:	4eb9 0005 114e 	jsr 5114e <rtems_rfs_group_usage>           <== NOT EXECUTED
                                                                      
  sb->f_bsize   = rtems_rfs_fs_block_size (fs);                       
  sb->f_frsize  = rtems_rfs_fs_media_block_size (fs);                 
   51cea:	206b 0010      	moveal %a3@(16),%a0                         <== NOT EXECUTED
  sb->f_fsid    = RTEMS_RFS_SB_MAGIC;                                 
  sb->f_flag    = rtems_rfs_fs_flags (fs);                            
  sb->f_namemax = rtems_rfs_fs_max_name (fs);                         
                                                                      
  return 0;                                                           
}                                                                     
   51cee:	4280           	clrl %d0                                    <== NOT EXECUTED
  rtems_rfs_group_usage (fs, &blocks, &inodes);                       
                                                                      
  sb->f_bsize   = rtems_rfs_fs_block_size (fs);                       
  sb->f_frsize  = rtems_rfs_fs_media_block_size (fs);                 
  sb->f_blocks  = rtems_rfs_fs_media_blocks (fs);                     
  sb->f_bfree   = rtems_rfs_fs_blocks (fs) - blocks;                  
   51cf0:	226b 0004      	moveal %a3@(4),%a1                          <== NOT EXECUTED
   51cf4:	93ee fff8      	subal %fp@(-8),%a1                          <== NOT EXECUTED
                                                                      
  rtems_rfs_group_usage (fs, &blocks, &inodes);                       
                                                                      
  sb->f_bsize   = rtems_rfs_fs_block_size (fs);                       
  sb->f_frsize  = rtems_rfs_fs_media_block_size (fs);                 
  sb->f_blocks  = rtems_rfs_fs_media_blocks (fs);                     
   51cf8:	2228 001c      	movel %a0@(28),%d1                          <== NOT EXECUTED
  size_t                 blocks;                                      
  size_t                 inodes;                                      
                                                                      
  rtems_rfs_group_usage (fs, &blocks, &inodes);                       
                                                                      
  sb->f_bsize   = rtems_rfs_fs_block_size (fs);                       
   51cfc:	24ab 0008      	movel %a3@(8),%a2@                          <== NOT EXECUTED
  sb->f_frsize  = rtems_rfs_fs_media_block_size (fs);                 
   51d00:	2568 0020 0004 	movel %a0@(32),%a2@(4)                      <== NOT EXECUTED
  sb->f_blocks  = rtems_rfs_fs_media_blocks (fs);                     
  sb->f_bfree   = rtems_rfs_fs_blocks (fs) - blocks;                  
  sb->f_bavail  = sb->f_bfree;                                        
  sb->f_files   = rtems_rfs_fs_inodes (fs);                           
   51d06:	206b 0014      	moveal %a3@(20),%a0                         <== NOT EXECUTED
  sb->f_ffree   = rtems_rfs_fs_inodes (fs) - inodes;                  
  sb->f_favail  = sb->f_ffree;                                        
  sb->f_fsid    = RTEMS_RFS_SB_MAGIC;                                 
  sb->f_flag    = rtems_rfs_fs_flags (fs);                            
   51d0a:	2553 0030      	movel %a3@,%a2@(48)                         <== NOT EXECUTED
  sb->f_namemax = rtems_rfs_fs_max_name (fs);                         
   51d0e:	256b 001c 0034 	movel %a3@(28),%a2@(52)                     <== NOT EXECUTED
                                                                      
  rtems_rfs_group_usage (fs, &blocks, &inodes);                       
                                                                      
  sb->f_bsize   = rtems_rfs_fs_block_size (fs);                       
  sb->f_frsize  = rtems_rfs_fs_media_block_size (fs);                 
  sb->f_blocks  = rtems_rfs_fs_media_blocks (fs);                     
   51d14:	2541 000c      	movel %d1,%a2@(12)                          <== NOT EXECUTED
  sb->f_bfree   = rtems_rfs_fs_blocks (fs) - blocks;                  
  sb->f_bavail  = sb->f_bfree;                                        
  sb->f_files   = rtems_rfs_fs_inodes (fs);                           
  sb->f_ffree   = rtems_rfs_fs_inodes (fs) - inodes;                  
   51d18:	2208           	movel %a0,%d1                               <== NOT EXECUTED
   51d1a:	92ae fffc      	subl %fp@(-4),%d1                           <== NOT EXECUTED
                                                                      
  rtems_rfs_group_usage (fs, &blocks, &inodes);                       
                                                                      
  sb->f_bsize   = rtems_rfs_fs_block_size (fs);                       
  sb->f_frsize  = rtems_rfs_fs_media_block_size (fs);                 
  sb->f_blocks  = rtems_rfs_fs_media_blocks (fs);                     
   51d1e:	42aa 0008      	clrl %a2@(8)                                <== NOT EXECUTED
  sb->f_bfree   = rtems_rfs_fs_blocks (fs) - blocks;                  
   51d22:	42aa 0010      	clrl %a2@(16)                               <== NOT EXECUTED
   51d26:	2549 0014      	movel %a1,%a2@(20)                          <== NOT EXECUTED
  sb->f_bavail  = sb->f_bfree;                                        
   51d2a:	42aa 0018      	clrl %a2@(24)                               <== NOT EXECUTED
   51d2e:	2549 001c      	movel %a1,%a2@(28)                          <== NOT EXECUTED
  sb->f_files   = rtems_rfs_fs_inodes (fs);                           
   51d32:	2548 0020      	movel %a0,%a2@(32)                          <== NOT EXECUTED
  sb->f_ffree   = rtems_rfs_fs_inodes (fs) - inodes;                  
   51d36:	2541 0024      	movel %d1,%a2@(36)                          <== NOT EXECUTED
  sb->f_favail  = sb->f_ffree;                                        
   51d3a:	2541 0028      	movel %d1,%a2@(40)                          <== NOT EXECUTED
  sb->f_fsid    = RTEMS_RFS_SB_MAGIC;                                 
   51d3e:	2542 002c      	movel %d2,%a2@(44)                          <== NOT EXECUTED
  sb->f_flag    = rtems_rfs_fs_flags (fs);                            
  sb->f_namemax = rtems_rfs_fs_max_name (fs);                         
                                                                      
  return 0;                                                           
}                                                                     
   51d42:	4cee 0c04 ffec 	moveml %fp@(-20),%d2/%a2-%a3                <== NOT EXECUTED
   51d48:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051ee4 <rtems_rfs_rtems_symlink>: static int rtems_rfs_rtems_symlink (const rtems_filesystem_location_info_t* parent_loc, const char* node_name, size_t node_name_len, const char* target) {
   51ee4:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   51ee8:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (parent_loc);
   51eec:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
static int                                                            
rtems_rfs_rtems_symlink (const rtems_filesystem_location_info_t* parent_loc,
                         const char*                             node_name,
                         size_t                                  node_name_len,
                         const char*                             target)
{                                                                     
   51ef0:	48d7 007c      	moveml %d2-%d6,%sp@                         <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (parent_loc);
   51ef4:	2629 0008      	movel %a1@(8),%d3                           <== NOT EXECUTED
  rtems_rfs_ino          parent = rtems_rfs_rtems_get_pathloc_ino (parent_loc);
   51ef8:	2c28 0008      	movel %a0@(8),%d6                           <== NOT EXECUTED
static int                                                            
rtems_rfs_rtems_symlink (const rtems_filesystem_location_info_t* parent_loc,
                         const char*                             node_name,
                         size_t                                  node_name_len,
                         const char*                             target)
{                                                                     
   51efc:	242e 0014      	movel %fp@(20),%d2                          <== NOT EXECUTED
  rtems_rfs_ino          parent = rtems_rfs_rtems_get_pathloc_ino (parent_loc);
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_symlink (fs, node_name, node_name_len,               
                          target, strlen (target),                    
                          geteuid(), getegid(), parent);              
   51f00:	4eb9 0005 6510 	jsr 56510 <getegid>                         <== NOT EXECUTED
   51f06:	3a00           	movew %d0,%d5                               <== NOT EXECUTED
   51f08:	4eb9 0005 6524 	jsr 56524 <geteuid>                         <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (parent_loc);
  rtems_rfs_ino          parent = rtems_rfs_rtems_get_pathloc_ino (parent_loc);
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_symlink (fs, node_name, node_name_len,               
                          target, strlen (target),                    
   51f0e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
                          geteuid(), getegid(), parent);              
   51f10:	3800           	movew %d0,%d4                               <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (parent_loc);
  rtems_rfs_ino          parent = rtems_rfs_rtems_get_pathloc_ino (parent_loc);
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_symlink (fs, node_name, node_name_len,               
                          target, strlen (target),                    
   51f12:	4eb9 0006 26b4 	jsr 626b4 <strlen>                          <== NOT EXECUTED
{                                                                     
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (parent_loc);
  rtems_rfs_ino          parent = rtems_rfs_rtems_get_pathloc_ino (parent_loc);
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_symlink (fs, node_name, node_name_len,               
   51f18:	2e86           	movel %d6,%sp@                              <== NOT EXECUTED
   51f1a:	3f05           	movew %d5,%sp@-                             <== NOT EXECUTED
   51f1c:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   51f1e:	3f04           	movew %d4,%sp@-                             <== NOT EXECUTED
   51f20:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   51f22:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   51f24:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   51f26:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   51f2a:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   51f2e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   51f30:	4eb9 0005 e10a 	jsr 5e10a <rtems_rfs_symlink>               <== NOT EXECUTED
                          target, strlen (target),                    
                          geteuid(), getegid(), parent);              
  if (rc)                                                             
   51f36:	4fef 0020      	lea %sp@(32),%sp                            <== NOT EXECUTED
{                                                                     
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (parent_loc);
  rtems_rfs_ino          parent = rtems_rfs_rtems_get_pathloc_ino (parent_loc);
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_symlink (fs, node_name, node_name_len,               
   51f3a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                          target, strlen (target),                    
                          geteuid(), getegid(), parent);              
  if (rc)                                                             
   51f3c:	660c           	bnes 51f4a <rtems_rfs_rtems_symlink+0x66>   <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("symlink: linking", rc);            
  }                                                                   
                                                                      
  return 0;                                                           
   51f3e:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   51f40:	4cee 007c ffec 	moveml %fp@(-20),%d2-%d6                    <== NOT EXECUTED
   51f46:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51f48:	4e75           	rts                                         <== NOT EXECUTED
  rc = rtems_rfs_symlink (fs, node_name, node_name_len,               
                          target, strlen (target),                    
                          geteuid(), getegid(), parent);              
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("symlink: linking", rc);            
   51f4a:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   51f50:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   51f52:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   51f54:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51f56:	4cee 007c ffec 	moveml %fp@(-20),%d2-%d6                    <== NOT EXECUTED
   51f5c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052a70 <rtems_rfs_rtems_unlock_by_mt_entry>: static void rtems_rfs_rtems_unlock_by_mt_entry ( const rtems_filesystem_mount_table_entry_t *mt_entry ) {
   52a70:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   52a74:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
   52a78:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
  rtems_rfs_file_system* fs = mt_entry->fs_info;                      
   52a7a:	2068 0008      	moveal %a0@(8),%a0                          <== NOT EXECUTED
                                                                      
static void                                                           
rtems_rfs_rtems_unlock_by_mt_entry (                                  
  const rtems_filesystem_mount_table_entry_t *mt_entry                
)                                                                     
{                                                                     
   52a7e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
 * Unlock the RFS file system.                                        
 */                                                                   
static inline void                                                    
 rtems_rfs_rtems_unlock (rtems_rfs_file_system* fs)                   
{                                                                     
  rtems_rfs_rtems_private* rtems = rtems_rfs_fs_user (fs);            
   52a80:	2468 0080      	moveal %a0@(128),%a2                        <== NOT EXECUTED
  rtems_rfs_buffers_release (fs);                                     
   52a84:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   52a86:	4eb9 0005 a6b4 	jsr 5a6b4 <rtems_rfs_buffers_release>       <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   52a8c:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   52a8e:	4eb9 0004 c318 	jsr 4c318 <rtems_semaphore_release>         <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   52a94:	508f           	addql #8,%sp                                <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_mutex_unlock (rtems_rfs_mutex* mutex)                       
{                                                                     
#if __rtems__                                                         
  rtems_status_code sc = rtems_semaphore_release (*mutex);            
   52a96:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (sc != RTEMS_SUCCESSFUL)                                         
   52a98:	660c           	bnes 52aa6 <rtems_rfs_rtems_unlock_by_mt_entry+0x36><== NOT EXECUTED
  rtems_rfs_file_system* fs = mt_entry->fs_info;                      
                                                                      
  rtems_rfs_rtems_unlock (fs);                                        
}                                                                     
   52a9a:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   52a9e:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   52aa2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52aa4:	4e75           	rts                                         <== NOT EXECUTED
  {                                                                   
#if RTEMS_RFS_TRACE                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_MUTEX))                      
   52aa6:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
   52aaa:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   52aac:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   52ab2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   52ab4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   52ab6:	67e2           	beqs 52a9a <rtems_rfs_rtems_unlock_by_mt_entry+0x2a><== NOT EXECUTED
      printf ("rtems-rfs: mutex: release failed: %s\n",               
   52ab8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   52aba:	4eb9 0004 70ec 	jsr 470ec <rtems_status_text>               <== NOT EXECUTED
   52ac0:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   52ac2:	4879 0007 1b23 	pea 71b23 <_CPU_m68k_BFFFO_table+0xc14>     <== NOT EXECUTED
   52ac8:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   52ace:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   52ad2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   52ad6:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   52ada:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00051f60 <rtems_rfs_rtems_utime>: static int rtems_rfs_rtems_utime(const rtems_filesystem_location_info_t* pathloc, time_t atime, time_t mtime) {
   51f60:	4e56 ffb8      	linkw %fp,#-72                              <== NOT EXECUTED
   51f64:	206e 0008      	moveal %fp@(8),%a0                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   51f68:	2268 0014      	moveal %a0@(20),%a1                         <== NOT EXECUTED
                                                                      
static int                                                            
rtems_rfs_rtems_utime(const rtems_filesystem_location_info_t* pathloc,
                      time_t                                  atime,  
                      time_t                                  mtime)  
{                                                                     
   51f6c:	48d7 0cfc      	moveml %d2-%d7/%a2-%a3,%sp@                 <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
   51f70:	2829 0008      	movel %a1@(8),%d4                           <== NOT EXECUTED
  rtems_rfs_ino          ino = rtems_rfs_rtems_get_pathloc_ino (pathloc);
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   51f74:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   51f78:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   51f7a:	0685 ffff ffda 	addil #-38,%d5                              <== NOT EXECUTED
   51f80:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   51f82:	2f28 0008      	movel %a0@(8),%sp@-                         <== NOT EXECUTED
                                                                      
static int                                                            
rtems_rfs_rtems_utime(const rtems_filesystem_location_info_t* pathloc,
                      time_t                                  atime,  
                      time_t                                  mtime)  
{                                                                     
   51f86:	262e 000c      	movel %fp@(12),%d3                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
  rtems_rfs_ino          ino = rtems_rfs_rtems_get_pathloc_ino (pathloc);
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   51f8a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
                                                                      
static int                                                            
rtems_rfs_rtems_utime(const rtems_filesystem_location_info_t* pathloc,
                      time_t                                  atime,  
                      time_t                                  mtime)  
{                                                                     
   51f8c:	242e 0010      	movel %fp@(16),%d2                          <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
  rtems_rfs_ino          ino = rtems_rfs_rtems_get_pathloc_ino (pathloc);
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   51f90:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc)                                                             
   51f96:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  rtems_rfs_file_system* fs = rtems_rfs_rtems_pathloc_dev (pathloc);  
  rtems_rfs_ino          ino = rtems_rfs_rtems_get_pathloc_ino (pathloc);
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   51f9a:	2c00           	movel %d0,%d6                               <== NOT EXECUTED
  if (rc)                                                             
   51f9c:	6718           	beqs 51fb6 <rtems_rfs_rtems_utime+0x56>     <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("utime: read inode", rc);           
   51f9e:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   51fa4:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   51fa6:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("utime: closing inode", rc);        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51fa8:	2001           	movel %d1,%d0                               <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("utime: read inode", rc);           
   51faa:	2086           	movel %d6,%a0@                              <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("utime: closing inode", rc);        
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   51fac:	4cee 0cfc ffb8 	moveml %fp@(-72),%d2-%d7/%a2-%a3            <== NOT EXECUTED
   51fb2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   51fb4:	4e75           	rts                                         <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   51fb6:	7218           	moveq #24,%d1                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   51fb8:	2c02           	movel %d2,%d6                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   51fba:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   51fbc:	e2a8           	lsrl %d1,%d0                                <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   51fbe:	e2ae           	lsrl %d1,%d6                                <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   51fc0:	2203           	movel %d3,%d1                               <== NOT EXECUTED
   51fc2:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   51fc4:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   51fc6:	e088           	lsrl #8,%d0                                 <== NOT EXECUTED
   51fc8:	2640           	moveal %d0,%a3                              <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   51fca:	2e03           	movel %d3,%d7                               <== NOT EXECUTED
   51fcc:	e08f           	lsrl #8,%d7                                 <== NOT EXECUTED
   51fce:	4241           	clrw %d1                                    <== NOT EXECUTED
   51fd0:	4841           	swap %d1                                    <== NOT EXECUTED
   51fd2:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   51fd6:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   51fd8:	2202           	movel %d2,%d1                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   51fda:	300a           	movew %a2,%d0                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   51fdc:	4241           	clrw %d1                                    <== NOT EXECUTED
   51fde:	4841           	swap %d1                                    <== NOT EXECUTED
   51fe0:	1142 0017      	moveb %d2,%a0@(23)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   51fe4:	1140 0010      	moveb %d0,%a0@(16)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   51fe8:	1141 0015      	moveb %d1,%a0@(21)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   51fec:	3009           	movew %a1,%d0                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   51fee:	320b           	movew %a3,%d1                               <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
   51ff0:	1140 0011      	moveb %d0,%a0@(17)                          <== NOT EXECUTED
   51ff4:	1147 0012      	moveb %d7,%a0@(18)                          <== NOT EXECUTED
   51ff8:	1143 0013      	moveb %d3,%a0@(19)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_mtime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          mtime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->mtime, mtime);                  
   51ffc:	1146 0014      	moveb %d6,%a0@(20)                          <== NOT EXECUTED
   52000:	1141 0016      	moveb %d1,%a0@(22)                          <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_inode_set_atime (&inode, atime);                          
  rtems_rfs_inode_set_mtime (&inode, mtime);                          
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52004:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
static inline void                                                    
rtems_rfs_inode_set_atime (rtems_rfs_inode_handle* handle,            
                           rtems_rfs_time          atime)             
{                                                                     
  rtems_rfs_write_u32 (&handle->node->atime, atime);                  
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   52006:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   52008:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5200a:	1d40 ffea      	moveb %d0,%fp@(-22)                         <== NOT EXECUTED
   5200e:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
  if (rc)                                                             
   52014:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rtems_rfs_inode_set_atime (&inode, atime);                          
  rtems_rfs_inode_set_mtime (&inode, mtime);                          
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   52016:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   52018:	660e           	bnes 52028 <rtems_rfs_rtems_utime+0xc8>     <== NOT EXECUTED
  {                                                                   
    return rtems_rfs_rtems_error ("utime: closing inode", rc);        
  }                                                                   
                                                                      
  return 0;                                                           
   5201a:	4281           	clrl %d1                                    <== NOT EXECUTED
}                                                                     
   5201c:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5201e:	4cee 0cfc ffb8 	moveml %fp@(-72),%d2-%d7/%a2-%a3            <== NOT EXECUTED
   52024:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   52026:	4e75           	rts                                         <== NOT EXECUTED
  rtems_rfs_inode_set_mtime (&inode, mtime);                          
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("utime: closing inode", rc);        
   52028:	4eb9 0006 0414 	jsr 60414 <__errno>                         <== NOT EXECUTED
   5202e:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   52030:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52032:	2001           	movel %d1,%d0                               <== NOT EXECUTED
  rtems_rfs_inode_set_mtime (&inode, mtime);                          
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
  if (rc)                                                             
  {                                                                   
    return rtems_rfs_rtems_error ("utime: closing inode", rc);        
   52034:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   52036:	4cee 0cfc ffb8 	moveml %fp@(-72),%d2-%d7/%a2-%a3            <== NOT EXECUTED
   5203c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004fbb4 <rtems_rfs_rup_quotient>: * Return a rounded up integer quotient given a dividend and divisor. That is: * "quotient = dividend / divisor" */ int rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor) {
   4fbb4:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   4fbb8:	202e 0008      	movel %fp@(8),%d0                           <== NOT EXECUTED
   4fbbc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  if (dividend == 0)                                                  
   4fbbe:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4fbc0:	6712           	beqs 4fbd4 <rtems_rfs_rup_quotient+0x20>    <== NOT EXECUTED
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   4fbc2:	242e 000c      	movel %fp@(12),%d2                          <== NOT EXECUTED
   4fbc6:	5380           	subql #1,%d0                                <== NOT EXECUTED
   4fbc8:	4c42 0000      	remul %d2,%d0,%d0                           <== NOT EXECUTED
}                                                                     
   4fbcc:	241f           	movel %sp@+,%d2                             <== NOT EXECUTED
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
  return ((dividend - 1) / divisor) + 1;                              
   4fbce:	5280           	addql #1,%d0                                <== NOT EXECUTED
}                                                                     
   4fbd0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4fbd2:	4e75           	rts                                         <== NOT EXECUTED
   4fbd4:	241f           	movel %sp@+,%d2                             <== NOT EXECUTED
 */                                                                   
int                                                                   
rtems_rfs_rup_quotient (uint32_t dividend, uint32_t divisor)          
{                                                                     
  if (dividend == 0)                                                  
    return 1;                                                         
   4fbd6:	7001           	moveq #1,%d0                                <== NOT EXECUTED
  return ((dividend - 1) / divisor) + 1;                              
}                                                                     
   4fbd8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00059ea8 <rtems_rfs_scan_chain>: */ static rtems_rfs_buffer* rtems_rfs_scan_chain (rtems_chain_control* chain, uint32_t* count, rtems_rfs_buffer_block block) {
   59ea8:	4e56 ffec      	linkw %fp,#-20                              
   59eac:	48d7 3c04      	moveml %d2/%a2-%a5,%sp@                     
   59eb0:	286e 0008      	moveal %fp@(8),%a4                          
  rtems_rfs_buffer* buffer;                                           
  rtems_chain_node* node;                                             
                                                                      
  node = rtems_chain_last (chain);                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
   59eb4:	47f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a3             
 */                                                                   
RTEMS_INLINE_ROUTINE Chain_Node *_Chain_Last(                         
  Chain_Control *the_chain                                            
)                                                                     
{                                                                     
  return _Chain_Tail( the_chain )->previous;                          
   59eba:	246c 0008      	moveal %a4@(8),%a2                          
   59ebe:	4878 0080      	pea 80 <DBL_MANT_DIG+0x4b>                  
 */                                                                   
static rtems_rfs_buffer*                                              
rtems_rfs_scan_chain (rtems_chain_control*   chain,                   
                      uint32_t*              count,                   
                      rtems_rfs_buffer_block block)                   
{                                                                     
   59ec2:	242e 0010      	movel %fp@(16),%d2                          
  rtems_rfs_buffer* buffer;                                           
  rtems_chain_node* node;                                             
                                                                      
  node = rtems_chain_last (chain);                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
   59ec6:	42a7           	clrl %sp@-                                  
   59ec8:	4e93           	jsr %a3@                                    
   59eca:	508f           	addql #8,%sp                                
   59ecc:	4a00           	tstb %d0                                    
   59ece:	6600 0088      	bnew 59f58 <rtems_rfs_scan_chain+0xb0>      
  while (!rtems_chain_is_head (chain, node))                          
  {                                                                   
    buffer = (rtems_rfs_buffer*) node;                                
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))              
      printf ("%" PRIuPTR " ", ((intptr_t) buffer->user));            
   59ed2:	4bf9 0006 16ec 	lea 616ec <printf>,%a5                      
  node = rtems_chain_last (chain);                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf ("rtems-rfs: buffer-scan: count=%" PRIu32 ", block=%" PRIu32 ": ", *count, block);
                                                                      
  while (!rtems_chain_is_head (chain, node))                          
   59ed8:	b9ca           	cmpal %a2,%a4                               
   59eda:	671c           	beqs 59ef8 <rtems_rfs_scan_chain+0x50>      <== NEVER TAKEN
  {                                                                   
    buffer = (rtems_rfs_buffer*) node;                                
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))              
   59edc:	4878 0080      	pea 80 <DBL_MANT_DIG+0x4b>                  
   59ee0:	42a7           	clrl %sp@-                                  
   59ee2:	4e93           	jsr %a3@                                    
   59ee4:	508f           	addql #8,%sp                                
   59ee6:	4a00           	tstb %d0                                    
   59ee8:	662a           	bnes 59f14 <rtems_rfs_scan_chain+0x6c>      <== NEVER TAKEN
      printf ("%" PRIuPTR " ", ((intptr_t) buffer->user));            
                                                                      
    if (((rtems_rfs_buffer_block) ((intptr_t)(buffer->user))) == block)
   59eea:	b4aa 0032      	cmpl %a2@(50),%d2                           
   59eee:	6738           	beqs 59f28 <rtems_rfs_scan_chain+0x80>      <== NEVER TAKEN
                                true);                                
  if ((rc > 0) && (rrc == 0))                                         
    rrc = rc;                                                         
                                                                      
  return rrc;                                                         
}                                                                     
   59ef0:	246a 0004      	moveal %a2@(4),%a2                          
  node = rtems_chain_last (chain);                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf ("rtems-rfs: buffer-scan: count=%" PRIu32 ", block=%" PRIu32 ": ", *count, block);
                                                                      
  while (!rtems_chain_is_head (chain, node))                          
   59ef4:	b9ca           	cmpal %a2,%a4                               
   59ef6:	66e4           	bnes 59edc <rtems_rfs_scan_chain+0x34>      <== NEVER TAKEN
      return buffer;                                                  
    }                                                                 
    node = rtems_chain_previous (node);                               
  }                                                                   
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
   59ef8:	4878 0080      	pea 80 <DBL_MANT_DIG+0x4b>                  
   59efc:	42a7           	clrl %sp@-                                  
   59efe:	4e93           	jsr %a3@                                    
   59f00:	508f           	addql #8,%sp                                
   59f02:	4a00           	tstb %d0                                    
   59f04:	6600 00a6      	bnew 59fac <rtems_rfs_scan_chain+0x104>     
    printf (": not found\n");                                         
                                                                      
  return NULL;                                                        
   59f08:	4280           	clrl %d0                                    
}                                                                     
   59f0a:	4cee 3c04 ffec 	moveml %fp@(-20),%d2/%a2-%a5                
   59f10:	4e5e           	unlk %fp                                    
   59f12:	4e75           	rts                                         
  while (!rtems_chain_is_head (chain, node))                          
  {                                                                   
    buffer = (rtems_rfs_buffer*) node;                                
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))              
      printf ("%" PRIuPTR " ", ((intptr_t) buffer->user));            
   59f14:	2f2a 0032      	movel %a2@(50),%sp@-                        <== NOT EXECUTED
   59f18:	4879 0007 2219 	pea 72219 <CSWTCH.2+0x151>                  <== NOT EXECUTED
   59f1e:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   59f20:	508f           	addql #8,%sp                                <== NOT EXECUTED
                                                                      
    if (((rtems_rfs_buffer_block) ((intptr_t)(buffer->user))) == block)
   59f22:	b4aa 0032      	cmpl %a2@(50),%d2                           <== NOT EXECUTED
   59f26:	66c8           	bnes 59ef0 <rtems_rfs_scan_chain+0x48>      <== NOT EXECUTED
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))            
   59f28:	4878 0080      	pea 80 <DBL_MANT_DIG+0x4b>                  <== NOT EXECUTED
   59f2c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   59f2e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   59f30:	508f           	addql #8,%sp                                <== NOT EXECUTED
   59f32:	4a00           	tstb %d0                                    <== NOT EXECUTED
   59f34:	664a           	bnes 59f80 <rtems_rfs_scan_chain+0xd8>      <== NOT EXECUTED
        printf (": found block=%" PRIuPTR "\n",                       
                ((intptr_t)(buffer->user)));                          
                                                                      
      (*count)--;                                                     
   59f36:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   59f3a:	5390           	subql #1,%a0@                               <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void rtems_chain_extract(                        
  rtems_chain_node *the_node                                          
)                                                                     
{                                                                     
  _Chain_Extract( the_node );                                         
   59f3c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59f3e:	4eb9 0005 7274 	jsr 57274 <_Chain_Extract>                  <== NOT EXECUTED
      rtems_chain_extract (node);                                     
      rtems_chain_set_off_chain (node);                               
      return buffer;                                                  
   59f44:	588f           	addql #4,%sp                                <== NOT EXECUTED
   59f46:	200a           	movel %a2,%d0                               <== NOT EXECUTED
 */                                                                   
RTEMS_INLINE_ROUTINE void _Chain_Set_off_chain(                       
  Chain_Node *node                                                    
)                                                                     
{                                                                     
  node->next = node->previous = NULL;                                 
   59f48:	42aa 0004      	clrl %a2@(4)                                <== NOT EXECUTED
   59f4c:	4292           	clrl %a2@                                   <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf (": not found\n");                                         
                                                                      
  return NULL;                                                        
}                                                                     
   59f4e:	4cee 3c04 ffec 	moveml %fp@(-20),%d2/%a2-%a5                <== NOT EXECUTED
   59f54:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   59f56:	4e75           	rts                                         <== NOT EXECUTED
  rtems_chain_node* node;                                             
                                                                      
  node = rtems_chain_last (chain);                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf ("rtems-rfs: buffer-scan: count=%" PRIu32 ", block=%" PRIu32 ": ", *count, block);
   59f58:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
  while (!rtems_chain_is_head (chain, node))                          
  {                                                                   
    buffer = (rtems_rfs_buffer*) node;                                
                                                                      
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))              
      printf ("%" PRIuPTR " ", ((intptr_t) buffer->user));            
   59f5c:	4bf9 0006 16ec 	lea 616ec <printf>,%a5                      <== NOT EXECUTED
  rtems_chain_node* node;                                             
                                                                      
  node = rtems_chain_last (chain);                                    
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf ("rtems-rfs: buffer-scan: count=%" PRIu32 ", block=%" PRIu32 ": ", *count, block);
   59f62:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   59f64:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   59f66:	4879 0007 21ea 	pea 721ea <CSWTCH.2+0x122>                  <== NOT EXECUTED
   59f6c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   59f72:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
                                                                      
  while (!rtems_chain_is_head (chain, node))                          
   59f76:	b9ca           	cmpal %a2,%a4                               <== NOT EXECUTED
   59f78:	6600 ff62      	bnew 59edc <rtems_rfs_scan_chain+0x34>      <== NOT EXECUTED
   59f7c:	6000 ff7a      	braw 59ef8 <rtems_rfs_scan_chain+0x50>      <== NOT EXECUTED
      printf ("%" PRIuPTR " ", ((intptr_t) buffer->user));            
                                                                      
    if (((rtems_rfs_buffer_block) ((intptr_t)(buffer->user))) == block)
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))            
        printf (": found block=%" PRIuPTR "\n",                       
   59f80:	2f2a 0032      	movel %a2@(50),%sp@-                        <== NOT EXECUTED
   59f84:	4879 0007 221e 	pea 7221e <CSWTCH.2+0x156>                  <== NOT EXECUTED
   59f8a:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
                ((intptr_t)(buffer->user)));                          
                                                                      
      (*count)--;                                                     
   59f90:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   59f94:	5390           	subql #1,%a0@                               <== NOT EXECUTED
      printf ("%" PRIuPTR " ", ((intptr_t) buffer->user));            
                                                                      
    if (((rtems_rfs_buffer_block) ((intptr_t)(buffer->user))) == block)
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))            
        printf (": found block=%" PRIuPTR "\n",                       
   59f96:	508f           	addql #8,%sp                                <== NOT EXECUTED
   59f98:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   59f9a:	4eb9 0005 7274 	jsr 57274 <_Chain_Extract>                  <== NOT EXECUTED
                ((intptr_t)(buffer->user)));                          
                                                                      
      (*count)--;                                                     
      rtems_chain_extract (node);                                     
      rtems_chain_set_off_chain (node);                               
      return buffer;                                                  
   59fa0:	588f           	addql #4,%sp                                <== NOT EXECUTED
   59fa2:	200a           	movel %a2,%d0                               <== NOT EXECUTED
   59fa4:	42aa 0004      	clrl %a2@(4)                                <== NOT EXECUTED
   59fa8:	4292           	clrl %a2@                                   <== NOT EXECUTED
   59faa:	60a2           	bras 59f4e <rtems_rfs_scan_chain+0xa6>      <== NOT EXECUTED
    }                                                                 
    node = rtems_chain_previous (node);                               
  }                                                                   
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_BUFFER_CHAINS))                
    printf (": not found\n");                                         
   59fac:	4879 0007 2231 	pea 72231 <CSWTCH.2+0x169>                  <== NOT EXECUTED
   59fb2:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   59fb8:	588f           	addql #4,%sp                                <== NOT EXECUTED
                                                                      
  return NULL;                                                        
   59fba:	4280           	clrl %d0                                    <== NOT EXECUTED
   59fbc:	6000 ff4c      	braw 59f0a <rtems_rfs_scan_chain+0x62>      <== NOT EXECUTED
                                                                      

000586d8 <rtems_rfs_search_map_for_clear_bit.constprop.1>: return 0; } static int rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   586d8:	4e56 ffc8      	linkw %fp,#-56                              
  rtems_rfs_bitmap_element* map_bits;                                 
  int                       map_index;                                
  int                       map_offset;                               
  int                       rc;                                       
                                                                      
  *found = false;                                                     
   586dc:	206e 0010      	moveal %fp@(16),%a0                         
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   586e0:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  *found = false;                                                     
                                                                      
  /*                                                                  
   * Load the bitmap.                                                 
   */                                                                 
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   586e4:	486e fffc      	pea %fp@(-4)                                
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   586e8:	242e 0014      	movel %fp@(20),%d2                          
  rtems_rfs_bitmap_element* map_bits;                                 
  int                       map_index;                                
  int                       map_offset;                               
  int                       rc;                                       
                                                                      
  *found = false;                                                     
   586ec:	4210           	clrb %a0@                                   
                                                                      
  /*                                                                  
   * Load the bitmap.                                                 
   */                                                                 
  rc = rtems_rfs_bitmap_load_map (control, &map);                     
   586ee:	2f2e 0008      	movel %fp@(8),%sp@-                         
   586f2:	4eba ff94      	jsr %pc@(58688 <rtems_rfs_bitmap_load_map>) 
  if (rc > 0)                                                         
   586f6:	508f           	addql #8,%sp                                
   586f8:	4a80           	tstl %d0                                    
   586fa:	6f0a           	bles 58706 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x2e><== ALWAYS TAKEN
  }                                                                   
  while (((direction < 0) && (test_bit >= end_bit))                   
         || ((direction > 0) && (test_bit <= end_bit)));              
                                                                      
  return 0;                                                           
}                                                                     
   586fc:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   58702:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   58704:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Calculate the bit we are testing plus the end point we search over.
   */                                                                 
  test_bit = *bit;                                                    
  end_bit  = test_bit + (window * direction);                         
   58706:	2002           	movel %d2,%d0                               
   58708:	760b           	moveq #11,%d3                               
    return rc;                                                        
                                                                      
  /*                                                                  
   * Calculate the bit we are testing plus the end point we search over.
   */                                                                 
  test_bit = *bit;                                                    
   5870a:	226e 000c      	moveal %fp@(12),%a1                         
  end_bit  = test_bit + (window * direction);                         
   5870e:	e7a8           	lsll %d3,%d0                                
    return rc;                                                        
                                                                      
  /*                                                                  
   * Calculate the bit we are testing plus the end point we search over.
   */                                                                 
  test_bit = *bit;                                                    
   58710:	2211           	movel %a1@,%d1                              
  end_bit  = test_bit + (window * direction);                         
   58712:	2040           	moveal %d0,%a0                              
   58714:	d1c1           	addal %d1,%a0                               
                                                                      
  if (end_bit < 0)                                                    
   58716:	4a88           	tstl %a0                                    
   58718:	6d00 016e      	bltw 58888 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x1b0>
    end_bit = 0;                                                      
  else if (end_bit >= control->size)                                  
   5871c:	226e 0008      	moveal %fp@(8),%a1                          
   58720:	2029 000c      	movel %a1@(12),%d0                          
   58724:	b088           	cmpl %a0,%d0                                
   58726:	6204           	bhis 5872c <rtems_rfs_search_map_for_clear_bit.constprop.1+0x54><== NEVER TAKEN
    end_bit = control->size - 1;                                      
   58728:	2040           	moveal %d0,%a0                              
   5872a:	5388           	subql #1,%a0                                
                                                                      
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
   5872c:	2001           	movel %d1,%d0                               
   5872e:	ea80           	asrl #5,%d0                                 
   58730:	2640           	moveal %d0,%a3                              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
   58732:	700a           	moveq #10,%d0                               
   58734:	2601           	movel %d1,%d3                               
   58736:	e0a3           	asrl %d0,%d3                                
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
   58738:	2e0b           	movel %a3,%d7                               
                                                                      
  search_bits = &control->search_bits[search_index];                  
  map_bits    = &map[map_index];                                      
   5873a:	280b           	movel %a3,%d4                               
    end_bit = 0;                                                      
  else if (end_bit >= control->size)                                  
    end_bit = control->size - 1;                                      
                                                                      
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
   5873c:	103c 001f      	moveb #31,%d0                               
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58740:	7a01           	moveq #1,%d5                                
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
                                                                      
  search_bits = &control->search_bits[search_index];                  
   58742:	226e 0008      	moveal %fp@(8),%a1                          
   58746:	e58b           	lsll #2,%d3                                 
   58748:	2869 0014      	moveal %a1@(20),%a4                         
   5874c:	d9c3           	addal %d3,%a4                               
    end_bit = control->size - 1;                                      
                                                                      
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
   5874e:	761f           	moveq #31,%d3                               
   58750:	ce83           	andl %d3,%d7                                
            map_offset += direction;                                  
            test_bit   += direction;                                  
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
   58752:	2602           	movel %d2,%d3                               
   58754:	e58b           	lsll #2,%d3                                 
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
                                                                      
  search_bits = &control->search_bits[search_index];                  
  map_bits    = &map[map_index];                                      
   58756:	e58c           	lsll #2,%d4                                 
   58758:	246e fffc      	moveal %fp@(-4),%a2                         
            map_offset += direction;                                  
            test_bit   += direction;                                  
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
   5875c:	2a43           	moveal %d3,%a5                              
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   5875e:	2602           	movel %d2,%d3                               
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
                                                                      
  search_bits = &control->search_bits[search_index];                  
  map_bits    = &map[map_index];                                      
   58760:	d5c4           	addal %d4,%a2                               
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   58762:	eb8b           	lsll #5,%d3                                 
    end_bit = 0;                                                      
  else if (end_bit >= control->size)                                  
    end_bit = control->size - 1;                                      
                                                                      
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
   58764:	c081           	andl %d1,%d0                                
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   58766:	2d43 fff0      	movel %d3,%fp@(-16)                         
    /*                                                                
     * If any bit is clear find that bit and then search the map element. If
     * all bits are set there are no map bits so move to the next search
     * element.                                                       
     */                                                               
    if (!rtems_rfs_bitmap_match (*search_bits, RTEMS_RFS_BITMAP_ELEMENT_SET))
   5876a:	2d54 fff4      	movel %a4@,%fp@(-12)                        
   5876e:	6700 00a0      	beqw 58810 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x138>
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   58772:	43f3 2800      	lea %a3@(00000000,%d2:l),%a1                
   58776:	2609           	movel %a1,%d3                               
   58778:	eb8b           	lsll #5,%d3                                 
   5877a:	2243           	moveal %d3,%a1                              
     * all bits are set there are no map bits so move to the next search
     * element.                                                       
     */                                                               
    if (!rtems_rfs_bitmap_match (*search_bits, RTEMS_RFS_BITMAP_ELEMENT_SET))
    {                                                                 
      while ((search_offset >= 0)                                     
   5877c:	761f           	moveq #31,%d3                               
   5877e:	b687           	cmpl %d7,%d3                                
   58780:	6500 00ac      	bcsw 5882e <rtems_rfs_search_map_for_clear_bit.constprop.1+0x156>
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58784:	2605           	movel %d5,%d3                               
   58786:	efab           	lsll %d7,%d3                                
   58788:	2d43 fff8      	movel %d3,%fp@(-8)                          
   5878c:	c6ae fff4      	andl %fp@(-12),%d3                          
    if (!rtems_rfs_bitmap_match (*search_bits, RTEMS_RFS_BITMAP_ELEMENT_SET))
    {                                                                 
      while ((search_offset >= 0)                                     
             && (search_offset < rtems_rfs_bitmap_element_bits ()))   
      {                                                               
        if (!rtems_rfs_bitmap_test (*search_bits, search_offset))     
   58790:	6762           	beqs 587f4 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x11c><== NEVER TAKEN
        {                                                             
          /*                                                          
           * Find the clear bit in the map. Update the search map and map if
           * found. We may find none are spare if searching up from the seed.
           */                                                         
          while ((map_offset >= 0)                                    
   58792:	761f           	moveq #31,%d3                               
   58794:	b680           	cmpl %d0,%d3                                
   58796:	655c           	bcss 587f4 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x11c><== NEVER TAKEN
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   58798:	2605           	movel %d5,%d3                               
   5879a:	e1ab           	lsll %d0,%d3                                
           * found. We may find none are spare if searching up from the seed.
           */                                                         
          while ((map_offset >= 0)                                    
                 && (map_offset < rtems_rfs_bitmap_element_bits ()))  
          {                                                           
            if (!rtems_rfs_bitmap_test (*map_bits, map_offset))       
   5879c:	2c12           	movel %a2@,%d6                              
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   5879e:	2803           	movel %d3,%d4                               
   587a0:	c886           	andl %d6,%d4                                
           * found. We may find none are spare if searching up from the seed.
           */                                                         
          while ((map_offset >= 0)                                    
                 && (map_offset < rtems_rfs_bitmap_element_bits ()))  
          {                                                           
            if (!rtems_rfs_bitmap_test (*map_bits, map_offset))       
   587a2:	6618           	bnes 587bc <rtems_rfs_search_map_for_clear_bit.constprop.1+0xe4>
              *found = true;                                          
              rtems_rfs_buffer_mark_dirty (control->buffer);          
              return 0;                                               
            }                                                         
                                                                      
            if (test_bit == end_bit)                                  
   587a4:	b288           	cmpl %a0,%d1                                
   587a6:	674c           	beqs 587f4 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x11c><== NEVER TAKEN
              break;                                                  
                                                                      
            map_offset += direction;                                  
   587a8:	d082           	addl %d2,%d0                                
            test_bit   += direction;                                  
   587aa:	d282           	addl %d2,%d1                                
        {                                                             
          /*                                                          
           * Find the clear bit in the map. Update the search map and map if
           * found. We may find none are spare if searching up from the seed.
           */                                                         
          while ((map_offset >= 0)                                    
   587ac:	761f           	moveq #31,%d3                               
   587ae:	b680           	cmpl %d0,%d3                                
   587b0:	6542           	bcss 587f4 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x11c><== NEVER TAKEN
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   587b2:	2605           	movel %d5,%d3                               
   587b4:	2806           	movel %d6,%d4                               
   587b6:	e1ab           	lsll %d0,%d3                                
   587b8:	c883           	andl %d3,%d4                                
           * found. We may find none are spare if searching up from the seed.
           */                                                         
          while ((map_offset >= 0)                                    
                 && (map_offset < rtems_rfs_bitmap_element_bits ()))  
          {                                                           
            if (!rtems_rfs_bitmap_test (*map_bits, map_offset))       
   587ba:	67e8           	beqs 587a4 <rtems_rfs_search_map_for_clear_bit.constprop.1+0xcc>
 */                                                                   
static rtems_rfs_bitmap_element                                       
rtems_rfs_bitmap_set (rtems_rfs_bitmap_element target,                
                      rtems_rfs_bitmap_element bits)                  
{                                                                     
  return RTEMS_RFS_BITMAP_SET_BITS (target, bits);                    
   587bc:	4683           	notl %d3                                    
   587be:	c686           	andl %d6,%d3                                
          while ((map_offset >= 0)                                    
                 && (map_offset < rtems_rfs_bitmap_element_bits ()))  
          {                                                           
            if (!rtems_rfs_bitmap_test (*map_bits, map_offset))       
            {                                                         
              *map_bits = rtems_rfs_bitmap_set (*map_bits, 1 << map_offset);
   587c0:	2483           	movel %d3,%a2@                              
              if (rtems_rfs_bitmap_match(*map_bits,                   
   587c2:	6608           	bnes 587cc <rtems_rfs_search_map_for_clear_bit.constprop.1+0xf4><== ALWAYS TAKEN
 */                                                                   
static rtems_rfs_bitmap_element                                       
rtems_rfs_bitmap_set (rtems_rfs_bitmap_element target,                
                      rtems_rfs_bitmap_element bits)                  
{                                                                     
  return RTEMS_RFS_BITMAP_SET_BITS (target, bits);                    
   587c4:	202e fff8      	movel %fp@(-8),%d0                          <== NOT EXECUTED
   587c8:	4680           	notl %d0                                    <== NOT EXECUTED
   587ca:	c194           	andl %d0,%a4@                               <== NOT EXECUTED
              *map_bits = rtems_rfs_bitmap_set (*map_bits, 1 << map_offset);
              if (rtems_rfs_bitmap_match(*map_bits,                   
                                         RTEMS_RFS_BITMAP_ELEMENT_SET))
                *search_bits = rtems_rfs_bitmap_set (*search_bits,    
                                                     1 << search_offset);
              control->free--;                                        
   587cc:	206e 0008      	moveal %fp@(8),%a0                          
   587d0:	53a8 0010      	subql #1,%a0@(16)                           
              *bit = test_bit;                                        
              *found = true;                                          
              rtems_rfs_buffer_mark_dirty (control->buffer);          
              return 0;                                               
   587d4:	4280           	clrl %d0                                    
                *search_bits = rtems_rfs_bitmap_set (*search_bits,    
                                                     1 << search_offset);
              control->free--;                                        
              *bit = test_bit;                                        
              *found = true;                                          
              rtems_rfs_buffer_mark_dirty (control->buffer);          
   587d6:	2050           	moveal %a0@,%a0                             
              if (rtems_rfs_bitmap_match(*map_bits,                   
                                         RTEMS_RFS_BITMAP_ELEMENT_SET))
                *search_bits = rtems_rfs_bitmap_set (*search_bits,    
                                                     1 << search_offset);
              control->free--;                                        
              *bit = test_bit;                                        
   587d8:	226e 000c      	moveal %fp@(12),%a1                         
   587dc:	2281           	movel %d1,%a1@                              
              *found = true;                                          
   587de:	226e 0010      	moveal %fp@(16),%a1                         
  }                                                                   
  while (((direction < 0) && (test_bit >= end_bit))                   
         || ((direction > 0) && (test_bit <= end_bit)));              
                                                                      
  return 0;                                                           
}                                                                     
   587e2:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
                                         RTEMS_RFS_BITMAP_ELEMENT_SET))
                *search_bits = rtems_rfs_bitmap_set (*search_bits,    
                                                     1 << search_offset);
              control->free--;                                        
              *bit = test_bit;                                        
              *found = true;                                          
   587e8:	12bc 0001      	moveb #1,%a1@                               
              rtems_rfs_buffer_mark_dirty (control->buffer);          
   587ec:	10bc 0001      	moveb #1,%a0@                               
  }                                                                   
  while (((direction < 0) && (test_bit >= end_bit))                   
         || ((direction > 0) && (test_bit <= end_bit)));              
                                                                      
  return 0;                                                           
}                                                                     
   587f0:	4e5e           	unlk %fp                                    
   587f2:	4e75           	rts                                         
            map_offset += direction;                                  
            test_bit   += direction;                                  
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
   587f4:	d5cd           	addal %a5,%a2                               <== NOT EXECUTED
        map_index += direction;                                       
   587f6:	d7c2           	addal %d2,%a3                               <== NOT EXECUTED
        map_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
                                                                      
        test_bit = (map_index * rtems_rfs_bitmap_element_bits ()) + map_offset;
   587f8:	2209           	movel %a1,%d1                               <== NOT EXECUTED
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
        map_index += direction;                                       
        map_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
   587fa:	4a82           	tstl %d2                                    <== NOT EXECUTED
   587fc:	6f48           	bles 58846 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x16e><== NOT EXECUTED
        test_bit = (map_index * rtems_rfs_bitmap_element_bits ()) + map_offset;
                                                                      
        search_offset += direction;                                   
                                                                      
        if (((direction < 0) && (test_bit <= end_bit))                
            || ((direction > 0) && (test_bit >= end_bit)))            
   587fe:	b3c8           	cmpal %a0,%a1                               <== NOT EXECUTED
   58800:	6c00 00dc      	bgew 588de <rtems_rfs_search_map_for_clear_bit.constprop.1+0x206><== NOT EXECUTED
   58804:	d3ee fff0      	addal %fp@(-16),%a1                         <== NOT EXECUTED
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
        map_index += direction;                                       
        map_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
   58808:	4280           	clrl %d0                                    <== NOT EXECUTED
   5880a:	de82           	addl %d2,%d7                                <== NOT EXECUTED
   5880c:	6000 ff6e      	braw 5877c <rtems_rfs_search_map_for_clear_bit.constprop.1+0xa4><== NOT EXECUTED
       *                                                              
       * Align test_bit either up or down depending on the direction to next 32
       * bit boundary.                                                
       */                                                             
      rtems_rfs_bitmap_bit bits_skipped;                              
      test_bit &= ~((1 << RTEMS_RFS_ELEMENT_BITS_POWER_2) - 1);       
   58810:	70e0           	moveq #-32,%d0                              <== NOT EXECUTED
   58812:	c280           	andl %d0,%d1                                <== NOT EXECUTED
      if (direction > 0)                                              
   58814:	4a82           	tstl %d2                                    <== NOT EXECUTED
   58816:	6f58           	bles 58870 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x198><== NOT EXECUTED
      {                                                               
        bits_skipped = rtems_rfs_bitmap_element_bits () - search_offset;
   58818:	7620           	moveq #32,%d3                               <== NOT EXECUTED
   5881a:	9687           	subl %d7,%d3                                <== NOT EXECUTED
        test_bit += bits_skipped * rtems_rfs_bitmap_element_bits ();  
   5881c:	2803           	movel %d3,%d4                               <== NOT EXECUTED
         * adds 1. Remember the logic is for subtraction.             
         */                                                           
        test_bit -= ((bits_skipped - 1) * rtems_rfs_bitmap_element_bits ()) + 1;
        map_offset = rtems_rfs_bitmap_element_bits () - 1;            
      }                                                               
      map_bits += direction * bits_skipped;                           
   5881e:	4c02 3800      	mulsl %d2,%d3                               <== NOT EXECUTED
      test_bit &= ~((1 << RTEMS_RFS_ELEMENT_BITS_POWER_2) - 1);       
      if (direction > 0)                                              
      {                                                               
        bits_skipped = rtems_rfs_bitmap_element_bits () - search_offset;
        test_bit += bits_skipped * rtems_rfs_bitmap_element_bits ();  
        map_offset = 0;                                               
   58822:	4280           	clrl %d0                                    <== NOT EXECUTED
      rtems_rfs_bitmap_bit bits_skipped;                              
      test_bit &= ~((1 << RTEMS_RFS_ELEMENT_BITS_POWER_2) - 1);       
      if (direction > 0)                                              
      {                                                               
        bits_skipped = rtems_rfs_bitmap_element_bits () - search_offset;
        test_bit += bits_skipped * rtems_rfs_bitmap_element_bits ();  
   58824:	eb8c           	lsll #5,%d4                                 <== NOT EXECUTED
         * adds 1. Remember the logic is for subtraction.             
         */                                                           
        test_bit -= ((bits_skipped - 1) * rtems_rfs_bitmap_element_bits ()) + 1;
        map_offset = rtems_rfs_bitmap_element_bits () - 1;            
      }                                                               
      map_bits += direction * bits_skipped;                           
   58826:	45f2 3c00      	lea %a2@(00000000,%d3:l:4),%a2              <== NOT EXECUTED
      map_index += direction * bits_skipped;                          
   5882a:	d7c3           	addal %d3,%a3                               <== NOT EXECUTED
      rtems_rfs_bitmap_bit bits_skipped;                              
      test_bit &= ~((1 << RTEMS_RFS_ELEMENT_BITS_POWER_2) - 1);       
      if (direction > 0)                                              
      {                                                               
        bits_skipped = rtems_rfs_bitmap_element_bits () - search_offset;
        test_bit += bits_skipped * rtems_rfs_bitmap_element_bits ();  
   5882c:	d284           	addl %d4,%d1                                <== NOT EXECUTED
      }                                                               
      map_bits += direction * bits_skipped;                           
      map_index += direction * bits_skipped;                          
    }                                                                 
                                                                      
    search_bits  += direction;                                        
   5882e:	d9cd           	addal %a5,%a4                               <== NOT EXECUTED
    search_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
   58830:	4a82           	tstl %d2                                    <== NOT EXECUTED
   58832:	6f2e           	bles 58862 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x18a><== NOT EXECUTED
  }                                                                   
  while (((direction < 0) && (test_bit >= end_bit))                   
         || ((direction > 0) && (test_bit <= end_bit)));              
   58834:	4a82           	tstl %d2                                    <== NOT EXECUTED
   58836:	6f00 0094      	blew 588cc <rtems_rfs_search_map_for_clear_bit.constprop.1+0x1f4><== NOT EXECUTED
   5883a:	b288           	cmpl %a0,%d1                                <== NOT EXECUTED
   5883c:	6e00 008e      	bgtw 588cc <rtems_rfs_search_map_for_clear_bit.constprop.1+0x1f4><== NOT EXECUTED
   58840:	4287           	clrl %d7                                    <== NOT EXECUTED
   58842:	6000 ff26      	braw 5876a <rtems_rfs_search_map_for_clear_bit.constprop.1+0x92><== NOT EXECUTED
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   58846:	0681 0000 001f 	addil #31,%d1                               <== NOT EXECUTED
                                                                      
        test_bit = (map_index * rtems_rfs_bitmap_element_bits ()) + map_offset;
                                                                      
        search_offset += direction;                                   
                                                                      
        if (((direction < 0) && (test_bit <= end_bit))                
   5884c:	4a82           	tstl %d2                                    <== NOT EXECUTED
   5884e:	6706           	beqs 58856 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x17e><== NOT EXECUTED
   58850:	b288           	cmpl %a0,%d1                                <== NOT EXECUTED
   58852:	6f00 0084      	blew 588d8 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x200><== NOT EXECUTED
   58856:	d3ee fff0      	addal %fp@(-16),%a1                         <== NOT EXECUTED
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
        map_index += direction;                                       
        map_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
   5885a:	701f           	moveq #31,%d0                               <== NOT EXECUTED
   5885c:	de82           	addl %d2,%d7                                <== NOT EXECUTED
   5885e:	6000 ff1c      	braw 5877c <rtems_rfs_search_map_for_clear_bit.constprop.1+0xa4><== NOT EXECUTED
                                                                      
    search_bits  += direction;                                        
    search_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
  }                                                                   
  while (((direction < 0) && (test_bit >= end_bit))                   
         || ((direction > 0) && (test_bit <= end_bit)));              
   58862:	4a82           	tstl %d2                                    <== NOT EXECUTED
   58864:	6766           	beqs 588cc <rtems_rfs_search_map_for_clear_bit.constprop.1+0x1f4><== NOT EXECUTED
    }                                                                 
                                                                      
    search_bits  += direction;                                        
    search_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
  }                                                                   
  while (((direction < 0) && (test_bit >= end_bit))                   
   58866:	b288           	cmpl %a0,%d1                                <== NOT EXECUTED
   58868:	6d62           	blts 588cc <rtems_rfs_search_map_for_clear_bit.constprop.1+0x1f4><== NOT EXECUTED
   5886a:	7e1f           	moveq #31,%d7                               <== NOT EXECUTED
   5886c:	6000 fefc      	braw 5876a <rtems_rfs_search_map_for_clear_bit.constprop.1+0x92><== NOT EXECUTED
        test_bit += bits_skipped * rtems_rfs_bitmap_element_bits ();  
        map_offset = 0;                                               
      }                                                               
      else                                                            
      {                                                               
        bits_skipped = search_offset + 1;                             
   58870:	2607           	movel %d7,%d3                               <== NOT EXECUTED
   58872:	5283           	addql #1,%d3                                <== NOT EXECUTED
         * adds 1. Remember the logic is for subtraction.             
         */                                                           
        test_bit -= ((bits_skipped - 1) * rtems_rfs_bitmap_element_bits ()) + 1;
        map_offset = rtems_rfs_bitmap_element_bits () - 1;            
      }                                                               
      map_bits += direction * bits_skipped;                           
   58874:	4c02 3800      	mulsl %d2,%d3                               <== NOT EXECUTED
        /*                                                            
         * Need to remove 1 for the rounding up. The above rounds down and
         * adds 1. Remember the logic is for subtraction.             
         */                                                           
        test_bit -= ((bits_skipped - 1) * rtems_rfs_bitmap_element_bits ()) + 1;
        map_offset = rtems_rfs_bitmap_element_bits () - 1;            
   58878:	701f           	moveq #31,%d0                               <== NOT EXECUTED
        bits_skipped = search_offset + 1;                             
        /*                                                            
         * Need to remove 1 for the rounding up. The above rounds down and
         * adds 1. Remember the logic is for subtraction.             
         */                                                           
        test_bit -= ((bits_skipped - 1) * rtems_rfs_bitmap_element_bits ()) + 1;
   5887a:	eb8f           	lsll #5,%d7                                 <== NOT EXECUTED
        map_offset = rtems_rfs_bitmap_element_bits () - 1;            
      }                                                               
      map_bits += direction * bits_skipped;                           
      map_index += direction * bits_skipped;                          
   5887c:	d7c3           	addal %d3,%a3                               <== NOT EXECUTED
        bits_skipped = search_offset + 1;                             
        /*                                                            
         * Need to remove 1 for the rounding up. The above rounds down and
         * adds 1. Remember the logic is for subtraction.             
         */                                                           
        test_bit -= ((bits_skipped - 1) * rtems_rfs_bitmap_element_bits ()) + 1;
   5887e:	4687           	notl %d7                                    <== NOT EXECUTED
   58880:	d287           	addl %d7,%d1                                <== NOT EXECUTED
        map_offset = rtems_rfs_bitmap_element_bits () - 1;            
      }                                                               
      map_bits += direction * bits_skipped;                           
   58882:	45f2 3c00      	lea %a2@(00000000,%d3:l:4),%a2              <== NOT EXECUTED
   58886:	60a6           	bras 5882e <rtems_rfs_search_map_for_clear_bit.constprop.1+0x156><== NOT EXECUTED
  if (end_bit < 0)                                                    
    end_bit = 0;                                                      
  else if (end_bit >= control->size)                                  
    end_bit = control->size - 1;                                      
                                                                      
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
   58888:	2001           	movel %d1,%d0                               <== NOT EXECUTED
   5888a:	ea80           	asrl #5,%d0                                 <== NOT EXECUTED
   5888c:	2640           	moveal %d0,%a3                              <== NOT EXECUTED
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
   5888e:	700a           	moveq #10,%d0                               <== NOT EXECUTED
   58890:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   58892:	e0a3           	asrl %d0,%d3                                <== NOT EXECUTED
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
   58894:	2e0b           	movel %a3,%d7                               <== NOT EXECUTED
                                                                      
  search_bits = &control->search_bits[search_index];                  
  map_bits    = &map[map_index];                                      
   58896:	280b           	movel %a3,%d4                               <== NOT EXECUTED
    end_bit = 0;                                                      
  else if (end_bit >= control->size)                                  
    end_bit = control->size - 1;                                      
                                                                      
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
   58898:	103c 001f      	moveb #31,%d0                               <== NOT EXECUTED
   */                                                                 
  test_bit = *bit;                                                    
  end_bit  = test_bit + (window * direction);                         
                                                                      
  if (end_bit < 0)                                                    
    end_bit = 0;                                                      
   5889c:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
 */                                                                   
static bool                                                           
rtems_rfs_bitmap_test (rtems_rfs_bitmap_element target,               
                       rtems_rfs_bitmap_bit     bit)                  
{                                                                     
  return RTEMS_RFS_BITMAP_TEST_BIT (target, bit);                     
   5889e:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
                                                                      
  search_bits = &control->search_bits[search_index];                  
   588a0:	226e 0008      	moveal %fp@(8),%a1                          <== NOT EXECUTED
   588a4:	e58b           	lsll #2,%d3                                 <== NOT EXECUTED
   588a6:	2869 0014      	moveal %a1@(20),%a4                         <== NOT EXECUTED
   588aa:	d9c3           	addal %d3,%a4                               <== NOT EXECUTED
    end_bit = control->size - 1;                                      
                                                                      
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
   588ac:	761f           	moveq #31,%d3                               <== NOT EXECUTED
   588ae:	ce83           	andl %d3,%d7                                <== NOT EXECUTED
            map_offset += direction;                                  
            test_bit   += direction;                                  
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
   588b0:	2602           	movel %d2,%d3                               <== NOT EXECUTED
   588b2:	e58b           	lsll #2,%d3                                 <== NOT EXECUTED
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
                                                                      
  search_bits = &control->search_bits[search_index];                  
  map_bits    = &map[map_index];                                      
   588b4:	e58c           	lsll #2,%d4                                 <== NOT EXECUTED
   588b6:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
            map_offset += direction;                                  
            test_bit   += direction;                                  
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
   588ba:	2a43           	moveal %d3,%a5                              <== NOT EXECUTED
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   588bc:	2602           	movel %d2,%d3                               <== NOT EXECUTED
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
  search_index  = rtems_rfs_bitmap_map_index (map_index);             
  search_offset = rtems_rfs_bitmap_map_offset (map_index);            
                                                                      
  search_bits = &control->search_bits[search_index];                  
  map_bits    = &map[map_index];                                      
   588be:	d5c4           	addal %d4,%a2                               <== NOT EXECUTED
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   588c0:	eb8b           	lsll #5,%d3                                 <== NOT EXECUTED
    end_bit = 0;                                                      
  else if (end_bit >= control->size)                                  
    end_bit = control->size - 1;                                      
                                                                      
  map_index     = rtems_rfs_bitmap_map_index (test_bit);              
  map_offset    = rtems_rfs_bitmap_map_offset (test_bit);             
   588c2:	c081           	andl %d1,%d0                                <== NOT EXECUTED
                                                                      
  return 0;                                                           
}                                                                     
                                                                      
static int                                                            
rtems_rfs_search_map_for_clear_bit (rtems_rfs_bitmap_control* control,
   588c4:	2d43 fff0      	movel %d3,%fp@(-16)                         <== NOT EXECUTED
   588c8:	6000 fea0      	braw 5876a <rtems_rfs_search_map_for_clear_bit.constprop.1+0x92><== NOT EXECUTED
    search_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
  }                                                                   
  while (((direction < 0) && (test_bit >= end_bit))                   
         || ((direction > 0) && (test_bit <= end_bit)));              
                                                                      
  return 0;                                                           
   588cc:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   588ce:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   588d4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   588d6:	4e75           	rts                                         <== NOT EXECUTED
      }                                                               
      map_bits += direction * bits_skipped;                           
      map_index += direction * bits_skipped;                          
    }                                                                 
                                                                      
    search_bits  += direction;                                        
   588d8:	d9cd           	addal %a5,%a4                               <== NOT EXECUTED
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
        map_index += direction;                                       
        map_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
   588da:	701f           	moveq #31,%d0                               <== NOT EXECUTED
   588dc:	6088           	bras 58866 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x18e><== NOT EXECUTED
      }                                                               
      map_bits += direction * bits_skipped;                           
      map_index += direction * bits_skipped;                          
    }                                                                 
                                                                      
    search_bits  += direction;                                        
   588de:	d9cd           	addal %a5,%a4                               <== NOT EXECUTED
          }                                                           
        }                                                             
                                                                      
        map_bits  += direction;                                       
        map_index += direction;                                       
        map_offset = direction > 0 ? 0 : rtems_rfs_bitmap_element_bits () - 1;
   588e0:	4280           	clrl %d0                                    <== NOT EXECUTED
   588e2:	6000 ff50      	braw 58834 <rtems_rfs_search_map_for_clear_bit.constprop.1+0x15c><== NOT EXECUTED
                                                                      

0005e10a <rtems_rfs_symlink>: const char* link, int link_length, uid_t uid, gid_t gid, rtems_rfs_ino parent) {
   5e10a:	4e56 ff5c      	linkw %fp,#-164                             <== NOT EXECUTED
   5e10e:	48d7 3c3c      	moveml %d2-%d5/%a2-%a5,%sp@                 <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  rtems_rfs_ino          ino;                                         
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK))                      
   5e112:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e114:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        <== NOT EXECUTED
                   const char*            link,                       
                   int                    link_length,                
                   uid_t                  uid,                        
                   gid_t                  gid,                        
                   rtems_rfs_ino          parent)                     
{                                                                     
   5e118:	286e 0008      	moveal %fp@(8),%a4                          <== NOT EXECUTED
   5e11c:	262e 0018      	movel %fp@(24),%d3                          <== NOT EXECUTED
   5e120:	382e 001e      	movew %fp@(30),%d4                          <== NOT EXECUTED
   5e124:	3a2e 0022      	movew %fp@(34),%d5                          <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  rtems_rfs_ino          ino;                                         
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK))                      
   5e128:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5e12e:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e130:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5e132:	6616           	bnes 5e14a <rtems_rfs_symlink+0x40>         <== NOT EXECUTED
    printf (" link:");                                                
    for (c = 0; c < link_length; c++)                                 
      printf ("%c", link[c]);                                         
  }                                                                   
                                                                      
  if (link_length >= rtems_rfs_fs_block_size (fs))                    
   5e134:	b6ac 0008      	cmpl %a4@(8),%d3                            <== NOT EXECUTED
   5e138:	6500 0088      	bcsw 5e1c2 <rtems_rfs_symlink+0xb8>         <== NOT EXECUTED
    return ENAMETOOLONG;                                              
   5e13c:	745b           	moveq #91,%d2                               <== NOT EXECUTED
  rtems_rfs_inode_set_block_offset (&inode, link_length);             
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
                                                                      
  return rc;                                                          
}                                                                     
   5e13e:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e140:	4cee 3c3c ff5c 	moveml %fp@(-164),%d2-%d5/%a2-%a5           <== NOT EXECUTED
   5e146:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e148:	4e75           	rts                                         <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK))                      
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: symlink: parent:%" PRIu32 " name:", parent);  
   5e14a:	2f2e 0024      	movel %fp@(36),%sp@-                        <== NOT EXECUTED
   5e14e:	4bf9 0006 16ec 	lea 616ec <printf>,%a5                      <== NOT EXECUTED
   5e154:	4879 0007 355d 	pea 7355d <CSWTCH.2+0x1495>                 <== NOT EXECUTED
   5e15a:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    for (c = 0; c < length; c++)                                      
   5e15c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e15e:	4aae 0010      	tstl %fp@(16)                               <== NOT EXECUTED
   5e162:	6f20           	bles 5e184 <rtems_rfs_symlink+0x7a>         <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
                                                                      
int                                                                   
rtems_rfs_symlink (rtems_rfs_file_system* fs,                         
   5e164:	242e 000c      	movel %fp@(12),%d2                          <== NOT EXECUTED
   5e168:	d4ae 0010      	addl %fp@(16),%d2                           <== NOT EXECUTED
   5e16c:	47f9 0006 187c 	lea 6187c <putchar>,%a3                     <== NOT EXECUTED
   5e172:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK))                      
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: symlink: parent:%" PRIu32 " name:", parent);  
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
   5e176:	101a           	moveb %a2@+,%d0                             <== NOT EXECUTED
   5e178:	49c0           	extbl %d0                                   <== NOT EXECUTED
   5e17a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e17c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK))                      
  {                                                                   
    int c;                                                            
    printf ("rtems-rfs: symlink: parent:%" PRIu32 " name:", parent);  
    for (c = 0; c < length; c++)                                      
   5e17e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5e180:	b48a           	cmpl %a2,%d2                                <== NOT EXECUTED
   5e182:	66f2           	bnes 5e176 <rtems_rfs_symlink+0x6c>         <== NOT EXECUTED
      printf ("%c", name[c]);                                         
    printf (" link:");                                                
   5e184:	4879 0007 3582 	pea 73582 <CSWTCH.2+0x14ba>                 <== NOT EXECUTED
   5e18a:	4e95           	jsr %a5@                                    <== NOT EXECUTED
    for (c = 0; c < link_length; c++)                                 
   5e18c:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5e18e:	4a83           	tstl %d3                                    <== NOT EXECUTED
   5e190:	6fa2           	bles 5e134 <rtems_rfs_symlink+0x2a>         <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
                                                                      
int                                                                   
rtems_rfs_symlink (rtems_rfs_file_system* fs,                         
   5e192:	242e 0014      	movel %fp@(20),%d2                          <== NOT EXECUTED
   5e196:	47f9 0006 187c 	lea 6187c <putchar>,%a3                     <== NOT EXECUTED
   5e19c:	d483           	addl %d3,%d2                                <== NOT EXECUTED
   5e19e:	246e 0014      	moveal %fp@(20),%a2                         <== NOT EXECUTED
    printf ("rtems-rfs: symlink: parent:%" PRIu32 " name:", parent);  
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (" link:");                                                
    for (c = 0; c < link_length; c++)                                 
      printf ("%c", link[c]);                                         
   5e1a2:	101a           	moveb %a2@+,%d0                             <== NOT EXECUTED
   5e1a4:	49c0           	extbl %d0                                   <== NOT EXECUTED
   5e1a6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e1a8:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    int c;                                                            
    printf ("rtems-rfs: symlink: parent:%" PRIu32 " name:", parent);  
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (" link:");                                                
    for (c = 0; c < link_length; c++)                                 
   5e1aa:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5e1ac:	b48a           	cmpl %a2,%d2                                <== NOT EXECUTED
   5e1ae:	6784           	beqs 5e134 <rtems_rfs_symlink+0x2a>         <== NOT EXECUTED
      printf ("%c", link[c]);                                         
   5e1b0:	101a           	moveb %a2@+,%d0                             <== NOT EXECUTED
   5e1b2:	49c0           	extbl %d0                                   <== NOT EXECUTED
   5e1b4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e1b6:	4e93           	jsr %a3@                                    <== NOT EXECUTED
    int c;                                                            
    printf ("rtems-rfs: symlink: parent:%" PRIu32 " name:", parent);  
    for (c = 0; c < length; c++)                                      
      printf ("%c", name[c]);                                         
    printf (" link:");                                                
    for (c = 0; c < link_length; c++)                                 
   5e1b8:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5e1ba:	b48a           	cmpl %a2,%d2                                <== NOT EXECUTED
   5e1bc:	66e4           	bnes 5e1a2 <rtems_rfs_symlink+0x98>         <== NOT EXECUTED
   5e1be:	6000 ff74      	braw 5e134 <rtems_rfs_symlink+0x2a>         <== NOT EXECUTED
  }                                                                   
                                                                      
  if (link_length >= rtems_rfs_fs_block_size (fs))                    
    return ENAMETOOLONG;                                              
                                                                      
  rc = rtems_rfs_inode_create (fs, parent, name, strlen (name),       
   5e1c2:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5e1c6:	4eb9 0006 26b4 	jsr 626b4 <strlen>                          <== NOT EXECUTED
   5e1cc:	588f           	addql #4,%sp                                <== NOT EXECUTED
   5e1ce:	486e ff7e      	pea %fp@(-130)                              <== NOT EXECUTED
   5e1d2:	3f05           	movew %d5,%sp@-                             <== NOT EXECUTED
   5e1d4:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   5e1d6:	3f04           	movew %d4,%sp@-                             <== NOT EXECUTED
   5e1d8:	4267           	clrw %sp@-                                  <== NOT EXECUTED
   5e1da:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5e1de:	2f3c 0000 a1ff 	movel #41471,%sp@-                          <== NOT EXECUTED
   5e1e4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e1e6:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5e1ea:	2f2e 0024      	movel %fp@(36),%sp@-                        <== NOT EXECUTED
   5e1ee:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e1f0:	4eb9 0005 188e 	jsr 5188e <rtems_rfs_inode_create>          <== NOT EXECUTED
                               RTEMS_RFS_S_SYMLINK,                   
                               1, uid, gid, &ino);                    
  if (rc > 0)                                                         
   5e1f6:	4fef 0024      	lea %sp@(36),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  if (link_length >= rtems_rfs_fs_block_size (fs))                    
    return ENAMETOOLONG;                                              
                                                                      
  rc = rtems_rfs_inode_create (fs, parent, name, strlen (name),       
   5e1fa:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                               RTEMS_RFS_S_SYMLINK,                   
                               1, uid, gid, &ino);                    
  if (rc > 0)                                                         
   5e1fc:	6e00 ff40      	bgtw 5e13e <rtems_rfs_symlink+0x34>         <== NOT EXECUTED
    return rc;                                                        
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5e200:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5e204:	280e           	movel %fp,%d4                               <== NOT EXECUTED
   5e206:	0684 ffff ff90 	addil #-112,%d4                             <== NOT EXECUTED
   5e20c:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e20e:	2f2e ff7e      	movel %fp@(-130),%sp@-                      <== NOT EXECUTED
   5e212:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e214:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc > 0)                                                         
   5e21a:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
                               RTEMS_RFS_S_SYMLINK,                   
                               1, uid, gid, &ino);                    
  if (rc > 0)                                                         
    return rc;                                                        
                                                                      
  rc = rtems_rfs_inode_open (fs, ino, &inode, true);                  
   5e21e:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5e220:	6e00 ff1c      	bgtw 5e13e <rtems_rfs_symlink+0x34>         <== NOT EXECUTED
  /*                                                                  
   * If the link length is less than the length of data union in the inode
   * place the link into the data area else allocate a block and write the link
   * to that.                                                         
   */                                                                 
  if (link_length < RTEMS_RFS_INODE_DATA_NAME_SIZE)                   
   5e224:	7013           	moveq #19,%d0                               <== NOT EXECUTED
   5e226:	b083           	cmpl %d3,%d0                                <== NOT EXECUTED
   5e228:	6500 0086      	bcsw 5e2b0 <rtems_rfs_symlink+0x1a6>        <== NOT EXECUTED
  {                                                                   
    memset (inode.node->data.name, 0, RTEMS_RFS_INODE_DATA_NAME_SIZE);
   5e22c:	202e ff9c      	movel %fp@(-100),%d0                        <== NOT EXECUTED
   5e230:	0680 0000 001c 	addil #28,%d0                               <== NOT EXECUTED
   5e236:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5e238:	4298           	clrl %a0@+                                  <== NOT EXECUTED
   5e23a:	4298           	clrl %a0@+                                  <== NOT EXECUTED
   5e23c:	4298           	clrl %a0@+                                  <== NOT EXECUTED
   5e23e:	4298           	clrl %a0@+                                  <== NOT EXECUTED
   5e240:	4290           	clrl %a0@                                   <== NOT EXECUTED
    memcpy (inode.node->data.name, link, link_length);                
   5e242:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e244:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5e248:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e24a:	4eb9 0006 1438 	jsr 61438 <memcpy>                          <== NOT EXECUTED
 * @param block_count The block count.                                
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block_count (rtems_rfs_inode_handle* handle, uint32_t block_count)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->block_count, block_count);      
   5e250:	206e ff9c      	moveal %fp@(-100),%a0                       <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5e254:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
 * @param block_count The block count.                                
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block_count (rtems_rfs_inode_handle* handle, uint32_t block_count)
{                                                                     
  rtems_rfs_write_u32 (&handle->node->block_count, block_count);      
   5e258:	4200           	clrb %d0                                    <== NOT EXECUTED
   5e25a:	1140 000c      	moveb %d0,%a0@(12)                          <== NOT EXECUTED
   5e25e:	206e ff9c      	moveal %fp@(-100),%a0                       <== NOT EXECUTED
   5e262:	1140 000d      	moveb %d0,%a0@(13)                          <== NOT EXECUTED
   5e266:	206e ff9c      	moveal %fp@(-100),%a0                       <== NOT EXECUTED
   5e26a:	1140 000e      	moveb %d0,%a0@(14)                          <== NOT EXECUTED
   5e26e:	206e ff9c      	moveal %fp@(-100),%a0                       <== NOT EXECUTED
   5e272:	1140 000f      	moveb %d0,%a0@(15)                          <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block_offset (rtems_rfs_inode_handle* handle,     
                                  uint16_t                block_offset)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->block_offset, block_offset);    
   5e276:	206e ff9c      	moveal %fp@(-100),%a0                       <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  rtems_rfs_inode_set_block_offset (&inode, link_length);             
   5e27a:	0283 0000 ffff 	andil #65535,%d3                            <== NOT EXECUTED
   5e280:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   5e282:	e088           	lsrl #8,%d0                                 <== NOT EXECUTED
   5e284:	1140 000a      	moveb %d0,%a0@(10)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5e288:	7001           	moveq #1,%d0                                <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_block_offset (rtems_rfs_inode_handle* handle,     
                                  uint16_t                block_offset)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->block_offset, block_offset);    
   5e28a:	206e ff9c      	moveal %fp@(-100),%a0                       <== NOT EXECUTED
   5e28e:	1143 000b      	moveb %d3,%a0@(11)                          <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5e292:	1d40 ffa0      	moveb %d0,%fp@(-96)                         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5e296:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e298:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e29a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e2a0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e2a2:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
   5e2a4:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e2a6:	4cee 3c3c ff5c 	moveml %fp@(-164),%d2-%d5/%a2-%a5           <== NOT EXECUTED
   5e2ac:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e2ae:	4e75           	rts                                         <== NOT EXECUTED
    rtems_rfs_block_map     map;                                      
    rtems_rfs_block_no      block;                                    
    rtems_rfs_buffer_handle buffer;                                   
    uint8_t*                data;                                     
                                                                      
    rc = rtems_rfs_block_map_open (fs, &inode, &map);                 
   5e2b0:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5e2b2:	0685 ffff ffb6 	addil #-74,%d5                              <== NOT EXECUTED
   5e2b8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5e2ba:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e2bc:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e2be:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
    if (rc > 0)                                                       
   5e2c4:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    rtems_rfs_block_map     map;                                      
    rtems_rfs_block_no      block;                                    
    rtems_rfs_buffer_handle buffer;                                   
    uint8_t*                data;                                     
                                                                      
    rc = rtems_rfs_block_map_open (fs, &inode, &map);                 
   5e2c8:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e2ca:	6f18           	bles 5e2e4 <rtems_rfs_symlink+0x1da>        <== NOT EXECUTED
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_close (fs, &map);                        
    if (rc > 0)                                                       
    {                                                                 
      rtems_rfs_inode_close (fs, &inode);                             
   5e2cc:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e2ce:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e2d0:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e2d6:	508f           	addql #8,%sp                                <== NOT EXECUTED
  rtems_rfs_inode_set_block_offset (&inode, link_length);             
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
                                                                      
  return rc;                                                          
}                                                                     
   5e2d8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e2da:	4cee 3c3c ff5c 	moveml %fp@(-164),%d2-%d5/%a2-%a5           <== NOT EXECUTED
   5e2e0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e2e2:	4e75           	rts                                         <== NOT EXECUTED
    {                                                                 
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_grow (fs, &map, 1, &block);              
   5e2e4:	486e ff82      	pea %fp@(-126)                              <== NOT EXECUTED
   5e2e8:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5e2ec:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5e2ee:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e2f0:	4eb9 0005 97a8 	jsr 597a8 <rtems_rfs_block_map_grow>        <== NOT EXECUTED
    if (rc > 0)                                                       
   5e2f6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
    {                                                                 
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_grow (fs, &map, 1, &block);              
   5e2fa:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e2fc:	6f24           	bles 5e322 <rtems_rfs_symlink+0x218>        <== NOT EXECUTED
    }                                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, false); 
    if (rc > 0)                                                       
    {                                                                 
      rtems_rfs_block_map_close (fs, &map);                           
   5e2fe:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5e300:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e302:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
   5e308:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e30a:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e30c:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e312:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  rtems_rfs_inode_set_block_offset (&inode, link_length);             
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
                                                                      
  return rc;                                                          
}                                                                     
   5e316:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e318:	4cee 3c3c ff5c 	moveml %fp@(-164),%d2-%d5/%a2-%a5           <== NOT EXECUTED
   5e31e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e320:	4e75           	rts                                         <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, false); 
   5e322:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e324:	2f2e ff82      	movel %fp@(-126),%sp@-                      <== NOT EXECUTED
   5e328:	45ee ff86      	lea %fp@(-122),%a2                          <== NOT EXECUTED
   5e32c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5e32e:	4200           	clrb %d0                                    <== NOT EXECUTED
   5e330:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e332:	1d40 ff86      	moveb %d0,%fp@(-122)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5e336:	42ae ff88      	clrl %fp@(-120)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5e33a:	42ae ff8c      	clrl %fp@(-116)                             <== NOT EXECUTED
   5e33e:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
    if (rc > 0)                                                       
   5e344:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, false); 
   5e348:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e34a:	6eb2           	bgts 5e2fe <rtems_rfs_symlink+0x1f4>        <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    data = rtems_rfs_buffer_data (&buffer);                           
   5e34c:	206e ff8c      	moveal %fp@(-116),%a0                       <== NOT EXECUTED
   5e350:	2428 001a      	movel %a0@(26),%d2                          <== NOT EXECUTED
                                                                      
    memset (data, 0xff, rtems_rfs_fs_block_size (fs));                
   5e354:	2f2c 0008      	movel %a4@(8),%sp@-                         <== NOT EXECUTED
   5e358:	4878 00ff      	pea ff <DBL_MANT_DIG+0xca>                  <== NOT EXECUTED
   5e35c:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e35e:	4eb9 0006 159c 	jsr 6159c <memset>                          <== NOT EXECUTED
    memcpy (data, link, link_length);                                 
   5e364:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e366:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5e36a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e36c:	4eb9 0006 1438 	jsr 61438 <memcpy>                          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5e372:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   5e374:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e376:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_close (fs, &map);                        
   5e37c:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
   5e380:	2e85           	movel %d5,%sp@                              <== NOT EXECUTED
  handle->dirty = false;                                              
   5e382:	4200           	clrb %d0                                    <== NOT EXECUTED
   5e384:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e386:	1d40 ff86      	moveb %d0,%fp@(-122)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5e38a:	42ae ff88      	clrl %fp@(-120)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5e38e:	42ae ff8c      	clrl %fp@(-116)                             <== NOT EXECUTED
   5e392:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
    if (rc > 0)                                                       
   5e398:	508f           	addql #8,%sp                                <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_close (fs, &map);                        
   5e39a:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e39c:	6f00 fed8      	blew 5e276 <rtems_rfs_symlink+0x16c>        <== NOT EXECUTED
    {                                                                 
      rtems_rfs_inode_close (fs, &inode);                             
   5e3a0:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e3a2:	2f0c           	movel %a4,%sp@-                             <== NOT EXECUTED
   5e3a4:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e3aa:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e3ac:	6000 ff2a      	braw 5e2d8 <rtems_rfs_symlink+0x1ce>        <== NOT EXECUTED
                                                                      

0005e3b0 <rtems_rfs_symlink_read>: rtems_rfs_symlink_read (rtems_rfs_file_system* fs, rtems_rfs_ino link, char* path, size_t size, size_t* length) {
   5e3b0:	4e56 ff70      	linkw %fp,#-144                             <== NOT EXECUTED
   5e3b4:	48d7 003c      	moveml %d2-%d5,%sp@                         <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK_READ))                 
   5e3b8:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e3ba:	4878 0004      	pea 4 <CONTEXT_ARG>                         <== NOT EXECUTED
rtems_rfs_symlink_read (rtems_rfs_file_system* fs,                    
                        rtems_rfs_ino          link,                  
                        char*                  path,                  
                        size_t                 size,                  
                        size_t*                length)                
{                                                                     
   5e3be:	262e 0008      	movel %fp@(8),%d3                           <== NOT EXECUTED
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK_READ))                 
   5e3c2:	4eb9 0005 2ef8 	jsr 52ef8 <rtems_rfs_trace>                 <== NOT EXECUTED
   5e3c8:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e3ca:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5e3cc:	6658           	bnes 5e426 <rtems_rfs_symlink_read+0x76>    <== NOT EXECUTED
    printf ("rtems-rfs: symlink-read: link:%" PRIu32 "\n", link);     
                                                                      
  rc = rtems_rfs_inode_open (fs, link, &inode, true);                 
   5e3ce:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5e3d2:	280e           	movel %fp,%d4                               <== NOT EXECUTED
   5e3d4:	0684 ffff ff90 	addil #-112,%d4                             <== NOT EXECUTED
   5e3da:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e3dc:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5e3e0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e3e2:	4eb9 0005 12b4 	jsr 512b4 <rtems_rfs_inode_open>            <== NOT EXECUTED
  if (rc)                                                             
   5e3e8:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK_READ))                 
    printf ("rtems-rfs: symlink-read: link:%" PRIu32 "\n", link);     
                                                                      
  rc = rtems_rfs_inode_open (fs, link, &inode, true);                 
   5e3ec:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   5e3ee:	662a           	bnes 5e41a <rtems_rfs_symlink_read+0x6a>    <== NOT EXECUTED
    return rc;                                                        
                                                                      
  if (!RTEMS_RFS_S_ISLNK (rtems_rfs_inode_get_mode (&inode)))         
   5e3f0:	206e ff9c      	moveal %fp@(-100),%a0                       <== NOT EXECUTED
 * @return uint16_t The mode.                                         
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle)             
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->mode);                    
   5e3f4:	4280           	clrl %d0                                    <== NOT EXECUTED
   5e3f6:	1028 0002      	moveb %a0@(2),%d0                           <== NOT EXECUTED
   5e3fa:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5e3fc:	0280 0000 f000 	andil #61440,%d0                            <== NOT EXECUTED
   5e402:	0c80 0000 a000 	cmpil #40960,%d0                            <== NOT EXECUTED
   5e408:	6730           	beqs 5e43a <rtems_rfs_symlink_read+0x8a>    <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
   5e40a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
    return EINVAL;                                                    
   5e40c:	143c 0016      	moveb #22,%d2                               <== NOT EXECUTED
  if (rc)                                                             
    return rc;                                                        
                                                                      
  if (!RTEMS_RFS_S_ISLNK (rtems_rfs_inode_get_mode (&inode)))         
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
   5e410:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e412:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e418:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
                                                                      
  return rc;                                                          
}                                                                     
   5e41a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e41c:	4cee 003c ff70 	moveml %fp@(-144),%d2-%d5                   <== NOT EXECUTED
   5e422:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e424:	4e75           	rts                                         <== NOT EXECUTED
{                                                                     
  rtems_rfs_inode_handle inode;                                       
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_SYMLINK_READ))                 
    printf ("rtems-rfs: symlink-read: link:%" PRIu32 "\n", link);     
   5e426:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5e42a:	4879 0007 3589 	pea 73589 <CSWTCH.2+0x14c1>                 <== NOT EXECUTED
   5e430:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5e436:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e438:	6094           	bras 5e3ce <rtems_rfs_symlink_read+0x1e>    <== NOT EXECUTED
 * @return uint32_t The block offset.                                 
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_block_offset (rtems_rfs_inode_handle* handle)     
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->block_offset);            
   5e43a:	4280           	clrl %d0                                    <== NOT EXECUTED
   5e43c:	1028 000a      	moveb %a0@(10),%d0                          <== NOT EXECUTED
   5e440:	4281           	clrl %d1                                    <== NOT EXECUTED
   5e442:	1228 000b      	moveb %a0@(11),%d1                          <== NOT EXECUTED
   5e446:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
                                                                      
  *length = rtems_rfs_inode_get_block_offset (&inode);                
                                                                      
  if (size < *length)                                                 
  {                                                                   
    *length = size;                                                   
   5e448:	226e 0018      	moveal %fp@(24),%a1                         <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
    return EINVAL;                                                    
  }                                                                   
                                                                      
  *length = rtems_rfs_inode_get_block_offset (&inode);                
   5e44c:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
                                                                      
  if (size < *length)                                                 
   5e44e:	b0ae 0014      	cmpl %fp@(20),%d0                           <== NOT EXECUTED
   5e452:	6200 0094      	bhiw 5e4e8 <rtems_rfs_symlink_read+0x138>   <== NOT EXECUTED
  {                                                                   
    rtems_rfs_inode_close (fs, &inode);                               
    return EINVAL;                                                    
  }                                                                   
                                                                      
  *length = rtems_rfs_inode_get_block_offset (&inode);                
   5e456:	2280           	movel %d0,%a1@                              <== NOT EXECUTED
 * @return uint32_t The block count.                                  
 */                                                                   
static inline uint32_t                                                
rtems_rfs_inode_get_block_count (rtems_rfs_inode_handle* handle)      
{                                                                     
  return rtems_rfs_read_u32 (&handle->node->block_count);             
   5e458:	4280           	clrl %d0                                    <== NOT EXECUTED
   5e45a:	4281           	clrl %d1                                    <== NOT EXECUTED
   5e45c:	1028 000c      	moveb %a0@(12),%d0                          <== NOT EXECUTED
   5e460:	1228 000d      	moveb %a0@(13),%d1                          <== NOT EXECUTED
   5e464:	7418           	moveq #24,%d2                               <== NOT EXECUTED
   5e466:	4841           	swap %d1                                    <== NOT EXECUTED
   5e468:	4241           	clrw %d1                                    <== NOT EXECUTED
   5e46a:	e5a8           	lsll %d2,%d0                                <== NOT EXECUTED
   5e46c:	4282           	clrl %d2                                    <== NOT EXECUTED
   5e46e:	1428 000f      	moveb %a0@(15),%d2                          <== NOT EXECUTED
   5e472:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   5e474:	4281           	clrl %d1                                    <== NOT EXECUTED
   5e476:	1228 000e      	moveb %a0@(14),%d1                          <== NOT EXECUTED
   5e47a:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   5e47c:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   5e47e:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  if (size < *length)                                                 
  {                                                                   
    *length = size;                                                   
  }                                                                   
                                                                      
  if (rtems_rfs_inode_get_block_count (&inode) == 0)                  
   5e480:	6632           	bnes 5e4b4 <rtems_rfs_symlink_read+0x104>   <== NOT EXECUTED
  {                                                                   
    memcpy (path, inode.node->data.name, *length);                    
   5e482:	226e 0018      	moveal %fp@(24),%a1                         <== NOT EXECUTED
   5e486:	2f11           	movel %a1@,%sp@-                            <== NOT EXECUTED
   5e488:	4868 001c      	pea %a0@(28)                                <== NOT EXECUTED
   5e48c:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5e490:	4eb9 0006 1438 	jsr 61438 <memcpy>                          <== NOT EXECUTED
   5e496:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
   5e49a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e49c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e49e:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e4a4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e4a6:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  return rc;                                                          
}                                                                     
   5e4a8:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e4aa:	4cee 003c ff70 	moveml %fp@(-144),%d2-%d5                   <== NOT EXECUTED
   5e4b0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e4b2:	4e75           	rts                                         <== NOT EXECUTED
    rtems_rfs_block_map     map;                                      
    rtems_rfs_block_no      block;                                    
    rtems_rfs_buffer_handle buffer;                                   
    char*                   data;                                     
                                                                      
    rc = rtems_rfs_block_map_open (fs, &inode, &map);                 
   5e4b4:	2a0e           	movel %fp,%d5                               <== NOT EXECUTED
   5e4b6:	0685 ffff ffb6 	addil #-74,%d5                              <== NOT EXECUTED
   5e4bc:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5e4be:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e4c0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e4c2:	4eb9 0005 9208 	jsr 59208 <rtems_rfs_block_map_open>        <== NOT EXECUTED
    if (rc > 0)                                                       
   5e4c8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    rtems_rfs_block_map     map;                                      
    rtems_rfs_block_no      block;                                    
    rtems_rfs_buffer_handle buffer;                                   
    char*                   data;                                     
                                                                      
    rc = rtems_rfs_block_map_open (fs, &inode, &map);                 
   5e4cc:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e4ce:	6f20           	bles 5e4f0 <rtems_rfs_symlink_read+0x140>   <== NOT EXECUTED
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_close (fs, &map);                        
    if (rc > 0)                                                       
    {                                                                 
      rtems_rfs_inode_close (fs, &inode);                             
   5e4d0:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e4d2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e4d4:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e4da:	508f           	addql #8,%sp                                <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
                                                                      
  return rc;                                                          
}                                                                     
   5e4dc:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e4de:	4cee 003c ff70 	moveml %fp@(-144),%d2-%d5                   <== NOT EXECUTED
   5e4e4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e4e6:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  *length = rtems_rfs_inode_get_block_offset (&inode);                
                                                                      
  if (size < *length)                                                 
  {                                                                   
    *length = size;                                                   
   5e4e8:	22ae 0014      	movel %fp@(20),%a1@                         <== NOT EXECUTED
   5e4ec:	6000 ff6a      	braw 5e458 <rtems_rfs_symlink_read+0xa8>    <== NOT EXECUTED
    {                                                                 
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);              
   5e4f0:	486e ff82      	pea %fp@(-126)                              <== NOT EXECUTED
   5e4f4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e4f6:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e4f8:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5e4fa:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e4fc:	4eb9 0005 96f8 	jsr 596f8 <rtems_rfs_block_map_seek>        <== NOT EXECUTED
    if (rc > 0)                                                       
   5e502:	4fef 0014      	lea %sp@(20),%sp                            <== NOT EXECUTED
    {                                                                 
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_seek (fs, &map, 0, &block);              
   5e506:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e508:	6f24           	bles 5e52e <rtems_rfs_symlink_read+0x17e>   <== NOT EXECUTED
    }                                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, false); 
    if (rc > 0)                                                       
    {                                                                 
      rtems_rfs_block_map_close (fs, &map);                           
   5e50a:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5e50c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e50e:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
   5e514:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e516:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e518:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e51e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &inode);                            
                                                                      
  return rc;                                                          
}                                                                     
   5e522:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e524:	4cee 003c ff70 	moveml %fp@(-144),%d2-%d5                   <== NOT EXECUTED
   5e52a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e52c:	4e75           	rts                                         <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, false); 
   5e52e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e530:	2f2e ff82      	movel %fp@(-126),%sp@-                      <== NOT EXECUTED
   5e534:	486e ff86      	pea %fp@(-122)                              <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_open (rtems_rfs_file_system*   fs,            
                              rtems_rfs_buffer_handle* handle)        
{                                                                     
  handle->dirty = false;                                              
   5e538:	4200           	clrb %d0                                    <== NOT EXECUTED
   5e53a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e53c:	1d40 ff86      	moveb %d0,%fp@(-122)                        <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5e540:	42ae ff88      	clrl %fp@(-120)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5e544:	42ae ff8c      	clrl %fp@(-116)                             <== NOT EXECUTED
   5e548:	4eb9 0005 a19a 	jsr 5a19a <rtems_rfs_buffer_handle_request> <== NOT EXECUTED
    if (rc > 0)                                                       
   5e54e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_buffer_handle_request (fs, &buffer, block, false); 
   5e552:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e554:	6eb4           	bgts 5e50a <rtems_rfs_symlink_read+0x15a>   <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    data = rtems_rfs_buffer_data (&buffer);                           
    memcpy (path, data, *length);                                     
   5e556:	206e 0018      	moveal %fp@(24),%a0                         <== NOT EXECUTED
   5e55a:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    data = rtems_rfs_buffer_data (&buffer);                           
   5e55c:	206e ff8c      	moveal %fp@(-116),%a0                       <== NOT EXECUTED
    memcpy (path, data, *length);                                     
   5e560:	2f28 001a      	movel %a0@(26),%sp@-                        <== NOT EXECUTED
   5e564:	2f2e 0010      	movel %fp@(16),%sp@-                        <== NOT EXECUTED
   5e568:	4eb9 0006 1438 	jsr 61438 <memcpy>                          <== NOT EXECUTED
 */                                                                   
static inline int                                                     
rtems_rfs_buffer_handle_close (rtems_rfs_file_system*   fs,           
                               rtems_rfs_buffer_handle* handle)       
{                                                                     
  rtems_rfs_buffer_handle_release (fs, handle);                       
   5e56e:	486e ff86      	pea %fp@(-122)                              <== NOT EXECUTED
   5e572:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e574:	4eb9 0005 9fc0 	jsr 59fc0 <rtems_rfs_buffer_handle_release> <== NOT EXECUTED
  handle->dirty = false;                                              
   5e57a:	4200           	clrb %d0                                    <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_close (fs, &map);                        
   5e57c:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5e57e:	1d40 ff86      	moveb %d0,%fp@(-122)                        <== NOT EXECUTED
   5e582:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
  handle->bnum  = 0;                                                  
   5e584:	42ae ff88      	clrl %fp@(-120)                             <== NOT EXECUTED
  handle->buffer = NULL;                                              
   5e588:	42ae ff8c      	clrl %fp@(-116)                             <== NOT EXECUTED
   5e58c:	4eb9 0005 9394 	jsr 59394 <rtems_rfs_block_map_close>       <== NOT EXECUTED
    if (rc > 0)                                                       
   5e592:	4fef 001c      	lea %sp@(28),%sp                            <== NOT EXECUTED
      rtems_rfs_block_map_close (fs, &map);                           
      rtems_rfs_inode_close (fs, &inode);                             
      return rc;                                                      
    }                                                                 
                                                                      
    rc = rtems_rfs_block_map_close (fs, &map);                        
   5e596:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e598:	6f00 ff00      	blew 5e49a <rtems_rfs_symlink_read+0xea>    <== NOT EXECUTED
    {                                                                 
      rtems_rfs_inode_close (fs, &inode);                             
   5e59c:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e59e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e5a0:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5e5a6:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e5a8:	6000 ff32      	braw 5e4dc <rtems_rfs_symlink_read+0x12c>   <== NOT EXECUTED
                                                                      

00052f4e <rtems_rfs_trace_clear_mask>: rtems_rfs_trace_mask rtems_rfs_trace_clear_mask (rtems_rfs_trace_mask mask) {
   52f4e:	4e56 fff0      	linkw %fp,#-16                              <== NOT EXECUTED
   52f52:	48d7 003c      	moveml %d2-%d5,%sp@                         <== NOT EXECUTED
  rtems_rfs_trace_mask state = rtems_rfs_trace_flags;                 
  rtems_rfs_trace_flags &= ~mask;                                     
   52f56:	2a2e 0008      	movel %fp@(8),%d5                           <== NOT EXECUTED
   52f5a:	4685           	notl %d5                                    <== NOT EXECUTED
   52f5c:	282e 000c      	movel %fp@(12),%d4                          <== NOT EXECUTED
   52f60:	4684           	notl %d4                                    <== NOT EXECUTED
}                                                                     
                                                                      
rtems_rfs_trace_mask                                                  
rtems_rfs_trace_clear_mask (rtems_rfs_trace_mask mask)                
{                                                                     
  rtems_rfs_trace_mask state = rtems_rfs_trace_flags;                 
   52f62:	2639 0008 50b8 	movel 850b8 <rtems_rfs_trace_flags>,%d3     <== NOT EXECUTED
  rtems_rfs_trace_flags &= ~mask;                                     
  return state;                                                       
}                                                                     
   52f68:	2003           	movel %d3,%d0                               <== NOT EXECUTED
}                                                                     
                                                                      
rtems_rfs_trace_mask                                                  
rtems_rfs_trace_clear_mask (rtems_rfs_trace_mask mask)                
{                                                                     
  rtems_rfs_trace_mask state = rtems_rfs_trace_flags;                 
   52f6a:	2439 0008 50bc 	movel 850bc <rtems_rfs_trace_flags+0x4>,%d2 <== NOT EXECUTED
  rtems_rfs_trace_flags &= ~mask;                                     
  return state;                                                       
}                                                                     
   52f70:	2202           	movel %d2,%d1                               <== NOT EXECUTED
                                                                      
rtems_rfs_trace_mask                                                  
rtems_rfs_trace_clear_mask (rtems_rfs_trace_mask mask)                
{                                                                     
  rtems_rfs_trace_mask state = rtems_rfs_trace_flags;                 
  rtems_rfs_trace_flags &= ~mask;                                     
   52f72:	ca83           	andl %d3,%d5                                <== NOT EXECUTED
   52f74:	c882           	andl %d2,%d4                                <== NOT EXECUTED
   52f76:	23c5 0008 50b8 	movel %d5,850b8 <rtems_rfs_trace_flags>     <== NOT EXECUTED
   52f7c:	23c4 0008 50bc 	movel %d4,850bc <rtems_rfs_trace_flags+0x4> <== NOT EXECUTED
  return state;                                                       
}                                                                     
   52f82:	4cd7 003c      	moveml %sp@,%d2-%d5                         <== NOT EXECUTED
   52f86:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052f1a <rtems_rfs_trace_set_mask>: rtems_rfs_trace_mask rtems_rfs_trace_set_mask (rtems_rfs_trace_mask mask) {
   52f1a:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   52f1e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
  rtems_rfs_trace_mask state = rtems_rfs_trace_flags;                 
   52f20:	2639 0008 50b8 	movel 850b8 <rtems_rfs_trace_flags>,%d3     <== NOT EXECUTED
  rtems_rfs_trace_flags |= mask;                                      
  return state;                                                       
}                                                                     
   52f26:	2003           	movel %d3,%d0                               <== NOT EXECUTED
  return result;                                                      
}                                                                     
                                                                      
rtems_rfs_trace_mask                                                  
rtems_rfs_trace_set_mask (rtems_rfs_trace_mask mask)                  
{                                                                     
   52f28:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  rtems_rfs_trace_mask state = rtems_rfs_trace_flags;                 
   52f2a:	2439 0008 50bc 	movel 850bc <rtems_rfs_trace_flags+0x4>,%d2 <== NOT EXECUTED
  rtems_rfs_trace_flags |= mask;                                      
  return state;                                                       
}                                                                     
   52f30:	2202           	movel %d2,%d1                               <== NOT EXECUTED
                                                                      
rtems_rfs_trace_mask                                                  
rtems_rfs_trace_set_mask (rtems_rfs_trace_mask mask)                  
{                                                                     
  rtems_rfs_trace_mask state = rtems_rfs_trace_flags;                 
  rtems_rfs_trace_flags |= mask;                                      
   52f32:	84ae 000c      	orl %fp@(12),%d2                            <== NOT EXECUTED
   52f36:	86ae 0008      	orl %fp@(8),%d3                             <== NOT EXECUTED
   52f3a:	23c2 0008 50bc 	movel %d2,850bc <rtems_rfs_trace_flags+0x4> <== NOT EXECUTED
  return state;                                                       
}                                                                     
   52f40:	241f           	movel %sp@+,%d2                             <== NOT EXECUTED
                                                                      
rtems_rfs_trace_mask                                                  
rtems_rfs_trace_set_mask (rtems_rfs_trace_mask mask)                  
{                                                                     
  rtems_rfs_trace_mask state = rtems_rfs_trace_flags;                 
  rtems_rfs_trace_flags |= mask;                                      
   52f42:	23c3 0008 50b8 	movel %d3,850b8 <rtems_rfs_trace_flags>     <== NOT EXECUTED
  return state;                                                       
}                                                                     
   52f48:	261f           	movel %sp@+,%d3                             <== NOT EXECUTED
   52f4a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00052f8a <rtems_rfs_trace_shell_command>: int rtems_rfs_trace_shell_command (int argc, char *argv[]) {
   52f8a:	4e56 ff30      	linkw %fp,#-208                             <== NOT EXECUTED
   52f8e:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 <== NOT EXECUTED
  const char* table[] =                                               
   52f92:	4878 009c      	pea 9c <DBL_MANT_DIG+0x67>                  <== NOT EXECUTED
   52f96:	4879 0007 1e96 	pea 71e96 <rtems_rfs_rtems_eval_config+0x272><== NOT EXECUTED
   52f9c:	486e ff64      	pea %fp@(-156)                              <== NOT EXECUTED
   52fa0:	4eb9 0006 1438 	jsr 61438 <memcpy>                          <== NOT EXECUTED
  rtems_rfs_trace_mask clear_value = 0;                               
  bool                 set = true;                                    
  int                  arg;                                           
  int                  t;                                             
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   52fa6:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   52faa:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   52fac:	b0ae 0008      	cmpl %fp@(8),%d0                            <== NOT EXECUTED
   52fb0:	6c00 012a      	bgew 530dc <rtems_rfs_trace_shell_command+0x152><== NOT EXECUTED
  {                                                                   
    if (argv[arg][0] == '-')                                          
   52fb4:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   52fb8:	722d           	moveq #45,%d1                               <== NOT EXECUTED
   52fba:	2468 0004      	moveal %a0@(4),%a2                          <== NOT EXECUTED
   52fbe:	1012           	moveb %a2@,%d0                              <== NOT EXECUTED
   52fc0:	49c0           	extbl %d0                                   <== NOT EXECUTED
   52fc2:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   52fc4:	6700 00a0      	beqw 53066 <rtems_rfs_trace_shell_command+0xdc><== NOT EXECUTED
  rtems_rfs_trace_flags &= ~mask;                                     
  return state;                                                       
}                                                                     
                                                                      
int                                                                   
rtems_rfs_trace_shell_command (int argc, char *argv[])                
   52fc8:	222e 000c      	movel %fp@(12),%d1                          <== NOT EXECUTED
   52fcc:	5081           	addql #8,%d1                                <== NOT EXECUTED
   52fce:	47f9 0006 20b4 	lea 620b4 <strcmp>,%a3                      <== NOT EXECUTED
  rtems_rfs_trace_mask clear_value = 0;                               
  bool                 set = true;                                    
  int                  arg;                                           
  int                  t;                                             
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   52fd4:	7801           	moveq #1,%d4                                <== NOT EXECUTED
  rtems_rfs_trace_flags &= ~mask;                                     
  return state;                                                       
}                                                                     
                                                                      
int                                                                   
rtems_rfs_trace_shell_command (int argc, char *argv[])                
   52fd6:	2d41 ff60      	movel %d1,%fp@(-160)                        <== NOT EXECUTED
    "file-close",                                                     
    "file-io",                                                        
    "file-set"                                                        
  };                                                                  
                                                                      
  rtems_rfs_trace_mask set_value = 0;                                 
   52fda:	4280           	clrl %d0                                    <== NOT EXECUTED
   52fdc:	4281           	clrl %d1                                    <== NOT EXECUTED
   52fde:	2439 0008 50b8 	movel 850b8 <rtems_rfs_trace_flags>,%d2     <== NOT EXECUTED
   52fe4:	2639 0008 50bc 	movel 850bc <rtems_rfs_trace_flags+0x4>,%d3 <== NOT EXECUTED
  rtems_rfs_trace_mask clear_value = 0;                               
  bool                 set = true;                                    
   52fea:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
    "file-io",                                                        
    "file-set"                                                        
  };                                                                  
                                                                      
  rtems_rfs_trace_mask set_value = 0;                                 
  rtems_rfs_trace_mask clear_value = 0;                               
   52fec:	4286           	clrl %d6                                    <== NOT EXECUTED
   52fee:	4287           	clrl %d7                                    <== NOT EXECUTED
    "file-close",                                                     
    "file-io",                                                        
    "file-set"                                                        
  };                                                                  
                                                                      
  rtems_rfs_trace_mask set_value = 0;                                 
   52ff0:	2d40 ff58      	movel %d0,%fp@(-168)                        <== NOT EXECUTED
   52ff4:	2d41 ff5c      	movel %d1,%fp@(-164)                        <== NOT EXECUTED
          return 1;                                                   
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      if (strcmp (argv[arg], "set") == 0)                             
   52ff8:	4879 0007 1e92 	pea 71e92 <rtems_rfs_rtems_eval_config+0x26e><== NOT EXECUTED
   52ffe:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   53000:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   53002:	508f           	addql #8,%sp                                <== NOT EXECUTED
   53004:	4a80           	tstl %d0                                    <== NOT EXECUTED
   53006:	6602           	bnes 5300a <rtems_rfs_trace_shell_command+0x80><== NOT EXECUTED
        set = true;                                                   
   53008:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
      if (strcmp (argv[arg], "clear") == 0)                           
   5300a:	4879 0007 1cb7 	pea 71cb7 <rtems_rfs_rtems_eval_config+0x93><== NOT EXECUTED
   53010:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   53012:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   53014:	508f           	addql #8,%sp                                <== NOT EXECUTED
   53016:	4a80           	tstl %d0                                    <== NOT EXECUTED
   53018:	667e           	bnes 53098 <rtems_rfs_trace_shell_command+0x10e><== NOT EXECUTED
   5301a:	2206           	movel %d6,%d1                               <== NOT EXECUTED
   5301c:	2007           	movel %d7,%d0                               <== NOT EXECUTED
   5301e:	4681           	notl %d1                                    <== NOT EXECUTED
   53020:	4680           	notl %d0                                    <== NOT EXECUTED
   53022:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
   53024:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   53026:	222e ff58      	movel %fp@(-168),%d1                        <== NOT EXECUTED
   5302a:	202e ff5c      	movel %fp@(-164),%d0                        <== NOT EXECUTED
   5302e:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
   53030:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   53032:	2409           	movel %a1,%d2                               <== NOT EXECUTED
   53034:	260a           	movel %a2,%d3                               <== NOT EXECUTED
        set = false;                                                  
   53036:	4205           	clrb %d5                                    <== NOT EXECUTED
   53038:	c481           	andl %d1,%d2                                <== NOT EXECUTED
   5303a:	c680           	andl %d0,%d3                                <== NOT EXECUTED
  rtems_rfs_trace_mask clear_value = 0;                               
  bool                 set = true;                                    
  int                  arg;                                           
  int                  t;                                             
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   5303c:	5284           	addql #1,%d4                                <== NOT EXECUTED
          }                                                           
        }                                                             
      }                                                               
                                                                      
      rtems_rfs_trace_flags |= set_value;                             
      rtems_rfs_trace_flags &= ~clear_value;                          
   5303e:	23c2 0008 50b8 	movel %d2,850b8 <rtems_rfs_trace_flags>     <== NOT EXECUTED
   53044:	23c3 0008 50bc 	movel %d3,850bc <rtems_rfs_trace_flags+0x4> <== NOT EXECUTED
  rtems_rfs_trace_mask clear_value = 0;                               
  bool                 set = true;                                    
  int                  arg;                                           
  int                  t;                                             
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   5304a:	b8ae 0008      	cmpl %fp@(8),%d4                            <== NOT EXECUTED
   5304e:	6700 008c      	beqw 530dc <rtems_rfs_trace_shell_command+0x152><== NOT EXECUTED
  {                                                                   
    if (argv[arg][0] == '-')                                          
   53052:	206e ff60      	moveal %fp@(-160),%a0                       <== NOT EXECUTED
   53056:	722d           	moveq #45,%d1                               <== NOT EXECUTED
   53058:	58ae ff60      	addql #4,%fp@(-160)                         <== NOT EXECUTED
   5305c:	2458           	moveal %a0@+,%a2                            <== NOT EXECUTED
   5305e:	1012           	moveb %a2@,%d0                              <== NOT EXECUTED
   53060:	49c0           	extbl %d0                                   <== NOT EXECUTED
   53062:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   53064:	6692           	bnes 52ff8 <rtems_rfs_trace_shell_command+0x6e><== NOT EXECUTED
    {                                                                 
      switch (argv[arg][1])                                           
   53066:	7268           	moveq #104,%d1                              <== NOT EXECUTED
   53068:	102a 0001      	moveb %a2@(1),%d0                           <== NOT EXECUTED
   5306c:	49c0           	extbl %d0                                   <== NOT EXECUTED
   5306e:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   53070:	6700 01e0      	beqw 53252 <rtems_rfs_trace_shell_command+0x2c8><== NOT EXECUTED
   53074:	123c 006c      	moveb #108,%d1                              <== NOT EXECUTED
   53078:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   5307a:	6700 0194      	beqw 53210 <rtems_rfs_trace_shell_command+0x286><== NOT EXECUTED
          printf ("%s: valid flags to set or clear are:\n", argv[0]); 
          for (t = 0; t < (sizeof (table) / sizeof (const char*)); t++)
            printf ("  %s\n", table[t]);                              
          return 0;                                                   
        default:                                                      
          printf ("error: unknown option\n");                         
   5307e:	4879 0007 1ca1 	pea 71ca1 <rtems_rfs_rtems_eval_config+0x7d><== NOT EXECUTED
   53084:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5308a:	588f           	addql #4,%sp                                <== NOT EXECUTED
          return 1;                                                   
   5308c:	7001           	moveq #1,%d0                                <== NOT EXECUTED
      rtems_rfs_trace_flags &= ~clear_value;                          
    }                                                                 
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   5308e:	4cee 3cfc ff30 	moveml %fp@(-208),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   53094:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   53096:	4e75           	rts                                         <== NOT EXECUTED
    {                                                                 
      if (strcmp (argv[arg], "set") == 0)                             
        set = true;                                                   
      if (strcmp (argv[arg], "clear") == 0)                           
        set = false;                                                  
      else if (strcmp (argv[arg], "all") == 0)                        
   53098:	4879 0007 3880 	pea 73880 <_global_impure_ptr+0x54>         <== NOT EXECUTED
   5309e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   530a0:	4eb9 0006 20b4 	jsr 620b4 <strcmp>                          <== NOT EXECUTED
   530a6:	508f           	addql #8,%sp                                <== NOT EXECUTED
   530a8:	4a80           	tstl %d0                                    <== NOT EXECUTED
   530aa:	663c           	bnes 530e8 <rtems_rfs_trace_shell_command+0x15e><== NOT EXECUTED
      {                                                               
        if (set)                                                      
   530ac:	4a05           	tstb %d5                                    <== NOT EXECUTED
   530ae:	6700 00bc      	beqw 5316c <rtems_rfs_trace_shell_command+0x1e2><== NOT EXECUTED
   530b2:	2406           	movel %d6,%d2                               <== NOT EXECUTED
   530b4:	2607           	movel %d7,%d3                               <== NOT EXECUTED
   530b6:	4682           	notl %d2                                    <== NOT EXECUTED
   530b8:	4683           	notl %d3                                    <== NOT EXECUTED
  rtems_rfs_trace_mask clear_value = 0;                               
  bool                 set = true;                                    
  int                  arg;                                           
  int                  t;                                             
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   530ba:	5284           	addql #1,%d4                                <== NOT EXECUTED
      if (strcmp (argv[arg], "clear") == 0)                           
        set = false;                                                  
      else if (strcmp (argv[arg], "all") == 0)                        
      {                                                               
        if (set)                                                      
          set_value = RTEMS_RFS_TRACE_ALL;                            
   530bc:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   530be:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
          }                                                           
        }                                                             
      }                                                               
                                                                      
      rtems_rfs_trace_flags |= set_value;                             
      rtems_rfs_trace_flags &= ~clear_value;                          
   530c0:	23c2 0008 50b8 	movel %d2,850b8 <rtems_rfs_trace_flags>     <== NOT EXECUTED
   530c6:	23c3 0008 50bc 	movel %d3,850bc <rtems_rfs_trace_flags+0x4> <== NOT EXECUTED
      if (strcmp (argv[arg], "clear") == 0)                           
        set = false;                                                  
      else if (strcmp (argv[arg], "all") == 0)                        
      {                                                               
        if (set)                                                      
          set_value = RTEMS_RFS_TRACE_ALL;                            
   530cc:	2d40 ff58      	movel %d0,%fp@(-168)                        <== NOT EXECUTED
   530d0:	2d41 ff5c      	movel %d1,%fp@(-164)                        <== NOT EXECUTED
  rtems_rfs_trace_mask clear_value = 0;                               
  bool                 set = true;                                    
  int                  arg;                                           
  int                  t;                                             
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   530d4:	b8ae 0008      	cmpl %fp@(8),%d4                            <== NOT EXECUTED
   530d8:	6600 ff78      	bnew 53052 <rtems_rfs_trace_shell_command+0xc8><== NOT EXECUTED
    {                                                                 
      switch (argv[arg][1])                                           
      {                                                               
        case 'h':                                                     
          printf ("usage: %s [-hl] [set/clear] [flags]\n", argv[0]);  
          return 0;                                                   
   530dc:	4280           	clrl %d0                                    <== NOT EXECUTED
      rtems_rfs_trace_flags &= ~clear_value;                          
    }                                                                 
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   530de:	4cee 3cfc ff30 	moveml %fp@(-208),%d2-%d7/%a2-%a5           <== NOT EXECUTED
   530e4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   530e6:	4e75           	rts                                         <== NOT EXECUTED
   530e8:	49ee ff64      	lea %fp@(-156),%a4                          <== NOT EXECUTED
    {                                                                 
      if (strcmp (argv[arg], "set") == 0)                             
        set = true;                                                   
      if (strcmp (argv[arg], "clear") == 0)                           
        set = false;                                                  
      else if (strcmp (argv[arg], "all") == 0)                        
   530ec:	9bcd           	subal %a5,%a5                               <== NOT EXECUTED
      }                                                               
      else                                                            
      {                                                               
        for (t = 0; t < (sizeof (table) / sizeof (const char*)); t++) 
        {                                                             
          if (strcmp (argv[arg], table[t]) == 0)                      
   530ee:	2f1c           	movel %a4@+,%sp@-                           <== NOT EXECUTED
   530f0:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   530f2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   530f4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   530f6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   530f8:	672c           	beqs 53126 <rtems_rfs_trace_shell_command+0x19c><== NOT EXECUTED
        else                                                          
          clear_value = RTEMS_RFS_TRACE_ALL;                          
      }                                                               
      else                                                            
      {                                                               
        for (t = 0; t < (sizeof (table) / sizeof (const char*)); t++) 
   530fa:	528d           	addql #1,%a5                                <== NOT EXECUTED
   530fc:	7027           	moveq #39,%d0                               <== NOT EXECUTED
   530fe:	b08d           	cmpl %a5,%d0                                <== NOT EXECUTED
   53100:	66ec           	bnes 530ee <rtems_rfs_trace_shell_command+0x164><== NOT EXECUTED
   53102:	2206           	movel %d6,%d1                               <== NOT EXECUTED
   53104:	2007           	movel %d7,%d0                               <== NOT EXECUTED
   53106:	4681           	notl %d1                                    <== NOT EXECUTED
   53108:	4680           	notl %d0                                    <== NOT EXECUTED
   5310a:	2241           	moveal %d1,%a1                              <== NOT EXECUTED
   5310c:	2440           	moveal %d0,%a2                              <== NOT EXECUTED
   5310e:	222e ff58      	movel %fp@(-168),%d1                        <== NOT EXECUTED
   53112:	202e ff5c      	movel %fp@(-164),%d0                        <== NOT EXECUTED
   53116:	8282           	orl %d2,%d1                                 <== NOT EXECUTED
   53118:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   5311a:	2409           	movel %a1,%d2                               <== NOT EXECUTED
   5311c:	260a           	movel %a2,%d3                               <== NOT EXECUTED
   5311e:	c481           	andl %d1,%d2                                <== NOT EXECUTED
   53120:	c680           	andl %d0,%d3                                <== NOT EXECUTED
   53122:	6000 ff18      	braw 5303c <rtems_rfs_trace_shell_command+0xb2><== NOT EXECUTED
        {                                                             
          if (strcmp (argv[arg], table[t]) == 0)                      
          {                                                           
            if (set)                                                  
              set_value = 1ULL << t;                                  
   53126:	200d           	movel %a5,%d0                               <== NOT EXECUTED
   53128:	0680 ffff ffe0 	addil #-32,%d0                              <== NOT EXECUTED
      {                                                               
        for (t = 0; t < (sizeof (table) / sizeof (const char*)); t++) 
        {                                                             
          if (strcmp (argv[arg], table[t]) == 0)                      
          {                                                           
            if (set)                                                  
   5312e:	4a05           	tstb %d5                                    <== NOT EXECUTED
   53130:	6746           	beqs 53178 <rtems_rfs_trace_shell_command+0x1ee><== NOT EXECUTED
              set_value = 1ULL << t;                                  
   53132:	4a80           	tstl %d0                                    <== NOT EXECUTED
   53134:	6d00 00a4      	bltw 531da <rtems_rfs_trace_shell_command+0x250><== NOT EXECUTED
   53138:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   5313a:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   5313c:	e1a9           	lsll %d0,%d1                                <== NOT EXECUTED
   5313e:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   53140:	4680           	notl %d0                                    <== NOT EXECUTED
   53142:	2d48 ff5c      	movel %a0,%fp@(-164)                        <== NOT EXECUTED
   53146:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   53148:	2d41 ff58      	movel %d1,%fp@(-168)                        <== NOT EXECUTED
   5314c:	2207           	movel %d7,%d1                               <== NOT EXECUTED
   5314e:	4681           	notl %d1                                    <== NOT EXECUTED
   53150:	2441           	moveal %d1,%a2                              <== NOT EXECUTED
   53152:	202e ff58      	movel %fp@(-168),%d0                        <== NOT EXECUTED
   53156:	222e ff5c      	movel %fp@(-164),%d1                        <== NOT EXECUTED
   5315a:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   5315c:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
   5315e:	260a           	movel %a2,%d3                               <== NOT EXECUTED
   53160:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   53162:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   53164:	c681           	andl %d1,%d3                                <== NOT EXECUTED
   53166:	c480           	andl %d0,%d2                                <== NOT EXECUTED
   53168:	6000 fed2      	braw 5303c <rtems_rfs_trace_shell_command+0xb2><== NOT EXECUTED
        set = true;                                                   
      if (strcmp (argv[arg], "clear") == 0)                           
        set = false;                                                  
      else if (strcmp (argv[arg], "all") == 0)                        
      {                                                               
        if (set)                                                      
   5316c:	4282           	clrl %d2                                    <== NOT EXECUTED
   5316e:	4283           	clrl %d3                                    <== NOT EXECUTED
          set_value = RTEMS_RFS_TRACE_ALL;                            
        else                                                          
          clear_value = RTEMS_RFS_TRACE_ALL;                          
   53170:	7cff           	moveq #-1,%d6                               <== NOT EXECUTED
   53172:	7eff           	moveq #-1,%d7                               <== NOT EXECUTED
   53174:	6000 fec6      	braw 5303c <rtems_rfs_trace_shell_command+0xb2><== NOT EXECUTED
          if (strcmp (argv[arg], table[t]) == 0)                      
          {                                                           
            if (set)                                                  
              set_value = 1ULL << t;                                  
            else                                                      
              clear_value = 1ULL << t;                                
   53178:	4a80           	tstl %d0                                    <== NOT EXECUTED
   5317a:	6d2e           	blts 531aa <rtems_rfs_trace_shell_command+0x220><== NOT EXECUTED
   5317c:	7c01           	moveq #1,%d6                                <== NOT EXECUTED
   5317e:	4287           	clrl %d7                                    <== NOT EXECUTED
   53180:	2207           	movel %d7,%d1                               <== NOT EXECUTED
   53182:	4681           	notl %d1                                    <== NOT EXECUTED
   53184:	2441           	moveal %d1,%a2                              <== NOT EXECUTED
   53186:	e1ae           	lsll %d0,%d6                                <== NOT EXECUTED
   53188:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   5318a:	4680           	notl %d0                                    <== NOT EXECUTED
   5318c:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   5318e:	202e ff58      	movel %fp@(-168),%d0                        <== NOT EXECUTED
   53192:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   53194:	2409           	movel %a1,%d2                               <== NOT EXECUTED
   53196:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   53198:	2208           	movel %a0,%d1                               <== NOT EXECUTED
   5319a:	202e ff5c      	movel %fp@(-164),%d0                        <== NOT EXECUTED
   5319e:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   531a0:	260a           	movel %a2,%d3                               <== NOT EXECUTED
   531a2:	c481           	andl %d1,%d2                                <== NOT EXECUTED
   531a4:	c680           	andl %d0,%d3                                <== NOT EXECUTED
   531a6:	6000 fe94      	braw 5303c <rtems_rfs_trace_shell_command+0xb2><== NOT EXECUTED
   531aa:	4286           	clrl %d6                                    <== NOT EXECUTED
   531ac:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   531ae:	4680           	notl %d0                                    <== NOT EXECUTED
   531b0:	2240           	moveal %d0,%a1                              <== NOT EXECUTED
   531b2:	220d           	movel %a5,%d1                               <== NOT EXECUTED
   531b4:	7e01           	moveq #1,%d7                                <== NOT EXECUTED
   531b6:	202e ff58      	movel %fp@(-168),%d0                        <== NOT EXECUTED
   531ba:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   531bc:	e3af           	lsll %d1,%d7                                <== NOT EXECUTED
   531be:	2409           	movel %a1,%d2                               <== NOT EXECUTED
   531c0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   531c2:	2207           	movel %d7,%d1                               <== NOT EXECUTED
   531c4:	4681           	notl %d1                                    <== NOT EXECUTED
   531c6:	2441           	moveal %d1,%a2                              <== NOT EXECUTED
   531c8:	2208           	movel %a0,%d1                               <== NOT EXECUTED
   531ca:	202e ff5c      	movel %fp@(-164),%d0                        <== NOT EXECUTED
   531ce:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   531d0:	260a           	movel %a2,%d3                               <== NOT EXECUTED
   531d2:	c481           	andl %d1,%d2                                <== NOT EXECUTED
   531d4:	c680           	andl %d0,%d3                                <== NOT EXECUTED
   531d6:	6000 fe64      	braw 5303c <rtems_rfs_trace_shell_command+0xb2><== NOT EXECUTED
        for (t = 0; t < (sizeof (table) / sizeof (const char*)); t++) 
        {                                                             
          if (strcmp (argv[arg], table[t]) == 0)                      
          {                                                           
            if (set)                                                  
              set_value = 1ULL << t;                                  
   531da:	220d           	movel %a5,%d1                               <== NOT EXECUTED
   531dc:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   531de:	91c8           	subal %a0,%a0                               <== NOT EXECUTED
   531e0:	e3a8           	lsll %d1,%d0                                <== NOT EXECUTED
   531e2:	2d48 ff58      	movel %a0,%fp@(-168)                        <== NOT EXECUTED
   531e6:	2207           	movel %d7,%d1                               <== NOT EXECUTED
   531e8:	4681           	notl %d1                                    <== NOT EXECUTED
   531ea:	2441           	moveal %d1,%a2                              <== NOT EXECUTED
   531ec:	2d40 ff5c      	movel %d0,%fp@(-164)                        <== NOT EXECUTED
   531f0:	2006           	movel %d6,%d0                               <== NOT EXECUTED
   531f2:	4680           	notl %d0                                    <== NOT EXECUTED
   531f4:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   531f6:	202e ff58      	movel %fp@(-168),%d0                        <== NOT EXECUTED
   531fa:	222e ff5c      	movel %fp@(-164),%d1                        <== NOT EXECUTED
   531fe:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   53200:	8283           	orl %d3,%d1                                 <== NOT EXECUTED
   53202:	260a           	movel %a2,%d3                               <== NOT EXECUTED
   53204:	2400           	movel %d0,%d2                               <== NOT EXECUTED
   53206:	2008           	movel %a0,%d0                               <== NOT EXECUTED
   53208:	c681           	andl %d1,%d3                                <== NOT EXECUTED
   5320a:	c480           	andl %d0,%d2                                <== NOT EXECUTED
   5320c:	6000 fe2e      	braw 5303c <rtems_rfs_trace_shell_command+0xb2><== NOT EXECUTED
      {                                                               
        case 'h':                                                     
          printf ("usage: %s [-hl] [set/clear] [flags]\n", argv[0]);  
          return 0;                                                   
        case 'l':                                                     
          printf ("%s: valid flags to set or clear are:\n", argv[0]); 
   53210:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   53214:	47f9 0006 16ec 	lea 616ec <printf>,%a3                      <== NOT EXECUTED
   5321a:	45ee ff64      	lea %fp@(-156),%a2                          <== NOT EXECUTED
  rtems_rfs_trace_flags &= ~mask;                                     
  return state;                                                       
}                                                                     
                                                                      
int                                                                   
rtems_rfs_trace_shell_command (int argc, char *argv[])                
   5321e:	240e           	movel %fp,%d2                               <== NOT EXECUTED
      {                                                               
        case 'h':                                                     
          printf ("usage: %s [-hl] [set/clear] [flags]\n", argv[0]);  
          return 0;                                                   
        case 'l':                                                     
          printf ("%s: valid flags to set or clear are:\n", argv[0]); 
   53220:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   53222:	4879 0007 1c75 	pea 71c75 <rtems_rfs_rtems_eval_config+0x51><== NOT EXECUTED
   53228:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  rtems_rfs_trace_flags &= ~mask;                                     
  return state;                                                       
}                                                                     
                                                                      
int                                                                   
rtems_rfs_trace_shell_command (int argc, char *argv[])                
   5322a:	508f           	addql #8,%sp                                <== NOT EXECUTED
          printf ("usage: %s [-hl] [set/clear] [flags]\n", argv[0]);  
          return 0;                                                   
        case 'l':                                                     
          printf ("%s: valid flags to set or clear are:\n", argv[0]); 
          for (t = 0; t < (sizeof (table) / sizeof (const char*)); t++)
            printf ("  %s\n", table[t]);                              
   5322c:	2f1a           	movel %a2@+,%sp@-                           <== NOT EXECUTED
   5322e:	4879 0007 1c9b 	pea 71c9b <rtems_rfs_rtems_eval_config+0x77><== NOT EXECUTED
   53234:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        case 'h':                                                     
          printf ("usage: %s [-hl] [set/clear] [flags]\n", argv[0]);  
          return 0;                                                   
        case 'l':                                                     
          printf ("%s: valid flags to set or clear are:\n", argv[0]); 
          for (t = 0; t < (sizeof (table) / sizeof (const char*)); t++)
   53236:	508f           	addql #8,%sp                                <== NOT EXECUTED
   53238:	b48a           	cmpl %a2,%d2                                <== NOT EXECUTED
   5323a:	6700 fea0      	beqw 530dc <rtems_rfs_trace_shell_command+0x152><== NOT EXECUTED
            printf ("  %s\n", table[t]);                              
   5323e:	2f1a           	movel %a2@+,%sp@-                           <== NOT EXECUTED
   53240:	4879 0007 1c9b 	pea 71c9b <rtems_rfs_rtems_eval_config+0x77><== NOT EXECUTED
   53246:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        case 'h':                                                     
          printf ("usage: %s [-hl] [set/clear] [flags]\n", argv[0]);  
          return 0;                                                   
        case 'l':                                                     
          printf ("%s: valid flags to set or clear are:\n", argv[0]); 
          for (t = 0; t < (sizeof (table) / sizeof (const char*)); t++)
   53248:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5324a:	b48a           	cmpl %a2,%d2                                <== NOT EXECUTED
   5324c:	66de           	bnes 5322c <rtems_rfs_trace_shell_command+0x2a2><== NOT EXECUTED
   5324e:	6000 fe8c      	braw 530dc <rtems_rfs_trace_shell_command+0x152><== NOT EXECUTED
    if (argv[arg][0] == '-')                                          
    {                                                                 
      switch (argv[arg][1])                                           
      {                                                               
        case 'h':                                                     
          printf ("usage: %s [-hl] [set/clear] [flags]\n", argv[0]);  
   53252:	206e 000c      	moveal %fp@(12),%a0                         <== NOT EXECUTED
   53256:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   53258:	4879 0007 1c50 	pea 71c50 <rtems_rfs_rtems_eval_config+0x2c><== NOT EXECUTED
   5325e:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   53264:	508f           	addql #8,%sp                                <== NOT EXECUTED
          return 0;                                                   
   53266:	4280           	clrl %d0                                    <== NOT EXECUTED
   53268:	6000 fe74      	braw 530de <rtems_rfs_trace_shell_command+0x154><== NOT EXECUTED
                                                                      

0005dc9c <rtems_rfs_unlink>: rtems_rfs_unlink (rtems_rfs_file_system* fs, rtems_rfs_ino parent, rtems_rfs_ino target, uint32_t doff, rtems_rfs_unlink_dir dir_mode) {
   5dc9c:	4e56 ff94      	linkw %fp,#-108                             <== NOT EXECUTED
   5dca0:	48d7 0cfc      	moveml %d2-%d7/%a2-%a3,%sp@                 <== NOT EXECUTED
  rtems_rfs_inode_handle target_inode;                                
  uint16_t               links;                                       
  bool                   dir;                                         
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                       
   5dca4:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
rtems_rfs_unlink (rtems_rfs_file_system* fs,                          
                  rtems_rfs_ino          parent,                      
                  rtems_rfs_ino          target,                      
                  uint32_t               doff,                        
                  rtems_rfs_unlink_dir   dir_mode)                    
{                                                                     
   5dcaa:	262e 0008      	movel %fp@(8),%d3                           <== NOT EXECUTED
  rtems_rfs_inode_handle target_inode;                                
  uint16_t               links;                                       
  bool                   dir;                                         
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                       
   5dcae:	45f9 0005 2ef8 	lea 52ef8 <rtems_rfs_trace>,%a2             <== NOT EXECUTED
   5dcb4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
rtems_rfs_unlink (rtems_rfs_file_system* fs,                          
                  rtems_rfs_ino          parent,                      
                  rtems_rfs_ino          target,                      
                  uint32_t               doff,                        
                  rtems_rfs_unlink_dir   dir_mode)                    
{                                                                     
   5dcb6:	2a2e 0010      	movel %fp@(16),%d5                          <== NOT EXECUTED
  rtems_rfs_inode_handle target_inode;                                
  uint16_t               links;                                       
  bool                   dir;                                         
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                       
   5dcba:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5dcbc:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5dcbe:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5dcc0:	6674           	bnes 5dd36 <rtems_rfs_unlink+0x9a>          <== NOT EXECUTED
    printf ("rtems-rfs: unlink: parent(%" PRIu32 ") -X-> (%" PRIu32 ")\n", parent, target);
                                                                      
  rc = rtems_rfs_inode_open (fs, target, &target_inode, true);        
   5dcc2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5dcc6:	280e           	movel %fp,%d4                               <== NOT EXECUTED
   5dcc8:	0684 ffff ffda 	addil #-38,%d4                              <== NOT EXECUTED
   5dcce:	47f9 0005 12b4 	lea 512b4 <rtems_rfs_inode_open>,%a3        <== NOT EXECUTED
   5dcd4:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5dcd6:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5dcd8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dcda:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc)                                                             
   5dcdc:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                       
    printf ("rtems-rfs: unlink: parent(%" PRIu32 ") -X-> (%" PRIu32 ")\n", parent, target);
                                                                      
  rc = rtems_rfs_inode_open (fs, target, &target_inode, true);        
   5dce0:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   5dce2:	6646           	bnes 5dd2a <rtems_rfs_unlink+0x8e>          <== NOT EXECUTED
                                                                      
  /*                                                                  
   * If a directory process the unlink mode.                          
   */                                                                 
                                                                      
  dir = RTEMS_RFS_S_ISDIR (rtems_rfs_inode_get_mode (&target_inode)); 
   5dce4:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 * @return uint16_t The mode.                                         
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_mode (rtems_rfs_inode_handle* handle)             
{                                                                     
  return rtems_rfs_read_u16 (&handle->node->mode);                    
   5dce8:	4281           	clrl %d1                                    <== NOT EXECUTED
   5dcea:	1228 0002      	moveb %a0@(2),%d1                           <== NOT EXECUTED
   5dcee:	e189           	lsll #8,%d1                                 <== NOT EXECUTED
   5dcf0:	0281 0000 f000 	andil #61440,%d1                            <== NOT EXECUTED
   5dcf6:	0c81 0000 4000 	cmpil #16384,%d1                            <== NOT EXECUTED
   5dcfc:	57c7           	seq %d7                                     <== NOT EXECUTED
   5dcfe:	4487           	negl %d7                                    <== NOT EXECUTED
  if (dir)                                                            
   5dd00:	4a07           	tstb %d7                                    <== NOT EXECUTED
   5dd02:	6756           	beqs 5dd5a <rtems_rfs_unlink+0xbe>          <== NOT EXECUTED
  {                                                                   
    switch (dir_mode)                                                 
   5dd04:	4aae 0018      	tstl %fp@(24)                               <== NOT EXECUTED
   5dd08:	6646           	bnes 5dd50 <rtems_rfs_unlink+0xb4>          <== NOT EXECUTED
    {                                                                 
      case rtems_rfs_unlink_dir_denied:                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                 
   5dd0a:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5dd10:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5dd12:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5dd14:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5dd16:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5dd18:	6600 014c      	bnew 5de66 <rtems_rfs_unlink+0x1ca>         <== NOT EXECUTED
          printf ("rtems-rfs: link is a directory\n");                
        rtems_rfs_inode_close (fs, &target_inode);                    
   5dd1c:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
        return EISDIR;                                                
   5dd1e:	7415           	moveq #21,%d2                               <== NOT EXECUTED
    switch (dir_mode)                                                 
    {                                                                 
      case rtems_rfs_unlink_dir_denied:                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                 
          printf ("rtems-rfs: link is a directory\n");                
        rtems_rfs_inode_close (fs, &target_inode);                    
   5dd20:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dd22:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5dd28:	508f           	addql #8,%sp                                <== NOT EXECUTED
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))           
    printf ("rtems-rfs: link: target inode-close failed: %d: %s\n",   
            rc, strerror (rc));                                       
                                                                      
  return rc;                                                          
}                                                                     
   5dd2a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5dd2c:	4cee 0cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a3           <== NOT EXECUTED
   5dd32:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5dd34:	4e75           	rts                                         <== NOT EXECUTED
  uint16_t               links;                                       
  bool                   dir;                                         
  int                    rc;                                          
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                       
    printf ("rtems-rfs: unlink: parent(%" PRIu32 ") -X-> (%" PRIu32 ")\n", parent, target);
   5dd36:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5dd38:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5dd3c:	4879 0007 33af 	pea 733af <CSWTCH.2+0x12e7>                 <== NOT EXECUTED
   5dd42:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5dd48:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5dd4c:	6000 ff74      	braw 5dcc2 <rtems_rfs_unlink+0x26>          <== NOT EXECUTED
   */                                                                 
                                                                      
  dir = RTEMS_RFS_S_ISDIR (rtems_rfs_inode_get_mode (&target_inode)); 
  if (dir)                                                            
  {                                                                   
    switch (dir_mode)                                                 
   5dd50:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5dd52:	b0ae 0018      	cmpl %fp@(24),%d0                           <== NOT EXECUTED
   5dd56:	6700 00c0      	beqw 5de18 <rtems_rfs_unlink+0x17c>         <== NOT EXECUTED
      default:                                                        
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
   5dd5a:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5dd5e:	2c0e           	movel %fp,%d6                               <== NOT EXECUTED
   5dd60:	0686 ffff ffb4 	addil #-76,%d6                              <== NOT EXECUTED
   5dd66:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5dd68:	2f2e 000c      	movel %fp@(12),%sp@-                        <== NOT EXECUTED
   5dd6c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dd6e:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc)                                                             
   5dd70:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
      default:                                                        
        break;                                                        
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
   5dd74:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc)                                                             
   5dd76:	664e           	bnes 5ddc6 <rtems_rfs_unlink+0x12a>         <== NOT EXECUTED
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_dir_del_entry (fs, &parent_inode, target, doff);     
   5dd78:	2f2e 0014      	movel %fp@(20),%sp@-                        <== NOT EXECUTED
   5dd7c:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5dd7e:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5dd80:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dd82:	4eb9 0005 b36a 	jsr 5b36a <rtems_rfs_dir_del_entry>         <== NOT EXECUTED
  if (rc > 0)                                                         
   5dd88:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_dir_del_entry (fs, &parent_inode, target, doff);     
   5dd8c:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5dd8e:	6f00 00f6      	blew 5de86 <rtems_rfs_unlink+0x1ea>         <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
   5dd92:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5dd98:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5dd9a:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5dd9c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5dd9e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5dda0:	6600 019e      	bnew 5df40 <rtems_rfs_unlink+0x2a4>         <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: inode-time-stamp failed: %d: %s\n",   
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &parent_inode);                        
   5dda4:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5dda6:	45f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a2       <== NOT EXECUTED
   5ddac:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5ddae:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                        
   5ddb0:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5ddb2:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5ddb4:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5ddb6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))           
    printf ("rtems-rfs: link: target inode-close failed: %d: %s\n",   
            rc, strerror (rc));                                       
                                                                      
  return rc;                                                          
}                                                                     
   5ddba:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5ddbc:	4cee 0cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a3           <== NOT EXECUTED
   5ddc2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ddc4:	4e75           	rts                                         <== NOT EXECUTED
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
  if (rc)                                                             
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
   5ddc6:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5ddcc:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5ddce:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5ddd0:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5ddd2:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5ddd4:	6618           	bnes 5ddee <rtems_rfs_unlink+0x152>         <== NOT EXECUTED
      printf ("rtems-rfs: link: inode-open failed: %d: %s\n",         
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
   5ddd6:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5ddd8:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5ddda:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5dde0:	508f           	addql #8,%sp                                <== NOT EXECUTED
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))           
    printf ("rtems-rfs: link: target inode-close failed: %d: %s\n",   
            rc, strerror (rc));                                       
                                                                      
  return rc;                                                          
}                                                                     
   5dde2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5dde4:	4cee 0cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a3           <== NOT EXECUTED
   5ddea:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5ddec:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_open (fs, parent, &parent_inode, true);        
  if (rc)                                                             
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: inode-open failed: %d: %s\n",         
   5ddee:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ddf0:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5ddf6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5ddf8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5ddfa:	4879 0007 3417 	pea 73417 <CSWTCH.2+0x134f>                 <== NOT EXECUTED
   5de00:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5de06:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
   5de0a:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5de0c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5de0e:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5de14:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5de16:	60ca           	bras 5dde2 <rtems_rfs_unlink+0x146>         <== NOT EXECUTED
          printf ("rtems-rfs: link is a directory\n");                
        rtems_rfs_inode_close (fs, &target_inode);                    
        return EISDIR;                                                
                                                                      
      case rtems_rfs_unlink_dir_if_empty:                             
        rc = rtems_rfs_dir_empty (fs, &target_inode);                 
   5de18:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5de1a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5de1c:	4eb9 0005 bbfa 	jsr 5bbfa <rtems_rfs_dir_empty>             <== NOT EXECUTED
        if (rc > 0)                                                   
   5de22:	508f           	addql #8,%sp                                <== NOT EXECUTED
          printf ("rtems-rfs: link is a directory\n");                
        rtems_rfs_inode_close (fs, &target_inode);                    
        return EISDIR;                                                
                                                                      
      case rtems_rfs_unlink_dir_if_empty:                             
        rc = rtems_rfs_dir_empty (fs, &target_inode);                 
   5de24:	2400           	movel %d0,%d2                               <== NOT EXECUTED
        if (rc > 0)                                                   
   5de26:	6f00 ff32      	blew 5dd5a <rtems_rfs_unlink+0xbe>          <== NOT EXECUTED
        {                                                             
          if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))               
   5de2a:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5de30:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5de32:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5de34:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5de36:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5de38:	679c           	beqs 5ddd6 <rtems_rfs_unlink+0x13a>         <== NOT EXECUTED
            printf ("rtems-rfs: dir-empty: %d: %s\n", rc, strerror (rc));
   5de3a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5de3c:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5de42:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5de44:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5de46:	4879 0007 33f9 	pea 733f9 <CSWTCH.2+0x1331>                 <== NOT EXECUTED
   5de4c:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5de52:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  if (rc)                                                             
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: inode-open failed: %d: %s\n",         
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
   5de56:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5de58:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5de5a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5de60:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5de62:	6000 ff7e      	braw 5dde2 <rtems_rfs_unlink+0x146>         <== NOT EXECUTED
  {                                                                   
    switch (dir_mode)                                                 
    {                                                                 
      case rtems_rfs_unlink_dir_denied:                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                 
          printf ("rtems-rfs: link is a directory\n");                
   5de66:	4879 0007 33da 	pea 733da <CSWTCH.2+0x1312>                 <== NOT EXECUTED
        rtems_rfs_inode_close (fs, &target_inode);                    
        return EISDIR;                                                
   5de6c:	7415           	moveq #21,%d2                               <== NOT EXECUTED
  {                                                                   
    switch (dir_mode)                                                 
    {                                                                 
      case rtems_rfs_unlink_dir_denied:                               
        if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                 
          printf ("rtems-rfs: link is a directory\n");                
   5de6e:	4eb9 0006 193c 	jsr 6193c <puts>                            <== NOT EXECUTED
   5de74:	588f           	addql #4,%sp                                <== NOT EXECUTED
        rtems_rfs_inode_close (fs, &target_inode);                    
   5de76:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5de78:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5de7a:	4eb9 0005 14a2 	jsr 514a2 <rtems_rfs_inode_close>           <== NOT EXECUTED
   5de80:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5de82:	6000 fea6      	braw 5dd2a <rtems_rfs_unlink+0x8e>          <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                        
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  links = rtems_rfs_inode_get_links (&target_inode);                  
   5de86:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   5de8a:	4280           	clrl %d0                                    <== NOT EXECUTED
   5de8c:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   5de8e:	4281           	clrl %d1                                    <== NOT EXECUTED
   5de90:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
  if (links == 0xffff)                                                
   5de94:	4282           	clrl %d2                                    <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   5de96:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5de98:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  if (links == 0xffff)                                                
   5de9a:	3400           	movew %d0,%d2                               <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   5de9c:	2640           	moveal %d0,%a3                              <== NOT EXECUTED
  if (links == 0xffff)                                                
   5de9e:	0c82 0000 ffff 	cmpil #65535,%d2                            <== NOT EXECUTED
   5dea4:	6700 00e8      	beqw 5df8e <rtems_rfs_unlink+0x2f2>         <== NOT EXECUTED
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                       
   5dea8:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5deae:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5deb0:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5deb2:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5deb4:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5deb6:	6600 00be      	bnew 5df76 <rtems_rfs_unlink+0x2da>         <== NOT EXECUTED
    printf ("rtems-rfs: unlink: target:%" PRIu32 " links:%u\n", target, links);
                                                                      
  if (links > 1)                                                      
   5deba:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
   5debc:	ba82           	cmpl %d2,%d5                                <== NOT EXECUTED
   5debe:	6400 0144      	bccw 5e004 <rtems_rfs_unlink+0x368>         <== NOT EXECUTED
  {                                                                   
    links--;                                                          
   5dec2:	200b           	movel %a3,%d0                               <== NOT EXECUTED
   5dec4:	5380           	subql #1,%d0                                <== NOT EXECUTED
 * @prarm links The links.                                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->links, links);                  
   5dec6:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5dec8:	e089           	lsrl #8,%d1                                 <== NOT EXECUTED
   5deca:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   5dece:	1081           	moveb %d1,%a0@                              <== NOT EXECUTED
   5ded0:	206e ffe6      	moveal %fp@(-26),%a0                        <== NOT EXECUTED
   5ded4:	1140 0001      	moveb %d0,%a0@(1)                           <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5ded8:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   5deda:	1d40 ffea      	moveb %d0,%fp@(-22)                         <== NOT EXECUTED
        links--;                                                      
      rtems_rfs_inode_set_links (&parent_inode, links);               
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);    
   5dede:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5dee2:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   5dee6:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5dee8:	4eb9 0005 1672 	jsr 51672 <rtems_rfs_inode_time_stamp_now>  <== NOT EXECUTED
  if (rc > 0)                                                         
   5deee:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
        links--;                                                      
      rtems_rfs_inode_set_links (&parent_inode, links);               
    }                                                                 
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);    
   5def2:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5def4:	6f00 00b0      	blew 5dfa6 <rtems_rfs_unlink+0x30a>         <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
   5def8:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5defe:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5df00:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5df02:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5df04:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5df06:	6700 fe9c      	beqw 5dda4 <rtems_rfs_unlink+0x108>         <== NOT EXECUTED
      printf ("rtems-rfs: link: inode-time-stamp failed: %d: %s\n",   
   5df0a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &parent_inode);                        
   5df0c:	45f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a2       <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_time_stamp_now (&parent_inode, true, true);    
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: inode-time-stamp failed: %d: %s\n",   
   5df12:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5df18:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5df1a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5df1c:	4879 0007 34c3 	pea 734c3 <CSWTCH.2+0x13fb>                 <== NOT EXECUTED
   5df22:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5df28:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &parent_inode);                        
   5df2c:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5df2e:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5df30:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                        
   5df32:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5df34:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5df36:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5df38:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5df3c:	6000 fe7c      	braw 5ddba <rtems_rfs_unlink+0x11e>         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_dir_del_entry (fs, &parent_inode, target, doff);     
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: unlink: dir-del failed: %d: %s\n",          
   5df40:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: inode-time-stamp failed: %d: %s\n",   
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &parent_inode);                        
   5df42:	45f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a2       <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_dir_del_entry (fs, &parent_inode, target, doff);     
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: unlink: dir-del failed: %d: %s\n",          
   5df48:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5df4e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5df50:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5df52:	4879 0007 3443 	pea 73443 <CSWTCH.2+0x137b>                 <== NOT EXECUTED
   5df58:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5df5e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: inode-time-stamp failed: %d: %s\n",   
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &parent_inode);                        
   5df62:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5df64:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5df66:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                        
   5df68:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5df6a:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5df6c:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5df6e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5df72:	6000 fe46      	braw 5ddba <rtems_rfs_unlink+0x11e>         <== NOT EXECUTED
  }                                                                   
                                                                      
  links = rtems_rfs_inode_get_links (&target_inode);                  
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                       
    printf ("rtems-rfs: unlink: target:%" PRIu32 " links:%u\n", target, links);
   5df76:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5df78:	2f05           	movel %d5,%sp@-                             <== NOT EXECUTED
   5df7a:	4879 0007 346e 	pea 7346e <CSWTCH.2+0x13a6>                 <== NOT EXECUTED
   5df80:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5df86:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   5df8a:	6000 ff2e      	braw 5deba <rtems_rfs_unlink+0x21e>         <== NOT EXECUTED
    return rc;                                                        
  }                                                                   
                                                                      
  links = rtems_rfs_inode_get_links (&target_inode);                  
                                                                      
  if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                       
   5df8e:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5df94:	4242           	clrw %d2                                    <== NOT EXECUTED
   5df96:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
  if (links == 0xffff)                                                
    links = 0;                                                        
   5df98:	97cb           	subal %a3,%a3                               <== NOT EXECUTED
   5df9a:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5df9c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5df9e:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5dfa0:	6700 ff18      	beqw 5deba <rtems_rfs_unlink+0x21e>         <== NOT EXECUTED
   5dfa4:	60d0           	bras 5df76 <rtems_rfs_unlink+0x2da>         <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                        
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &parent_inode);                     
   5dfa6:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5dfa8:	47f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a3       <== NOT EXECUTED
   5dfae:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dfb0:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  if (rc > 0)                                                         
   5dfb2:	508f           	addql #8,%sp                                <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &parent_inode);                        
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &parent_inode);                     
   5dfb4:	2400           	movel %d0,%d2                               <== NOT EXECUTED
  if (rc > 0)                                                         
   5dfb6:	6f00 00a6      	blew 5e05e <rtems_rfs_unlink+0x3c2>         <== NOT EXECUTED
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
   5dfba:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5dfc0:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5dfc2:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5dfc4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5dfc6:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5dfc8:	6614           	bnes 5dfde <rtems_rfs_unlink+0x342>         <== NOT EXECUTED
      printf ("rtems-rfs: link: parent inode-close failed: %d: %s\n", 
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
   5dfca:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5dfcc:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dfce:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5dfd0:	508f           	addql #8,%sp                                <== NOT EXECUTED
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))           
    printf ("rtems-rfs: link: target inode-close failed: %d: %s\n",   
            rc, strerror (rc));                                       
                                                                      
  return rc;                                                          
}                                                                     
   5dfd2:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5dfd4:	4cee 0cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a3           <== NOT EXECUTED
   5dfda:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5dfdc:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  rc = rtems_rfs_inode_close (fs, &parent_inode);                     
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: parent inode-close failed: %d: %s\n", 
   5dfde:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dfe0:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5dfe6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5dfe8:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5dfea:	4879 0007 34f5 	pea 734f5 <CSWTCH.2+0x142d>                 <== NOT EXECUTED
   5dff0:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5dff6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
   5dffa:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5dffc:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5dffe:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   5e000:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e002:	60ce           	bras 5dfd2 <rtems_rfs_unlink+0x336>         <== NOT EXECUTED
  else                                                                
  {                                                                   
    /*                                                                
     * Erasing the inode releases all blocks attached to it.          
     */                                                               
    rc = rtems_rfs_inode_delete (fs, &target_inode);                  
   5e004:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e006:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e008:	4eb9 0005 153c 	jsr 5153c <rtems_rfs_inode_delete>          <== NOT EXECUTED
    if (rc > 0)                                                       
   5e00e:	508f           	addql #8,%sp                                <== NOT EXECUTED
  else                                                                
  {                                                                   
    /*                                                                
     * Erasing the inode releases all blocks attached to it.          
     */                                                               
    rc = rtems_rfs_inode_delete (fs, &target_inode);                  
   5e010:	2400           	movel %d0,%d2                               <== NOT EXECUTED
    if (rc > 0)                                                       
   5e012:	6f00 0092      	blew 5e0a6 <rtems_rfs_unlink+0x40a>         <== NOT EXECUTED
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                   
   5e016:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5e01c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e01e:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5e020:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e022:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5e024:	6700 fd7e      	beqw 5dda4 <rtems_rfs_unlink+0x108>         <== NOT EXECUTED
        printf ("rtems-rfs: unlink: inode-del failed: %d: %s\n",      
   5e028:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: inode-time-stamp failed: %d: %s\n",   
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &parent_inode);                        
   5e02a:	45f9 0005 14a2 	lea 514a2 <rtems_rfs_inode_close>,%a2       <== NOT EXECUTED
     */                                                               
    rc = rtems_rfs_inode_delete (fs, &target_inode);                  
    if (rc > 0)                                                       
    {                                                                 
      if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                   
        printf ("rtems-rfs: unlink: inode-del failed: %d: %s\n",      
   5e030:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5e036:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e038:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e03a:	4879 0007 3496 	pea 73496 <CSWTCH.2+0x13ce>                 <== NOT EXECUTED
   5e040:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5e046:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
  if (rc > 0)                                                         
  {                                                                   
    if (rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))                     
      printf ("rtems-rfs: link: inode-time-stamp failed: %d: %s\n",   
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &parent_inode);                        
   5e04a:	2f06           	movel %d6,%sp@-                             <== NOT EXECUTED
   5e04c:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e04e:	4e92           	jsr %a2@                                    <== NOT EXECUTED
    rtems_rfs_inode_close (fs, &target_inode);                        
   5e050:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e052:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e054:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5e056:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   5e05a:	6000 fd5e      	braw 5ddba <rtems_rfs_unlink+0x11e>         <== NOT EXECUTED
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &target_inode);                     
   5e05e:	2f04           	movel %d4,%sp@-                             <== NOT EXECUTED
   5e060:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   5e062:	4e93           	jsr %a3@                                    <== NOT EXECUTED
                                                                      
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))           
   5e064:	508f           	addql #8,%sp                                <== NOT EXECUTED
              rc, strerror (rc));                                     
    rtems_rfs_inode_close (fs, &target_inode);                        
    return rc;                                                        
  }                                                                   
                                                                      
  rc = rtems_rfs_inode_close (fs, &target_inode);                     
   5e066:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  if ((rc > 0) && rtems_rfs_trace (RTEMS_RFS_TRACE_UNLINK))           
   5e068:	6f00 fcc0      	blew 5dd2a <rtems_rfs_unlink+0x8e>          <== NOT EXECUTED
   5e06c:	2f3c 0200 0000 	movel #33554432,%sp@-                       <== NOT EXECUTED
   5e072:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   5e074:	4e92           	jsr %a2@                                    <== NOT EXECUTED
   5e076:	508f           	addql #8,%sp                                <== NOT EXECUTED
   5e078:	4a00           	tstb %d0                                    <== NOT EXECUTED
   5e07a:	6700 fcae      	beqw 5dd2a <rtems_rfs_unlink+0x8e>          <== NOT EXECUTED
    printf ("rtems-rfs: link: target inode-close failed: %d: %s\n",   
   5e07e:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e080:	4eb9 0006 2630 	jsr 62630 <strerror>                        <== NOT EXECUTED
   5e086:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   5e088:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   5e08a:	4879 0007 3529 	pea 73529 <CSWTCH.2+0x1461>                 <== NOT EXECUTED
   5e090:	4eb9 0006 16ec 	jsr 616ec <printf>                          <== NOT EXECUTED
   5e096:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            rc, strerror (rc));                                       
                                                                      
  return rc;                                                          
}                                                                     
   5e09a:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   5e09c:	4cee 0cfc ff94 	moveml %fp@(-108),%d2-%d7/%a2-%a3           <== NOT EXECUTED
   5e0a2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   5e0a4:	4e75           	rts                                         <== NOT EXECUTED
      rtems_rfs_inode_close (fs, &parent_inode);                      
      rtems_rfs_inode_close (fs, &target_inode);                      
      return rc;                                                      
    }                                                                 
                                                                      
    if (dir)                                                          
   5e0a6:	4a07           	tstb %d7                                    <== NOT EXECUTED
   5e0a8:	6700 fe34      	beqw 5dede <rtems_rfs_unlink+0x242>         <== NOT EXECUTED
    {                                                                 
      links = rtems_rfs_inode_get_links (&parent_inode);              
   5e0ac:	206e ffc0      	moveal %fp@(-64),%a0                        <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   5e0b0:	4280           	clrl %d0                                    <== NOT EXECUTED
   5e0b2:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   5e0b4:	4281           	clrl %d1                                    <== NOT EXECUTED
   5e0b6:	1228 0001      	moveb %a0@(1),%d1                           <== NOT EXECUTED
  if (links == 0xffff)                                                
   5e0ba:	4282           	clrl %d2                                    <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   5e0bc:	e188           	lsll #8,%d0                                 <== NOT EXECUTED
   5e0be:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
  if (links == 0xffff)                                                
   5e0c0:	3400           	movew %d0,%d2                               <== NOT EXECUTED
 */                                                                   
static inline uint16_t                                                
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
   5e0c2:	3200           	movew %d0,%d1                               <== NOT EXECUTED
  if (links == 0xffff)                                                
   5e0c4:	0c82 0000 ffff 	cmpil #65535,%d2                            <== NOT EXECUTED
   5e0ca:	6724           	beqs 5e0f0 <rtems_rfs_unlink+0x454>         <== NOT EXECUTED
      if (links > 1)                                                  
   5e0cc:	7a01           	moveq #1,%d5                                <== NOT EXECUTED
   5e0ce:	ba82           	cmpl %d2,%d5                                <== NOT EXECUTED
   5e0d0:	6408           	bccs 5e0da <rtems_rfs_unlink+0x43e>         <== NOT EXECUTED
        links--;                                                      
   5e0d2:	2200           	movel %d0,%d1                               <== NOT EXECUTED
   5e0d4:	5381           	subql #1,%d1                                <== NOT EXECUTED
   5e0d6:	4282           	clrl %d2                                    <== NOT EXECUTED
   5e0d8:	3401           	movew %d1,%d2                               <== NOT EXECUTED
 * @prarm links The links.                                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->links, links);                  
   5e0da:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
   5e0dc:	1082           	moveb %d2,%a0@                              <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5e0de:	7001           	moveq #1,%d0                                <== NOT EXECUTED
 * @prarm links The links.                                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->links, links);                  
   5e0e0:	206e ffc0      	moveal %fp@(-64),%a0                        <== NOT EXECUTED
   5e0e4:	1141 0001      	moveb %d1,%a0@(1)                           <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5e0e8:	1d40 ffc4      	moveb %d0,%fp@(-60)                         <== NOT EXECUTED
   5e0ec:	6000 fdf0      	braw 5dede <rtems_rfs_unlink+0x242>         <== NOT EXECUTED
   5e0f0:	4282           	clrl %d2                                    <== NOT EXECUTED
 * @prarm links The links.                                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->links, links);                  
   5e0f2:	e08a           	lsrl #8,%d2                                 <== NOT EXECUTED
   5e0f4:	1082           	moveb %d2,%a0@                              <== NOT EXECUTED
rtems_rfs_inode_get_links (rtems_rfs_inode_handle* handle)            
{                                                                     
  uint16_t links;                                                     
  links = rtems_rfs_read_u16 (&handle->node->links);                  
  if (links == 0xffff)                                                
    links = 0;                                                        
   5e0f6:	4241           	clrw %d1                                    <== NOT EXECUTED
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->links, links);                  
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5e0f8:	7001           	moveq #1,%d0                                <== NOT EXECUTED
 * @prarm links The links.                                            
 */                                                                   
static inline void                                                    
rtems_rfs_inode_set_links (rtems_rfs_inode_handle* handle, uint16_t links)
{                                                                     
  rtems_rfs_write_u16 (&handle->node->links, links);                  
   5e0fa:	206e ffc0      	moveal %fp@(-64),%a0                        <== NOT EXECUTED
   5e0fe:	1141 0001      	moveb %d1,%a0@(1)                           <== NOT EXECUTED
  rtems_rfs_buffer_mark_dirty (&handle->buffer);                      
   5e102:	1d40 ffc4      	moveb %d0,%fp@(-60)                         <== NOT EXECUTED
   5e106:	6000 fdd6      	braw 5dede <rtems_rfs_unlink+0x242>         <== NOT EXECUTED
                                                                      

00047194 <rtems_semaphore_create>: uint32_t count, rtems_attribute attribute_set, rtems_task_priority priority_ceiling, rtems_id *id ) {
   47194:	4e56 ffe8      	linkw %fp,#-24                              
   47198:	2f0a           	movel %a2,%sp@-                             
   4719a:	2f02           	movel %d2,%sp@-                             
  register Semaphore_Control *the_semaphore;                          
  CORE_mutex_Attributes       the_mutex_attr;                         
  CORE_semaphore_Attributes   the_semaphore_attr;                     
  CORE_mutex_Status           mutex_status;                           
                                                                      
  if ( !rtems_is_name_valid( name ) )                                 
   4719c:	4aae 0008      	tstl %fp@(8)                                
   471a0:	660e           	bnes 471b0 <rtems_semaphore_create+0x1c>    
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   471a2:	242e ffe0      	movel %fp@(-32),%d2                         
  CORE_mutex_Attributes       the_mutex_attr;                         
  CORE_semaphore_Attributes   the_semaphore_attr;                     
  CORE_mutex_Status           mutex_status;                           
                                                                      
  if ( !rtems_is_name_valid( name ) )                                 
    return RTEMS_INVALID_NAME;                                        
   471a6:	7003           	moveq #3,%d0                                
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   471a8:	246e ffe4      	moveal %fp@(-28),%a2                        
   471ac:	4e5e           	unlk %fp                                    
   471ae:	4e75           	rts                                         
  CORE_mutex_Status           mutex_status;                           
                                                                      
  if ( !rtems_is_name_valid( name ) )                                 
    return RTEMS_INVALID_NAME;                                        
                                                                      
  if ( !id )                                                          
   471b0:	4aae 0018      	tstl %fp@(24)                               
   471b4:	6726           	beqs 471dc <rtems_semaphore_create+0x48>    
 *    id       - semaphore id                                         
 *    RTEMS_SUCCESSFUL - if successful                                
 *    error code - if unsuccessful                                    
 */                                                                   
                                                                      
rtems_status_code rtems_semaphore_create(                             
   471b6:	202e 0010      	movel %fp@(16),%d0                          
   471ba:	0280 0000 00c0 	andil #192,%d0                              
      return RTEMS_NOT_DEFINED;                                       
                                                                      
  } else                                                              
#endif                                                                
                                                                      
  if ( _Attributes_Is_inherit_priority( attribute_set ) ||            
   471c0:	6728           	beqs 471ea <rtems_semaphore_create+0x56>    
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Attributes_Is_binary_semaphore(            
  rtems_attribute attribute_set                                       
)                                                                     
{                                                                     
  return ((attribute_set & RTEMS_SEMAPHORE_CLASS) == RTEMS_BINARY_SEMAPHORE);
   471c2:	7230           	moveq #48,%d1                               
              _Attributes_Is_priority_ceiling( attribute_set ) ) {    
                                                                      
    if ( ! (_Attributes_Is_binary_semaphore( attribute_set ) &&       
   471c4:	7410           	moveq #16,%d2                               
   471c6:	c2ae 0010      	andl %fp@(16),%d1                           
   471ca:	b481           	cmpl %d1,%d2                                
   471cc:	673a           	beqs 47208 <rtems_semaphore_create+0x74>    
            _Attributes_Is_priority( attribute_set ) ) )              
      return RTEMS_NOT_DEFINED;                                       
   471ce:	700b           	moveq #11,%d0                               
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   471d0:	242e ffe0      	movel %fp@(-32),%d2                         
   471d4:	246e ffe4      	moveal %fp@(-28),%a2                        
   471d8:	4e5e           	unlk %fp                                    
   471da:	4e75           	rts                                         
   471dc:	242e ffe0      	movel %fp@(-32),%d2                         
                                                                      
  if ( !rtems_is_name_valid( name ) )                                 
    return RTEMS_INVALID_NAME;                                        
                                                                      
  if ( !id )                                                          
    return RTEMS_INVALID_ADDRESS;                                     
   471e0:	7009           	moveq #9,%d0                                
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   471e2:	246e ffe4      	moveal %fp@(-28),%a2                        
   471e6:	4e5e           	unlk %fp                                    
   471e8:	4e75           	rts                                         
 */                                                                   
RTEMS_INLINE_ROUTINE bool _Attributes_Is_counting_semaphore(          
  rtems_attribute attribute_set                                       
)                                                                     
{                                                                     
  return ((attribute_set & RTEMS_SEMAPHORE_CLASS) == RTEMS_COUNTING_SEMAPHORE);
   471ea:	7430           	moveq #48,%d2                               
   471ec:	c4ae 0010      	andl %fp@(16),%d2                           
                                                                      
  if ( _Attributes_Is_inherit_priority( attribute_set ) &&            
       _Attributes_Is_priority_ceiling( attribute_set ) )             
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( !_Attributes_Is_counting_semaphore( attribute_set ) && ( count > 1 ) )
   471f0:	672a           	beqs 4721c <rtems_semaphore_create+0x88>    
   471f2:	7001           	moveq #1,%d0                                
   471f4:	b0ae 000c      	cmpl %fp@(12),%d0                           
   471f8:	6422           	bccs 4721c <rtems_semaphore_create+0x88>    
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   471fa:	242e ffe0      	movel %fp@(-32),%d2                         
  if ( _Attributes_Is_inherit_priority( attribute_set ) &&            
       _Attributes_Is_priority_ceiling( attribute_set ) )             
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( !_Attributes_Is_counting_semaphore( attribute_set ) && ( count > 1 ) )
    return RTEMS_INVALID_NUMBER;                                      
   471fe:	700a           	moveq #10,%d0                               
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   47200:	246e ffe4      	moveal %fp@(-28),%a2                        
   47204:	4e5e           	unlk %fp                                    
   47206:	4e75           	rts                                         
#endif                                                                
                                                                      
  if ( _Attributes_Is_inherit_priority( attribute_set ) ||            
              _Attributes_Is_priority_ceiling( attribute_set ) ) {    
                                                                      
    if ( ! (_Attributes_Is_binary_semaphore( attribute_set ) &&       
   47208:	222e 0010      	movel %fp@(16),%d1                          
   4720c:	44c1           	movew %d1,%ccr                              
   4720e:	66be           	bnes 471ce <rtems_semaphore_create+0x3a>    
            _Attributes_Is_priority( attribute_set ) ) )              
      return RTEMS_NOT_DEFINED;                                       
                                                                      
  }                                                                   
                                                                      
  if ( _Attributes_Is_inherit_priority( attribute_set ) &&            
   47210:	0c80 0000 00c0 	cmpil #192,%d0                              
   47216:	66da           	bnes 471f2 <rtems_semaphore_create+0x5e>    
  if ( _Attributes_Is_inherit_priority( attribute_set ) ||            
              _Attributes_Is_priority_ceiling( attribute_set ) ) {    
                                                                      
    if ( ! (_Attributes_Is_binary_semaphore( attribute_set ) &&       
            _Attributes_Is_priority( attribute_set ) ) )              
      return RTEMS_NOT_DEFINED;                                       
   47218:	700b           	moveq #11,%d0                               
   4721a:	60b4           	bras 471d0 <rtems_semaphore_create+0x3c>    
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   4721c:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0
                                                                      
    ++level;                                                          
   47222:	5280           	addql #1,%d0                                
    _Thread_Dispatch_disable_level = level;                           
   47224:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level>
 *  This function allocates a semaphore control block from            
 *  the inactive chain of free semaphore control blocks.              
 */                                                                   
RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Allocate( void )   
{                                                                     
  return (Semaphore_Control *) _Objects_Allocate( &_Semaphore_Information );
   4722a:	4879 0005 f938 	pea 5f938 <_Semaphore_Information>          
   47230:	4eb9 0004 89e4 	jsr 489e4 <_Objects_Allocate>               
                                                                      
  _Thread_Disable_dispatch();             /* prevents deletion */     
                                                                      
  the_semaphore = _Semaphore_Allocate();                              
                                                                      
  if ( !the_semaphore ) {                                             
   47236:	588f           	addql #4,%sp                                
   47238:	2440           	moveal %d0,%a2                              
   4723a:	4a80           	tstl %d0                                    
   4723c:	6700 00e2      	beqw 47320 <rtems_semaphore_create+0x18c>   
    _Thread_Enable_dispatch();                                        
    return RTEMS_TOO_MANY;                                            
  }                                                                   
#endif                                                                
                                                                      
  the_semaphore->attribute_set = attribute_set;                       
   47240:	222e 0010      	movel %fp@(16),%d1                          
   47244:	2541 0010      	movel %d1,%a2@(16)                          
                                                                      
  /*                                                                  
   *  Initialize it as a counting semaphore.                          
   */                                                                 
  if ( _Attributes_Is_counting_semaphore( attribute_set ) ) {         
   47248:	4a82           	tstl %d2                                    
   4724a:	6668           	bnes 472b4 <rtems_semaphore_create+0x120>   
     *  The following are just to make Purify happy.                  
     */                                                               
    the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_ACQUIRES;
    the_mutex_attr.priority_ceiling = PRIORITY_MINIMUM;               
                                                                      
    _CORE_semaphore_Initialize(                                       
   4724c:	2f2e 000c      	movel %fp@(12),%sp@-                        
   */                                                                 
  if ( _Attributes_Is_counting_semaphore( attribute_set ) ) {         
    /*                                                                
     *  This effectively disables limit checking.                     
     */                                                               
    the_semaphore_attr.maximum_count = 0xFFFFFFFF;                    
   47250:	74ff           	moveq #-1,%d2                               
     *  The following are just to make Purify happy.                  
     */                                                               
    the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_ACQUIRES;
    the_mutex_attr.priority_ceiling = PRIORITY_MINIMUM;               
                                                                      
    _CORE_semaphore_Initialize(                                       
   47252:	486e ffea      	pea %fp@(-22)                               
   47256:	486a 0014      	pea %a2@(20)                                
     *  This effectively disables limit checking.                     
     */                                                               
    the_semaphore_attr.maximum_count = 0xFFFFFFFF;                    
                                                                      
    if ( _Attributes_Is_priority( attribute_set ) )                   
      the_semaphore_attr.discipline = CORE_SEMAPHORE_DISCIPLINES_PRIORITY;
   4725a:	44c1           	movew %d1,%ccr                              
   4725c:	56c0           	sne %d0                                     
   */                                                                 
  if ( _Attributes_Is_counting_semaphore( attribute_set ) ) {         
    /*                                                                
     *  This effectively disables limit checking.                     
     */                                                               
    the_semaphore_attr.maximum_count = 0xFFFFFFFF;                    
   4725e:	2d42 ffea      	movel %d2,%fp@(-22)                         
                                                                      
    if ( _Attributes_Is_priority( attribute_set ) )                   
      the_semaphore_attr.discipline = CORE_SEMAPHORE_DISCIPLINES_PRIORITY;
   47262:	49c0           	extbl %d0                                   
   47264:	5280           	addql #1,%d0                                
      the_semaphore_attr.discipline = CORE_SEMAPHORE_DISCIPLINES_FIFO;
                                                                      
    /*                                                                
     *  The following are just to make Purify happy.                  
     */                                                               
    the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_ACQUIRES;
   47266:	42ae fff2      	clrl %fp@(-14)                              
     *  This effectively disables limit checking.                     
     */                                                               
    the_semaphore_attr.maximum_count = 0xFFFFFFFF;                    
                                                                      
    if ( _Attributes_Is_priority( attribute_set ) )                   
      the_semaphore_attr.discipline = CORE_SEMAPHORE_DISCIPLINES_PRIORITY;
   4726a:	2d40 ffee      	movel %d0,%fp@(-18)                         
                                                                      
    /*                                                                
     *  The following are just to make Purify happy.                  
     */                                                               
    the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_ACQUIRES;
    the_mutex_attr.priority_ceiling = PRIORITY_MINIMUM;               
   4726e:	42ae fffc      	clrl %fp@(-4)                               
                                                                      
    _CORE_semaphore_Initialize(                                       
   47272:	4eb9 0004 83a4 	jsr 483a4 <_CORE_semaphore_Initialize>      
   47278:	4fef 000c      	lea %sp@(12),%sp                            
  Objects_Name         name                                           
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
    information,                                                      
    _Objects_Get_index( the_object->id ),                             
   4727c:	202a 0008      	movel %a2@(8),%d0                           
  Objects_Information *information,                                   
  Objects_Control     *the_object,                                    
  Objects_Name         name                                           
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
   47280:	2200           	movel %d0,%d1                               
  #if defined(RTEMS_DEBUG)                                            
    if ( index > information->maximum )                               
      return;                                                         
  #endif                                                              
                                                                      
  information->local_table[ index ] = the_object;                     
   47282:	2079 0005 f950 	moveal 5f950 <_Semaphore_Information+0x18>,%a0
  Objects_Information *information,                                   
  Objects_Control     *the_object,                                    
  Objects_Name         name                                           
)                                                                     
{                                                                     
  _Objects_Set_local_object(                                          
   47288:	0281 0000 ffff 	andil #65535,%d1                            
    information,                                                      
    _Objects_Get_index( the_object->id ),                             
    the_object                                                        
  );                                                                  
                                                                      
  the_object->name = name;                                            
   4728e:	242e 0008      	movel %fp@(8),%d2                           
  #if defined(RTEMS_DEBUG)                                            
    if ( index > information->maximum )                               
      return;                                                         
  #endif                                                              
                                                                      
  information->local_table[ index ] = the_object;                     
   47292:	218a 1c00      	movel %a2,%a0@(00000000,%d1:l:4)            
    &_Semaphore_Information,                                          
    &the_semaphore->Object,                                           
    (Objects_Name) name                                               
  );                                                                  
                                                                      
  *id = the_semaphore->Object.id;                                     
   47296:	206e 0018      	moveal %fp@(24),%a0                         
    information,                                                      
    _Objects_Get_index( the_object->id ),                             
    the_object                                                        
  );                                                                  
                                                                      
  the_object->name = name;                                            
   4729a:	2542 000c      	movel %d2,%a2@(12)                          
   4729e:	2080           	movel %d0,%a0@                              
      the_semaphore->Object.id,                                       
      name,                                                           
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
   472a0:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   472a6:	242e ffe0      	movel %fp@(-32),%d2                         
      name,                                                           
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
   472aa:	4280           	clrl %d0                                    
}                                                                     
   472ac:	246e ffe4      	moveal %fp@(-28),%a2                        
   472b0:	4e5e           	unlk %fp                                    
   472b2:	4e75           	rts                                         
    /*                                                                
     *  It is either simple binary semaphore or a more powerful mutex 
     *  style binary semaphore.  This is the mutex style.             
     */                                                               
    if ( _Attributes_Is_priority( attribute_set ) )                   
      the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY;    
   472b4:	202e 0010      	movel %fp@(16),%d0                          
    else                                                              
      the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_FIFO;        
                                                                      
    if ( _Attributes_Is_binary_semaphore( attribute_set ) ) {         
   472b8:	7210           	moveq #16,%d1                               
    /*                                                                
     *  It is either simple binary semaphore or a more powerful mutex 
     *  style binary semaphore.  This is the mutex style.             
     */                                                               
    if ( _Attributes_Is_priority( attribute_set ) )                   
      the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY;    
   472ba:	44c0           	movew %d0,%ccr                              
   472bc:	56c0           	sne %d0                                     
   472be:	49c0           	extbl %d0                                   
   472c0:	5280           	addql #1,%d0                                
   472c2:	2d40 fff8      	movel %d0,%fp@(-8)                          
    else                                                              
      the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_FIFO;        
                                                                      
    if ( _Attributes_Is_binary_semaphore( attribute_set ) ) {         
   472c6:	b282           	cmpl %d2,%d1                                
   472c8:	676a           	beqs 47334 <rtems_semaphore_create+0x1a0>   
          the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING;
          the_mutex_attr.only_owner_release = true;                   
        }                                                             
      }                                                               
    } else /* must be simple binary semaphore */ {                    
      the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_BLOCKS;
   472ca:	7201           	moveq #1,%d1                                
      the_mutex_attr.only_owner_release = false;                      
   472cc:	4202           	clrb %d2                                    
          the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING;
          the_mutex_attr.only_owner_release = true;                   
        }                                                             
      }                                                               
    } else /* must be simple binary semaphore */ {                    
      the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_BLOCKS;
   472ce:	2d41 fff2      	movel %d1,%fp@(-14)                         
      the_mutex_attr.only_owner_release = false;                      
   472d2:	1d42 fff6      	moveb %d2,%fp@(-10)                         
    }                                                                 
                                                                      
    mutex_status = _CORE_mutex_Initialize(                            
   472d6:	7001           	moveq #1,%d0                                
   472d8:	b0ae 000c      	cmpl %fp@(12),%d0                           
   472dc:	57c0           	seq %d0                                     
   472de:	49c0           	extbl %d0                                   
   472e0:	4480           	negl %d0                                    
   472e2:	2f00           	movel %d0,%sp@-                             
   472e4:	486e fff2      	pea %fp@(-14)                               
   472e8:	486a 0014      	pea %a2@(20)                                
   472ec:	4eb9 0004 8024 	jsr 48024 <_CORE_mutex_Initialize>          
      &the_semaphore->Core_control.mutex,                             
      &the_mutex_attr,                                                
      (count == 1) ? CORE_MUTEX_UNLOCKED : CORE_MUTEX_LOCKED          
    );                                                                
                                                                      
    if ( mutex_status == CORE_MUTEX_STATUS_CEILING_VIOLATED ) {       
   472f2:	4fef 000c      	lea %sp@(12),%sp                            
   472f6:	7205           	moveq #5,%d1                                
   472f8:	b280           	cmpl %d0,%d1                                
   472fa:	6680           	bnes 4727c <rtems_semaphore_create+0xe8>    
 */                                                                   
RTEMS_INLINE_ROUTINE void _Semaphore_Free (                           
  Semaphore_Control *the_semaphore                                    
)                                                                     
{                                                                     
  _Objects_Free( &_Semaphore_Information, &the_semaphore->Object );   
   472fc:	2f0a           	movel %a2,%sp@-                             
   472fe:	4879 0005 f938 	pea 5f938 <_Semaphore_Information>          
   47304:	4eb9 0004 8d5c 	jsr 48d5c <_Objects_Free>                   
      _Semaphore_Free( the_semaphore );                               
      _Thread_Enable_dispatch();                                      
   4730a:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   47310:	242e ffe0      	movel %fp@(-32),%d2                         
      (count == 1) ? CORE_MUTEX_UNLOCKED : CORE_MUTEX_LOCKED          
    );                                                                
                                                                      
    if ( mutex_status == CORE_MUTEX_STATUS_CEILING_VIOLATED ) {       
      _Semaphore_Free( the_semaphore );                               
      _Thread_Enable_dispatch();                                      
   47314:	508f           	addql #8,%sp                                
      return RTEMS_INVALID_PRIORITY;                                  
   47316:	7013           	moveq #19,%d0                               
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   47318:	246e ffe4      	moveal %fp@(-28),%a2                        
   4731c:	4e5e           	unlk %fp                                    
   4731e:	4e75           	rts                                         
  _Thread_Disable_dispatch();             /* prevents deletion */     
                                                                      
  the_semaphore = _Semaphore_Allocate();                              
                                                                      
  if ( !the_semaphore ) {                                             
    _Thread_Enable_dispatch();                                        
   47320:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   47326:	242e ffe0      	movel %fp@(-32),%d2                         
                                                                      
  the_semaphore = _Semaphore_Allocate();                              
                                                                      
  if ( !the_semaphore ) {                                             
    _Thread_Enable_dispatch();                                        
    return RTEMS_TOO_MANY;                                            
   4732a:	7005           	moveq #5,%d0                                
      0                          /* Not used */                       
    );                                                                
#endif                                                                
  _Thread_Enable_dispatch();                                          
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4732c:	246e ffe4      	moveal %fp@(-28),%a2                        
   47330:	4e5e           	unlk %fp                                    
   47332:	4e75           	rts                                         
    else                                                              
      the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_FIFO;        
                                                                      
    if ( _Attributes_Is_binary_semaphore( attribute_set ) ) {         
      the_mutex_attr.priority_ceiling      = priority_ceiling;        
      the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_ACQUIRES;
   47334:	42ae fff2      	clrl %fp@(-14)                              
      the_mutex_attr.only_owner_release    = false;                   
                                                                      
      if ( the_mutex_attr.discipline == CORE_MUTEX_DISCIPLINES_PRIORITY ) {
   47338:	7001           	moveq #1,%d0                                
      the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_FIFO;        
                                                                      
    if ( _Attributes_Is_binary_semaphore( attribute_set ) ) {         
      the_mutex_attr.priority_ceiling      = priority_ceiling;        
      the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_ACQUIRES;
      the_mutex_attr.only_owner_release    = false;                   
   4733a:	4202           	clrb %d2                                    
      the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY;    
    else                                                              
      the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_FIFO;        
                                                                      
    if ( _Attributes_Is_binary_semaphore( attribute_set ) ) {         
      the_mutex_attr.priority_ceiling      = priority_ceiling;        
   4733c:	2d6e 0014 fffc 	movel %fp@(20),%fp@(-4)                     
      the_mutex_attr.lock_nesting_behavior = CORE_MUTEX_NESTING_ACQUIRES;
      the_mutex_attr.only_owner_release    = false;                   
   47342:	1d42 fff6      	moveb %d2,%fp@(-10)                         
                                                                      
      if ( the_mutex_attr.discipline == CORE_MUTEX_DISCIPLINES_PRIORITY ) {
   47346:	b0ae fff8      	cmpl %fp@(-8),%d0                           
   4734a:	668a           	bnes 472d6 <rtems_semaphore_create+0x142>   
        if ( _Attributes_Is_inherit_priority( attribute_set ) ) {     
   4734c:	222e 0010      	movel %fp@(16),%d1                          
   47350:	0801 0006      	btst #6,%d1                                 
   47354:	670e           	beqs 47364 <rtems_semaphore_create+0x1d0>   
          the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT;
   47356:	7402           	moveq #2,%d2                                
   47358:	2d42 fff8      	movel %d2,%fp@(-8)                          
          the_mutex_attr.only_owner_release = true;                   
   4735c:	1d40 fff6      	moveb %d0,%fp@(-10)                         
   47360:	6000 ff74      	braw 472d6 <rtems_semaphore_create+0x142>   
        } else if ( _Attributes_Is_priority_ceiling( attribute_set ) ) {
   47364:	222e 0010      	movel %fp@(16),%d1                          
   47368:	4a01           	tstb %d1                                    
   4736a:	6c00 ff6a      	bgew 472d6 <rtems_semaphore_create+0x142>   
          the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING;
   4736e:	7403           	moveq #3,%d2                                
          the_mutex_attr.only_owner_release = true;                   
   47370:	7001           	moveq #1,%d0                                
      if ( the_mutex_attr.discipline == CORE_MUTEX_DISCIPLINES_PRIORITY ) {
        if ( _Attributes_Is_inherit_priority( attribute_set ) ) {     
          the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT;
          the_mutex_attr.only_owner_release = true;                   
        } else if ( _Attributes_Is_priority_ceiling( attribute_set ) ) {
          the_mutex_attr.discipline = CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING;
   47372:	2d42 fff8      	movel %d2,%fp@(-8)                          
          the_mutex_attr.only_owner_release = true;                   
   47376:	1d40 fff6      	moveb %d0,%fp@(-10)                         
   4737a:	6000 ff5a      	braw 472d6 <rtems_semaphore_create+0x142>   
	...                                                                  
                                                                      

00047380 <rtems_semaphore_delete>: #endif rtems_status_code rtems_semaphore_delete( rtems_id id ) {
   47380:	4e56 fffc      	linkw %fp,#-4                               
   47384:	2f0a           	movel %a2,%sp@-                             
RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get (              
  Objects_Id         id,                                              
  Objects_Locations *location                                         
)                                                                     
{                                                                     
  return (Semaphore_Control *)                                        
   47386:	486e fffc      	pea %fp@(-4)                                
   4738a:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4738e:	4879 0005 f938 	pea 5f938 <_Semaphore_Information>          
   47394:	4eb9 0004 8edc 	jsr 48edc <_Objects_Get>                    
  register Semaphore_Control *the_semaphore;                          
  Objects_Locations           location;                               
                                                                      
  the_semaphore = _Semaphore_Get( id, &location );                    
  switch ( location ) {                                               
   4739a:	4fef 000c      	lea %sp@(12),%sp                            
   4739e:	2440           	moveal %d0,%a2                              
   473a0:	4aae fffc      	tstl %fp@(-4)                               
   473a4:	6624           	bnes 473ca <rtems_semaphore_delete+0x4a>    
   473a6:	7030           	moveq #48,%d0                               
   473a8:	c0aa 0010      	andl %a2@(16),%d0                           
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( !_Attributes_Is_counting_semaphore(the_semaphore->attribute_set) ) {
   473ac:	6726           	beqs 473d4 <rtems_semaphore_delete+0x54>    
        if ( _CORE_mutex_Is_locked( &the_semaphore->Core_control.mutex ) &&
   473ae:	4aaa 0062      	tstl %a2@(98)                               
   473b2:	6664           	bnes 47418 <rtems_semaphore_delete+0x98>    
   473b4:	7220           	moveq #32,%d1                               
   473b6:	b280           	cmpl %d0,%d1                                
   473b8:	675e           	beqs 47418 <rtems_semaphore_delete+0x98>    
             !_Attributes_Is_simple_binary_semaphore(                 
                 the_semaphore->attribute_set ) ) {                   
          _Thread_Enable_dispatch();                                  
   473ba:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   473c0:	246e fff8      	moveal %fp@(-8),%a2                         
      if ( !_Attributes_Is_counting_semaphore(the_semaphore->attribute_set) ) {
        if ( _CORE_mutex_Is_locked( &the_semaphore->Core_control.mutex ) &&
             !_Attributes_Is_simple_binary_semaphore(                 
                 the_semaphore->attribute_set ) ) {                   
          _Thread_Enable_dispatch();                                  
          return RTEMS_RESOURCE_IN_USE;                               
   473c4:	700c           	moveq #12,%d0                               
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   473c6:	4e5e           	unlk %fp                                    
   473c8:	4e75           	rts                                         
   473ca:	246e fff8      	moveal %fp@(-8),%a2                         
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   473ce:	7004           	moveq #4,%d0                                
}                                                                     
   473d0:	4e5e           	unlk %fp                                    
   473d2:	4e75           	rts                                         
          &the_semaphore->Core_control.mutex,                         
          SEMAPHORE_MP_OBJECT_WAS_DELETED,                            
          CORE_MUTEX_WAS_DELETED                                      
        );                                                            
      } else {                                                        
        _CORE_semaphore_Flush(                                        
   473d4:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   473d8:	42a7           	clrl %sp@-                                  
   473da:	486a 0014      	pea %a2@(20)                                
   473de:	4eb9 0004 8398 	jsr 48398 <_CORE_semaphore_Flush>           
   473e4:	4fef 000c      	lea %sp@(12),%sp                            
          SEMAPHORE_MP_OBJECT_WAS_DELETED,                            
          CORE_SEMAPHORE_WAS_DELETED                                  
        );                                                            
     }                                                                
                                                                      
      _Objects_Close( &_Semaphore_Information, &the_semaphore->Object );
   473e8:	2f0a           	movel %a2,%sp@-                             
   473ea:	4879 0005 f938 	pea 5f938 <_Semaphore_Information>          
   473f0:	4eb9 0004 8a74 	jsr 48a74 <_Objects_Close>                  
 */                                                                   
RTEMS_INLINE_ROUTINE void _Semaphore_Free (                           
  Semaphore_Control *the_semaphore                                    
)                                                                     
{                                                                     
  _Objects_Free( &_Semaphore_Information, &the_semaphore->Object );   
   473f6:	2f0a           	movel %a2,%sp@-                             
   473f8:	4879 0005 f938 	pea 5f938 <_Semaphore_Information>          
   473fe:	4eb9 0004 8d5c 	jsr 48d5c <_Objects_Free>                   
          0,                         /* Not used */                   
          0                          /* Not used */                   
        );                                                            
      }                                                               
#endif                                                                
      _Thread_Enable_dispatch();                                      
   47404:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
   4740a:	4fef 0010      	lea %sp@(16),%sp                            
      return RTEMS_SUCCESSFUL;                                        
   4740e:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   47410:	246e fff8      	moveal %fp@(-8),%a2                         
   47414:	4e5e           	unlk %fp                                    
   47416:	4e75           	rts                                         
             !_Attributes_Is_simple_binary_semaphore(                 
                 the_semaphore->attribute_set ) ) {                   
          _Thread_Enable_dispatch();                                  
          return RTEMS_RESOURCE_IN_USE;                               
        }                                                             
        _CORE_mutex_Flush(                                            
   47418:	4878 0003      	pea 3 <DIVIDE>                              
   4741c:	42a7           	clrl %sp@-                                  
   4741e:	486a 0014      	pea %a2@(20)                                
   47422:	4eb9 0004 8018 	jsr 48018 <_CORE_mutex_Flush>               
   47428:	4fef 000c      	lea %sp@(12),%sp                            
          SEMAPHORE_MP_OBJECT_WAS_DELETED,                            
          CORE_SEMAPHORE_WAS_DELETED                                  
        );                                                            
     }                                                                
                                                                      
      _Objects_Close( &_Semaphore_Information, &the_semaphore->Object );
   4742c:	2f0a           	movel %a2,%sp@-                             
   4742e:	4879 0005 f938 	pea 5f938 <_Semaphore_Information>          
   47434:	4eb9 0004 8a74 	jsr 48a74 <_Objects_Close>                  
   4743a:	2f0a           	movel %a2,%sp@-                             
   4743c:	4879 0005 f938 	pea 5f938 <_Semaphore_Information>          
   47442:	4eb9 0004 8d5c 	jsr 48d5c <_Objects_Free>                   
          0,                         /* Not used */                   
          0                          /* Not used */                   
        );                                                            
      }                                                               
#endif                                                                
      _Thread_Enable_dispatch();                                      
   47448:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
   4744e:	4fef 0010      	lea %sp@(16),%sp                            
      return RTEMS_SUCCESSFUL;                                        
   47452:	4280           	clrl %d0                                    
   47454:	60ba           	bras 47410 <rtems_semaphore_delete+0x90>    
	...                                                                  
                                                                      

000507cc <rtems_semaphore_flush>: #endif rtems_status_code rtems_semaphore_flush( rtems_id id ) {
   507cc:	4e56 fffc      	linkw %fp,#-4                               
   507d0:	486e fffc      	pea %fp@(-4)                                
   507d4:	2f2e 0008      	movel %fp@(8),%sp@-                         
   507d8:	4879 0006 3f1c 	pea 63f1c <_Semaphore_Information>          
   507de:	4eb9 0004 a840 	jsr 4a840 <_Objects_Get>                    
  register Semaphore_Control *the_semaphore;                          
  Objects_Locations           location;                               
                                                                      
  the_semaphore = _Semaphore_Get( id, &location );                    
  switch ( location ) {                                               
   507e4:	4fef 000c      	lea %sp@(12),%sp                            
   507e8:	4aae fffc      	tstl %fp@(-4)                               
   507ec:	662a           	bnes 50818 <rtems_semaphore_flush+0x4c>     
   507ee:	7230           	moveq #48,%d1                               
   507f0:	2040           	moveal %d0,%a0                              
   507f2:	c2a8 0010      	andl %a0@(16),%d1                           
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( !_Attributes_Is_counting_semaphore(the_semaphore->attribute_set) ) {
   507f6:	6726           	beqs 5081e <rtems_semaphore_flush+0x52>     
        _CORE_mutex_Flush(                                            
   507f8:	4878 0001      	pea 1 <ADD>                                 
   507fc:	42a7           	clrl %sp@-                                  
   507fe:	4868 0014      	pea %a0@(20)                                
   50802:	4eb9 0004 997c 	jsr 4997c <_CORE_mutex_Flush>               
   50808:	4fef 000c      	lea %sp@(12),%sp                            
          &the_semaphore->Core_control.semaphore,                     
          SEND_OBJECT_WAS_DELETED,                                    
          CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT                    
        );                                                            
      }                                                               
      _Thread_Enable_dispatch();                                      
   5080c:	4eb9 0004 b5b0 	jsr 4b5b0 <_Thread_Enable_dispatch>         
      return RTEMS_SUCCESSFUL;                                        
   50812:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   50814:	4e5e           	unlk %fp                                    
   50816:	4e75           	rts                                         
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   50818:	7004           	moveq #4,%d0                                
}                                                                     
   5081a:	4e5e           	unlk %fp                                    
   5081c:	4e75           	rts                                         
          &the_semaphore->Core_control.mutex,                         
          SEND_OBJECT_WAS_DELETED,                                    
          CORE_MUTEX_STATUS_UNSATISFIED_NOWAIT                        
        );                                                            
      } else {                                                        
        _CORE_semaphore_Flush(                                        
   5081e:	4878 0001      	pea 1 <ADD>                                 
   50822:	2040           	moveal %d0,%a0                              
   50824:	42a7           	clrl %sp@-                                  
   50826:	4868 0014      	pea %a0@(20)                                
   5082a:	4eb9 0004 9cfc 	jsr 49cfc <_CORE_semaphore_Flush>           
   50830:	4fef 000c      	lea %sp@(12),%sp                            
          &the_semaphore->Core_control.semaphore,                     
          SEND_OBJECT_WAS_DELETED,                                    
          CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT                    
        );                                                            
      }                                                               
      _Thread_Enable_dispatch();                                      
   50834:	4eb9 0004 b5b0 	jsr 4b5b0 <_Thread_Enable_dispatch>         
      return RTEMS_SUCCESSFUL;                                        
   5083a:	4280           	clrl %d0                                    
   5083c:	60d6           	bras 50814 <rtems_semaphore_flush+0x48>     
	...                                                                  
                                                                      

00047458 <rtems_semaphore_obtain>: rtems_status_code rtems_semaphore_obtain( rtems_id id, rtems_option option_set, rtems_interval timeout ) {
   47458:	4e56 fff8      	linkw %fp,#-8                               
   4745c:	2f02           	movel %d2,%sp@-                             
  Objects_Id         id,                                              
  Objects_Locations *location,                                        
  ISR_Level         *level                                            
)                                                                     
{                                                                     
  return (Semaphore_Control *)                                        
   4745e:	486e fffc      	pea %fp@(-4)                                
   47462:	486e fff8      	pea %fp@(-8)                                
   47466:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4746a:	4879 0005 f938 	pea 5f938 <_Semaphore_Information>          
   47470:	4eb9 0004 8e74 	jsr 48e74 <_Objects_Get_isr_disable>        
  register Semaphore_Control     *the_semaphore;                      
  Objects_Locations               location;                           
  ISR_Level                       level;                              
                                                                      
  the_semaphore = _Semaphore_Get_interrupt_disable( id, &location, &level );
  switch ( location ) {                                               
   47476:	4fef 0010      	lea %sp@(16),%sp                            
   4747a:	4aae fff8      	tstl %fp@(-8)                               
   4747e:	6650           	bnes 474d0 <rtems_semaphore_obtain+0x78>    
   47480:	7230           	moveq #48,%d1                               
   47482:	2040           	moveal %d0,%a0                              
   47484:	c2a8 0010      	andl %a0@(16),%d1                           
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( !_Attributes_Is_counting_semaphore(the_semaphore->attribute_set) ) {
   47488:	6650           	bnes 474da <rtems_semaphore_obtain+0x82>    
        return _Semaphore_Translate_core_mutex_return_code(           
                  _Thread_Executing->Wait.return_code );              
      }                                                               
                                                                      
      /* must be a counting semaphore */                              
      _CORE_semaphore_Seize_isr_disable(                              
   4748a:	222e 000c      	movel %fp@(12),%d1                          
   4748e:	0801 0000      	btst #0,%d1                                 
   47492:	6700 00a6      	beqw 4753a <rtems_semaphore_obtain+0xe2>    
                                                                      
  /* disabled when you get here */                                    
                                                                      
  executing = _Thread_Executing;                                      
  executing->Wait.return_code = CORE_SEMAPHORE_STATUS_SUCCESSFUL;     
  if ( the_semaphore->count != 0 ) {                                  
   47496:	2240           	moveal %d0,%a1                              
{                                                                     
  Thread_Control *executing;                                          
                                                                      
  /* disabled when you get here */                                    
                                                                      
  executing = _Thread_Executing;                                      
   47498:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
  executing->Wait.return_code = CORE_SEMAPHORE_STATUS_SUCCESSFUL;     
  if ( the_semaphore->count != 0 ) {                                  
   4749e:	2229 005c      	movel %a1@(92),%d1                          
  Thread_Control *executing;                                          
                                                                      
  /* disabled when you get here */                                    
                                                                      
  executing = _Thread_Executing;                                      
  executing->Wait.return_code = CORE_SEMAPHORE_STATUS_SUCCESSFUL;     
   474a2:	42a8 0034      	clrl %a0@(52)                               
  if ( the_semaphore->count != 0 ) {                                  
   474a6:	4a81           	tstl %d1                                    
   474a8:	666e           	bnes 47518 <rtems_semaphore_obtain+0xc0>    
    _ISR_Enable( *level_p );                                          
    return;                                                           
  }                                                                   
                                                                      
  if ( !wait ) {                                                      
    _ISR_Enable( *level_p );                                          
   474aa:	202e fffc      	movel %fp@(-4),%d0                          
   474ae:	46c0           	movew %d0,%sr                               
    executing->Wait.return_code = CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT;
   474b0:	7001           	moveq #1,%d0                                
   474b2:	2140 0034      	movel %d0,%a0@(52)                          
        ((_Options_Is_no_wait( option_set )) ? false : true),         
        timeout,                                                      
        &level                                                        
      );                                                              
      return _Semaphore_Translate_core_semaphore_return_code(         
                  _Thread_Executing->Wait.return_code );              
   474b6:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
        id,                                                           
        ((_Options_Is_no_wait( option_set )) ? false : true),         
        timeout,                                                      
        &level                                                        
      );                                                              
      return _Semaphore_Translate_core_semaphore_return_code(         
   474bc:	2f28 0034      	movel %a0@(52),%sp@-                        
   474c0:	4eb9 0004 765a 	jsr 4765a <_Semaphore_Translate_core_semaphore_return_code>
   474c6:	588f           	addql #4,%sp                                
      break;                                                          
                                                                      
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   474c8:	242e fff4      	movel %fp@(-12),%d2                         
   474cc:	4e5e           	unlk %fp                                    
   474ce:	4e75           	rts                                         
   474d0:	242e fff4      	movel %fp@(-12),%d2                         
    case OBJECTS_ERROR:                                               
      break;                                                          
                                                                      
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   474d4:	7004           	moveq #4,%d0                                
}                                                                     
   474d6:	4e5e           	unlk %fp                                    
   474d8:	4e75           	rts                                         
  the_semaphore = _Semaphore_Get_interrupt_disable( id, &location, &level );
  switch ( location ) {                                               
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( !_Attributes_Is_counting_semaphore(the_semaphore->attribute_set) ) {
        _CORE_mutex_Seize(                                            
   474da:	2f2e fffc      	movel %fp@(-4),%sp@-                        
   474de:	7401           	moveq #1,%d2                                
   474e0:	222e 000c      	movel %fp@(12),%d1                          
   474e4:	4681           	notl %d1                                    
   474e6:	2f2e 0010      	movel %fp@(16),%sp@-                        
   474ea:	c481           	andl %d1,%d2                                
   474ec:	2f02           	movel %d2,%sp@-                             
   474ee:	2f2e 0008      	movel %fp@(8),%sp@-                         
   474f2:	4868 0014      	pea %a0@(20)                                
   474f6:	4eb9 0004 81ac 	jsr 481ac <_CORE_mutex_Seize>               
          ((_Options_Is_no_wait( option_set )) ? false : true),       
          timeout,                                                    
          level                                                       
        );                                                            
        return _Semaphore_Translate_core_mutex_return_code(           
                  _Thread_Executing->Wait.return_code );              
   474fc:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
          id,                                                         
          ((_Options_Is_no_wait( option_set )) ? false : true),       
          timeout,                                                    
          level                                                       
        );                                                            
        return _Semaphore_Translate_core_mutex_return_code(           
   47502:	2f28 0034      	movel %a0@(52),%sp@-                        
   47506:	4eb9 0004 7644 	jsr 47644 <_Semaphore_Translate_core_mutex_return_code>
      break;                                                          
                                                                      
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   4750c:	242e fff4      	movel %fp@(-12),%d2                         
          id,                                                         
          ((_Options_Is_no_wait( option_set )) ? false : true),       
          timeout,                                                    
          level                                                       
        );                                                            
        return _Semaphore_Translate_core_mutex_return_code(           
   47510:	4fef 0018      	lea %sp@(24),%sp                            
      break;                                                          
                                                                      
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   47514:	4e5e           	unlk %fp                                    
   47516:	4e75           	rts                                         
  /* disabled when you get here */                                    
                                                                      
  executing = _Thread_Executing;                                      
  executing->Wait.return_code = CORE_SEMAPHORE_STATUS_SUCCESSFUL;     
  if ( the_semaphore->count != 0 ) {                                  
    the_semaphore->count -= 1;                                        
   47518:	5381           	subql #1,%d1                                
   4751a:	2040           	moveal %d0,%a0                              
   4751c:	2141 005c      	movel %d1,%a0@(92)                          
    _ISR_Enable( *level_p );                                          
   47520:	202e fffc      	movel %fp@(-4),%d0                          
   47524:	46c0           	movew %d0,%sr                               
        ((_Options_Is_no_wait( option_set )) ? false : true),         
        timeout,                                                      
        &level                                                        
      );                                                              
      return _Semaphore_Translate_core_semaphore_return_code(         
                  _Thread_Executing->Wait.return_code );              
   47526:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
        id,                                                           
        ((_Options_Is_no_wait( option_set )) ? false : true),         
        timeout,                                                      
        &level                                                        
      );                                                              
      return _Semaphore_Translate_core_semaphore_return_code(         
   4752c:	2f28 0034      	movel %a0@(52),%sp@-                        
   47530:	4eb9 0004 765a 	jsr 4765a <_Semaphore_Translate_core_semaphore_return_code>
   47536:	588f           	addql #4,%sp                                
   47538:	608e           	bras 474c8 <rtems_semaphore_obtain+0x70>    
                                                                      
  /* disabled when you get here */                                    
                                                                      
  executing = _Thread_Executing;                                      
  executing->Wait.return_code = CORE_SEMAPHORE_STATUS_SUCCESSFUL;     
  if ( the_semaphore->count != 0 ) {                                  
   4753a:	2240           	moveal %d0,%a1                              
{                                                                     
  Thread_Control *executing;                                          
                                                                      
  /* disabled when you get here */                                    
                                                                      
  executing = _Thread_Executing;                                      
   4753c:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
  executing->Wait.return_code = CORE_SEMAPHORE_STATUS_SUCCESSFUL;     
  if ( the_semaphore->count != 0 ) {                                  
   47542:	2229 005c      	movel %a1@(92),%d1                          
  Thread_Control *executing;                                          
                                                                      
  /* disabled when you get here */                                    
                                                                      
  executing = _Thread_Executing;                                      
  executing->Wait.return_code = CORE_SEMAPHORE_STATUS_SUCCESSFUL;     
   47546:	42a8 0034      	clrl %a0@(52)                               
  if ( the_semaphore->count != 0 ) {                                  
   4754a:	4a81           	tstl %d1                                    
   4754c:	66ca           	bnes 47518 <rtems_semaphore_obtain+0xc0>    
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   4754e:	2239 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d1
                                                                      
    ++level;                                                          
   47554:	5281           	addql #1,%d1                                
    _Thread_Dispatch_disable_level = level;                           
   47556:	23c1 0005 fa06 	movel %d1,5fa06 <_Thread_Dispatch_disable_level>
                                                                      
RTEMS_INLINE_ROUTINE void _Thread_queue_Enter_critical_section (      
  Thread_queue_Control *the_thread_queue                              
)                                                                     
{                                                                     
  the_thread_queue->sync_state = THREAD_BLOCKING_OPERATION_NOTHING_HAPPENED;
   4755c:	7201           	moveq #1,%d1                                
   4755e:	2240           	moveal %d0,%a1                              
    return;                                                           
  }                                                                   
                                                                      
  _Thread_Disable_dispatch();                                         
  _Thread_queue_Enter_critical_section( &the_semaphore->Wait_queue ); 
  executing->Wait.queue          = &the_semaphore->Wait_queue;        
   47560:	0680 0000 0014 	addil #20,%d0                               
   47566:	2341 0044      	movel %d1,%a1@(68)                          
  executing->Wait.id             = id;                                
   4756a:	222e 0008      	movel %fp@(8),%d1                           
    return;                                                           
  }                                                                   
                                                                      
  _Thread_Disable_dispatch();                                         
  _Thread_queue_Enter_critical_section( &the_semaphore->Wait_queue ); 
  executing->Wait.queue          = &the_semaphore->Wait_queue;        
   4756e:	2140 0044      	movel %d0,%a0@(68)                          
  executing->Wait.id             = id;                                
   47572:	2141 0020      	movel %d1,%a0@(32)                          
  _ISR_Enable( *level_p );                                            
   47576:	222e fffc      	movel %fp@(-4),%d1                          
   4757a:	46c1           	movew %d1,%sr                               
                                                                      
  _Thread_queue_Enqueue( &the_semaphore->Wait_queue, timeout );       
   4757c:	4879 0004 a4f0 	pea 4a4f0 <_Thread_queue_Timeout>           
   47582:	2f2e 0010      	movel %fp@(16),%sp@-                        
   47586:	2f00           	movel %d0,%sp@-                             
   47588:	4eb9 0004 a120 	jsr 4a120 <_Thread_queue_Enqueue_with_handler>
  _Thread_Enable_dispatch();                                          
   4758e:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
                  _Thread_Executing->Wait.return_code );              
   47594:	2079 0005 fb7e 	moveal 5fb7e <_Per_CPU_Information+0xe>,%a0 
   4759a:	4fef 000c      	lea %sp@(12),%sp                            
        id,                                                           
        ((_Options_Is_no_wait( option_set )) ? false : true),         
        timeout,                                                      
        &level                                                        
      );                                                              
      return _Semaphore_Translate_core_semaphore_return_code(         
   4759e:	2f28 0034      	movel %a0@(52),%sp@-                        
   475a2:	4eb9 0004 765a 	jsr 4765a <_Semaphore_Translate_core_semaphore_return_code>
   475a8:	588f           	addql #4,%sp                                
   475aa:	6000 ff1c      	braw 474c8 <rtems_semaphore_obtain+0x70>    
	...                                                                  
                                                                      

00061112 <rtems_shell_rfs_format>: const char* driver = NULL; int arg; memset (&config, 0, sizeof (rtems_rfs_format_config)); for (arg = 1; arg < argc; arg++)
   61112:	7201           	moveq #1,%d1                                <== NOT EXECUTED
  return 1;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_shell_rfs_format (int argc, char* argv[])                       
{                                                                     
   61114:	4e56 ffd4      	linkw %fp,#-44                              <== NOT EXECUTED
  rtems_rfs_format_config config;                                     
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
   61118:	4240           	clrw %d0                                    <== NOT EXECUTED
  return 1;                                                           
}                                                                     
                                                                      
int                                                                   
rtems_shell_rfs_format (int argc, char* argv[])                       
{                                                                     
   6111a:	48d7 0c1c      	moveml %d2-%d4/%a2-%a3,%sp@                 <== NOT EXECUTED
   6111e:	282e 0008      	movel %fp@(8),%d4                           <== NOT EXECUTED
   61122:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  rtems_rfs_format_config config;                                     
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
   61126:	3d40 fffe      	movew %d0,%fp@(-2)                          <== NOT EXECUTED
   6112a:	42ae ffea      	clrl %fp@(-22)                              <== NOT EXECUTED
   6112e:	42ae ffee      	clrl %fp@(-18)                              <== NOT EXECUTED
   61132:	42ae fff2      	clrl %fp@(-14)                              <== NOT EXECUTED
   61136:	42ae fff6      	clrl %fp@(-10)                              <== NOT EXECUTED
   6113a:	42ae fffa      	clrl %fp@(-6)                               <== NOT EXECUTED
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   6113e:	b284           	cmpl %d4,%d1                                <== NOT EXECUTED
   61140:	6c00 01ec      	bgew 6132e <rtems_shell_rfs_format+0x21c>   <== NOT EXECUTED
   61144:	7401           	moveq #1,%d2                                <== NOT EXECUTED
   61146:	4283           	clrl %d3                                    <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: inode percentage overhead needs an argument\n");
            return 1;                                                 
          }                                                           
          config.inode_overhead = strtoul (argv[arg], 0, 0);          
   61148:	47f9 0007 eeca 	lea 7eeca <strtoul>,%a3                     <== NOT EXECUTED
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
  {                                                                   
    if (argv[arg][0] == '-')                                          
   6114e:	2072 2c00      	moveal %a2@(00000000,%d2:l:4),%a0           <== NOT EXECUTED
   61152:	722d           	moveq #45,%d1                               <== NOT EXECUTED
   61154:	1010           	moveb %a0@,%d0                              <== NOT EXECUTED
   61156:	49c0           	extbl %d0                                   <== NOT EXECUTED
   61158:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   6115a:	6734           	beqs 61190 <rtems_shell_rfs_format+0x7e>    <== NOT EXECUTED
          return 1;                                                   
      }                                                               
    }                                                                 
    else                                                              
    {                                                                 
      if (!driver)                                                    
   6115c:	4a83           	tstl %d3                                    <== NOT EXECUTED
   6115e:	6600 0182      	bnew 612e2 <rtems_shell_rfs_format+0x1d0>   <== NOT EXECUTED
   61162:	2608           	movel %a0,%d3                               <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   61164:	5282           	addql #1,%d2                                <== NOT EXECUTED
   61166:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   61168:	6de4           	blts 6114e <rtems_shell_rfs_format+0x3c>    <== NOT EXECUTED
        return 1;                                                     
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if (!driver) {                                                      
   6116a:	4a83           	tstl %d3                                    <== NOT EXECUTED
   6116c:	6700 01c0      	beqw 6132e <rtems_shell_rfs_format+0x21c>   <== NOT EXECUTED
    printf ("error: no driver name provided\n");                      
    return 1;                                                         
  }                                                                   
                                                                      
  if (rtems_rfs_format (driver, &config) < 0)                         
   61170:	486e ffea      	pea %fp@(-22)                               <== NOT EXECUTED
   61174:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   61176:	4eb9 0006 ea04 	jsr 6ea04 <rtems_rfs_format>                <== NOT EXECUTED
   6117c:	508f           	addql #8,%sp                                <== NOT EXECUTED
   6117e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   61180:	6d00 017c      	bltw 612fe <rtems_shell_rfs_format+0x1ec>   <== NOT EXECUTED
    printf ("error: format of %s failed: %s\n",                       
            driver, strerror (errno));                                
    return 1;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
   61184:	4280           	clrl %d0                                    <== NOT EXECUTED
}                                                                     
   61186:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   6118c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   6118e:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
  {                                                                   
    if (argv[arg][0] == '-')                                          
    {                                                                 
      switch (argv[arg][1])                                           
   61190:	1028 0001      	moveb %a0@(1),%d0                           <== NOT EXECUTED
   61194:	0680 ffff ffb7 	addil #-73,%d0                              <== NOT EXECUTED
   6119a:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   611a0:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   611a2:	641c           	bccs 611c0 <rtems_shell_rfs_format+0xae>    <== NOT EXECUTED
          }                                                           
          config.inode_overhead = strtoul (argv[arg], 0, 0);          
          break;                                                      
                                                                      
        default:                                                      
          printf ("error: invalid option: %s\n", argv[arg]);          
   611a4:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   611a6:	4879 0009 47e5 	pea 947e5 <iMinorError+0x2f1>               <== NOT EXECUTED
   611ac:	4eb9 0007 b884 	jsr 7b884 <printf>                          <== NOT EXECUTED
   611b2:	508f           	addql #8,%sp                                <== NOT EXECUTED
          return 1;                                                   
   611b4:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            driver, strerror (errno));                                
    return 1;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   611b6:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   611bc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   611be:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
  {                                                                   
    if (argv[arg][0] == '-')                                          
    {                                                                 
      switch (argv[arg][1])                                           
   611c0:	303b 0a08      	movew %pc@(611ca <rtems_shell_rfs_format+0xb8>,%d0:l:2),%d0<== NOT EXECUTED
   611c4:	48c0           	extl %d0                                    <== NOT EXECUTED
   611c6:	4efb 0802      	jmp %pc@(611ca <rtems_shell_rfs_format+0xb8>,%d0:l)<== NOT EXECUTED
   611ca:	0106           	btst %d0,%d6                                <== NOT EXECUTED
   611cc:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611ce:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611d0:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611d2:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611d4:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611d6:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611d8:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611da:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611dc:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611de:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611e0:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611e2:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611e4:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611e6:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611e8:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611ea:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611ec:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611ee:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611f0:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611f2:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611f4:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611f6:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611f8:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611fa:	ffda           	.short 0xffda                               <== NOT EXECUTED
   611fc:	00e0           	.short 0x00e0                               <== NOT EXECUTED
   611fe:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61200:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61202:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61204:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61206:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61208:	ffda           	.short 0xffda                               <== NOT EXECUTED
   6120a:	00ba ffda ffda 	oril #-2424870,%d2                          <== NOT EXECUTED
   61210:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61212:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61214:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61216:	0094 ffda ffda 	oril #-2424870,%d4                          <== NOT EXECUTED
   6121c:	ffda           	.short 0xffda                               <== NOT EXECUTED
   6121e:	006e           	.short 0x006e                               <== NOT EXECUTED
   61220:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61222:	ffda           	.short 0xffda                               <== NOT EXECUTED
   61224:	005c           	.short 0x005c                               <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   61226:	5282           	addql #1,%d2                                <== NOT EXECUTED
    if (argv[arg][0] == '-')                                          
    {                                                                 
      switch (argv[arg][1])                                           
      {                                                               
        case 'v':                                                     
          config.verbose = true;                                      
   61228:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   6122a:	1d40 ffff      	moveb %d0,%fp@(-1)                          <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   6122e:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   61230:	6d00 ff1c      	bltw 6114e <rtems_shell_rfs_format+0x3c>    <== NOT EXECUTED
   61234:	6000 ff34      	braw 6116a <rtems_shell_rfs_format+0x58>    <== NOT EXECUTED
        case 'v':                                                     
          config.verbose = true;                                      
          break;                                                      
                                                                      
        case 's':                                                     
          arg++;                                                      
   61238:	5282           	addql #1,%d2                                <== NOT EXECUTED
          if (arg >= argc)                                            
   6123a:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   6123c:	6c00 0124      	bgew 61362 <rtems_shell_rfs_format+0x250>   <== NOT EXECUTED
          {                                                           
            printf ("error: block size needs an argument\n");         
            return 1;                                                 
          }                                                           
          config.block_size = strtoul (argv[arg], 0, 0);              
   61240:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   61242:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   61244:	2f32 2c00      	movel %a2@(00000000,%d2:l:4),%sp@-          <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   61248:	5282           	addql #1,%d2                                <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: block size needs an argument\n");         
            return 1;                                                 
          }                                                           
          config.block_size = strtoul (argv[arg], 0, 0);              
   6124a:	4e93           	jsr %a3@                                    <== NOT EXECUTED
          break;                                                      
   6124c:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: block size needs an argument\n");         
            return 1;                                                 
          }                                                           
          config.block_size = strtoul (argv[arg], 0, 0);              
   61250:	2d40 ffea      	movel %d0,%fp@(-22)                         <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   61254:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   61256:	6d00 fef6      	bltw 6114e <rtems_shell_rfs_format+0x3c>    <== NOT EXECUTED
   6125a:	6000 ff0e      	braw 6116a <rtems_shell_rfs_format+0x58>    <== NOT EXECUTED
        case 'I':                                                     
          config.initialise_inodes = true;                            
          break;                                                      
                                                                      
        case 'o':                                                     
          arg++;                                                      
   6125e:	5282           	addql #1,%d2                                <== NOT EXECUTED
          if (arg >= argc)                                            
   61260:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   61262:	6c00 0132      	bgew 61396 <rtems_shell_rfs_format+0x284>   <== NOT EXECUTED
          {                                                           
            printf ("error: inode percentage overhead needs an argument\n");
            return 1;                                                 
          }                                                           
          config.inode_overhead = strtoul (argv[arg], 0, 0);          
   61266:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   61268:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   6126a:	2f32 2c00      	movel %a2@(00000000,%d2:l:4),%sp@-          <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   6126e:	5282           	addql #1,%d2                                <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: inode percentage overhead needs an argument\n");
            return 1;                                                 
          }                                                           
          config.inode_overhead = strtoul (argv[arg], 0, 0);          
   61270:	4e93           	jsr %a3@                                    <== NOT EXECUTED
          break;                                                      
   61272:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: inode percentage overhead needs an argument\n");
            return 1;                                                 
          }                                                           
          config.inode_overhead = strtoul (argv[arg], 0, 0);          
   61276:	2d40 fff6      	movel %d0,%fp@(-10)                         <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   6127a:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   6127c:	6d00 fed0      	bltw 6114e <rtems_shell_rfs_format+0x3c>    <== NOT EXECUTED
   61280:	6000 fee8      	braw 6116a <rtems_shell_rfs_format+0x58>    <== NOT EXECUTED
          }                                                           
          config.group_blocks = strtoul (argv[arg], 0, 0);            
          break;                                                      
                                                                      
        case 'i':                                                     
          arg++;                                                      
   61284:	5282           	addql #1,%d2                                <== NOT EXECUTED
          if (arg >= argc)                                            
   61286:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   61288:	6c00 00f2      	bgew 6137c <rtems_shell_rfs_format+0x26a>   <== NOT EXECUTED
          {                                                           
            printf ("error: group inode count needs an argument\n");  
            return 1;                                                 
          }                                                           
          config.group_inodes = strtoul (argv[arg], 0, 0);            
   6128c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   6128e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   61290:	2f32 2c00      	movel %a2@(00000000,%d2:l:4),%sp@-          <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   61294:	5282           	addql #1,%d2                                <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: group inode count needs an argument\n");  
            return 1;                                                 
          }                                                           
          config.group_inodes = strtoul (argv[arg], 0, 0);            
   61296:	4e93           	jsr %a3@                                    <== NOT EXECUTED
          break;                                                      
   61298:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: group inode count needs an argument\n");  
            return 1;                                                 
          }                                                           
          config.group_inodes = strtoul (argv[arg], 0, 0);            
   6129c:	2d40 fff2      	movel %d0,%fp@(-14)                         <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   612a0:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   612a2:	6d00 feaa      	bltw 6114e <rtems_shell_rfs_format+0x3c>    <== NOT EXECUTED
   612a6:	6000 fec2      	braw 6116a <rtems_shell_rfs_format+0x58>    <== NOT EXECUTED
          }                                                           
          config.block_size = strtoul (argv[arg], 0, 0);              
          break;                                                      
                                                                      
        case 'b':                                                     
          arg++;                                                      
   612aa:	5282           	addql #1,%d2                                <== NOT EXECUTED
          if (arg >= argc)                                            
   612ac:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   612ae:	6c00 0098      	bgew 61348 <rtems_shell_rfs_format+0x236>   <== NOT EXECUTED
          {                                                           
            printf ("error: group block count needs an argument\n");  
            return 1;                                                 
          }                                                           
          config.group_blocks = strtoul (argv[arg], 0, 0);            
   612b2:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   612b4:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   612b6:	2f32 2c00      	movel %a2@(00000000,%d2:l:4),%sp@-          <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   612ba:	5282           	addql #1,%d2                                <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: group block count needs an argument\n");  
            return 1;                                                 
          }                                                           
          config.group_blocks = strtoul (argv[arg], 0, 0);            
   612bc:	4e93           	jsr %a3@                                    <== NOT EXECUTED
          break;                                                      
   612be:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
          if (arg >= argc)                                            
          {                                                           
            printf ("error: group block count needs an argument\n");  
            return 1;                                                 
          }                                                           
          config.group_blocks = strtoul (argv[arg], 0, 0);            
   612c2:	2d40 ffee      	movel %d0,%fp@(-18)                         <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   612c6:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   612c8:	6d00 fe84      	bltw 6114e <rtems_shell_rfs_format+0x3c>    <== NOT EXECUTED
   612cc:	6000 fe9c      	braw 6116a <rtems_shell_rfs_format+0x58>    <== NOT EXECUTED
   612d0:	5282           	addql #1,%d2                                <== NOT EXECUTED
          }                                                           
          config.group_inodes = strtoul (argv[arg], 0, 0);            
          break;                                                      
                                                                      
        case 'I':                                                     
          config.initialise_inodes = true;                            
   612d2:	7201           	moveq #1,%d1                                <== NOT EXECUTED
   612d4:	1d41 fffe      	moveb %d1,%fp@(-2)                          <== NOT EXECUTED
  const char*             driver = NULL;                              
  int                     arg;                                        
                                                                      
  memset (&config, 0, sizeof (rtems_rfs_format_config));              
                                                                      
  for (arg = 1; arg < argc; arg++)                                    
   612d8:	b484           	cmpl %d4,%d2                                <== NOT EXECUTED
   612da:	6d00 fe72      	bltw 6114e <rtems_shell_rfs_format+0x3c>    <== NOT EXECUTED
   612de:	6000 fe8a      	braw 6116a <rtems_shell_rfs_format+0x58>    <== NOT EXECUTED
    {                                                                 
      if (!driver)                                                    
        driver = argv[arg];                                           
      else                                                            
      {                                                               
        printf ("error: only one driver name allowed: %s\n", argv[arg]);
   612e2:	2f08           	movel %a0,%sp@-                             <== NOT EXECUTED
   612e4:	4879 0009 62ad 	pea 962ad <rtems_rtc_shell_usage+0x14ad>    <== NOT EXECUTED
   612ea:	4eb9 0007 b884 	jsr 7b884 <printf>                          <== NOT EXECUTED
   612f0:	508f           	addql #8,%sp                                <== NOT EXECUTED
        return 1;                                                     
   612f2:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            driver, strerror (errno));                                
    return 1;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   612f4:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   612fa:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   612fc:	4e75           	rts                                         <== NOT EXECUTED
  }                                                                   
                                                                      
  if (rtems_rfs_format (driver, &config) < 0)                         
  {                                                                   
    printf ("error: format of %s failed: %s\n",                       
            driver, strerror (errno));                                
   612fe:	4eb9 0007 7798 	jsr 77798 <__errno>                         <== NOT EXECUTED
    return 1;                                                         
  }                                                                   
                                                                      
  if (rtems_rfs_format (driver, &config) < 0)                         
  {                                                                   
    printf ("error: format of %s failed: %s\n",                       
   61304:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   61306:	2f10           	movel %a0@,%sp@-                            <== NOT EXECUTED
   61308:	4eb9 0007 d81c 	jsr 7d81c <strerror>                        <== NOT EXECUTED
   6130e:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   61310:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   61312:	4879 0009 62d6 	pea 962d6 <rtems_rtc_shell_usage+0x14d6>    <== NOT EXECUTED
   61318:	4eb9 0007 b884 	jsr 7b884 <printf>                          <== NOT EXECUTED
   6131e:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
            driver, strerror (errno));                                
    return 1;                                                         
   61322:	7001           	moveq #1,%d0                                <== NOT EXECUTED
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   61324:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   6132a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   6132c:	4e75           	rts                                         <== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if (!driver) {                                                      
    printf ("error: no driver name provided\n");                      
   6132e:	4879 0009 61e1 	pea 961e1 <rtems_rtc_shell_usage+0x13e1>    <== NOT EXECUTED
   61334:	4eb9 0007 bad4 	jsr 7bad4 <puts>                            <== NOT EXECUTED
   6133a:	588f           	addql #4,%sp                                <== NOT EXECUTED
    return 1;                                                         
   6133c:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            driver, strerror (errno));                                
    return 1;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   6133e:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   61344:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61346:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
        case 'b':                                                     
          arg++;                                                      
          if (arg >= argc)                                            
          {                                                           
            printf ("error: group block count needs an argument\n");  
   61348:	4879 0009 6224 	pea 96224 <rtems_rtc_shell_usage+0x1424>    <== NOT EXECUTED
   6134e:	4eb9 0007 bad4 	jsr 7bad4 <puts>                            <== NOT EXECUTED
   61354:	588f           	addql #4,%sp                                <== NOT EXECUTED
            return 1;                                                 
   61356:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            driver, strerror (errno));                                
    return 1;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   61358:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   6135e:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61360:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
        case 's':                                                     
          arg++;                                                      
          if (arg >= argc)                                            
          {                                                           
            printf ("error: block size needs an argument\n");         
   61362:	4879 0009 6200 	pea 96200 <rtems_rtc_shell_usage+0x1400>    <== NOT EXECUTED
   61368:	4eb9 0007 bad4 	jsr 7bad4 <puts>                            <== NOT EXECUTED
   6136e:	588f           	addql #4,%sp                                <== NOT EXECUTED
            return 1;                                                 
   61370:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            driver, strerror (errno));                                
    return 1;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   61372:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   61378:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   6137a:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
        case 'i':                                                     
          arg++;                                                      
          if (arg >= argc)                                            
          {                                                           
            printf ("error: group inode count needs an argument\n");  
   6137c:	4879 0009 624f 	pea 9624f <rtems_rtc_shell_usage+0x144f>    <== NOT EXECUTED
   61382:	4eb9 0007 bad4 	jsr 7bad4 <puts>                            <== NOT EXECUTED
   61388:	588f           	addql #4,%sp                                <== NOT EXECUTED
            return 1;                                                 
   6138a:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            driver, strerror (errno));                                
    return 1;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   6138c:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   61392:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   61394:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
        case 'o':                                                     
          arg++;                                                      
          if (arg >= argc)                                            
          {                                                           
            printf ("error: inode percentage overhead needs an argument\n");
   61396:	4879 0009 627a 	pea 9627a <rtems_rtc_shell_usage+0x147a>    <== NOT EXECUTED
   6139c:	4eb9 0007 bad4 	jsr 7bad4 <puts>                            <== NOT EXECUTED
   613a2:	588f           	addql #4,%sp                                <== NOT EXECUTED
            return 1;                                                 
   613a4:	7001           	moveq #1,%d0                                <== NOT EXECUTED
            driver, strerror (errno));                                
    return 1;                                                         
  }                                                                   
                                                                      
  return 0;                                                           
}                                                                     
   613a6:	4cee 0c1c ffd4 	moveml %fp@(-44),%d2-%d4/%a2-%a3            <== NOT EXECUTED
   613ac:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00047bb4 <rtems_shutdown_executive>: void rtems_shutdown_executive( uint32_t result ) { if ( _System_state_Is_up( _System_state_Get() ) ) {
   47bb4:	7003           	moveq #3,%d0                                
 */                                                                   
                                                                      
void rtems_shutdown_executive(                                        
   uint32_t   result                                                  
)                                                                     
{                                                                     
   47bb6:	4e56 0000      	linkw %fp,#0                                
  if ( _System_state_Is_up( _System_state_Get() ) ) {                 
   47bba:	b0b9 0005 fb6c 	cmpl 5fb6c <_System_state_Current>,%d0      
   47bc0:	6710           	beqs 47bd2 <rtems_shutdown_executive+0x1e>  
     ******     RETURN TO RTEMS_INITIALIZE_START_MULTITASKING()   ******
     ******                 AND THEN TO BOOT_CARD()               ******
     *******************************************************************
     *******************************************************************/
  }                                                                   
  _Internal_error_Occurred(                                           
   47bc2:	4878 0014      	pea 14 <OPER2>                              
   47bc6:	4878 0001      	pea 1 <ADD>                                 
   47bca:	42a7           	clrl %sp@-                                  
   47bcc:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        
  if ( _System_state_Is_up( _System_state_Get() ) ) {                 
    #if defined(RTEMS_SMP)                                            
      _SMP_Request_other_cores_to_shutdown();                         
    #endif                                                            
                                                                      
    _Per_CPU_Information[0].idle->Wait.return_code = result;          
   47bd2:	2079 0005 fb86 	moveal 5fb86 <_Per_CPU_Information+0x16>,%a0
   47bd8:	103c 0004      	moveb #4,%d0                                
   47bdc:	216e 0008 0034 	movel %fp@(8),%a0@(52)                      
   *  if we were running within the same context, it would work.      
   *                                                                  
   *  And we will not return to this thread, so there is no point of  
   *  saving the context.                                             
   */                                                                 
  _Context_Restart_self( &_Thread_BSP_context );                      
   47be2:	4879 0005 f9d2 	pea 5f9d2 <_Thread_BSP_context>             
   47be8:	23c0 0005 fb6c 	movel %d0,5fb6c <_System_state_Current>     
   47bee:	4eb9 0004 ac76 	jsr 4ac76 <_CPU_Context_Restart_self>       
   47bf4:	588f           	addql #4,%sp                                <== NOT EXECUTED
     ******     RETURN TO RTEMS_INITIALIZE_START_MULTITASKING()   ******
     ******                 AND THEN TO BOOT_CARD()               ******
     *******************************************************************
     *******************************************************************/
  }                                                                   
  _Internal_error_Occurred(                                           
   47bf6:	4878 0014      	pea 14 <OPER2>                              <== NOT EXECUTED
   47bfa:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   47bfe:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   47c00:	4eb9 0004 891c 	jsr 4891c <_Internal_error_Occurred>        <== NOT EXECUTED
	...                                                                  
                                                                      

00056988 <rtems_signal_send>: rtems_status_code rtems_signal_send( rtems_id id, rtems_signal_set signal_set ) {
   56988:	4e56 fffc      	linkw %fp,#-4                               
   5698c:	2f02           	movel %d2,%sp@-                             
  register Thread_Control *the_thread;                                
  Objects_Locations        location;                                  
  RTEMS_API_Control       *api;                                       
  ASR_Information         *asr;                                       
                                                                      
  if ( !signal_set )                                                  
   5698e:	4aae 000c      	tstl %fp@(12)                               
   56992:	660a           	bnes 5699e <rtems_signal_send+0x16>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   56994:	242e fff8      	movel %fp@(-8),%d2                          
  Objects_Locations        location;                                  
  RTEMS_API_Control       *api;                                       
  ASR_Information         *asr;                                       
                                                                      
  if ( !signal_set )                                                  
    return RTEMS_INVALID_NUMBER;                                      
   56998:	700a           	moveq #10,%d0                               
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   5699a:	4e5e           	unlk %fp                                    
   5699c:	4e75           	rts                                         
  ASR_Information         *asr;                                       
                                                                      
  if ( !signal_set )                                                  
    return RTEMS_INVALID_NUMBER;                                      
                                                                      
  the_thread = _Thread_Get( id, &location );                          
   5699e:	486e fffc      	pea %fp@(-4)                                
   569a2:	2f2e 0008      	movel %fp@(8),%sp@-                         
   569a6:	4eb9 0005 b208 	jsr 5b208 <_Thread_Get>                     
  switch ( location ) {                                               
   569ac:	508f           	addql #8,%sp                                
   569ae:	4aae fffc      	tstl %fp@(-4)                               
   569b2:	6648           	bnes 569fc <rtems_signal_send+0x74>         
                                                                      
    case OBJECTS_LOCAL:                                               
      api = the_thread->API_Extensions[ THREAD_API_RTEMS ];           
   569b4:	2240           	moveal %d0,%a1                              
   569b6:	2069 00f8      	moveal %a1@(248),%a0                        
      asr = &api->Signal;                                             
                                                                      
      if ( ! _ASR_Is_null_handler( asr->handler ) ) {                 
   569ba:	4aa8 000a      	tstl %a0@(10)                               
   569be:	6746           	beqs 56a06 <rtems_signal_send+0x7e>         
        if ( asr->is_enabled ) {                                      
   569c0:	4a28 0008      	tstb %a0@(8)                                
   569c4:	6762           	beqs 56a28 <rtems_signal_send+0xa0>         
  rtems_signal_set *signal_set                                        
)                                                                     
{                                                                     
  ISR_Level              _level;                                      
                                                                      
  _ISR_Disable( _level );                                             
   569c6:	223c 0000 0700 	movel #1792,%d1                             
   569cc:	40c2           	movew %sr,%d2                               
   569ce:	8282           	orl %d2,%d1                                 
   569d0:	46c1           	movew %d1,%sr                               
    *signal_set |= signals;                                           
   569d2:	222e 000c      	movel %fp@(12),%d1                          
   569d6:	83a8 0012      	orl %d1,%a0@(18)                            
  _ISR_Enable( _level );                                              
   569da:	46c2           	movew %d2,%sr                               
          _ASR_Post_signals( signal_set, &asr->signals_posted );      
                                                                      
          if ( _ISR_Is_in_progress() && _Thread_Is_executing( the_thread ) )
   569dc:	4ab9 0007 c47c 	tstl 7c47c <_Per_CPU_Information+0x8>       
   569e2:	6708           	beqs 569ec <rtems_signal_send+0x64>         
   569e4:	b0b9 0007 c482 	cmpl 7c482 <_Per_CPU_Information+0xe>,%d0   
   569ea:	672a           	beqs 56a16 <rtems_signal_send+0x8e>         <== ALWAYS TAKEN
            _Thread_Dispatch_necessary = true;                        
        } else {                                                      
          _ASR_Post_signals( signal_set, &asr->signals_pending );     
        }                                                             
        _Thread_Enable_dispatch();                                    
   569ec:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
        return RTEMS_SUCCESSFUL;                                      
   569f2:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   569f4:	242e fff8      	movel %fp@(-8),%d2                          
   569f8:	4e5e           	unlk %fp                                    
   569fa:	4e75           	rts                                         
   569fc:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   56a00:	7004           	moveq #4,%d0                                
}                                                                     
   56a02:	4e5e           	unlk %fp                                    
   56a04:	4e75           	rts                                         
          _ASR_Post_signals( signal_set, &asr->signals_pending );     
        }                                                             
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
      }                                                               
      _Thread_Enable_dispatch();                                      
   56a06:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   56a0c:	242e fff8      	movel %fp@(-8),%d2                          
        }                                                             
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
      }                                                               
      _Thread_Enable_dispatch();                                      
      return RTEMS_NOT_DEFINED;                                       
   56a10:	700b           	moveq #11,%d0                               
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   56a12:	4e5e           	unlk %fp                                    
   56a14:	4e75           	rts                                         
      if ( ! _ASR_Is_null_handler( asr->handler ) ) {                 
        if ( asr->is_enabled ) {                                      
          _ASR_Post_signals( signal_set, &asr->signals_posted );      
                                                                      
          if ( _ISR_Is_in_progress() && _Thread_Is_executing( the_thread ) )
            _Thread_Dispatch_necessary = true;                        
   56a16:	7001           	moveq #1,%d0                                
   56a18:	13c0 0007 c480 	moveb %d0,7c480 <_Per_CPU_Information+0xc>  
        } else {                                                      
          _ASR_Post_signals( signal_set, &asr->signals_pending );     
        }                                                             
        _Thread_Enable_dispatch();                                    
   56a1e:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
        return RTEMS_SUCCESSFUL;                                      
   56a24:	4280           	clrl %d0                                    
   56a26:	60cc           	bras 569f4 <rtems_signal_send+0x6c>         
  rtems_signal_set *signal_set                                        
)                                                                     
{                                                                     
  ISR_Level              _level;                                      
                                                                      
  _ISR_Disable( _level );                                             
   56a28:	203c 0000 0700 	movel #1792,%d0                             
   56a2e:	40c1           	movew %sr,%d1                               
   56a30:	8081           	orl %d1,%d0                                 
   56a32:	46c0           	movew %d0,%sr                               
    *signal_set |= signals;                                           
   56a34:	202e 000c      	movel %fp@(12),%d0                          
   56a38:	81a8 0016      	orl %d0,%a0@(22)                            
  _ISR_Enable( _level );                                              
   56a3c:	46c1           	movew %d1,%sr                               
          if ( _ISR_Is_in_progress() && _Thread_Is_executing( the_thread ) )
            _Thread_Dispatch_necessary = true;                        
        } else {                                                      
          _ASR_Post_signals( signal_set, &asr->signals_pending );     
        }                                                             
        _Thread_Enable_dispatch();                                    
   56a3e:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
        return RTEMS_SUCCESSFUL;                                      
   56a44:	4280           	clrl %d0                                    
   56a46:	60ac           	bras 569f4 <rtems_signal_send+0x6c>         
                                                                      

0004e8e2 <rtems_sparse_disk_create_and_register>: const char *device_file_name, uint32_t media_block_size, rtems_blkdev_bnum blocks_with_buffer, rtems_blkdev_bnum media_block_count, uint8_t fill_pattern ) {
   4e8e2:	4e56 fff4      	linkw %fp,#-12                              
   4e8e6:	48d7 001c      	moveml %d2-%d4,%sp@                         
   4e8ea:	262e 000c      	movel %fp@(12),%d3                          
   4e8ee:	2003           	movel %d3,%d0                               
   4e8f0:	5080           	addql #8,%d0                                
   4e8f2:	242e 0010      	movel %fp@(16),%d2                          
  const rtems_blkdev_bnum blocks_with_buffer )                        
{                                                                     
  size_t const key_table_size = blocks_with_buffer                    
                                * sizeof( rtems_sparse_disk_key );    
  size_t const data_size      = blocks_with_buffer * media_block_size;
  size_t const alloc_size     = sizeof( rtems_sparse_disk )           
   4e8f6:	4c02 0800      	mulsl %d2,%d0                               
  const char       *device_file_name,                                 
  uint32_t          media_block_size,                                 
  rtems_blkdev_bnum blocks_with_buffer,                               
  rtems_blkdev_bnum media_block_count,                                
  uint8_t           fill_pattern )                                    
{                                                                     
   4e8fa:	182e 001b      	moveb %fp@(27),%d4                          
                                * sizeof( rtems_sparse_disk_key );    
  size_t const data_size      = blocks_with_buffer * media_block_size;
  size_t const alloc_size     = sizeof( rtems_sparse_disk )           
                                + key_table_size + data_size;         
                                                                      
  rtems_sparse_disk *const sd = (rtems_sparse_disk *) malloc(         
   4e8fe:	2040           	moveal %d0,%a0                              
   4e900:	4868 001a      	pea %a0@(26)                                
   4e904:	4eb9 0004 50f4 	jsr 450f4 <malloc>                          
  rtems_sparse_disk *sparse_disk = sparse_disk_allocate(              
    media_block_size,                                                 
    blocks_with_buffer                                                
  );                                                                  
                                                                      
  if ( sparse_disk != NULL ) {                                        
   4e90a:	588f           	addql #4,%sp                                
   4e90c:	4a80           	tstl %d0                                    
   4e90e:	6730           	beqs 4e940 <rtems_sparse_disk_create_and_register+0x5e><== NEVER TAKEN
    sc = rtems_sparse_disk_register(                                  
   4e910:	4879 0004 e7d4 	pea 4e7d4 <rtems_sparse_disk_free>          
   4e916:	0284 0000 00ff 	andil #255,%d4                              
   4e91c:	2f04           	movel %d4,%sp@-                             
   4e91e:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4e922:	2f02           	movel %d2,%sp@-                             
   4e924:	2f03           	movel %d3,%sp@-                             
   4e926:	2f00           	movel %d0,%sp@-                             
   4e928:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4e92c:	4eb9 0004 e7e0 	jsr 4e7e0 <rtems_sparse_disk_register>      
   4e932:	4fef 001c      	lea %sp@(28),%sp                            
  } else {                                                            
    sc = RTEMS_NO_MEMORY;                                             
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4e936:	4cee 001c fff4 	moveml %fp@(-12),%d2-%d4                    
   4e93c:	4e5e           	unlk %fp                                    
   4e93e:	4e75           	rts                                         
      media_block_count,                                              
      fill_pattern,                                                   
      rtems_sparse_disk_free                                          
    );                                                                
  } else {                                                            
    sc = RTEMS_NO_MEMORY;                                             
   4e940:	701a           	moveq #26,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4e942:	4cee 001c fff4 	moveml %fp@(-12),%d2-%d4                    <== NOT EXECUTED
   4e948:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004e7e0 <rtems_sparse_disk_register>: uint32_t media_block_size, rtems_blkdev_bnum blocks_with_buffer, rtems_blkdev_bnum media_block_count, uint8_t fill_pattern, rtems_sparse_disk_delete_handler sparse_disk_delete ) {
   4e7e0:	4e56 ffd4      	linkw %fp,#-44                              
   4e7e4:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4e7e8:	262e 001c      	movel %fp@(28),%d3                          
   4e7ec:	266e 0008      	moveal %fp@(8),%a3                          
   4e7f0:	246e 000c      	moveal %fp@(12),%a2                         
   4e7f4:	2a2e 0010      	movel %fp@(16),%d5                          
   4e7f8:	242e 0014      	movel %fp@(20),%d2                          
   4e7fc:	282e 0018      	movel %fp@(24),%d4                          
   4e800:	2c2e 0020      	movel %fp@(32),%d6                          
   4e804:	1e03           	moveb %d3,%d7                               
  rtems_status_code sc;                                               
                                                                      
  if ( blocks_with_buffer <= media_block_count ) {                    
   4e806:	b882           	cmpl %d2,%d4                                
   4e808:	640c           	bccs 4e816 <rtems_sparse_disk_register+0x36><== ALWAYS TAKEN
        sparse_disk_ioctl,                                            
        sparse_disk                                                   
      );                                                              
    }                                                                 
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
   4e80a:	700a           	moveq #10,%d0                               <== NOT EXECUTED
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4e80c:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4e812:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e814:	4e75           	rts                                         <== NOT EXECUTED
  const uint8_t                                                     fill_pattern )
{                                                                     
  rtems_status_code sc;                                               
  rtems_blkdev_bnum i;                                                
                                                                      
  if ( NULL == sd )                                                   
   4e816:	4a8a           	tstl %a2                                    
   4e818:	6700 00bc      	beqw 4e8d6 <rtems_sparse_disk_register+0xf6>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  uint8_t     *data           = (uint8_t *) sd;                       
  size_t const key_table_size = blocks_with_buffer                    
   4e81c:	2002           	movel %d2,%d0                               
                                * sizeof( rtems_sparse_disk_key );    
  size_t const data_size      = blocks_with_buffer * media_block_size;
                                                                      
  memset( data, 0, sizeof( rtems_sparse_disk ) + key_table_size );    
   4e81e:	4bf9 0005 b1f8 	lea 5b1f8 <memset>,%a5                      
                                                                      
  sd->fill_pattern = fill_pattern;                                    
  memset( (uint8_t *) ( data + sizeof( rtems_sparse_disk ) + key_table_size ),
   4e824:	1e03           	moveb %d3,%d7                               
                                                                      
  if ( NULL == sd )                                                   
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  uint8_t     *data           = (uint8_t *) sd;                       
  size_t const key_table_size = blocks_with_buffer                    
   4e826:	e788           	lsll #3,%d0                                 
  size_t const data_size      = blocks_with_buffer * media_block_size;
                                                                      
  memset( data, 0, sizeof( rtems_sparse_disk ) + key_table_size );    
                                                                      
  sd->fill_pattern = fill_pattern;                                    
  memset( (uint8_t *) ( data + sizeof( rtems_sparse_disk ) + key_table_size ),
   4e828:	0287 0000 00ff 	andil #255,%d7                              
  uint8_t     *data           = (uint8_t *) sd;                       
  size_t const key_table_size = blocks_with_buffer                    
                                * sizeof( rtems_sparse_disk_key );    
  size_t const data_size      = blocks_with_buffer * media_block_size;
                                                                      
  memset( data, 0, sizeof( rtems_sparse_disk ) + key_table_size );    
   4e82e:	2200           	movel %d0,%d1                               
   4e830:	0681 0000 001a 	addil #26,%d1                               
                                                                      
  if ( NULL == sd )                                                   
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  uint8_t     *data           = (uint8_t *) sd;                       
  size_t const key_table_size = blocks_with_buffer                    
   4e836:	2840           	moveal %d0,%a4                              
                                * sizeof( rtems_sparse_disk_key );    
  size_t const data_size      = blocks_with_buffer * media_block_size;
                                                                      
  memset( data, 0, sizeof( rtems_sparse_disk ) + key_table_size );    
   4e838:	2f01           	movel %d1,%sp@-                             
   4e83a:	42a7           	clrl %sp@-                                  
   4e83c:	2d41 fffc      	movel %d1,%fp@(-4)                          
   4e840:	2f0a           	movel %a2,%sp@-                             
   4e842:	4e95           	jsr %a5@                                    
                                                                      
  sd->fill_pattern = fill_pattern;                                    
  memset( (uint8_t *) ( data + sizeof( rtems_sparse_disk ) + key_table_size ),
   4e844:	2002           	movel %d2,%d0                               
   4e846:	4c05 0800      	mulsl %d5,%d0                               
   4e84a:	2f00           	movel %d0,%sp@-                             
                                * sizeof( rtems_sparse_disk_key );    
  size_t const data_size      = blocks_with_buffer * media_block_size;
                                                                      
  memset( data, 0, sizeof( rtems_sparse_disk ) + key_table_size );    
                                                                      
  sd->fill_pattern = fill_pattern;                                    
   4e84c:	1543 0014      	moveb %d3,%a2@(20)                          
  memset( (uint8_t *) ( data + sizeof( rtems_sparse_disk ) + key_table_size ),
   4e850:	2f07           	movel %d7,%sp@-                             
   4e852:	222e fffc      	movel %fp@(-4),%d1                          
   4e856:	4872 1800      	pea %a2@(00000000,%d1:l)                    
   4e85a:	4e95           	jsr %a5@                                    
          sd->fill_pattern,                                           
          data_size );                                                
                                                                      
  sd->delete_handler = sparse_disk_delete;                            
                                                                      
  sc                 = rtems_semaphore_create(                        
   4e85c:	2f0a           	movel %a2,%sp@-                             
   4e85e:	42a7           	clrl %sp@-                                  
   4e860:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
   4e864:	4878 0001      	pea 1 <ADD>                                 
  sd->fill_pattern = fill_pattern;                                    
  memset( (uint8_t *) ( data + sizeof( rtems_sparse_disk ) + key_table_size ),
          sd->fill_pattern,                                           
          data_size );                                                
                                                                      
  sd->delete_handler = sparse_disk_delete;                            
   4e868:	2546 0010      	movel %d6,%a2@(16)                          
                                                                      
  sc                 = rtems_semaphore_create(                        
   4e86c:	2f3c 5350 4152 	movel #1397768530,%sp@-                     
   4e872:	4eb9 0004 9258 	jsr 49258 <rtems_semaphore_create>          
    RTEMS_PRIORITY | RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY, 
    0,                                                                
    &sd->mutex                                                        
    );                                                                
                                                                      
  if ( sc != RTEMS_SUCCESSFUL ) {                                     
   4e878:	4fef 002c      	lea %sp@(44),%sp                            
   4e87c:	4a80           	tstl %d0                                    
   4e87e:	668c           	bnes 4e80c <rtems_sparse_disk_register+0x2c><== NEVER TAKEN
    return sc;                                                        
  }                                                                   
                                                                      
  data                  += sizeof( rtems_sparse_disk );               
   4e880:	220a           	movel %a2,%d1                               
   4e882:	0681 0000 001a 	addil #26,%d1                               
                                                                      
  sd->blocks_with_buffer = blocks_with_buffer;                        
  sd->key_table          = (rtems_sparse_disk_key *) data;            
                                                                      
  data                  += key_table_size;                            
   4e888:	2001           	movel %d1,%d0                               
   4e88a:	d08c           	addl %a4,%d0                                
    return sc;                                                        
  }                                                                   
                                                                      
  data                  += sizeof( rtems_sparse_disk );               
                                                                      
  sd->blocks_with_buffer = blocks_with_buffer;                        
   4e88c:	2542 0004      	movel %d2,%a2@(4)                           
  sd->key_table          = (rtems_sparse_disk_key *) data;            
   4e890:	2541 0016      	movel %d1,%a2@(22)                          
                                                                      
  data                  += key_table_size;                            
                                                                      
  for ( i = 0; i < blocks_with_buffer; ++i, data += media_block_size ) {
   4e894:	4a82           	tstl %d2                                    
   4e896:	6712           	beqs 4e8aa <rtems_sparse_disk_register+0xca><== NEVER TAKEN
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
                                                                      
rtems_status_code rtems_sparse_disk_register(                         
   4e898:	41ea 001e      	lea %a2@(30),%a0                            
   4e89c:	220c           	movel %a4,%d1                               
   4e89e:	d288           	addl %a0,%d1                                
  sd->key_table          = (rtems_sparse_disk_key *) data;            
                                                                      
  data                  += key_table_size;                            
                                                                      
  for ( i = 0; i < blocks_with_buffer; ++i, data += media_block_size ) {
    sd->key_table[i].data = data;                                     
   4e8a0:	2080           	movel %d0,%a0@                              
  sd->blocks_with_buffer = blocks_with_buffer;                        
  sd->key_table          = (rtems_sparse_disk_key *) data;            
                                                                      
  data                  += key_table_size;                            
                                                                      
  for ( i = 0; i < blocks_with_buffer; ++i, data += media_block_size ) {
   4e8a2:	d085           	addl %d5,%d0                                
   4e8a4:	5088           	addql #8,%a0                                
   4e8a6:	b288           	cmpl %a0,%d1                                
   4e8a8:	66f6           	bnes 4e8a0 <rtems_sparse_disk_register+0xc0>
    sd->key_table[i].data = data;                                     
  }                                                                   
                                                                      
  sd->media_block_size = media_block_size;                            
   4e8aa:	2545 000c      	movel %d5,%a2@(12)                          
      sparse_disk_delete,                                             
      fill_pattern                                                    
    );                                                                
                                                                      
    if ( RTEMS_SUCCESSFUL == sc ) {                                   
      sc = rtems_blkdev_create(                                       
   4e8ae:	203c 0004 e548 	movel #320840,%d0                           
   4e8b4:	2d4a 0018      	movel %a2,%fp@(24)                          
   4e8b8:	2d44 0010      	movel %d4,%fp@(16)                          
   4e8bc:	2d45 000c      	movel %d5,%fp@(12)                          
   4e8c0:	2d4b 0008      	movel %a3,%fp@(8)                           
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4e8c4:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
      sparse_disk_delete,                                             
      fill_pattern                                                    
    );                                                                
                                                                      
    if ( RTEMS_SUCCESSFUL == sc ) {                                   
      sc = rtems_blkdev_create(                                       
   4e8ca:	2d40 0014      	movel %d0,%fp@(20)                          
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4e8ce:	4e5e           	unlk %fp                                    
      sparse_disk_delete,                                             
      fill_pattern                                                    
    );                                                                
                                                                      
    if ( RTEMS_SUCCESSFUL == sc ) {                                   
      sc = rtems_blkdev_create(                                       
   4e8d0:	4ef9 0005 1144 	jmp 51144 <rtems_blkdev_create>             
{                                                                     
  rtems_status_code sc;                                               
  rtems_blkdev_bnum i;                                                
                                                                      
  if ( NULL == sd )                                                   
    return RTEMS_INVALID_ADDRESS;                                     
   4e8d6:	7009           	moveq #9,%d0                                <== NOT EXECUTED
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4e8d8:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4e8de:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00062dd0 <rtems_stack_checker_begin_extension>: * rtems_stack_checker_Begin_extension */ void rtems_stack_checker_begin_extension( Thread_Control *the_thread ) {
   62dd0:	4e56 0000      	linkw %fp,#0                                
   62dd4:	206e 0008      	moveal %fp@(8),%a0                          
  Stack_check_Control  *the_pattern;                                  
                                                                      
  if ( the_thread->Object.id == 0 )        /* skip system tasks */    
   62dd8:	4aa8 0008      	tstl %a0@(8)                                
   62ddc:	672c           	beqs 62e0a <rtems_stack_checker_begin_extension+0x3a><== NEVER TAKEN
    return;                                                           
                                                                      
  the_pattern = Stack_check_Get_pattern_area(&the_thread->Start.Initial_stack);
                                                                      
  *the_pattern = Stack_check_Pattern;                                 
   62dde:	2068 00b0      	moveal %a0@(176),%a0                        
   62de2:	43f9 000a 0138 	lea a0138 <Stack_check_Pattern>,%a1         
   62de8:	2151 0008      	movel %a1@,%a0@(8)                          
   62dec:	43f9 000a 013c 	lea a013c <Stack_check_Pattern+0x4>,%a1     
   62df2:	2151 000c      	movel %a1@,%a0@(12)                         
   62df6:	43f9 000a 0140 	lea a0140 <Stack_check_Pattern+0x8>,%a1     
   62dfc:	2151 0010      	movel %a1@,%a0@(16)                         
   62e00:	43f9 000a 0144 	lea a0144 <Stack_check_Pattern+0xc>,%a1     
   62e06:	2151 0014      	movel %a1@,%a0@(20)                         
}                                                                     
   62e0a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00062d30 <rtems_stack_checker_create_extension>: */ bool rtems_stack_checker_create_extension( Thread_Control *running __attribute__((unused)), Thread_Control *the_thread ) {
   62d30:	4e56 0000      	linkw %fp,#0                                
   62d34:	2f0a           	movel %a2,%sp@-                             
   62d36:	246e 000c      	moveal %fp@(12),%a2                         
  static    uint32_t pattern[ 4 ] = {                                 
    0xFEEDF00D, 0x0BAD0D06,  /* FEED FOOD to  BAD DOG */              
    0xDEADF00D, 0x600D0D06   /* DEAD FOOD but GOOD DOG */             
  };                                                                  
                                                                      
  if ( Stack_check_Initialized )                                      
   62d3a:	4ab9 0009 f200 	tstl 9f200 <Stack_check_Initialized>        
   62d40:	666a           	bnes 62dac <rtems_stack_checker_create_extension+0x7c>
  /*                                                                  
   * If appropriate, setup the interrupt stack for high water testing 
   * also.                                                            
   */                                                                 
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if (_CPU_Interrupt_stack_low && _CPU_Interrupt_stack_high) {      
   62d42:	2039 0009 ffe4 	movel 9ffe4 <_Per_CPU_Information>,%d0      
  /*                                                                  
   * Dope the pattern and fill areas                                  
   */                                                                 
  p = Stack_check_Pattern.pattern;                                    
  for ( i = 0; i < PATTERN_SIZE_WORDS; i++ ) {                        
      p[i] = pattern[ i%4 ];                                          
   62d48:	223c feed f00d 	movel #-17960947,%d1                        
   62d4e:	23c1 000a 0138 	movel %d1,a0138 <Stack_check_Pattern>       
   62d54:	223c 0bad 0d06 	movel #195890438,%d1                        
   62d5a:	23c1 000a 013c 	movel %d1,a013c <Stack_check_Pattern+0x4>   
   62d60:	223c dead f00d 	movel #-559026163,%d1                       
   62d66:	23c1 000a 0140 	movel %d1,a0140 <Stack_check_Pattern+0x8>   
   62d6c:	223c 600d 0d06 	movel #1611468038,%d1                       
   62d72:	23c1 000a 0144 	movel %d1,a0144 <Stack_check_Pattern+0xc>   
  /*                                                                  
   * If appropriate, setup the interrupt stack for high water testing 
   * also.                                                            
   */                                                                 
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if (_CPU_Interrupt_stack_low && _CPU_Interrupt_stack_high) {      
   62d78:	4a80           	tstl %d0                                    
   62d7a:	6728           	beqs 62da4 <rtems_stack_checker_create_extension+0x74><== NEVER TAKEN
   62d7c:	2239 0009 ffe8 	movel 9ffe8 <_Per_CPU_Information+0x4>,%d1  
   62d82:	6720           	beqs 62da4 <rtems_stack_checker_create_extension+0x74><== NEVER TAKEN
      Stack_check_Interrupt_stack.area = _CPU_Interrupt_stack_low;    
      Stack_check_Interrupt_stack.size = (char *) _CPU_Interrupt_stack_high -
   62d84:	9280           	subl %d0,%d1                                
                                  (char *) _CPU_Interrupt_stack_low;  
      Stack_check_Dope_stack(&Stack_check_Interrupt_stack);           
   62d86:	2f01           	movel %d1,%sp@-                             
   62d88:	4878 00a5      	pea a5 <DBL_MANT_DIG+0x70>                  
   * If appropriate, setup the interrupt stack for high water testing 
   * also.                                                            
   */                                                                 
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if (_CPU_Interrupt_stack_low && _CPU_Interrupt_stack_high) {      
      Stack_check_Interrupt_stack.area = _CPU_Interrupt_stack_low;    
   62d8c:	23c0 000a 014c 	movel %d0,a014c <Stack_check_Interrupt_stack+0x4>
      Stack_check_Interrupt_stack.size = (char *) _CPU_Interrupt_stack_high -
                                  (char *) _CPU_Interrupt_stack_low;  
      Stack_check_Dope_stack(&Stack_check_Interrupt_stack);           
   62d92:	2f00           	movel %d0,%sp@-                             
   * also.                                                            
   */                                                                 
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    if (_CPU_Interrupt_stack_low && _CPU_Interrupt_stack_high) {      
      Stack_check_Interrupt_stack.area = _CPU_Interrupt_stack_low;    
      Stack_check_Interrupt_stack.size = (char *) _CPU_Interrupt_stack_high -
   62d94:	23c1 000a 0148 	movel %d1,a0148 <Stack_check_Interrupt_stack>
                                  (char *) _CPU_Interrupt_stack_low;  
      Stack_check_Dope_stack(&Stack_check_Interrupt_stack);           
   62d9a:	4eb9 0007 aa60 	jsr 7aa60 <memset>                          
   62da0:	4fef 000c      	lea %sp@(12),%sp                            
   }                                                                  
  #endif                                                              
                                                                      
  Stack_check_Initialized = 1;                                        
   62da4:	7001           	moveq #1,%d0                                
   62da6:	23c0 0009 f200 	movel %d0,9f200 <Stack_check_Initialized>   
  Thread_Control *the_thread                                          
)                                                                     
{                                                                     
  Stack_check_Initialize();                                           
                                                                      
  if (the_thread)                                                     
   62dac:	4a8a           	tstl %a2                                    
   62dae:	6716           	beqs 62dc6 <rtems_stack_checker_create_extension+0x96><== NEVER TAKEN
    Stack_check_Dope_stack(&the_thread->Start.Initial_stack);         
   62db0:	2f2a 00ac      	movel %a2@(172),%sp@-                       
   62db4:	4878 00a5      	pea a5 <DBL_MANT_DIG+0x70>                  
   62db8:	2f2a 00b0      	movel %a2@(176),%sp@-                       
   62dbc:	4eb9 0007 aa60 	jsr 7aa60 <memset>                          
   62dc2:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
  return true;                                                        
}                                                                     
   62dc6:	246e fffc      	moveal %fp@(-4),%a2                         
   62dca:	4e5e           	unlk %fp                                    
   62dcc:	7001           	moveq #1,%d0                                <== NOT EXECUTED
                                                                      

00062f46 <rtems_stack_checker_is_blown>: /* * Check if blown */ bool rtems_stack_checker_is_blown( void ) {
   62f46:	4e56 0000      	linkw %fp,#0                                
  Stack_Control *the_stack = &_Thread_Executing->Start.Initial_stack; 
   62f4a:	2279 0009 fff2 	moveal 9fff2 <_Per_CPU_Information+0xe>,%a1 
)                                                                     
{                                                                     
  #if defined(__GNUC__)                                               
    void *sp = __builtin_frame_address(0);                            
                                                                      
    if ( sp < the_stack->area ) {                                     
   62f50:	2069 00b0      	moveal %a1@(176),%a0                        
                                                                      
/*                                                                    
 *  Check if blown                                                    
 */                                                                   
bool rtems_stack_checker_is_blown( void )                             
{                                                                     
   62f54:	2f02           	movel %d2,%sp@-                             
)                                                                     
{                                                                     
  #if defined(__GNUC__)                                               
    void *sp = __builtin_frame_address(0);                            
                                                                      
    if ( sp < the_stack->area ) {                                     
   62f56:	b1ce           	cmpal %fp,%a0                               
   62f58:	633a           	blss 62f94 <rtems_stack_checker_is_blown+0x4e><== ALWAYS TAKEN
                                                                      
  /*                                                                  
   * The stack checker must be initialized before the pattern is there
   * to check.                                                        
   */                                                                 
  if ( Stack_check_Initialized ) {                                    
   62f5a:	4ab9 0009 f200 	tstl 9f200 <Stack_check_Initialized>        <== NOT EXECUTED
   62f60:	674a           	beqs 62fac <rtems_stack_checker_is_blown+0x66><== NOT EXECUTED
    pattern_ok = (!memcmp(                                            
   62f62:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   62f66:	4879 000a 0138 	pea a0138 <Stack_check_Pattern>             <== NOT EXECUTED
   62f6c:	4868 0008      	pea %a0@(8)                                 <== NOT EXECUTED
   62f70:	4eb9 0007 a86c 	jsr 7a86c <memcmp>                          <== NOT EXECUTED
   62f76:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   62f7a:	4a80           	tstl %d0                                    <== NOT EXECUTED
   62f7c:	57c0           	seq %d0                                     <== NOT EXECUTED
   62f7e:	4480           	negl %d0                                    <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Let's report as much as we can.                                  
   */                                                                 
  if ( !sp_ok || !pattern_ok ) {                                      
    Stack_check_report_blown_task( _Thread_Executing, pattern_ok );   
   62f80:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   62f86:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62f88:	2f39 0009 fff2 	movel 9fff2 <_Per_CPU_Information+0xe>,%sp@-<== NOT EXECUTED
   62f8e:	4eb9 0006 2e0e 	jsr 62e0e <Stack_check_report_blown_task>   <== NOT EXECUTED
    void *sp = __builtin_frame_address(0);                            
                                                                      
    if ( sp < the_stack->area ) {                                     
      return false;                                                   
    }                                                                 
    if ( sp > (the_stack->area + the_stack->size) ) {                 
   62f94:	2008           	movel %a0,%d0                               
   62f96:	d0a9 00ac      	addl %a1@(172),%d0                          
   62f9a:	b08e           	cmpl %fp,%d0                                
   62f9c:	54c2           	scc %d2                                     
   62f9e:	4482           	negl %d2                                    
                                                                      
  /*                                                                  
   * The stack checker must be initialized before the pattern is there
   * to check.                                                        
   */                                                                 
  if ( Stack_check_Initialized ) {                                    
   62fa0:	4ab9 0009 f200 	tstl 9f200 <Stack_check_Initialized>        
   62fa6:	661a           	bnes 62fc2 <rtems_stack_checker_is_blown+0x7c>
                                                                      
                                                                      
  /*                                                                  
   * Let's report as much as we can.                                  
   */                                                                 
  if ( !sp_ok || !pattern_ok ) {                                      
   62fa8:	4a02           	tstb %d2                                    <== NOT EXECUTED
   62faa:	663c           	bnes 62fe8 <rtems_stack_checker_is_blown+0xa2><== NOT EXECUTED
 */                                                                   
bool rtems_stack_checker_is_blown( void )                             
{                                                                     
  Stack_Control *the_stack = &_Thread_Executing->Start.Initial_stack; 
  bool           sp_ok;                                               
  bool           pattern_ok = true;                                   
   62fac:	7001           	moveq #1,%d0                                <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Let's report as much as we can.                                  
   */                                                                 
  if ( !sp_ok || !pattern_ok ) {                                      
    Stack_check_report_blown_task( _Thread_Executing, pattern_ok );   
   62fae:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   62fb4:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62fb6:	2f39 0009 fff2 	movel 9fff2 <_Per_CPU_Information+0xe>,%sp@-<== NOT EXECUTED
   62fbc:	4eb9 0006 2e0e 	jsr 62e0e <Stack_check_report_blown_task>   <== NOT EXECUTED
  /*                                                                  
   * The stack checker must be initialized before the pattern is there
   * to check.                                                        
   */                                                                 
  if ( Stack_check_Initialized ) {                                    
    pattern_ok = (!memcmp(                                            
   62fc2:	4878 0010      	pea 10 <INVALID_OPERATION>                  
   62fc6:	4879 000a 0138 	pea a0138 <Stack_check_Pattern>             
   62fcc:	4868 0008      	pea %a0@(8)                                 
   62fd0:	4eb9 0007 a86c 	jsr 7a86c <memcmp>                          
   62fd6:	4fef 000c      	lea %sp@(12),%sp                            
   62fda:	4a80           	tstl %d0                                    
   62fdc:	57c0           	seq %d0                                     
   62fde:	4480           	negl %d0                                    
                                                                      
                                                                      
  /*                                                                  
   * Let's report as much as we can.                                  
   */                                                                 
  if ( !sp_ok || !pattern_ok ) {                                      
   62fe0:	4a02           	tstb %d2                                    
   62fe2:	679c           	beqs 62f80 <rtems_stack_checker_is_blown+0x3a><== NEVER TAKEN
   62fe4:	4a00           	tstb %d0                                    
   62fe6:	6798           	beqs 62f80 <rtems_stack_checker_is_blown+0x3a><== NEVER TAKEN
                                                                      
  /*                                                                  
   * The Stack Pointer and the Pattern Area are OK so return false.   
   */                                                                 
  return false;                                                       
}                                                                     
   62fe8:	242e fffc      	movel %fp@(-4),%d2                          
   62fec:	4e5e           	unlk %fp                                    
   62fee:	4200           	clrb %d0                                    <== NOT EXECUTED
                                                                      

00063054 <rtems_stack_checker_report_usage>: void rtems_stack_checker_report_usage( void ) {
   63054:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
  rtems_stack_checker_report_usage_with_plugin( NULL, printk_plugin );
   63058:	4879 0006 5210 	pea 65210 <printk_plugin>                   <== NOT EXECUTED
   6305e:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   63060:	4eb9 0006 2ff2 	jsr 62ff2 <rtems_stack_checker_report_usage_with_plugin><== NOT EXECUTED
   63066:	508f           	addql #8,%sp                                <== NOT EXECUTED
}                                                                     
   63068:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00062ff2 <rtems_stack_checker_report_usage_with_plugin>: void rtems_stack_checker_report_usage_with_plugin( void *context, rtems_printk_plugin_t print ) {
   62ff2:	4e56 0000      	linkw %fp,#0                                <== NOT EXECUTED
   62ff6:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   62ff8:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
   62ffc:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   62ffe:	242e 0008      	movel %fp@(8),%d2                           <== NOT EXECUTED
  if ( !print )                                                       
   63002:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   63004:	6742           	beqs 63048 <rtems_stack_checker_report_usage_with_plugin+0x56><== NOT EXECUTED
    return;                                                           
                                                                      
  print_context = context;                                            
  print_handler = print;                                              
                                                                      
  (*print)( context, "Stack usage by thread\n");                      
   63006:	4879 0009 6b5e 	pea 96b5e <RTEMS_BDPART_MBR_MASTER_TYPE+0x3c3><== NOT EXECUTED
)                                                                     
{                                                                     
  if ( !print )                                                       
    return;                                                           
                                                                      
  print_context = context;                                            
   6300c:	23c2 0009 f204 	movel %d2,9f204 <print_context>             <== NOT EXECUTED
  print_handler = print;                                              
                                                                      
  (*print)( context, "Stack usage by thread\n");                      
   63012:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
{                                                                     
  if ( !print )                                                       
    return;                                                           
                                                                      
  print_context = context;                                            
  print_handler = print;                                              
   63014:	23ca 0009 f208 	movel %a2,9f208 <print_handler>             <== NOT EXECUTED
                                                                      
  (*print)( context, "Stack usage by thread\n");                      
   6301a:	4e92           	jsr %a2@                                    <== NOT EXECUTED
  (*print)( context,                                                  
   6301c:	4879 0009 6b75 	pea 96b75 <RTEMS_BDPART_MBR_MASTER_TYPE+0x3da><== NOT EXECUTED
   63022:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   63024:	4e92           	jsr %a2@                                    <== NOT EXECUTED
"    ID      NAME    LOW          HIGH     CURRENT     AVAILABLE     USED\n"
  );                                                                  
                                                                      
  /* iterate over all threads and dump the usage */                   
  rtems_iterate_over_all_threads( Stack_check_Dump_threads_usage );   
   63026:	487a fb90      	pea %pc@(62bb8 <Stack_check_Dump_threads_usage>)<== NOT EXECUTED
   6302a:	4eb9 0006 6e54 	jsr 66e54 <rtems_iterate_over_all_threads>  <== NOT EXECUTED
                                                                      
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    /* dump interrupt stack info if any */                            
    Stack_check_Dump_threads_usage((Thread_Control *) -1);            
   63030:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   63034:	4eba fb82      	jsr %pc@(62bb8 <Stack_check_Dump_threads_usage>)<== NOT EXECUTED
  #endif                                                              
                                                                      
  print_context = NULL;                                               
  print_handler = NULL;                                               
   63038:	4fef 0018      	lea %sp@(24),%sp                            <== NOT EXECUTED
  #if (CPU_ALLOCATE_INTERRUPT_STACK == TRUE)                          
    /* dump interrupt stack info if any */                            
    Stack_check_Dump_threads_usage((Thread_Control *) -1);            
  #endif                                                              
                                                                      
  print_context = NULL;                                               
   6303c:	42b9 0009 f204 	clrl 9f204 <print_context>                  <== NOT EXECUTED
  print_handler = NULL;                                               
   63042:	42b9 0009 f208 	clrl 9f208 <print_handler>                  <== NOT EXECUTED
}                                                                     
   63048:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   6304c:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   63050:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00062ec6 <rtems_stack_checker_switch_extension>: */ void rtems_stack_checker_switch_extension( Thread_Control *running __attribute__((unused)), Thread_Control *heir __attribute__((unused)) ) {
   62ec6:	4e56 0000      	linkw %fp,#0                                
   62eca:	2f0a           	movel %a2,%sp@-                             
   62ecc:	246e 0008      	moveal %fp@(8),%a2                          
  Stack_Control *the_stack = &running->Start.Initial_stack;           
  void          *pattern;                                             
  bool           sp_ok;                                               
  bool           pattern_ok = true;                                   
                                                                      
  pattern = Stack_check_Get_pattern_area(the_stack);                  
   62ed0:	222a 00b0      	movel %a2@(176),%d1                         
   62ed4:	5081           	addql #8,%d1                                
)                                                                     
{                                                                     
  #if defined(__GNUC__)                                               
    void *sp = __builtin_frame_address(0);                            
                                                                      
    if ( sp < the_stack->area ) {                                     
   62ed6:	202a 00b0      	movel %a2@(176),%d0                         
   62eda:	b08e           	cmpl %fp,%d0                                
   62edc:	622a           	bhis 62f08 <rtems_stack_checker_switch_extension+0x42><== NEVER TAKEN
      return false;                                                   
    }                                                                 
    if ( sp > (the_stack->area + the_stack->size) ) {                 
   62ede:	d0aa 00ac      	addl %a2@(172),%d0                          
   62ee2:	b08e           	cmpl %fp,%d0                                
   62ee4:	6522           	bcss 62f08 <rtems_stack_checker_switch_extension+0x42><== NEVER TAKEN
  /*                                                                  
   *  Check for an out of bounds stack pointer or an overwrite        
   */                                                                 
  sp_ok = Stack_check_Frame_pointer_in_range( the_stack );            
                                                                      
  pattern_ok = (!memcmp( pattern,                                     
   62ee6:	4878 0010      	pea 10 <INVALID_OPERATION>                  
   62eea:	4879 000a 0138 	pea a0138 <Stack_check_Pattern>             
   62ef0:	2f01           	movel %d1,%sp@-                             
   62ef2:	4eb9 0007 a86c 	jsr 7a86c <memcmp>                          
   62ef8:	4fef 000c      	lea %sp@(12),%sp                            
            (void *) Stack_check_Pattern.pattern, PATTERN_SIZE_BYTES));
                                                                      
  if ( !sp_ok || !pattern_ok ) {                                      
   62efc:	4a80           	tstl %d0                                    
   62efe:	6634           	bnes 62f34 <rtems_stack_checker_switch_extension+0x6e><== NEVER TAKEN
    Stack_check_report_blown_task( running, pattern_ok );             
  }                                                                   
}                                                                     
   62f00:	246e fffc      	moveal %fp@(-4),%a2                         
   62f04:	4e5e           	unlk %fp                                    
   62f06:	4e75           	rts                                         
  /*                                                                  
   *  Check for an out of bounds stack pointer or an overwrite        
   */                                                                 
  sp_ok = Stack_check_Frame_pointer_in_range( the_stack );            
                                                                      
  pattern_ok = (!memcmp( pattern,                                     
   62f08:	4878 0010      	pea 10 <INVALID_OPERATION>                  <== NOT EXECUTED
   62f0c:	4879 000a 0138 	pea a0138 <Stack_check_Pattern>             <== NOT EXECUTED
   62f12:	2f01           	movel %d1,%sp@-                             <== NOT EXECUTED
   62f14:	4eb9 0007 a86c 	jsr 7a86c <memcmp>                          <== NOT EXECUTED
   62f1a:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   62f1e:	4a80           	tstl %d0                                    <== NOT EXECUTED
   62f20:	57c0           	seq %d0                                     <== NOT EXECUTED
   62f22:	4480           	negl %d0                                    <== NOT EXECUTED
            (void *) Stack_check_Pattern.pattern, PATTERN_SIZE_BYTES));
                                                                      
  if ( !sp_ok || !pattern_ok ) {                                      
    Stack_check_report_blown_task( running, pattern_ok );             
   62f24:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   62f2a:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62f2c:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   62f2e:	4eb9 0006 2e0e 	jsr 62e0e <Stack_check_report_blown_task>   <== NOT EXECUTED
  sp_ok = Stack_check_Frame_pointer_in_range( the_stack );            
                                                                      
  pattern_ok = (!memcmp( pattern,                                     
            (void *) Stack_check_Pattern.pattern, PATTERN_SIZE_BYTES));
                                                                      
  if ( !sp_ok || !pattern_ok ) {                                      
   62f34:	4200           	clrb %d0                                    <== NOT EXECUTED
    Stack_check_report_blown_task( running, pattern_ok );             
   62f36:	0280 0000 00ff 	andil #255,%d0                              <== NOT EXECUTED
   62f3c:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   62f3e:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   62f40:	4eb9 0006 2e0e 	jsr 62e0e <Stack_check_report_blown_task>   <== NOT EXECUTED
                                                                      

0004e910 <rtems_string_to_double>: rtems_status_code rtems_string_to_double ( const char *s, double *n, char **endptr ) {
   4e910:	4e56 ffec      	linkw %fp,#-20                              <== NOT EXECUTED
   4e914:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 <== NOT EXECUTED
   4e918:	246e 000c      	moveal %fp@(12),%a2                         <== NOT EXECUTED
  double result;                                                      
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   4e91c:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   4e91e:	6768           	beqs 4e988 <rtems_string_to_double+0x78>    <== NOT EXECUTED
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4e920:	47f9 0005 0b58 	lea 50b58 <__errno>,%a3                     <== NOT EXECUTED
   4e926:	4e93           	jsr %a3@                                    <== NOT EXECUTED
  *n = 0;                                                             
   4e928:	4281           	clrl %d1                                    <== NOT EXECUTED
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4e92a:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  *n = 0;                                                             
   4e92c:	4280           	clrl %d0                                    <== NOT EXECUTED
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4e92e:	4290           	clrl %a0@                                   <== NOT EXECUTED
  *n = 0;                                                             
                                                                      
  result = strtod( s, &end );                                         
   4e930:	486e fffc      	pea %fp@(-4)                                <== NOT EXECUTED
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
   4e934:	2480           	movel %d0,%a2@                              <== NOT EXECUTED
   4e936:	2541 0004      	movel %d1,%a2@(4)                           <== NOT EXECUTED
                                                                      
  result = strtod( s, &end );                                         
   4e93a:	2f2e 0008      	movel %fp@(8),%sp@-                         <== NOT EXECUTED
   4e93e:	4eb9 0005 3588 	jsr 53588 <strtod>                          <== NOT EXECUTED
                                                                      
  if ( endptr )                                                       
   4e944:	508f           	addql #8,%sp                                <== NOT EXECUTED
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtod( s, &end );                                         
   4e946:	2601           	movel %d1,%d3                               <== NOT EXECUTED
   4e948:	2400           	movel %d0,%d2                               <== NOT EXECUTED
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   4e94a:	222e fffc      	movel %fp@(-4),%d1                          <== NOT EXECUTED
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtod( s, &end );                                         
                                                                      
  if ( endptr )                                                       
   4e94e:	4aae 0010      	tstl %fp@(16)                               <== NOT EXECUTED
   4e952:	6706           	beqs 4e95a <rtems_string_to_double+0x4a>    <== NOT EXECUTED
    *endptr = end;                                                    
   4e954:	206e 0010      	moveal %fp@(16),%a0                         <== NOT EXECUTED
   4e958:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
                                                                      
  if ( end == s )                                                     
   4e95a:	b2ae 0008      	cmpl %fp@(8),%d1                            <== NOT EXECUTED
   4e95e:	671c           	beqs 4e97c <rtems_string_to_double+0x6c>    <== NOT EXECUTED
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4e960:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   4e962:	7222           	moveq #34,%d1                               <== NOT EXECUTED
   4e964:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   4e966:	b290           	cmpl %a0@,%d1                               <== NOT EXECUTED
   4e968:	672a           	beqs 4e994 <rtems_string_to_double+0x84>    <== NOT EXECUTED
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4e96a:	2482           	movel %d2,%a2@                              <== NOT EXECUTED
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4e96c:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4e96e:	2543 0004      	movel %d3,%a2@(4)                           <== NOT EXECUTED
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4e972:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   4e978:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e97a:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   4e97c:	700b           	moveq #11,%d0                               <== NOT EXECUTED
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4e97e:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   4e984:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e986:	4e75           	rts                                         <== NOT EXECUTED
{                                                                     
  double result;                                                      
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   4e988:	7009           	moveq #9,%d0                                <== NOT EXECUTED
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4e98a:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   4e990:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e992:	4e75           	rts                                         <== NOT EXECUTED
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4e994:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4e996:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4e998:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   4e99a:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4e99c:	4eb9 0005 f0a0 	jsr 5f0a0 <__eqdf2>                         <== NOT EXECUTED
   4e9a2:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e9a6:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4e9a8:	660c           	bnes 4e9b6 <rtems_string_to_double+0xa6>    <== NOT EXECUTED
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))
      return RTEMS_INVALID_NUMBER;                                    
   4e9aa:	700a           	moveq #10,%d0                               <== NOT EXECUTED
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4e9ac:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            <== NOT EXECUTED
   4e9b2:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e9b4:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))
   4e9b6:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   4e9ba:	2f3c 7fef ffff 	movel #2146435071,%sp@-                     <== NOT EXECUTED
   4e9c0:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   4e9c2:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4e9c4:	4eb9 0005 f0c4 	jsr 5f0c4 <__gtdf2>                         <== NOT EXECUTED
   4e9ca:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e9ce:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4e9d0:	6ed8           	bgts 4e9aa <rtems_string_to_double+0x9a>    <== NOT EXECUTED
   4e9d2:	4878 ffff      	pea ffffffff <LESS>                         <== NOT EXECUTED
   4e9d6:	2f3c ffef ffff 	movel #-1048577,%sp@-                       <== NOT EXECUTED
   4e9dc:	2f03           	movel %d3,%sp@-                             <== NOT EXECUTED
   4e9de:	2f02           	movel %d2,%sp@-                             <== NOT EXECUTED
   4e9e0:	4eb9 0005 f10c 	jsr 5f10c <__ltdf2>                         <== NOT EXECUTED
   4e9e6:	4fef 0010      	lea %sp@(16),%sp                            <== NOT EXECUTED
   4e9ea:	4a80           	tstl %d0                                    <== NOT EXECUTED
   4e9ec:	6c00 ff7c      	bgew 4e96a <rtems_string_to_double+0x5a>    <== NOT EXECUTED
      return RTEMS_INVALID_NUMBER;                                    
   4e9f0:	700a           	moveq #10,%d0                               <== NOT EXECUTED
   4e9f2:	60b8           	bras 4e9ac <rtems_string_to_double+0x9c>    <== NOT EXECUTED
                                                                      

0004e9f4 <rtems_string_to_float>: rtems_status_code rtems_string_to_float ( const char *s, float *n, char **endptr ) {
   4e9f4:	4e56 fff0      	linkw %fp,#-16                              
   4e9f8:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   4e9fc:	246e 000c      	moveal %fp@(12),%a2                         
  float result;                                                       
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   4ea00:	4a8a           	tstl %a2                                    
   4ea02:	675e           	beqs 4ea62 <rtems_string_to_float+0x6e>     
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4ea04:	47f9 0005 0b58 	lea 50b58 <__errno>,%a3                     
   4ea0a:	4e93           	jsr %a3@                                    
   4ea0c:	2040           	moveal %d0,%a0                              
   4ea0e:	4290           	clrl %a0@                                   
  *n = 0;                                                             
                                                                      
  result = strtof( s, &end );                                         
   4ea10:	486e fffc      	pea %fp@(-4)                                
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
   4ea14:	24bc 0000 0000 	movel #0,%a2@                               
                                                                      
  result = strtof( s, &end );                                         
   4ea1a:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4ea1e:	4eb9 0005 35a8 	jsr 535a8 <strtof>                          
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   4ea24:	222e fffc      	movel %fp@(-4),%d1                          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtof( s, &end );                                         
   4ea28:	2400           	movel %d0,%d2                               
                                                                      
  if ( endptr )                                                       
   4ea2a:	508f           	addql #8,%sp                                
   4ea2c:	4aae 0010      	tstl %fp@(16)                               
   4ea30:	6706           	beqs 4ea38 <rtems_string_to_float+0x44>     
    *endptr = end;                                                    
   4ea32:	206e 0010      	moveal %fp@(16),%a0                         
   4ea36:	2081           	movel %d1,%a0@                              
                                                                      
  if ( end == s )                                                     
   4ea38:	b2ae 0008      	cmpl %fp@(8),%d1                            
   4ea3c:	6718           	beqs 4ea56 <rtems_string_to_float+0x62>     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4ea3e:	4e93           	jsr %a3@                                    
   4ea40:	7222           	moveq #34,%d1                               
   4ea42:	2040           	moveal %d0,%a0                              
   4ea44:	b290           	cmpl %a0@,%d1                               
   4ea46:	6726           	beqs 4ea6e <rtems_string_to_float+0x7a>     
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4ea48:	2482           	movel %d2,%a2@                              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4ea4a:	4280           	clrl %d0                                    
}                                                                     
   4ea4c:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ea52:	4e5e           	unlk %fp                                    
   4ea54:	4e75           	rts                                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   4ea56:	700b           	moveq #11,%d0                               
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ea58:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ea5e:	4e5e           	unlk %fp                                    
   4ea60:	4e75           	rts                                         
{                                                                     
  float result;                                                       
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   4ea62:	7009           	moveq #9,%d0                                
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ea64:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ea6a:	4e5e           	unlk %fp                                    
   4ea6c:	4e75           	rts                                         
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4ea6e:	2f3c 0000 0000 	movel #0,%sp@-                              
   4ea74:	2f02           	movel %d2,%sp@-                             
   4ea76:	4eb9 0005 f154 	jsr 5f154 <__eqsf2>                         
   4ea7c:	508f           	addql #8,%sp                                
   4ea7e:	4a80           	tstl %d0                                    
   4ea80:	660c           	bnes 4ea8e <rtems_string_to_float+0x9a>     <== ALWAYS TAKEN
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))
      return RTEMS_INVALID_NUMBER;                                    
   4ea82:	700a           	moveq #10,%d0                               <== NOT EXECUTED
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ea84:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                <== NOT EXECUTED
   4ea8a:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4ea8c:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))
   4ea8e:	2f3c 7f7f ffff 	movel #2139095039,%sp@-                     
   4ea94:	2f02           	movel %d2,%sp@-                             
   4ea96:	4eb9 0005 f170 	jsr 5f170 <__gtsf2>                         
   4ea9c:	508f           	addql #8,%sp                                
   4ea9e:	4a80           	tstl %d0                                    
   4eaa0:	6ee0           	bgts 4ea82 <rtems_string_to_float+0x8e>     <== NEVER TAKEN
   4eaa2:	2f3c ff7f ffff 	movel #-8388609,%sp@-                       
   4eaa8:	2f02           	movel %d2,%sp@-                             
   4eaaa:	4eb9 0005 f18c 	jsr 5f18c <__ltsf2>                         
   4eab0:	508f           	addql #8,%sp                                
   4eab2:	4a80           	tstl %d0                                    
   4eab4:	6c92           	bges 4ea48 <rtems_string_to_float+0x54>     <== ALWAYS TAKEN
      return RTEMS_INVALID_NUMBER;                                    
   4eab6:	700a           	moveq #10,%d0                               <== NOT EXECUTED
   4eab8:	60ca           	bras 4ea84 <rtems_string_to_float+0x90>     <== NOT EXECUTED
	...                                                                  
                                                                      

0005d188 <rtems_string_to_int>: const char *s, int *n, char **endptr, int base ) {
   5d188:	4e56 fff0      	linkw %fp,#-16                              
   5d18c:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   5d190:	246e 000c      	moveal %fp@(12),%a2                         
  long result;                                                        
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   5d194:	4a8a           	tstl %a2                                    
   5d196:	6760           	beqs 5d1f8 <rtems_string_to_int+0x70>       
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   5d198:	47f9 0007 7798 	lea 77798 <__errno>,%a3                     
   5d19e:	4e93           	jsr %a3@                                    
   5d1a0:	2040           	moveal %d0,%a0                              
   5d1a2:	4290           	clrl %a0@                                   
  *n = 0;                                                             
                                                                      
  result = strtol( s, &end, base );                                   
   5d1a4:	2f2e 0014      	movel %fp@(20),%sp@-                        
   5d1a8:	486e fffc      	pea %fp@(-4)                                
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
   5d1ac:	4292           	clrl %a2@                                   
                                                                      
  result = strtol( s, &end, base );                                   
   5d1ae:	2f2e 0008      	movel %fp@(8),%sp@-                         
   5d1b2:	4eb9 0007 ea26 	jsr 7ea26 <strtol>                          
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   5d1b8:	222e fffc      	movel %fp@(-4),%d1                          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtol( s, &end, base );                                   
   5d1bc:	2400           	movel %d0,%d2                               
                                                                      
  if ( endptr )                                                       
   5d1be:	4fef 000c      	lea %sp@(12),%sp                            
   5d1c2:	4aae 0010      	tstl %fp@(16)                               
   5d1c6:	6706           	beqs 5d1ce <rtems_string_to_int+0x46>       
    *endptr = end;                                                    
   5d1c8:	206e 0010      	moveal %fp@(16),%a0                         
   5d1cc:	2081           	movel %d1,%a0@                              
                                                                      
  if ( end == s )                                                     
   5d1ce:	b2ae 0008      	cmpl %fp@(8),%d1                            
   5d1d2:	6718           	beqs 5d1ec <rtems_string_to_int+0x64>       
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   5d1d4:	4e93           	jsr %a3@                                    
   5d1d6:	7222           	moveq #34,%d1                               
   5d1d8:	2040           	moveal %d0,%a0                              
   5d1da:	b290           	cmpl %a0@,%d1                               
   5d1dc:	6726           	beqs 5d204 <rtems_string_to_int+0x7c>       
    errno = ERANGE;                                                   
    return RTEMS_INVALID_NUMBER;                                      
  }                                                                   
#endif                                                                
                                                                      
  *n = result;                                                        
   5d1de:	2482           	movel %d2,%a2@                              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   5d1e0:	4280           	clrl %d0                                    
}                                                                     
   5d1e2:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   5d1e8:	4e5e           	unlk %fp                                    
   5d1ea:	4e75           	rts                                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   5d1ec:	700b           	moveq #11,%d0                               
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d1ee:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   5d1f4:	4e5e           	unlk %fp                                    
   5d1f6:	4e75           	rts                                         
{                                                                     
  long result;                                                        
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   5d1f8:	7009           	moveq #9,%d0                                
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d1fa:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   5d200:	4e5e           	unlk %fp                                    
   5d202:	4e75           	rts                                         
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   5d204:	4a82           	tstl %d2                                    
   5d206:	660c           	bnes 5d214 <rtems_string_to_int+0x8c>       <== ALWAYS TAKEN
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
      return RTEMS_INVALID_NUMBER;                                    
   5d208:	700a           	moveq #10,%d0                               
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d20a:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   5d210:	4e5e           	unlk %fp                                    
   5d212:	4e75           	rts                                         
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
   5d214:	0c82 7fff ffff 	cmpil #2147483647,%d2                       
   5d21a:	67ec           	beqs 5d208 <rtems_string_to_int+0x80>       
   5d21c:	0c82 8000 0000 	cmpil #-2147483648,%d2                      
   5d222:	67e4           	beqs 5d208 <rtems_string_to_int+0x80>       <== ALWAYS TAKEN
    errno = ERANGE;                                                   
    return RTEMS_INVALID_NUMBER;                                      
  }                                                                   
#endif                                                                
                                                                      
  *n = result;                                                        
   5d224:	2482           	movel %d2,%a2@                              <== NOT EXECUTED
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   5d226:	4280           	clrl %d0                                    <== NOT EXECUTED
   5d228:	60b8           	bras 5d1e2 <rtems_string_to_int+0x5a>       <== NOT EXECUTED
	...                                                                  
                                                                      

0004ec24 <rtems_string_to_long>: const char *s, long *n, char **endptr, int base ) {
   4ec24:	4e56 fff0      	linkw %fp,#-16                              
   4ec28:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   4ec2c:	246e 000c      	moveal %fp@(12),%a2                         
  long result;                                                        
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   4ec30:	4a8a           	tstl %a2                                    
   4ec32:	6760           	beqs 4ec94 <rtems_string_to_long+0x70>      
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4ec34:	47f9 0005 0b58 	lea 50b58 <__errno>,%a3                     
   4ec3a:	4e93           	jsr %a3@                                    
   4ec3c:	2040           	moveal %d0,%a0                              
   4ec3e:	4290           	clrl %a0@                                   
  *n = 0;                                                             
                                                                      
  result = strtol( s, &end, base );                                   
   4ec40:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4ec44:	486e fffc      	pea %fp@(-4)                                
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
   4ec48:	4292           	clrl %a2@                                   
                                                                      
  result = strtol( s, &end, base );                                   
   4ec4a:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4ec4e:	4eb9 0005 378a 	jsr 5378a <strtol>                          
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   4ec54:	222e fffc      	movel %fp@(-4),%d1                          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtol( s, &end, base );                                   
   4ec58:	2400           	movel %d0,%d2                               
                                                                      
  if ( endptr )                                                       
   4ec5a:	4fef 000c      	lea %sp@(12),%sp                            
   4ec5e:	4aae 0010      	tstl %fp@(16)                               
   4ec62:	6706           	beqs 4ec6a <rtems_string_to_long+0x46>      
    *endptr = end;                                                    
   4ec64:	206e 0010      	moveal %fp@(16),%a0                         
   4ec68:	2081           	movel %d1,%a0@                              
                                                                      
  if ( end == s )                                                     
   4ec6a:	b2ae 0008      	cmpl %fp@(8),%d1                            
   4ec6e:	6718           	beqs 4ec88 <rtems_string_to_long+0x64>      
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4ec70:	4e93           	jsr %a3@                                    
   4ec72:	7222           	moveq #34,%d1                               
   4ec74:	2040           	moveal %d0,%a0                              
   4ec76:	b290           	cmpl %a0@,%d1                               
   4ec78:	6726           	beqs 4eca0 <rtems_string_to_long+0x7c>      
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4ec7a:	2482           	movel %d2,%a2@                              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4ec7c:	4280           	clrl %d0                                    
}                                                                     
   4ec7e:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ec84:	4e5e           	unlk %fp                                    
   4ec86:	4e75           	rts                                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   4ec88:	700b           	moveq #11,%d0                               
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ec8a:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ec90:	4e5e           	unlk %fp                                    
   4ec92:	4e75           	rts                                         
{                                                                     
  long result;                                                        
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   4ec94:	7009           	moveq #9,%d0                                
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ec96:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ec9c:	4e5e           	unlk %fp                                    
   4ec9e:	4e75           	rts                                         
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4eca0:	4a82           	tstl %d2                                    
   4eca2:	660c           	bnes 4ecb0 <rtems_string_to_long+0x8c>      <== ALWAYS TAKEN
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
      return RTEMS_INVALID_NUMBER;                                    
   4eca4:	700a           	moveq #10,%d0                               
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4eca6:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ecac:	4e5e           	unlk %fp                                    
   4ecae:	4e75           	rts                                         
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
   4ecb0:	0c82 7fff ffff 	cmpil #2147483647,%d2                       
   4ecb6:	67ec           	beqs 4eca4 <rtems_string_to_long+0x80>      
   4ecb8:	0c82 8000 0000 	cmpil #-2147483648,%d2                      
   4ecbe:	67e4           	beqs 4eca4 <rtems_string_to_long+0x80>      <== ALWAYS TAKEN
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4ecc0:	2482           	movel %d2,%a2@                              <== NOT EXECUTED
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4ecc2:	4280           	clrl %d0                                    <== NOT EXECUTED
   4ecc4:	60b8           	bras 4ec7e <rtems_string_to_long+0x5a>      <== NOT EXECUTED
	...                                                                  
                                                                      

0004eb60 <rtems_string_to_long_long>: const char *s, long long *n, char **endptr, int base ) {
   4eb60:	4e56 ffec      	linkw %fp,#-20                              
   4eb64:	48d7 0c0c      	moveml %d2-%d3/%a2-%a3,%sp@                 
   4eb68:	246e 000c      	moveal %fp@(12),%a2                         
  long long result;                                                   
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   4eb6c:	4a8a           	tstl %a2                                    
   4eb6e:	676e           	beqs 4ebde <rtems_string_to_long_long+0x7e> 
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4eb70:	47f9 0005 0b58 	lea 50b58 <__errno>,%a3                     
   4eb76:	4e93           	jsr %a3@                                    
   4eb78:	2040           	moveal %d0,%a0                              
  *n = 0;                                                             
   4eb7a:	4280           	clrl %d0                                    
   4eb7c:	4281           	clrl %d1                                    
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4eb7e:	4290           	clrl %a0@                                   
  *n = 0;                                                             
   4eb80:	2480           	movel %d0,%a2@                              
   4eb82:	2541 0004      	movel %d1,%a2@(4)                           
                                                                      
  result = strtoll( s, &end, base );                                  
   4eb86:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4eb8a:	486e fffc      	pea %fp@(-4)                                
   4eb8e:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4eb92:	4eb9 0005 37ac 	jsr 537ac <strtoll>                         
                                                                      
  if ( endptr )                                                       
   4eb98:	4fef 000c      	lea %sp@(12),%sp                            
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtoll( s, &end, base );                                  
   4eb9c:	2400           	movel %d0,%d2                               
   4eb9e:	2601           	movel %d1,%d3                               
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   4eba0:	222e fffc      	movel %fp@(-4),%d1                          
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtoll( s, &end, base );                                  
                                                                      
  if ( endptr )                                                       
   4eba4:	4aae 0010      	tstl %fp@(16)                               
   4eba8:	6706           	beqs 4ebb0 <rtems_string_to_long_long+0x50> 
    *endptr = end;                                                    
   4ebaa:	206e 0010      	moveal %fp@(16),%a0                         
   4ebae:	2081           	movel %d1,%a0@                              
                                                                      
  if ( end == s )                                                     
   4ebb0:	b2ae 0008      	cmpl %fp@(8),%d1                            
   4ebb4:	671c           	beqs 4ebd2 <rtems_string_to_long_long+0x72> 
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4ebb6:	4e93           	jsr %a3@                                    
   4ebb8:	7222           	moveq #34,%d1                               
   4ebba:	2040           	moveal %d0,%a0                              
   4ebbc:	b290           	cmpl %a0@,%d1                               
   4ebbe:	672a           	beqs 4ebea <rtems_string_to_long_long+0x8a> 
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4ebc0:	4280           	clrl %d0                                    
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4ebc2:	2482           	movel %d2,%a2@                              
   4ebc4:	2543 0004      	movel %d3,%a2@(4)                           
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ebc8:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            
   4ebce:	4e5e           	unlk %fp                                    
   4ebd0:	4e75           	rts                                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   4ebd2:	700b           	moveq #11,%d0                               
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ebd4:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            
   4ebda:	4e5e           	unlk %fp                                    
   4ebdc:	4e75           	rts                                         
{                                                                     
  long long result;                                                   
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   4ebde:	7009           	moveq #9,%d0                                
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ebe0:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            
   4ebe6:	4e5e           	unlk %fp                                    
   4ebe8:	4e75           	rts                                         
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4ebea:	2002           	movel %d2,%d0                               
   4ebec:	8083           	orl %d3,%d0                                 
   4ebee:	660c           	bnes 4ebfc <rtems_string_to_long_long+0x9c> <== ALWAYS TAKEN
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))
      return RTEMS_INVALID_NUMBER;                                    
   4ebf0:	700a           	moveq #10,%d0                               
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ebf2:	4cee 0c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a3            
   4ebf8:	4e5e           	unlk %fp                                    
   4ebfa:	4e75           	rts                                         
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))
   4ebfc:	203c 7fff ffff 	movel #2147483647,%d0                       
   4ec02:	72ff           	moveq #-1,%d1                               
   4ec04:	9283           	subl %d3,%d1                                
   4ec06:	9182           	subxl %d2,%d0                               
   4ec08:	67e6           	beqs 4ebf0 <rtems_string_to_long_long+0x90> 
   4ec0a:	203c 8000 0000 	movel #-2147483648,%d0                      
   4ec10:	4281           	clrl %d1                                    
   4ec12:	9283           	subl %d3,%d1                                
   4ec14:	9182           	subxl %d2,%d0                               
   4ec16:	67d8           	beqs 4ebf0 <rtems_string_to_long_long+0x90> 
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4ec18:	4280           	clrl %d0                                    <== NOT EXECUTED
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4ec1a:	2482           	movel %d2,%a2@                              <== NOT EXECUTED
   4ec1c:	2543 0004      	movel %d3,%a2@(4)                           <== NOT EXECUTED
   4ec20:	60a6           	bras 4ebc8 <rtems_string_to_long_long+0x68> <== NOT EXECUTED
	...                                                                  
                                                                      

0005d248 <rtems_string_to_unsigned_char>: const char *s, unsigned char *n, char **endptr, int base ) {
   5d248:	4e56 fff0      	linkw %fp,#-16                              
   5d24c:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   5d250:	246e 000c      	moveal %fp@(12),%a2                         
  unsigned long result;                                               
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   5d254:	4a8a           	tstl %a2                                    
   5d256:	6768           	beqs 5d2c0 <rtems_string_to_unsigned_char+0x78>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   5d258:	47f9 0007 7798 	lea 77798 <__errno>,%a3                     
   5d25e:	4e93           	jsr %a3@                                    
   5d260:	2040           	moveal %d0,%a0                              
   5d262:	4290           	clrl %a0@                                   
  *n = 0;                                                             
   5d264:	4212           	clrb %a2@                                   
                                                                      
  result = strtoul( s, &end, base );                                  
   5d266:	2f2e 0014      	movel %fp@(20),%sp@-                        
   5d26a:	486e fffc      	pea %fp@(-4)                                
   5d26e:	2f2e 0008      	movel %fp@(8),%sp@-                         
   5d272:	4eb9 0007 eeca 	jsr 7eeca <strtoul>                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   5d278:	222e fffc      	movel %fp@(-4),%d1                          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtoul( s, &end, base );                                  
   5d27c:	2400           	movel %d0,%d2                               
                                                                      
  if ( endptr )                                                       
   5d27e:	4fef 000c      	lea %sp@(12),%sp                            
   5d282:	4aae 0010      	tstl %fp@(16)                               
   5d286:	6706           	beqs 5d28e <rtems_string_to_unsigned_char+0x46>
    *endptr = end;                                                    
   5d288:	206e 0010      	moveal %fp@(16),%a0                         
   5d28c:	2081           	movel %d1,%a0@                              
                                                                      
  if ( end == s )                                                     
   5d28e:	b2ae 0008      	cmpl %fp@(8),%d1                            
   5d292:	6720           	beqs 5d2b4 <rtems_string_to_unsigned_char+0x6c>
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   5d294:	4e93           	jsr %a3@                                    
   5d296:	7222           	moveq #34,%d1                               
   5d298:	2040           	moveal %d0,%a0                              
   5d29a:	b290           	cmpl %a0@,%d1                               
   5d29c:	6742           	beqs 5d2e0 <rtems_string_to_unsigned_char+0x98>
    (( result == 0 ) || ( result == ULONG_MAX )))                     
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
#if (UCHAR_MAX < ULONG_MAX)                                           
  if ( result > UCHAR_MAX ) {                                         
   5d29e:	0c82 0000 00ff 	cmpil #255,%d2                              
   5d2a4:	6226           	bhis 5d2cc <rtems_string_to_unsigned_char+0x84>
  }                                                                   
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   5d2a6:	4280           	clrl %d0                                    
    errno = ERANGE;                                                   
    return RTEMS_INVALID_NUMBER;                                      
  }                                                                   
#endif                                                                
                                                                      
  *n = result;                                                        
   5d2a8:	1482           	moveb %d2,%a2@                              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d2aa:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   5d2b0:	4e5e           	unlk %fp                                    
   5d2b2:	4e75           	rts                                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   5d2b4:	700b           	moveq #11,%d0                               
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d2b6:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   5d2bc:	4e5e           	unlk %fp                                    
   5d2be:	4e75           	rts                                         
{                                                                     
  unsigned long result;                                               
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   5d2c0:	7009           	moveq #9,%d0                                
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d2c2:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   5d2c8:	4e5e           	unlk %fp                                    
   5d2ca:	4e75           	rts                                         
    (( result == 0 ) || ( result == ULONG_MAX )))                     
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
#if (UCHAR_MAX < ULONG_MAX)                                           
  if ( result > UCHAR_MAX ) {                                         
    errno = ERANGE;                                                   
   5d2cc:	4e93           	jsr %a3@                                    
   5d2ce:	7222           	moveq #34,%d1                               
   5d2d0:	2040           	moveal %d0,%a0                              
    return RTEMS_INVALID_NUMBER;                                      
   5d2d2:	700a           	moveq #10,%d0                               
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d2d4:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
    (( result == 0 ) || ( result == ULONG_MAX )))                     
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
#if (UCHAR_MAX < ULONG_MAX)                                           
  if ( result > UCHAR_MAX ) {                                         
    errno = ERANGE;                                                   
   5d2da:	2081           	movel %d1,%a0@                              
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d2dc:	4e5e           	unlk %fp                                    
   5d2de:	4e75           	rts                                         
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == ULONG_MAX )))                     
   5d2e0:	2002           	movel %d2,%d0                               
   5d2e2:	5380           	subql #1,%d0                                
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   5d2e4:	72fd           	moveq #-3,%d1                               
   5d2e6:	b280           	cmpl %d0,%d1                                
   5d2e8:	64b4           	bccs 5d29e <rtems_string_to_unsigned_char+0x56><== NEVER TAKEN
    (( result == 0 ) || ( result == ULONG_MAX )))                     
      return RTEMS_INVALID_NUMBER;                                    
   5d2ea:	700a           	moveq #10,%d0                               
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   5d2ec:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   5d2f2:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004ed94 <rtems_string_to_unsigned_int>: const char *s, unsigned int *n, char **endptr, int base ) {
   4ed94:	4e56 fff0      	linkw %fp,#-16                              
   4ed98:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   4ed9c:	246e 000c      	moveal %fp@(12),%a2                         
  unsigned long result;                                               
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   4eda0:	4a8a           	tstl %a2                                    
   4eda2:	6760           	beqs 4ee04 <rtems_string_to_unsigned_int+0x70>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4eda4:	47f9 0005 0b58 	lea 50b58 <__errno>,%a3                     
   4edaa:	4e93           	jsr %a3@                                    
   4edac:	2040           	moveal %d0,%a0                              
   4edae:	4290           	clrl %a0@                                   
  *n = 0;                                                             
                                                                      
  result = strtoul( s, &end, base );                                  
   4edb0:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4edb4:	486e fffc      	pea %fp@(-4)                                
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
   4edb8:	4292           	clrl %a2@                                   
                                                                      
  result = strtoul( s, &end, base );                                  
   4edba:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4edbe:	4eb9 0005 3c2e 	jsr 53c2e <strtoul>                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   4edc4:	222e fffc      	movel %fp@(-4),%d1                          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtoul( s, &end, base );                                  
   4edc8:	2400           	movel %d0,%d2                               
                                                                      
  if ( endptr )                                                       
   4edca:	4fef 000c      	lea %sp@(12),%sp                            
   4edce:	4aae 0010      	tstl %fp@(16)                               
   4edd2:	6706           	beqs 4edda <rtems_string_to_unsigned_int+0x46>
    *endptr = end;                                                    
   4edd4:	206e 0010      	moveal %fp@(16),%a0                         
   4edd8:	2081           	movel %d1,%a0@                              
                                                                      
  if ( end == s )                                                     
   4edda:	b2ae 0008      	cmpl %fp@(8),%d1                            
   4edde:	6718           	beqs 4edf8 <rtems_string_to_unsigned_int+0x64>
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4ede0:	4e93           	jsr %a3@                                    
   4ede2:	7222           	moveq #34,%d1                               
   4ede4:	2040           	moveal %d0,%a0                              
   4ede6:	b290           	cmpl %a0@,%d1                               
   4ede8:	6726           	beqs 4ee10 <rtems_string_to_unsigned_int+0x7c>
    errno = ERANGE;                                                   
    return RTEMS_INVALID_NUMBER;                                      
  }                                                                   
#endif                                                                
                                                                      
  *n = result;                                                        
   4edea:	2482           	movel %d2,%a2@                              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4edec:	4280           	clrl %d0                                    
}                                                                     
   4edee:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4edf4:	4e5e           	unlk %fp                                    
   4edf6:	4e75           	rts                                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   4edf8:	700b           	moveq #11,%d0                               
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4edfa:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ee00:	4e5e           	unlk %fp                                    
   4ee02:	4e75           	rts                                         
{                                                                     
  unsigned long result;                                               
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   4ee04:	7009           	moveq #9,%d0                                
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ee06:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ee0c:	4e5e           	unlk %fp                                    
   4ee0e:	4e75           	rts                                         
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == ULONG_MAX )))                     
   4ee10:	2002           	movel %d2,%d0                               
   4ee12:	5380           	subql #1,%d0                                
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4ee14:	72fd           	moveq #-3,%d1                               
   4ee16:	b280           	cmpl %d0,%d1                                
   4ee18:	64d0           	bccs 4edea <rtems_string_to_unsigned_int+0x56><== NEVER TAKEN
    (( result == 0 ) || ( result == ULONG_MAX )))                     
      return RTEMS_INVALID_NUMBER;                                    
   4ee1a:	700a           	moveq #10,%d0                               
#endif                                                                
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ee1c:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4ee22:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004b488 <rtems_string_to_unsigned_long>: const char *s, unsigned long *n, char **endptr, int base ) {
   4b488:	4e56 fff0      	linkw %fp,#-16                              
   4b48c:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   4b490:	246e 000c      	moveal %fp@(12),%a2                         
  unsigned long result;                                               
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   4b494:	4a8a           	tstl %a2                                    
   4b496:	6760           	beqs 4b4f8 <rtems_string_to_unsigned_long+0x70>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4b498:	47f9 0007 7798 	lea 77798 <__errno>,%a3                     
   4b49e:	4e93           	jsr %a3@                                    
   4b4a0:	2040           	moveal %d0,%a0                              
   4b4a2:	4290           	clrl %a0@                                   
  *n = 0;                                                             
                                                                      
  result = strtoul( s, &end, base );                                  
   4b4a4:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4b4a8:	486e fffc      	pea %fp@(-4)                                
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
   4b4ac:	4292           	clrl %a2@                                   
                                                                      
  result = strtoul( s, &end, base );                                  
   4b4ae:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4b4b2:	4eb9 0007 eeca 	jsr 7eeca <strtoul>                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   4b4b8:	222e fffc      	movel %fp@(-4),%d1                          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtoul( s, &end, base );                                  
   4b4bc:	2400           	movel %d0,%d2                               
                                                                      
  if ( endptr )                                                       
   4b4be:	4fef 000c      	lea %sp@(12),%sp                            
   4b4c2:	4aae 0010      	tstl %fp@(16)                               
   4b4c6:	6706           	beqs 4b4ce <rtems_string_to_unsigned_long+0x46>
    *endptr = end;                                                    
   4b4c8:	206e 0010      	moveal %fp@(16),%a0                         
   4b4cc:	2081           	movel %d1,%a0@                              
                                                                      
  if ( end == s )                                                     
   4b4ce:	b2ae 0008      	cmpl %fp@(8),%d1                            
   4b4d2:	6718           	beqs 4b4ec <rtems_string_to_unsigned_long+0x64>
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4b4d4:	4e93           	jsr %a3@                                    
   4b4d6:	7222           	moveq #34,%d1                               
   4b4d8:	2040           	moveal %d0,%a0                              
   4b4da:	b290           	cmpl %a0@,%d1                               
   4b4dc:	6726           	beqs 4b504 <rtems_string_to_unsigned_long+0x7c>
    (( result == 0 ) || ( result == ULONG_MAX )))                     
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4b4de:	2482           	movel %d2,%a2@                              
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4b4e0:	4280           	clrl %d0                                    
}                                                                     
   4b4e2:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4b4e8:	4e5e           	unlk %fp                                    
   4b4ea:	4e75           	rts                                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   4b4ec:	700b           	moveq #11,%d0                               
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4b4ee:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4b4f4:	4e5e           	unlk %fp                                    
   4b4f6:	4e75           	rts                                         
{                                                                     
  unsigned long result;                                               
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   4b4f8:	7009           	moveq #9,%d0                                
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4b4fa:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4b500:	4e5e           	unlk %fp                                    
   4b502:	4e75           	rts                                         
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == ULONG_MAX )))                     
   4b504:	2002           	movel %d2,%d0                               
   4b506:	5380           	subql #1,%d0                                
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4b508:	72fd           	moveq #-3,%d1                               
   4b50a:	b280           	cmpl %d0,%d1                                
   4b50c:	64d0           	bccs 4b4de <rtems_string_to_unsigned_long+0x56><== NEVER TAKEN
    (( result == 0 ) || ( result == ULONG_MAX )))                     
      return RTEMS_INVALID_NUMBER;                                    
   4b50e:	700a           	moveq #10,%d0                               
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4b510:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   4b516:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

0004ee28 <rtems_string_to_unsigned_long_long>: const char *s, unsigned long long *n, char **endptr, int base ) {
   4ee28:	4e56 ffe4      	linkw %fp,#-28                              
   4ee2c:	48d7 0c3c      	moveml %d2-%d5/%a2-%a3,%sp@                 
   4ee30:	246e 000c      	moveal %fp@(12),%a2                         
  unsigned long long result;                                          
  char *end;                                                          
                                                                      
  if ( !n )                                                           
   4ee34:	4a8a           	tstl %a2                                    
   4ee36:	676e           	beqs 4eea6 <rtems_string_to_unsigned_long_long+0x7e>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4ee38:	47f9 0005 0b58 	lea 50b58 <__errno>,%a3                     
   4ee3e:	4e93           	jsr %a3@                                    
   4ee40:	2040           	moveal %d0,%a0                              
  *n = 0;                                                             
   4ee42:	4280           	clrl %d0                                    
   4ee44:	4281           	clrl %d1                                    
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
   4ee46:	4290           	clrl %a0@                                   
  *n = 0;                                                             
   4ee48:	2480           	movel %d0,%a2@                              
   4ee4a:	2541 0004      	movel %d1,%a2@(4)                           
                                                                      
  result = strtoull( s, &end, base );                                 
   4ee4e:	2f2e 0014      	movel %fp@(20),%sp@-                        
   4ee52:	486e fffc      	pea %fp@(-4)                                
   4ee56:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4ee5a:	4eb9 0005 3c50 	jsr 53c50 <strtoull>                        
                                                                      
  if ( endptr )                                                       
   4ee60:	4fef 000c      	lea %sp@(12),%sp                            
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtoull( s, &end, base );                                 
   4ee64:	2400           	movel %d0,%d2                               
   4ee66:	2601           	movel %d1,%d3                               
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
   4ee68:	222e fffc      	movel %fp@(-4),%d1                          
  errno = 0;                                                          
  *n = 0;                                                             
                                                                      
  result = strtoull( s, &end, base );                                 
                                                                      
  if ( endptr )                                                       
   4ee6c:	4aae 0010      	tstl %fp@(16)                               
   4ee70:	6706           	beqs 4ee78 <rtems_string_to_unsigned_long_long+0x50>
    *endptr = end;                                                    
   4ee72:	206e 0010      	moveal %fp@(16),%a0                         
   4ee76:	2081           	movel %d1,%a0@                              
                                                                      
  if ( end == s )                                                     
   4ee78:	b2ae 0008      	cmpl %fp@(8),%d1                            
   4ee7c:	671c           	beqs 4ee9a <rtems_string_to_unsigned_long_long+0x72>
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4ee7e:	4e93           	jsr %a3@                                    
   4ee80:	7222           	moveq #34,%d1                               
   4ee82:	2040           	moveal %d0,%a0                              
   4ee84:	b290           	cmpl %a0@,%d1                               
   4ee86:	672a           	beqs 4eeb2 <rtems_string_to_unsigned_long_long+0x8a>
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   4ee88:	4280           	clrl %d0                                    
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
   4ee8a:	2482           	movel %d2,%a2@                              
   4ee8c:	2543 0004      	movel %d3,%a2@(4)                           
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ee90:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            
   4ee96:	4e5e           	unlk %fp                                    
   4ee98:	4e75           	rts                                         
                                                                      
  if ( endptr )                                                       
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
   4ee9a:	700b           	moveq #11,%d0                               
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4ee9c:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            
   4eea2:	4e5e           	unlk %fp                                    
   4eea4:	4e75           	rts                                         
{                                                                     
  unsigned long long result;                                          
  char *end;                                                          
                                                                      
  if ( !n )                                                           
    return RTEMS_INVALID_ADDRESS;                                     
   4eea6:	7009           	moveq #9,%d0                                
      return RTEMS_INVALID_NUMBER;                                    
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4eea8:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            
   4eeae:	4e5e           	unlk %fp                                    
   4eeb0:	4e75           	rts                                         
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                
   4eeb2:	70ff           	moveq #-1,%d0                               
   4eeb4:	72ff           	moveq #-1,%d1                               
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4eeb6:	78ff           	moveq #-1,%d4                               
   4eeb8:	7afd           	moveq #-3,%d5                               
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                
   4eeba:	d283           	addl %d3,%d1                                
   4eebc:	d182           	addxl %d2,%d0                               
    *endptr = end;                                                    
                                                                      
  if ( end == s )                                                     
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( ( errno == ERANGE ) &&                                         
   4eebe:	9a81           	subl %d1,%d5                                
   4eec0:	9980           	subxl %d0,%d4                               
   4eec2:	64c4           	bccs 4ee88 <rtems_string_to_unsigned_long_long+0x60><== NEVER TAKEN
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                
      return RTEMS_INVALID_NUMBER;                                    
   4eec4:	700a           	moveq #10,%d0                               
                                                                      
  *n = result;                                                        
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4eec6:	4cee 0c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a3            
   4eecc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00042bb4 <rtems_tarfs_load>: int rtems_tarfs_load( const char *mountpoint, uint8_t *tar_image, size_t tar_size ) {
   42bb4:	4e56 fe0c      	linkw %fp,#-500                             
   42bb8:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   IMFS_jnode_t                    *node;                             
   int rv = 0;                                                        
   int eval_flags = RTEMS_FS_FOLLOW_LINK;                             
   rtems_filesystem_eval_path_context_t ctx;                          
   rtems_filesystem_location_info_t rootloc;                          
   rtems_filesystem_location_info_t *currentloc =                     
   42bbc:	4878 0018      	pea 18 <OPER2+0x4>                          
   42bc0:	2f2e 0008      	movel %fp@(8),%sp@-                         
   42bc4:	486e fe64      	pea %fp@(-412)                              
   42bc8:	4eb9 0004 4c8e 	jsr 44c8e <rtems_filesystem_eval_path_start>
static inline void rtems_filesystem_eval_path_extract_currentloc(     
  rtems_filesystem_eval_path_context_t *ctx,                          
  rtems_filesystem_location_info_t *get                               
)                                                                     
{                                                                     
  rtems_filesystem_location_copy_and_detach(                          
   42bce:	486e fe7c      	pea %fp@(-388)                              
   42bd2:	486e fe4c      	pea %fp@(-436)                              
   42bd6:	2d40 fe40      	movel %d0,%fp@(-448)                        
   42bda:	4eb9 0004 5140 	jsr 45140 <rtems_filesystem_location_copy_and_detach>
     &ctx,                                                            
     RTEMS_FS_MAKE | RTEMS_FS_EXCLUSIVE                               
   );                                                                 
                                                                      
   if (                                                               
     rootloc.mt_entry->ops != &IMFS_ops                               
   42be0:	206e fe60      	moveal %fp@(-416),%a0                       
static inline void rtems_filesystem_eval_path_set_flags(              
  rtems_filesystem_eval_path_context_t *ctx,                          
  int flags                                                           
)                                                                     
{                                                                     
  ctx->flags = flags;                                                 
   42be4:	7260           	moveq #96,%d1                               
   rtems_filesystem_eval_path_set_flags(                              
     &ctx,                                                            
     RTEMS_FS_MAKE | RTEMS_FS_EXCLUSIVE                               
   );                                                                 
                                                                      
   if (                                                               
   42be6:	4fef 0014      	lea %sp@(20),%sp                            
     rootloc.mt_entry->ops != &IMFS_ops                               
   42bea:	2028 000c      	movel %a0@(12),%d0                          
   42bee:	2d41 fe74      	movel %d1,%fp@(-396)                        
   rtems_filesystem_eval_path_set_flags(                              
     &ctx,                                                            
     RTEMS_FS_MAKE | RTEMS_FS_EXCLUSIVE                               
   );                                                                 
                                                                      
   if (                                                               
   42bf2:	0c80 0006 1d68 	cmpil #400744,%d0                           
   42bf8:	670a           	beqs 42c04 <rtems_tarfs_load+0x50>          <== NEVER TAKEN
     rootloc.mt_entry->ops != &IMFS_ops                               
       && rootloc.mt_entry->ops != &fifoIMFS_ops                      
   42bfa:	0c80 0006 2752 	cmpil #403282,%d0                           
   42c00:	6600 0224      	bnew 42e26 <rtems_tarfs_load+0x272>         
   /*                                                                 
    * Create an IMFS node structure pointing to tar image memory.     
    */                                                                
   offset = 0;                                                        
   while ( rv == 0 ) {                                                
    if (offset + 512 > tar_size)                                      
   42c04:	222e 0010      	movel %fp@(16),%d1                          
   42c08:	0c81 0000 01ff 	cmpil #511,%d1                              
   42c0e:	6300 0248      	blsw 42e58 <rtems_tarfs_load+0x2a4>         
     * - For directories, just create directories as usual.  IMFS     
     *   will take care of the rest.                                  
     * - For files, create a file node with special tarfs properties. 
     */                                                               
    if (linkflag == DIRTYPE) {                                        
      strcpy(full_filename, mountpoint);                              
   42c12:	220e           	movel %fp,%d1                               
   42c14:	0681 ffff ff00 	addil #-256,%d1                             
   /*                                                                 
    * Create an IMFS node structure pointing to tar image memory.     
    */                                                                
   offset = 0;                                                        
   while ( rv == 0 ) {                                                
    if (offset + 512 > tar_size)                                      
   42c1a:	2c3c 0000 0200 	movel #512,%d6                              
   42c20:	41f9 0004 36d0 	lea 436d0 <rtems_filesystem_location_free>,%a0
    hdr_ptr = (char *) &tar_image[offset];                            
    offset += 512;                                                    
    if (strncmp(&hdr_ptr[257], "ustar", 5))                           
      break;                                                          
                                                                      
    strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);                  
   42c26:	2a0e           	movel %fp,%d5                               
   /*                                                                 
    * Create an IMFS node structure pointing to tar image memory.     
    */                                                                
   offset = 0;                                                        
   while ( rv == 0 ) {                                                
    if (offset + 512 > tar_size)                                      
   42c28:	2406           	movel %d6,%d2                               
   42c2a:	95ca           	subal %a2,%a2                               
   42c2c:	49f9 0005 25bc 	lea 525bc <strncmp>,%a4                     
    hdr_ptr = (char *) &tar_image[offset];                            
    offset += 512;                                                    
    if (strncmp(&hdr_ptr[257], "ustar", 5))                           
      break;                                                          
                                                                      
    strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);                  
   42c32:	0685 ffff fe9c 	addil #-356,%d5                             
    filename[MAX_NAME_FIELD_SIZE] = '\0';                             
                                                                      
    linkflag   = hdr_ptr[156];                                        
    file_mode  = _rtems_octal2ulong(&hdr_ptr[100], 8);                
   42c38:	47f9 0004 b63c 	lea 4b63c <_rtems_octal2ulong>,%a3          
    file_size  = _rtems_octal2ulong(&hdr_ptr[124], 12);               
    hdr_chksum = _rtems_octal2ulong(&hdr_ptr[148], 8);                
                                                                      
    if (_rtems_tar_header_checksum(hdr_ptr) != hdr_chksum)            
   42c3e:	4bf9 0004 bb60 	lea 4bb60 <_rtems_tar_header_checksum>,%a5  
     * - For directories, just create directories as usual.  IMFS     
     *   will take care of the rest.                                  
     * - For files, create a file node with special tarfs properties. 
     */                                                               
    if (linkflag == DIRTYPE) {                                        
      strcpy(full_filename, mountpoint);                              
   42c44:	2d41 fe48      	movel %d1,%fp@(-440)                        
   42c48:	4681           	notl %d1                                    
   42c4a:	2d48 fe3c      	movel %a0,%fp@(-452)                        
   42c4e:	2d41 fe38      	movel %d1,%fp@(-456)                        
   42c52:	2d46 fe44      	movel %d6,%fp@(-444)                        
    /*                                                                
     * Read a header.                                                 
     */                                                               
    hdr_ptr = (char *) &tar_image[offset];                            
    offset += 512;                                                    
    if (strncmp(&hdr_ptr[257], "ustar", 5))                           
   42c56:	4878 0005      	pea 5 <COMPARE>                             
      break;                                                          
                                                                      
    /*                                                                
     * Read a header.                                                 
     */                                                               
    hdr_ptr = (char *) &tar_image[offset];                            
   42c5a:	d5ee 000c      	addal %fp@(12),%a2                          
    offset += 512;                                                    
    if (strncmp(&hdr_ptr[257], "ustar", 5))                           
   42c5e:	4879 0006 1dec 	pea 61dec <IMFS_node_control_default+0x14>  
   42c64:	486a 0101      	pea %a2@(257)                               
   42c68:	4e94           	jsr %a4@                                    
   42c6a:	4fef 000c      	lea %sp@(12),%sp                            
   42c6e:	4a80           	tstl %d0                                    
   42c70:	6674           	bnes 42ce6 <rtems_tarfs_load+0x132>         
      break;                                                          
                                                                      
    strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);                  
   42c72:	4878 0063      	pea 63 <DBL_MANT_DIG+0x2e>                  
    filename[MAX_NAME_FIELD_SIZE] = '\0';                             
   42c76:	4203           	clrb %d3                                    
    hdr_ptr = (char *) &tar_image[offset];                            
    offset += 512;                                                    
    if (strncmp(&hdr_ptr[257], "ustar", 5))                           
      break;                                                          
                                                                      
    strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);                  
   42c78:	2f0a           	movel %a2,%sp@-                             
   42c7a:	2f05           	movel %d5,%sp@-                             
   42c7c:	4eb9 0005 26b8 	jsr 526b8 <strncpy>                         
    filename[MAX_NAME_FIELD_SIZE] = '\0';                             
                                                                      
    linkflag   = hdr_ptr[156];                                        
    file_mode  = _rtems_octal2ulong(&hdr_ptr[100], 8);                
   42c82:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   42c86:	486a 0064      	pea %a2@(100)                               
    offset += 512;                                                    
    if (strncmp(&hdr_ptr[257], "ustar", 5))                           
      break;                                                          
                                                                      
    strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);                  
    filename[MAX_NAME_FIELD_SIZE] = '\0';                             
   42c8a:	1d43 feff      	moveb %d3,%fp@(-257)                        
                                                                      
    linkflag   = hdr_ptr[156];                                        
   42c8e:	182a 009c      	moveb %a2@(156),%d4                         
    file_mode  = _rtems_octal2ulong(&hdr_ptr[100], 8);                
   42c92:	4e93           	jsr %a3@                                    
    file_size  = _rtems_octal2ulong(&hdr_ptr[124], 12);               
   42c94:	4878 000c      	pea c <OPER1>                               
                                                                      
    strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);                  
    filename[MAX_NAME_FIELD_SIZE] = '\0';                             
                                                                      
    linkflag   = hdr_ptr[156];                                        
    file_mode  = _rtems_octal2ulong(&hdr_ptr[100], 8);                
   42c98:	2e00           	movel %d0,%d7                               
    file_size  = _rtems_octal2ulong(&hdr_ptr[124], 12);               
   42c9a:	486a 007c      	pea %a2@(124)                               
   42c9e:	4e93           	jsr %a3@                                    
    hdr_chksum = _rtems_octal2ulong(&hdr_ptr[148], 8);                
   42ca0:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
    strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);                  
    filename[MAX_NAME_FIELD_SIZE] = '\0';                             
                                                                      
    linkflag   = hdr_ptr[156];                                        
    file_mode  = _rtems_octal2ulong(&hdr_ptr[100], 8);                
    file_size  = _rtems_octal2ulong(&hdr_ptr[124], 12);               
   42ca4:	2c00           	movel %d0,%d6                               
    hdr_chksum = _rtems_octal2ulong(&hdr_ptr[148], 8);                
   42ca6:	486a 0094      	pea %a2@(148)                               
   42caa:	4e93           	jsr %a3@                                    
                                                                      
    if (_rtems_tar_header_checksum(hdr_ptr) != hdr_chksum)            
   42cac:	4fef 0020      	lea %sp@(32),%sp                            
    filename[MAX_NAME_FIELD_SIZE] = '\0';                             
                                                                      
    linkflag   = hdr_ptr[156];                                        
    file_mode  = _rtems_octal2ulong(&hdr_ptr[100], 8);                
    file_size  = _rtems_octal2ulong(&hdr_ptr[124], 12);               
    hdr_chksum = _rtems_octal2ulong(&hdr_ptr[148], 8);                
   42cb0:	2600           	movel %d0,%d3                               
                                                                      
    if (_rtems_tar_header_checksum(hdr_ptr) != hdr_chksum)            
   42cb2:	2e8a           	movel %a2,%sp@                              
   42cb4:	4e95           	jsr %a5@                                    
   42cb6:	588f           	addql #4,%sp                                
   42cb8:	b680           	cmpl %d0,%d3                                
   42cba:	662a           	bnes 42ce6 <rtems_tarfs_load+0x132>         <== NEVER TAKEN
     * Generate an IMFS node depending on the file type.              
     * - For directories, just create directories as usual.  IMFS     
     *   will take care of the rest.                                  
     * - For files, create a file node with special tarfs properties. 
     */                                                               
    if (linkflag == DIRTYPE) {                                        
   42cbc:	7035           	moveq #53,%d0                               
   42cbe:	0284 0000 00ff 	andil #255,%d4                              
   42cc4:	b084           	cmpl %d4,%d0                                
   42cc6:	6746           	beqs 42d0e <rtems_tarfs_load+0x15a>         
      mkdir(full_filename, S_IRWXU | S_IRWXG | S_IRWXO);              
    }                                                                 
    /*                                                                
     * Create a LINEAR_FILE node                                      
     */                                                               
    else if (linkflag == REGTYPE) {                                   
   42cc8:	7030           	moveq #48,%d0                               
   42cca:	b084           	cmpl %d4,%d0                                
   42ccc:	6700 00a2      	beqw 42d70 <rtems_tarfs_load+0x1bc>         
   42cd0:	2442           	moveal %d2,%a2                              
   /*                                                                 
    * Create an IMFS node structure pointing to tar image memory.     
    */                                                                
   offset = 0;                                                        
   while ( rv == 0 ) {                                                
    if (offset + 512 > tar_size)                                      
   42cd2:	240a           	movel %a2,%d2                               
   42cd4:	0682 0000 0200 	addil #512,%d2                              
   42cda:	2d42 fe44      	movel %d2,%fp@(-444)                        
   42cde:	b4ae 0010      	cmpl %fp@(16),%d2                           
   42ce2:	6300 ff72      	blsw 42c56 <rtems_tarfs_load+0xa2>          
                                                                      
   if (                                                               
     rootloc.mt_entry->ops != &IMFS_ops                               
       && rootloc.mt_entry->ops != &fifoIMFS_ops                      
   ) {                                                                
     rv = -1;                                                         
   42ce6:	4280           	clrl %d0                                    
      nblocks = (((file_size) + 511) & ~511) / 512;                   
      offset += 512 * nblocks;                                        
    }                                                                 
  }                                                                   
                                                                      
  rtems_filesystem_location_free( &rootloc );                         
   42ce8:	486e fe4c      	pea %fp@(-436)                              
   42cec:	226e fe3c      	moveal %fp@(-452),%a1                       
   42cf0:	2d40 fe34      	movel %d0,%fp@(-460)                        
   42cf4:	4e91           	jsr %a1@                                    
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   42cf6:	486e fe64      	pea %fp@(-412)                              
   42cfa:	4eb9 0004 4de2 	jsr 44de2 <rtems_filesystem_eval_path_cleanup>
   42d00:	202e fe34      	movel %fp@(-460),%d0                        
                                                                      
  return rv;                                                          
}                                                                     
   42d04:	4cee 3cfc fe0c 	moveml %fp@(-500),%d2-%d7/%a2-%a5           
   42d0a:	4e5e           	unlk %fp                                    
   42d0c:	4e75           	rts                                         
     * - For directories, just create directories as usual.  IMFS     
     *   will take care of the rest.                                  
     * - For files, create a file node with special tarfs properties. 
     */                                                               
    if (linkflag == DIRTYPE) {                                        
      strcpy(full_filename, mountpoint);                              
   42d0e:	2f2e 0008      	movel %fp@(8),%sp@-                         
      if (full_filename[strlen(full_filename)-1] != '/')              
   42d12:	762f           	moveq #47,%d3                               
     * - For directories, just create directories as usual.  IMFS     
     *   will take care of the rest.                                  
     * - For files, create a file node with special tarfs properties. 
     */                                                               
    if (linkflag == DIRTYPE) {                                        
      strcpy(full_filename, mountpoint);                              
   42d14:	486e ff00      	pea %fp@(-256)                              
   42d18:	4eb9 0005 1f00 	jsr 51f00 <stpcpy>                          
      if (full_filename[strlen(full_filename)-1] != '/')              
   42d1e:	508f           	addql #8,%sp                                
   42d20:	41f6 0800      	lea %fp@(00000000,%d0:l),%a0                
   42d24:	d1ee fe38      	addal %fp@(-456),%a0                        
   42d28:	1228 ff00      	moveb %a0@(-256),%d1                        
   42d2c:	49c1           	extbl %d1                                   
   42d2e:	b681           	cmpl %d1,%d3                                
   42d30:	6706           	beqs 42d38 <rtems_tarfs_load+0x184>         <== ALWAYS TAKEN
        strcat(full_filename, "/");                                   
   42d32:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   42d34:	30bc 2f00      	movew #12032,%a0@                           <== NOT EXECUTED
      strcat(full_filename, filename);                                
   42d38:	2f05           	movel %d5,%sp@-                             
   42d3a:	486e ff00      	pea %fp@(-256)                              
      mkdir(full_filename, S_IRWXU | S_IRWXG | S_IRWXO);              
   42d3e:	2442           	moveal %d2,%a2                              
   /*                                                                 
    * Create an IMFS node structure pointing to tar image memory.     
    */                                                                
   offset = 0;                                                        
   while ( rv == 0 ) {                                                
    if (offset + 512 > tar_size)                                      
   42d40:	240a           	movel %a2,%d2                               
   42d42:	0682 0000 0200 	addil #512,%d2                              
     */                                                               
    if (linkflag == DIRTYPE) {                                        
      strcpy(full_filename, mountpoint);                              
      if (full_filename[strlen(full_filename)-1] != '/')              
        strcat(full_filename, "/");                                   
      strcat(full_filename, filename);                                
   42d48:	4eb9 0005 1f70 	jsr 51f70 <strcat>                          
      mkdir(full_filename, S_IRWXU | S_IRWXG | S_IRWXO);              
   42d4e:	4878 01ff      	pea 1ff <DBL_MANT_DIG+0x1ca>                
   42d52:	486e ff00      	pea %fp@(-256)                              
   42d56:	4eb9 0004 3cd0 	jsr 43cd0 <mkdir>                           
   42d5c:	4fef 0010      	lea %sp@(16),%sp                            
   /*                                                                 
    * Create an IMFS node structure pointing to tar image memory.     
    */                                                                
   offset = 0;                                                        
   while ( rv == 0 ) {                                                
    if (offset + 512 > tar_size)                                      
   42d60:	2d42 fe44      	movel %d2,%fp@(-444)                        
   42d64:	b4ae 0010      	cmpl %fp@(16),%d2                           
   42d68:	6300 feec      	blsw 42c56 <rtems_tarfs_load+0xa2>          
   42d6c:	6000 ff78      	braw 42ce6 <rtems_tarfs_load+0x132>         <== NOT EXECUTED
    }                                                                 
    /*                                                                
     * Create a LINEAR_FILE node                                      
     */                                                               
    else if (linkflag == REGTYPE) {                                   
      rtems_filesystem_location_free( currentloc );                   
   42d70:	2f2e fe40      	movel %fp@(-448),%sp@-                      
   42d74:	206e fe3c      	moveal %fp@(-452),%a0                       
   42d78:	4e90           	jsr %a0@                                    
      rtems_filesystem_location_clone( currentloc, &rootloc );        
   42d7a:	486e fe4c      	pea %fp@(-436)                              
   42d7e:	2f2e fe40      	movel %fp@(-448),%sp@-                      
   42d82:	4eb9 0004 33a0 	jsr 433a0 <rtems_filesystem_location_clone> 
      rtems_filesystem_eval_path_set_path(                            
   42d88:	2f05           	movel %d5,%sp@-                             
   42d8a:	4eb9 0005 25a0 	jsr 525a0 <strlen>                          
   42d90:	588f           	addql #4,%sp                                
        &ctx,                                                         
        filename,                                                     
        strlen( filename )                                            
      );                                                              
      rtems_filesystem_eval_path_continue( &ctx );                    
   42d92:	486e fe64      	pea %fp@(-412)                              
  const char *path,                                                   
  size_t pathlen                                                      
)                                                                     
{                                                                     
  ctx->path = path;                                                   
  ctx->pathlen = pathlen;                                             
   42d96:	2d40 fe68      	movel %d0,%fp@(-408)                        
  rtems_filesystem_eval_path_context_t *ctx,                          
  const char *path,                                                   
  size_t pathlen                                                      
)                                                                     
{                                                                     
  ctx->path = path;                                                   
   42d9a:	2d45 fe64      	movel %d5,%fp@(-412)                        
   42d9e:	4eb9 0004 4a72 	jsr 44a72 <rtems_filesystem_eval_path_continue>
                                                                      
      if ( !rtems_filesystem_location_is_null( currentloc ) ) {       
   42da4:	226e fe40      	moveal %fp@(-448),%a1                       
   42da8:	4fef 0010      	lea %sp@(16),%sp                            
   42dac:	203c 0006 24de 	movel #402654,%d0                           
   42db2:	b0a9 0010      	cmpl %a1@(16),%d0                           
   42db6:	6744           	beqs 42dfc <rtems_tarfs_load+0x248>         <== NEVER TAKEN
   42db8:	42a7           	clrl %sp@-                                  
        node = IMFS_create_node(                                      
          currentloc,                                                 
          IMFS_LINEAR_FILE,                                           
          rtems_filesystem_eval_path_get_token( &ctx ),               
          rtems_filesystem_eval_path_get_tokenlen( &ctx ),            
          (file_mode & (S_IRWXU | S_IRWXG | S_IRWXO)) | S_IFREG,      
   42dba:	0287 0000 01ff 	andil #511,%d7                              
   42dc0:	08c7 000f      	bset #15,%d7                                
   42dc4:	2f07           	movel %d7,%sp@-                             
   42dc6:	2f2e fe70      	movel %fp@(-400),%sp@-                      
   42dca:	2f2e fe6c      	movel %fp@(-404),%sp@-                      
  size_t namelen,                                                     
  mode_t mode,                                                        
  const IMFS_types_union *info                                        
)                                                                     
{                                                                     
  const IMFS_fs_info_t *fs_info =                                     
   42dce:	2069 0014      	moveal %a1@(20),%a0                         
    (const IMFS_fs_info_t *) parentloc->mt_entry->fs_info;            
                                                                      
  return IMFS_create_node_with_control(                               
   42dd2:	2068 0008      	moveal %a0@(8),%a0                          
   42dd6:	2f28 001c      	movel %a0@(28),%sp@-                        
   42dda:	2f09           	movel %a1,%sp@-                             
   42ddc:	4eb9 0004 be2e 	jsr 4be2e <IMFS_create_node_with_control>   
          NULL                                                        
        );                                                            
        node->info.linearfile.size   = file_size;                     
        node->info.linearfile.direct = &tar_image[offset];            
   42de2:	222e 000c      	movel %fp@(12),%d1                          
   42de6:	d2ae fe44      	addl %fp@(-444),%d1                         
   42dea:	2040           	moveal %d0,%a0                              
   42dec:	4fef 0018      	lea %sp@(24),%sp                            
   42df0:	2141 0056      	movel %d1,%a0@(86)                          
          rtems_filesystem_eval_path_get_token( &ctx ),               
          rtems_filesystem_eval_path_get_tokenlen( &ctx ),            
          (file_mode & (S_IRWXU | S_IRWXG | S_IRWXO)) | S_IFREG,      
          NULL                                                        
        );                                                            
        node->info.linearfile.size   = file_size;                     
   42df4:	2146 0052      	movel %d6,%a0@(82)                          
   42df8:	42a8 004e      	clrl %a0@(78)                               
        node->info.linearfile.direct = &tar_image[offset];            
      }                                                               
                                                                      
      nblocks = (((file_size) + 511) & ~511) / 512;                   
   42dfc:	0686 0000 01ff 	addil #511,%d6                              
      offset += 512 * nblocks;                                        
   42e02:	0286 ffff fe00 	andil #-512,%d6                             
   42e08:	246e fe44      	moveal %fp@(-444),%a2                       
   42e0c:	d5c6           	addal %d6,%a2                               
   /*                                                                 
    * Create an IMFS node structure pointing to tar image memory.     
    */                                                                
   offset = 0;                                                        
   while ( rv == 0 ) {                                                
    if (offset + 512 > tar_size)                                      
   42e0e:	240a           	movel %a2,%d2                               
   42e10:	0682 0000 0200 	addil #512,%d2                              
   42e16:	2d42 fe44      	movel %d2,%fp@(-444)                        
   42e1a:	b4ae 0010      	cmpl %fp@(16),%d2                           
   42e1e:	6300 fe36      	blsw 42c56 <rtems_tarfs_load+0xa2>          
   42e22:	6000 fec2      	braw 42ce6 <rtems_tarfs_load+0x132>         <== NOT EXECUTED
   42e26:	41f9 0004 36d0 	lea 436d0 <rtems_filesystem_location_free>,%a0
                                                                      
   if (                                                               
     rootloc.mt_entry->ops != &IMFS_ops                               
       && rootloc.mt_entry->ops != &fifoIMFS_ops                      
   ) {                                                                
     rv = -1;                                                         
   42e2c:	70ff           	moveq #-1,%d0                               
      nblocks = (((file_size) + 511) & ~511) / 512;                   
      offset += 512 * nblocks;                                        
    }                                                                 
  }                                                                   
                                                                      
  rtems_filesystem_location_free( &rootloc );                         
   42e2e:	486e fe4c      	pea %fp@(-436)                              
   42e32:	2d48 fe3c      	movel %a0,%fp@(-452)                        
   42e36:	226e fe3c      	moveal %fp@(-452),%a1                       
   42e3a:	2d40 fe34      	movel %d0,%fp@(-460)                        
   42e3e:	4e91           	jsr %a1@                                    
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   42e40:	486e fe64      	pea %fp@(-412)                              
   42e44:	4eb9 0004 4de2 	jsr 44de2 <rtems_filesystem_eval_path_cleanup>
   42e4a:	202e fe34      	movel %fp@(-460),%d0                        
                                                                      
  return rv;                                                          
}                                                                     
   42e4e:	4cee 3cfc fe0c 	moveml %fp@(-500),%d2-%d7/%a2-%a5           
   42e54:	4e5e           	unlk %fp                                    
   42e56:	4e75           	rts                                         
   42e58:	41f9 0004 36d0 	lea 436d0 <rtems_filesystem_location_free>,%a0<== NOT EXECUTED
                                                                      
   if (                                                               
     rootloc.mt_entry->ops != &IMFS_ops                               
       && rootloc.mt_entry->ops != &fifoIMFS_ops                      
   ) {                                                                
     rv = -1;                                                         
   42e5e:	4280           	clrl %d0                                    <== NOT EXECUTED
   42e60:	2d48 fe3c      	movel %a0,%fp@(-452)                        <== NOT EXECUTED
   42e64:	6000 fe82      	braw 42ce8 <rtems_tarfs_load+0x134>         <== NOT EXECUTED
                                                                      

000508f8 <rtems_task_mode>: rtems_status_code rtems_task_mode( rtems_mode mode_set, rtems_mode mask, rtems_mode *previous_mode_set ) {
   508f8:	4e56 ffe4      	linkw %fp,#-28                              
   508fc:	48d7 1c3c      	moveml %d2-%d5/%a2-%a4,%sp@                 
   50900:	2a2e 0008      	movel %fp@(8),%d5                           
   50904:	242e 000c      	movel %fp@(12),%d2                          
   50908:	286e 0010      	moveal %fp@(16),%a4                         
  ASR_Information    *asr;                                            
  bool                is_asr_enabled = false;                         
  bool                needs_asr_dispatching = false;                  
  rtems_mode          old_mode;                                       
                                                                      
  if ( !previous_mode_set )                                           
   5090c:	4a8c           	tstl %a4                                    
   5090e:	6700 0148      	beqw 50a58 <rtems_task_mode+0x160>          
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  executing     = _Thread_Executing;                                  
   50912:	2479 0006 4162 	moveal 64162 <_Per_CPU_Information+0xe>,%a2 
  api = executing->API_Extensions[ THREAD_API_RTEMS ];                
  asr = &api->Signal;                                                 
                                                                      
  old_mode  = (executing->is_preemptible) ? RTEMS_PREEMPT : RTEMS_NO_PREEMPT;
   50918:	4a2a 0070      	tstb %a2@(112)                              
   5091c:	57c3           	seq %d3                                     
                                                                      
  if ( !previous_mode_set )                                           
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  executing     = _Thread_Executing;                                  
  api = executing->API_Extensions[ THREAD_API_RTEMS ];                
   5091e:	266a 00f8      	moveal %a2@(248),%a3                        
  asr = &api->Signal;                                                 
                                                                      
  old_mode  = (executing->is_preemptible) ? RTEMS_PREEMPT : RTEMS_NO_PREEMPT;
   50922:	49c3           	extbl %d3                                   
   50924:	0283 0000 0100 	andil #256,%d3                              
                                                                      
  if ( executing->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_NONE )
   5092a:	4aaa 0076      	tstl %a2@(118)                              
   5092e:	6600 00cc      	bnew 509fc <rtems_task_mode+0x104>          
    old_mode |= RTEMS_NO_TIMESLICE;                                   
  else                                                                
    old_mode |= RTEMS_TIMESLICE;                                      
                                                                      
  old_mode |= (asr->is_enabled) ? RTEMS_ASR : RTEMS_NO_ASR;           
   50932:	4a2b 0008      	tstb %a3@(8)                                
   50936:	57c4           	seq %d4                                     
  old_mode |= _ISR_Get_level();                                       
   50938:	4eb9 0004 c688 	jsr 4c688 <_CPU_ISR_Get_level>              
  if ( executing->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_NONE )
    old_mode |= RTEMS_NO_TIMESLICE;                                   
  else                                                                
    old_mode |= RTEMS_TIMESLICE;                                      
                                                                      
  old_mode |= (asr->is_enabled) ? RTEMS_ASR : RTEMS_NO_ASR;           
   5093e:	49c4           	extbl %d4                                   
   50940:	0284 0000 0400 	andil #1024,%d4                             
   50946:	8084           	orl %d4,%d0                                 
  old_mode |= _ISR_Get_level();                                       
   50948:	8083           	orl %d3,%d0                                 
   5094a:	2880           	movel %d0,%a4@                              
  *previous_mode_set = old_mode;                                      
                                                                      
  /*                                                                  
   *  These are generic thread scheduling characteristics.            
   */                                                                 
  if ( mask & RTEMS_PREEMPT_MASK )                                    
   5094c:	0802 0008      	btst #8,%d2                                 
   50950:	670e           	beqs 50960 <rtems_task_mode+0x68>           
   50952:	2005           	movel %d5,%d0                               
   50954:	7201           	moveq #1,%d1                                
   50956:	e088           	lsrl #8,%d0                                 
   50958:	b380           	eorl %d1,%d0                                
   5095a:	c081           	andl %d1,%d0                                
    executing->is_preemptible = _Modes_Is_preempt(mode_set) ? true : false;
   5095c:	1540 0070      	moveb %d0,%a2@(112)                         
                                                                      
  if ( mask & RTEMS_TIMESLICE_MASK ) {                                
   50960:	0802 0009      	btst #9,%d2                                 
   50964:	6718           	beqs 5097e <rtems_task_mode+0x86>           
    if ( _Modes_Is_timeslice(mode_set) ) {                            
   50966:	0805 0009      	btst #9,%d5                                 
   5096a:	6700 00f8      	beqw 50a64 <rtems_task_mode+0x16c>          
      executing->budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE;
   5096e:	7001           	moveq #1,%d0                                
      executing->cpu_time_budget  = _Thread_Ticks_per_timeslice;      
   50970:	41f9 0006 3fa2 	lea 63fa2 <_Thread_Ticks_per_timeslice>,%a0 
  if ( mask & RTEMS_PREEMPT_MASK )                                    
    executing->is_preemptible = _Modes_Is_preempt(mode_set) ? true : false;
                                                                      
  if ( mask & RTEMS_TIMESLICE_MASK ) {                                
    if ( _Modes_Is_timeslice(mode_set) ) {                            
      executing->budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE;
   50976:	2540 0076      	movel %d0,%a2@(118)                         
      executing->cpu_time_budget  = _Thread_Ticks_per_timeslice;      
   5097a:	2550 0072      	movel %a0@,%a2@(114)                        
  }                                                                   
                                                                      
  /*                                                                  
   *  Set the new interrupt level                                     
   */                                                                 
  if ( mask & RTEMS_INTERRUPT_MASK )                                  
   5097e:	7007           	moveq #7,%d0                                
   50980:	c082           	andl %d2,%d0                                
   50982:	6712           	beqs 50996 <rtems_task_mode+0x9e>           
 */                                                                   
RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level (                
  Modes_Control mode_set                                              
)                                                                     
{                                                                     
  _ISR_Set_level( _Modes_Get_interrupt_level( mode_set ) );           
   50984:	40c0           	movew %sr,%d0                               
 */                                                                   
RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level (           
  Modes_Control mode_set                                              
)                                                                     
{                                                                     
  return ( mode_set & RTEMS_INTERRUPT_MASK );                         
   50986:	7207           	moveq #7,%d1                                
   50988:	c285           	andl %d5,%d1                                
 */                                                                   
RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level (                
  Modes_Control mode_set                                              
)                                                                     
{                                                                     
  _ISR_Set_level( _Modes_Get_interrupt_level( mode_set ) );           
   5098a:	0280 0000 f8ff 	andil #63743,%d0                            
   50990:	e189           	lsll #8,%d1                                 
   50992:	8081           	orl %d1,%d0                                 
   50994:	46c0           	movew %d0,%sr                               
   *  This is specific to the RTEMS API                               
   */                                                                 
  is_asr_enabled = false;                                             
  needs_asr_dispatching = false;                                      
                                                                      
  if ( mask & RTEMS_ASR_MASK ) {                                      
   50996:	0802 000a      	btst #10,%d2                                
   5099a:	6752           	beqs 509ee <rtems_task_mode+0xf6>           
    is_asr_enabled = _Modes_Is_asr_disabled( mode_set ) ? false : true;
   5099c:	700a           	moveq #10,%d0                               
   5099e:	e0ad           	lsrl %d0,%d5                                
   509a0:	7201           	moveq #1,%d1                                
    if ( is_asr_enabled != asr->is_enabled ) {                        
   509a2:	4280           	clrl %d0                                    
   509a4:	102b 0008      	moveb %a3@(8),%d0                           
   */                                                                 
  is_asr_enabled = false;                                             
  needs_asr_dispatching = false;                                      
                                                                      
  if ( mask & RTEMS_ASR_MASK ) {                                      
    is_asr_enabled = _Modes_Is_asr_disabled( mode_set ) ? false : true;
   509a8:	b385           	eorl %d1,%d5                                
   509aa:	ca81           	andl %d1,%d5                                
    if ( is_asr_enabled != asr->is_enabled ) {                        
   509ac:	ba80           	cmpl %d0,%d5                                
   509ae:	673e           	beqs 509ee <rtems_task_mode+0xf6>           
)                                                                     
{                                                                     
  rtems_signal_set _signals;                                          
  ISR_Level        _level;                                            
                                                                      
  _ISR_Disable( _level );                                             
   509b0:	203c 0000 0700 	movel #1792,%d0                             
      asr->is_enabled = is_asr_enabled;                               
   509b6:	1745 0008      	moveb %d5,%a3@(8)                           
   509ba:	40c1           	movew %sr,%d1                               
   509bc:	8081           	orl %d1,%d0                                 
   509be:	46c0           	movew %d0,%sr                               
    _signals                     = information->signals_pending;      
   509c0:	202b 0016      	movel %a3@(22),%d0                          
    information->signals_pending = information->signals_posted;       
   509c4:	276b 0012 0016 	movel %a3@(18),%a3@(22)                     
    information->signals_posted  = _signals;                          
   509ca:	2740 0012      	movel %d0,%a3@(18)                          
  _ISR_Enable( _level );                                              
   509ce:	46c1           	movew %d1,%sr                               
      _ASR_Swap_signals( asr );                                       
      if ( _ASR_Are_signals_pending( asr ) ) {                        
   509d0:	4aab 0012      	tstl %a3@(18)                               
   509d4:	56c0           	sne %d0                                     
        needs_asr_dispatching = true;                                 
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if ( _System_state_Is_up( _System_state_Get() ) ) {                 
   509d6:	7203           	moveq #3,%d1                                
  if ( mask & RTEMS_ASR_MASK ) {                                      
    is_asr_enabled = _Modes_Is_asr_disabled( mode_set ) ? false : true;
    if ( is_asr_enabled != asr->is_enabled ) {                        
      asr->is_enabled = is_asr_enabled;                               
      _ASR_Swap_signals( asr );                                       
      if ( _ASR_Are_signals_pending( asr ) ) {                        
   509d8:	4480           	negl %d0                                    
        needs_asr_dispatching = true;                                 
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if ( _System_state_Is_up( _System_state_Get() ) ) {                 
   509da:	b2b9 0006 4150 	cmpl 64150 <_System_state_Current>,%d1      
   509e0:	6744           	beqs 50a26 <rtems_task_mode+0x12e>          <== ALWAYS TAKEN
     if (_Thread_Evaluate_is_dispatch_needed( needs_asr_dispatching ) )
      _Thread_Dispatch();                                             
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   509e2:	4280           	clrl %d0                                    
}                                                                     
   509e4:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            
   509ea:	4e5e           	unlk %fp                                    
   509ec:	4e75           	rts                                         
        needs_asr_dispatching = true;                                 
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if ( _System_state_Is_up( _System_state_Get() ) ) {                 
   509ee:	7203           	moveq #3,%d1                                
                                                                      
  /*                                                                  
   *  This is specific to the RTEMS API                               
   */                                                                 
  is_asr_enabled = false;                                             
  needs_asr_dispatching = false;                                      
   509f0:	4200           	clrb %d0                                    
        needs_asr_dispatching = true;                                 
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  if ( _System_state_Is_up( _System_state_Get() ) ) {                 
   509f2:	b2b9 0006 4150 	cmpl 64150 <_System_state_Current>,%d1      
   509f8:	66e8           	bnes 509e2 <rtems_task_mode+0xea>           
   509fa:	602a           	bras 50a26 <rtems_task_mode+0x12e>          
  if ( executing->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_NONE )
    old_mode |= RTEMS_NO_TIMESLICE;                                   
  else                                                                
    old_mode |= RTEMS_TIMESLICE;                                      
                                                                      
  old_mode |= (asr->is_enabled) ? RTEMS_ASR : RTEMS_NO_ASR;           
   509fc:	4a2b 0008      	tstb %a3@(8)                                
   50a00:	57c4           	seq %d4                                     
  old_mode |= _ISR_Get_level();                                       
   50a02:	4eb9 0004 c688 	jsr 4c688 <_CPU_ISR_Get_level>              
  if ( executing->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_NONE )
    old_mode |= RTEMS_NO_TIMESLICE;                                   
  else                                                                
    old_mode |= RTEMS_TIMESLICE;                                      
                                                                      
  old_mode |= (asr->is_enabled) ? RTEMS_ASR : RTEMS_NO_ASR;           
   50a08:	49c4           	extbl %d4                                   
   50a0a:	0284 0000 0400 	andil #1024,%d4                             
  old_mode  = (executing->is_preemptible) ? RTEMS_PREEMPT : RTEMS_NO_PREEMPT;
                                                                      
  if ( executing->budget_algorithm == THREAD_CPU_BUDGET_ALGORITHM_NONE )
    old_mode |= RTEMS_NO_TIMESLICE;                                   
  else                                                                
    old_mode |= RTEMS_TIMESLICE;                                      
   50a10:	08c3 0009      	bset #9,%d3                                 
                                                                      
  old_mode |= (asr->is_enabled) ? RTEMS_ASR : RTEMS_NO_ASR;           
   50a14:	8084           	orl %d4,%d0                                 
  old_mode |= _ISR_Get_level();                                       
   50a16:	8083           	orl %d3,%d0                                 
   50a18:	2880           	movel %d0,%a4@                              
  *previous_mode_set = old_mode;                                      
                                                                      
  /*                                                                  
   *  These are generic thread scheduling characteristics.            
   */                                                                 
  if ( mask & RTEMS_PREEMPT_MASK )                                    
   50a1a:	0802 0008      	btst #8,%d2                                 
   50a1e:	6700 ff40      	beqw 50960 <rtems_task_mode+0x68>           
   50a22:	6000 ff2e      	braw 50952 <rtems_task_mode+0x5a>           
  bool are_signals_pending                                            
)                                                                     
{                                                                     
  Thread_Control     *executing;                                      
                                                                      
  executing = _Thread_Executing;                                      
   50a26:	2079 0006 4162 	moveal 64162 <_Per_CPU_Information+0xe>,%a0 
                                                                      
  if ( are_signals_pending ||                                         
   50a2c:	4a00           	tstb %d0                                    
   50a2e:	660e           	bnes 50a3e <rtems_task_mode+0x146>          
   50a30:	b1f9 0006 4166 	cmpal 64166 <_Per_CPU_Information+0x12>,%a0 
   50a36:	67aa           	beqs 509e2 <rtems_task_mode+0xea>           
       (!_Thread_Is_heir( executing ) && executing->is_preemptible) ) {
   50a38:	4a28 0070      	tstb %a0@(112)                              
   50a3c:	67a4           	beqs 509e2 <rtems_task_mode+0xea>           <== NEVER TAKEN
    _Thread_Dispatch_necessary = true;                                
   50a3e:	7001           	moveq #1,%d0                                
   50a40:	13c0 0006 4160 	moveb %d0,64160 <_Per_CPU_Information+0xc>  
    }                                                                 
  }                                                                   
                                                                      
  if ( _System_state_Is_up( _System_state_Get() ) ) {                 
     if (_Thread_Evaluate_is_dispatch_needed( needs_asr_dispatching ) )
      _Thread_Dispatch();                                             
   50a46:	4eb9 0004 b41c 	jsr 4b41c <_Thread_Dispatch>                
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   50a4c:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            
  if ( _System_state_Is_up( _System_state_Get() ) ) {                 
     if (_Thread_Evaluate_is_dispatch_needed( needs_asr_dispatching ) )
      _Thread_Dispatch();                                             
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
   50a52:	4280           	clrl %d0                                    
}                                                                     
   50a54:	4e5e           	unlk %fp                                    
   50a56:	4e75           	rts                                         
  bool                is_asr_enabled = false;                         
  bool                needs_asr_dispatching = false;                  
  rtems_mode          old_mode;                                       
                                                                      
  if ( !previous_mode_set )                                           
    return RTEMS_INVALID_ADDRESS;                                     
   50a58:	7009           	moveq #9,%d0                                
     if (_Thread_Evaluate_is_dispatch_needed( needs_asr_dispatching ) )
      _Thread_Dispatch();                                             
  }                                                                   
                                                                      
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   50a5a:	4cee 1c3c ffe4 	moveml %fp@(-28),%d2-%d5/%a2-%a4            
   50a60:	4e5e           	unlk %fp                                    
   50a62:	4e75           	rts                                         
  }                                                                   
                                                                      
  /*                                                                  
   *  Set the new interrupt level                                     
   */                                                                 
  if ( mask & RTEMS_INTERRUPT_MASK )                                  
   50a64:	7007           	moveq #7,%d0                                
   50a66:	c082           	andl %d2,%d0                                
  if ( mask & RTEMS_TIMESLICE_MASK ) {                                
    if ( _Modes_Is_timeslice(mode_set) ) {                            
      executing->budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE;
      executing->cpu_time_budget  = _Thread_Ticks_per_timeslice;      
    } else                                                            
      executing->budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_NONE; 
   50a68:	42aa 0076      	clrl %a2@(118)                              
  }                                                                   
                                                                      
  /*                                                                  
   *  Set the new interrupt level                                     
   */                                                                 
  if ( mask & RTEMS_INTERRUPT_MASK )                                  
   50a6c:	4a80           	tstl %d0                                    
   50a6e:	6700 ff26      	beqw 50996 <rtems_task_mode+0x9e>           
   50a72:	6000 ff10      	braw 50984 <rtems_task_mode+0x8c>           
	...                                                                  
                                                                      

0004b91c <rtems_task_set_priority>: rtems_status_code rtems_task_set_priority( rtems_id id, rtems_task_priority new_priority, rtems_task_priority *old_priority ) {
   4b91c:	4e56 fffc      	linkw %fp,#-4                               
   4b920:	2f02           	movel %d2,%sp@-                             
   4b922:	242e 000c      	movel %fp@(12),%d2                          
  register Thread_Control *the_thread;                                
  Objects_Locations        location;                                  
                                                                      
  if ( new_priority != RTEMS_CURRENT_PRIORITY &&                      
   4b926:	670c           	beqs 4b934 <rtems_task_set_priority+0x18>   
RTEMS_INLINE_ROUTINE bool _RTEMS_tasks_Priority_is_valid (            
  rtems_task_priority the_priority                                    
)                                                                     
{                                                                     
  return (  ( the_priority >= RTEMS_MINIMUM_PRIORITY ) &&             
            ( the_priority <= RTEMS_MAXIMUM_PRIORITY ) );             
   4b928:	4280           	clrl %d0                                    
   4b92a:	1039 0006 22ac 	moveb 622ac <rtems_maximum_priority>,%d0    
 */                                                                   
RTEMS_INLINE_ROUTINE bool _RTEMS_tasks_Priority_is_valid (            
  rtems_task_priority the_priority                                    
)                                                                     
{                                                                     
  return (  ( the_priority >= RTEMS_MINIMUM_PRIORITY ) &&             
   4b930:	b082           	cmpl %d2,%d0                                
   4b932:	656e           	bcss 4b9a2 <rtems_task_set_priority+0x86>   
       !_RTEMS_tasks_Priority_is_valid( new_priority ) )              
    return RTEMS_INVALID_PRIORITY;                                    
                                                                      
  if ( !old_priority )                                                
   4b934:	4aae 0010      	tstl %fp@(16)                               
   4b938:	6754           	beqs 4b98e <rtems_task_set_priority+0x72>   
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  the_thread = _Thread_Get( id, &location );                          
   4b93a:	486e fffc      	pea %fp@(-4)                                
   4b93e:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4b942:	4eb9 0004 ddec 	jsr 4ddec <_Thread_Get>                     
  switch ( location ) {                                               
   4b948:	508f           	addql #8,%sp                                
   4b94a:	4aae fffc      	tstl %fp@(-4)                               
   4b94e:	6648           	bnes 4b998 <rtems_task_set_priority+0x7c>   
                                                                      
    case OBJECTS_LOCAL:                                               
      /* XXX need helper to "convert" from core priority */           
      *old_priority = the_thread->current_priority;                   
   4b950:	206e 0010      	moveal %fp@(16),%a0                         
   4b954:	2240           	moveal %d0,%a1                              
   4b956:	20a9 0014      	movel %a1@(20),%a0@                         
      if ( new_priority != RTEMS_CURRENT_PRIORITY ) {                 
   4b95a:	4a82           	tstl %d2                                    
   4b95c:	6720           	beqs 4b97e <rtems_task_set_priority+0x62>   
        the_thread->real_priority = new_priority;                     
   4b95e:	2342 0018      	movel %d2,%a1@(24)                          
        if ( the_thread->resource_count == 0 ||                       
   4b962:	4aa9 001c      	tstl %a1@(28)                               
   4b966:	6706           	beqs 4b96e <rtems_task_set_priority+0x52>   
   4b968:	b4a9 0014      	cmpl %a1@(20),%d2                           
   4b96c:	6410           	bccs 4b97e <rtems_task_set_priority+0x62>   <== ALWAYS TAKEN
             the_thread->current_priority > new_priority )            
          _Thread_Change_priority( the_thread, new_priority, false ); 
   4b96e:	42a7           	clrl %sp@-                                  
   4b970:	2f02           	movel %d2,%sp@-                             
   4b972:	2f00           	movel %d0,%sp@-                             
   4b974:	4eb9 0004 d8e8 	jsr 4d8e8 <_Thread_Change_priority>         
   4b97a:	4fef 000c      	lea %sp@(12),%sp                            
      }                                                               
      _Thread_Enable_dispatch();                                      
   4b97e:	4eb9 0004 ddcc 	jsr 4ddcc <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   4b984:	242e fff8      	movel %fp@(-8),%d2                          
        if ( the_thread->resource_count == 0 ||                       
             the_thread->current_priority > new_priority )            
          _Thread_Change_priority( the_thread, new_priority, false ); 
      }                                                               
      _Thread_Enable_dispatch();                                      
      return RTEMS_SUCCESSFUL;                                        
   4b988:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   4b98a:	4e5e           	unlk %fp                                    
   4b98c:	4e75           	rts                                         
   4b98e:	242e fff8      	movel %fp@(-8),%d2                          
  if ( new_priority != RTEMS_CURRENT_PRIORITY &&                      
       !_RTEMS_tasks_Priority_is_valid( new_priority ) )              
    return RTEMS_INVALID_PRIORITY;                                    
                                                                      
  if ( !old_priority )                                                
    return RTEMS_INVALID_ADDRESS;                                     
   4b992:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   4b994:	4e5e           	unlk %fp                                    
   4b996:	4e75           	rts                                         
   4b998:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   4b99c:	7004           	moveq #4,%d0                                
}                                                                     
   4b99e:	4e5e           	unlk %fp                                    
   4b9a0:	4e75           	rts                                         
   4b9a2:	242e fff8      	movel %fp@(-8),%d2                          
  register Thread_Control *the_thread;                                
  Objects_Locations        location;                                  
                                                                      
  if ( new_priority != RTEMS_CURRENT_PRIORITY &&                      
       !_RTEMS_tasks_Priority_is_valid( new_priority ) )              
    return RTEMS_INVALID_PRIORITY;                                    
   4b9a6:	7013           	moveq #19,%d0                               
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   4b9a8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00047990 <rtems_task_start>: rtems_status_code rtems_task_start( rtems_id id, rtems_task_entry entry_point, rtems_task_argument argument ) {
   47990:	4e56 fffc      	linkw %fp,#-4                               
  register Thread_Control *the_thread;                                
  Objects_Locations        location;                                  
                                                                      
  if ( entry_point == NULL )                                          
   47994:	4aae 000c      	tstl %fp@(12)                               
   47998:	6744           	beqs 479de <rtems_task_start+0x4e>          <== NEVER TAKEN
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  the_thread = _Thread_Get( id, &location );                          
   4799a:	486e fffc      	pea %fp@(-4)                                
   4799e:	2f2e 0008      	movel %fp@(8),%sp@-                         
   479a2:	4eb9 0004 9c64 	jsr 49c64 <_Thread_Get>                     
  switch ( location ) {                                               
   479a8:	508f           	addql #8,%sp                                
   479aa:	4aae fffc      	tstl %fp@(-4)                               
   479ae:	6628           	bnes 479d8 <rtems_task_start+0x48>          
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( _Thread_Start(                                             
   479b0:	2f2e 0010      	movel %fp@(16),%sp@-                        
   479b4:	42a7           	clrl %sp@-                                  
   479b6:	2f2e 000c      	movel %fp@(12),%sp@-                        
   479ba:	42a7           	clrl %sp@-                                  
   479bc:	2f00           	movel %d0,%sp@-                             
   479be:	4eb9 0004 a678 	jsr 4a678 <_Thread_Start>                   
   479c4:	4fef 0014      	lea %sp@(20),%sp                            
   479c8:	4a00           	tstb %d0                                    
   479ca:	6618           	bnes 479e4 <rtems_task_start+0x54>          
             the_thread, THREAD_START_NUMERIC, entry_point, NULL, argument ) ) {
        _Thread_Enable_dispatch();                                    
        return RTEMS_SUCCESSFUL;                                      
      }                                                               
      _Thread_Enable_dispatch();                                      
   479cc:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
      return RTEMS_INCORRECT_STATE;                                   
   479d2:	700e           	moveq #14,%d0                               
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   479d4:	4e5e           	unlk %fp                                    
   479d6:	4e75           	rts                                         
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   479d8:	7004           	moveq #4,%d0                                
}                                                                     
   479da:	4e5e           	unlk %fp                                    
   479dc:	4e75           	rts                                         
{                                                                     
  register Thread_Control *the_thread;                                
  Objects_Locations        location;                                  
                                                                      
  if ( entry_point == NULL )                                          
    return RTEMS_INVALID_ADDRESS;                                     
   479de:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   479e0:	4e5e           	unlk %fp                                    
   479e2:	4e75           	rts                                         
  switch ( location ) {                                               
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( _Thread_Start(                                             
             the_thread, THREAD_START_NUMERIC, entry_point, NULL, argument ) ) {
        _Thread_Enable_dispatch();                                    
   479e4:	4eb9 0004 9c44 	jsr 49c44 <_Thread_Enable_dispatch>         
        return RTEMS_SUCCESSFUL;                                      
   479ea:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   479ec:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00045558 <rtems_task_variable_delete>: rtems_status_code rtems_task_variable_delete( rtems_id tid, void **ptr ) {
   45558:	4e56 fffc      	linkw %fp,#-4                               
   4555c:	2f02           	movel %d2,%sp@-                             
   4555e:	242e 000c      	movel %fp@(12),%d2                          
  Thread_Control        *the_thread;                                  
  Objects_Locations      location;                                    
  rtems_task_variable_t *tvp, *prev;                                  
                                                                      
  if ( !ptr )                                                         
   45562:	6740           	beqs 455a4 <rtems_task_variable_delete+0x4c>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  prev = NULL;                                                        
                                                                      
  the_thread = _Thread_Get (tid, &location);                          
   45564:	486e fffc      	pea %fp@(-4)                                
   45568:	2f2e 0008      	movel %fp@(8),%sp@-                         
   4556c:	4eb9 0004 72fc 	jsr 472fc <_Thread_Get>                     
  switch (location) {                                                 
   45572:	508f           	addql #8,%sp                                
   45574:	4aae fffc      	tstl %fp@(-4)                               
   45578:	6620           	bnes 4559a <rtems_task_variable_delete+0x42>
                                                                      
    case OBJECTS_LOCAL:                                               
      tvp = the_thread->task_variables;                               
   4557a:	2040           	moveal %d0,%a0                              
   4557c:	2268 0104      	moveal %a0@(260),%a1                        
      while (tvp) {                                                   
   45580:	4a89           	tstl %a1                                    
   45582:	672a           	beqs 455ae <rtems_task_variable_delete+0x56>
        if (tvp->ptr == ptr) {                                        
   45584:	b4a9 0004      	cmpl %a1@(4),%d2                            
   45588:	6752           	beqs 455dc <rtems_task_variable_delete+0x84>
          _RTEMS_Tasks_Invoke_task_variable_dtor( the_thread, tvp );  
          _Thread_Enable_dispatch();                                  
          return RTEMS_SUCCESSFUL;                                    
        }                                                             
        prev = tvp;                                                   
        tvp = (rtems_task_variable_t *)tvp->next;                     
   4558a:	2051           	moveal %a1@,%a0                             
  the_thread = _Thread_Get (tid, &location);                          
  switch (location) {                                                 
                                                                      
    case OBJECTS_LOCAL:                                               
      tvp = the_thread->task_variables;                               
      while (tvp) {                                                   
   4558c:	4a88           	tstl %a0                                    
   4558e:	671e           	beqs 455ae <rtems_task_variable_delete+0x56><== NEVER TAKEN
        if (tvp->ptr == ptr) {                                        
   45590:	b4a8 0004      	cmpl %a0@(4),%d2                            
   45594:	6728           	beqs 455be <rtems_task_variable_delete+0x66>
   45596:	2248           	moveal %a0,%a1                              
   45598:	60f0           	bras 4558a <rtems_task_variable_delete+0x32>
    case OBJECTS_ERROR:                                               
        break;                                                        
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   4559a:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
    case OBJECTS_ERROR:                                               
        break;                                                        
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   4559e:	7004           	moveq #4,%d0                                
}                                                                     
   455a0:	4e5e           	unlk %fp                                    
   455a2:	4e75           	rts                                         
   455a4:	242e fff8      	movel %fp@(-8),%d2                          
  Thread_Control        *the_thread;                                  
  Objects_Locations      location;                                    
  rtems_task_variable_t *tvp, *prev;                                  
                                                                      
  if ( !ptr )                                                         
    return RTEMS_INVALID_ADDRESS;                                     
   455a8:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
        break;                                                        
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   455aa:	4e5e           	unlk %fp                                    
   455ac:	4e75           	rts                                         
          return RTEMS_SUCCESSFUL;                                    
        }                                                             
        prev = tvp;                                                   
        tvp = (rtems_task_variable_t *)tvp->next;                     
      }                                                               
      _Thread_Enable_dispatch();                                      
   455ae:	4eb9 0004 72dc 	jsr 472dc <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
        break;                                                        
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   455b4:	242e fff8      	movel %fp@(-8),%d2                          
        }                                                             
        prev = tvp;                                                   
        tvp = (rtems_task_variable_t *)tvp->next;                     
      }                                                               
      _Thread_Enable_dispatch();                                      
      return RTEMS_INVALID_ADDRESS;                                   
   455b8:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
        break;                                                        
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   455ba:	4e5e           	unlk %fp                                    
   455bc:	4e75           	rts                                         
    case OBJECTS_LOCAL:                                               
      tvp = the_thread->task_variables;                               
      while (tvp) {                                                   
        if (tvp->ptr == ptr) {                                        
          if (prev)                                                   
            prev->next = tvp->next;                                   
   455be:	2290           	movel %a0@,%a1@                             
          else                                                        
            the_thread->task_variables = (rtems_task_variable_t *)tvp->next;
                                                                      
          _RTEMS_Tasks_Invoke_task_variable_dtor( the_thread, tvp );  
   455c0:	2f08           	movel %a0,%sp@-                             
   455c2:	2f00           	movel %d0,%sp@-                             
   455c4:	4eb9 0004 5678 	jsr 45678 <_RTEMS_Tasks_Invoke_task_variable_dtor>
          _Thread_Enable_dispatch();                                  
   455ca:	4eb9 0004 72dc 	jsr 472dc <_Thread_Enable_dispatch>         
   455d0:	508f           	addql #8,%sp                                
          return RTEMS_SUCCESSFUL;                                    
   455d2:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
        break;                                                        
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   455d4:	242e fff8      	movel %fp@(-8),%d2                          
   455d8:	4e5e           	unlk %fp                                    
   455da:	4e75           	rts                                         
      while (tvp) {                                                   
        if (tvp->ptr == ptr) {                                        
          if (prev)                                                   
            prev->next = tvp->next;                                   
          else                                                        
            the_thread->task_variables = (rtems_task_variable_t *)tvp->next;
   455dc:	2040           	moveal %d0,%a0                              
   455de:	2151 0104      	movel %a1@,%a0@(260)                        
   455e2:	2049           	moveal %a1,%a0                              
                                                                      
          _RTEMS_Tasks_Invoke_task_variable_dtor( the_thread, tvp );  
   455e4:	2f08           	movel %a0,%sp@-                             
   455e6:	2f00           	movel %d0,%sp@-                             
   455e8:	4eb9 0004 5678 	jsr 45678 <_RTEMS_Tasks_Invoke_task_variable_dtor>
          _Thread_Enable_dispatch();                                  
   455ee:	4eb9 0004 72dc 	jsr 472dc <_Thread_Enable_dispatch>         
   455f4:	508f           	addql #8,%sp                                
          return RTEMS_SUCCESSFUL;                                    
   455f6:	4280           	clrl %d0                                    
   455f8:	60da           	bras 455d4 <rtems_task_variable_delete+0x7c>
	...                                                                  
                                                                      

000455fc <rtems_task_variable_get>: rtems_status_code rtems_task_variable_get( rtems_id tid, void **ptr, void **result ) {
   455fc:	4e56 fffc      	linkw %fp,#-4                               
   45600:	2f02           	movel %d2,%sp@-                             
   45602:	242e 000c      	movel %fp@(12),%d2                          
  Thread_Control        *the_thread;                                  
  Objects_Locations      location;                                    
  rtems_task_variable_t *tvp;                                         
                                                                      
  if ( !ptr )                                                         
   45606:	6742           	beqs 4564a <rtems_task_variable_get+0x4e>   
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( !result )                                                      
   45608:	4aae 0010      	tstl %fp@(16)                               
   4560c:	673c           	beqs 4564a <rtems_task_variable_get+0x4e>   
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  the_thread = _Thread_Get (tid, &location);                          
   4560e:	486e fffc      	pea %fp@(-4)                                
   45612:	2f2e 0008      	movel %fp@(8),%sp@-                         
   45616:	4eb9 0004 72fc 	jsr 472fc <_Thread_Get>                     
  switch (location) {                                                 
   4561c:	508f           	addql #8,%sp                                
   4561e:	4aae fffc      	tstl %fp@(-4)                               
   45622:	6630           	bnes 45654 <rtems_task_variable_get+0x58>   
                                                                      
    case OBJECTS_LOCAL:                                               
      /*                                                              
       *  Figure out if the variable is in this task's list.          
       */                                                             
      tvp = the_thread->task_variables;                               
   45624:	2240           	moveal %d0,%a1                              
   45626:	2069 0104      	moveal %a1@(260),%a0                        
      while (tvp) {                                                   
   4562a:	4a88           	tstl %a0                                    
   4562c:	670c           	beqs 4563a <rtems_task_variable_get+0x3e>   
        if (tvp->ptr == ptr) {                                        
   4562e:	b4a8 0004      	cmpl %a0@(4),%d2                            
   45632:	672a           	beqs 4565e <rtems_task_variable_get+0x62>   
	   */                                                                
          *result = tvp->tval;                                        
          _Thread_Enable_dispatch();                                  
          return RTEMS_SUCCESSFUL;                                    
        }                                                             
        tvp = (rtems_task_variable_t *)tvp->next;                     
   45634:	2050           	moveal %a0@,%a0                             
    case OBJECTS_LOCAL:                                               
      /*                                                              
       *  Figure out if the variable is in this task's list.          
       */                                                             
      tvp = the_thread->task_variables;                               
      while (tvp) {                                                   
   45636:	4a88           	tstl %a0                                    
   45638:	66f4           	bnes 4562e <rtems_task_variable_get+0x32>   <== ALWAYS TAKEN
          _Thread_Enable_dispatch();                                  
          return RTEMS_SUCCESSFUL;                                    
        }                                                             
        tvp = (rtems_task_variable_t *)tvp->next;                     
      }                                                               
      _Thread_Enable_dispatch();                                      
   4563a:	4eb9 0004 72dc 	jsr 472dc <_Thread_Enable_dispatch>         
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
  return RTEMS_INVALID_ID;                                            
}                                                                     
   45640:	242e fff8      	movel %fp@(-8),%d2                          
          return RTEMS_SUCCESSFUL;                                    
        }                                                             
        tvp = (rtems_task_variable_t *)tvp->next;                     
      }                                                               
      _Thread_Enable_dispatch();                                      
      return RTEMS_INVALID_ADDRESS;                                   
   45644:	7009           	moveq #9,%d0                                
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
  return RTEMS_INVALID_ID;                                            
}                                                                     
   45646:	4e5e           	unlk %fp                                    
   45648:	4e75           	rts                                         
   4564a:	242e fff8      	movel %fp@(-8),%d2                          
  Thread_Control        *the_thread;                                  
  Objects_Locations      location;                                    
  rtems_task_variable_t *tvp;                                         
                                                                      
  if ( !ptr )                                                         
    return RTEMS_INVALID_ADDRESS;                                     
   4564e:	7009           	moveq #9,%d0                                
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
  return RTEMS_INVALID_ID;                                            
}                                                                     
   45650:	4e5e           	unlk %fp                                    
   45652:	4e75           	rts                                         
   45654:	242e fff8      	movel %fp@(-8),%d2                          
#endif                                                                
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
  return RTEMS_INVALID_ID;                                            
   45658:	7004           	moveq #4,%d0                                
}                                                                     
   4565a:	4e5e           	unlk %fp                                    
   4565c:	4e75           	rts                                         
        if (tvp->ptr == ptr) {                                        
	  /*                                                                 
	   * Should this return the current (i.e not the                     
	   * saved) value if `tid' is the current task?                      
	   */                                                                
          *result = tvp->tval;                                        
   4565e:	226e 0010      	moveal %fp@(16),%a1                         
   45662:	22a8 000c      	movel %a0@(12),%a1@                         
          _Thread_Enable_dispatch();                                  
   45666:	4eb9 0004 72dc 	jsr 472dc <_Thread_Enable_dispatch>         
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
  return RTEMS_INVALID_ID;                                            
}                                                                     
   4566c:	242e fff8      	movel %fp@(-8),%d2                          
	   * Should this return the current (i.e not the                     
	   * saved) value if `tid' is the current task?                      
	   */                                                                
          *result = tvp->tval;                                        
          _Thread_Enable_dispatch();                                  
          return RTEMS_SUCCESSFUL;                                    
   45670:	4280           	clrl %d0                                    
                                                                      
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
  return RTEMS_INVALID_ID;                                            
}                                                                     
   45672:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00045e14 <rtems_termios_baud_to_index>: rtems_termios_baud_t termios_baud ) { int baud_index; switch (termios_baud) {
   45e14:	7209           	moveq #9,%d1                                
#include <rtems/termiostypes.h>                                       
                                                                      
int rtems_termios_baud_to_index(                                      
  rtems_termios_baud_t termios_baud                                   
)                                                                     
{                                                                     
   45e16:	4e56 0000      	linkw %fp,#0                                
   45e1a:	202e 0008      	movel %fp@(8),%d0                           
  int baud_index;                                                     
                                                                      
  switch (termios_baud) {                                             
   45e1e:	b280           	cmpl %d0,%d1                                
   45e20:	6700 0104      	beqw 45f26 <rtems_termios_baud_to_index+0x112>
   45e24:	6432           	bccs 45e58 <rtems_termios_baud_to_index+0x44>
   45e26:	720e           	moveq #14,%d1                               
   45e28:	b280           	cmpl %d0,%d1                                
   45e2a:	6700 00f4      	beqw 45f20 <rtems_termios_baud_to_index+0x10c>
   45e2e:	6456           	bccs 45e86 <rtems_termios_baud_to_index+0x72>
   45e30:	0c80 0000 1002 	cmpil #4098,%d0                             
   45e36:	6700 00e2      	beqw 45f1a <rtems_termios_baud_to_index+0x106>
   45e3a:	6300 009e      	blsw 45eda <rtems_termios_baud_to_index+0xc6>
   45e3e:	0c80 0000 1003 	cmpil #4099,%d0                             
   45e44:	6700 00b6      	beqw 45efc <rtems_termios_baud_to_index+0xe8>
   45e48:	0c80 0000 1004 	cmpil #4100,%d0                             
   45e4e:	6700 00a0      	beqw 45ef0 <rtems_termios_baud_to_index+0xdc>
    case B38400:    baud_index = 15;  break;                          
    case B57600:    baud_index = 16;  break;                          
    case B115200:   baud_index = 17;  break;                          
    case B230400:   baud_index = 18;  break;                          
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
   45e52:	70ff           	moveq #-1,%d0                               
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45e54:	4e5e           	unlk %fp                                    
   45e56:	4e75           	rts                                         
  rtems_termios_baud_t termios_baud                                   
)                                                                     
{                                                                     
  int baud_index;                                                     
                                                                      
  switch (termios_baud) {                                             
   45e58:	123c 0004      	moveb #4,%d1                                
   45e5c:	b280           	cmpl %d0,%d1                                
   45e5e:	6700 00cc      	beqw 45f2c <rtems_termios_baud_to_index+0x118>
   45e62:	6444           	bccs 45ea8 <rtems_termios_baud_to_index+0x94>
   45e64:	7206           	moveq #6,%d1                                
   45e66:	b280           	cmpl %d0,%d1                                
   45e68:	6700 008c      	beqw 45ef6 <rtems_termios_baud_to_index+0xe2>
   45e6c:	625a           	bhis 45ec8 <rtems_termios_baud_to_index+0xb4>
   45e6e:	123c 0007      	moveb #7,%d1                                
   45e72:	b280           	cmpl %d0,%d1                                
   45e74:	6700 009e      	beqw 45f14 <rtems_termios_baud_to_index+0x100>
   45e78:	123c 0008      	moveb #8,%d1                                
   45e7c:	b280           	cmpl %d0,%d1                                
   45e7e:	66d2           	bnes 45e52 <rtems_termios_baud_to_index+0x3e><== NEVER TAKEN
    case B110:      baud_index =  3;  break;                          
    case B134:      baud_index =  4;  break;                          
    case B150:      baud_index =  5;  break;                          
    case B200:      baud_index =  6;  break;                          
    case B300:      baud_index =  7;  break;                          
    case B600:      baud_index =  8;  break;                          
   45e80:	7008           	moveq #8,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45e82:	4e5e           	unlk %fp                                    
   45e84:	4e75           	rts                                         
  rtems_termios_baud_t termios_baud                                   
)                                                                     
{                                                                     
  int baud_index;                                                     
                                                                      
  switch (termios_baud) {                                             
   45e86:	123c 000b      	moveb #11,%d1                               
   45e8a:	b280           	cmpl %d0,%d1                                
   45e8c:	677a           	beqs 45f08 <rtems_termios_baud_to_index+0xf4>
   45e8e:	6244           	bhis 45ed4 <rtems_termios_baud_to_index+0xc0>
   45e90:	123c 000c      	moveb #12,%d1                               
   45e94:	b280           	cmpl %d0,%d1                                
   45e96:	6700 009a      	beqw 45f32 <rtems_termios_baud_to_index+0x11e>
   45e9a:	123c 000d      	moveb #13,%d1                               
   45e9e:	b280           	cmpl %d0,%d1                                
   45ea0:	66b0           	bnes 45e52 <rtems_termios_baud_to_index+0x3e><== NEVER TAKEN
    case B600:      baud_index =  8;  break;                          
    case B1200:     baud_index =  9;  break;                          
    case B1800:     baud_index = 10;  break;                          
    case B2400:     baud_index = 11;  break;                          
    case B4800:     baud_index = 12;  break;                          
    case B9600:     baud_index = 13;  break;                          
   45ea2:	700d           	moveq #13,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45ea4:	4e5e           	unlk %fp                                    
   45ea6:	4e75           	rts                                         
  rtems_termios_baud_t termios_baud                                   
)                                                                     
{                                                                     
  int baud_index;                                                     
                                                                      
  switch (termios_baud) {                                             
   45ea8:	123c 0001      	moveb #1,%d1                                
   45eac:	b280           	cmpl %d0,%d1                                
   45eae:	6752           	beqs 45f02 <rtems_termios_baud_to_index+0xee>
   45eb0:	621c           	bhis 45ece <rtems_termios_baud_to_index+0xba>
   45eb2:	123c 0002      	moveb #2,%d1                                
   45eb6:	b280           	cmpl %d0,%d1                                
   45eb8:	677e           	beqs 45f38 <rtems_termios_baud_to_index+0x124>
   45eba:	123c 0003      	moveb #3,%d1                                
   45ebe:	b280           	cmpl %d0,%d1                                
   45ec0:	6690           	bnes 45e52 <rtems_termios_baud_to_index+0x3e><== NEVER TAKEN
    case B0:        baud_index =  0;  break;                          
    case B50:       baud_index =  1;  break;                          
    case B75:       baud_index =  2;  break;                          
    case B110:      baud_index =  3;  break;                          
   45ec2:	7003           	moveq #3,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45ec4:	4e5e           	unlk %fp                                    
   45ec6:	4e75           	rts                                         
    case B0:        baud_index =  0;  break;                          
    case B50:       baud_index =  1;  break;                          
    case B75:       baud_index =  2;  break;                          
    case B110:      baud_index =  3;  break;                          
    case B134:      baud_index =  4;  break;                          
    case B150:      baud_index =  5;  break;                          
   45ec8:	7005           	moveq #5,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45eca:	4e5e           	unlk %fp                                    
   45ecc:	4e75           	rts                                         
)                                                                     
{                                                                     
  int baud_index;                                                     
                                                                      
  switch (termios_baud) {                                             
    case B0:        baud_index =  0;  break;                          
   45ece:	4280           	clrl %d0                                    
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45ed0:	4e5e           	unlk %fp                                    
   45ed2:	4e75           	rts                                         
    case B150:      baud_index =  5;  break;                          
    case B200:      baud_index =  6;  break;                          
    case B300:      baud_index =  7;  break;                          
    case B600:      baud_index =  8;  break;                          
    case B1200:     baud_index =  9;  break;                          
    case B1800:     baud_index = 10;  break;                          
   45ed4:	700a           	moveq #10,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45ed6:	4e5e           	unlk %fp                                    
   45ed8:	4e75           	rts                                         
  rtems_termios_baud_t termios_baud                                   
)                                                                     
{                                                                     
  int baud_index;                                                     
                                                                      
  switch (termios_baud) {                                             
   45eda:	720f           	moveq #15,%d1                               
   45edc:	b280           	cmpl %d0,%d1                                
   45ede:	672e           	beqs 45f0e <rtems_termios_baud_to_index+0xfa>
   45ee0:	0c80 0000 1001 	cmpil #4097,%d0                             
   45ee6:	6600 ff6a      	bnew 45e52 <rtems_termios_baud_to_index+0x3e>
    case B2400:     baud_index = 11;  break;                          
    case B4800:     baud_index = 12;  break;                          
    case B9600:     baud_index = 13;  break;                          
    case B19200:    baud_index = 14;  break;                          
    case B38400:    baud_index = 15;  break;                          
    case B57600:    baud_index = 16;  break;                          
   45eea:	7010           	moveq #16,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45eec:	4e5e           	unlk %fp                                    
   45eee:	4e75           	rts                                         
    case B19200:    baud_index = 14;  break;                          
    case B38400:    baud_index = 15;  break;                          
    case B57600:    baud_index = 16;  break;                          
    case B115200:   baud_index = 17;  break;                          
    case B230400:   baud_index = 18;  break;                          
    case B460800:   baud_index = 19;  break;                          
   45ef0:	7013           	moveq #19,%d0                               
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45ef2:	4e5e           	unlk %fp                                    
   45ef4:	4e75           	rts                                         
    case B50:       baud_index =  1;  break;                          
    case B75:       baud_index =  2;  break;                          
    case B110:      baud_index =  3;  break;                          
    case B134:      baud_index =  4;  break;                          
    case B150:      baud_index =  5;  break;                          
    case B200:      baud_index =  6;  break;                          
   45ef6:	7006           	moveq #6,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45ef8:	4e5e           	unlk %fp                                    
   45efa:	4e75           	rts                                         
    case B9600:     baud_index = 13;  break;                          
    case B19200:    baud_index = 14;  break;                          
    case B38400:    baud_index = 15;  break;                          
    case B57600:    baud_index = 16;  break;                          
    case B115200:   baud_index = 17;  break;                          
    case B230400:   baud_index = 18;  break;                          
   45efc:	7012           	moveq #18,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45efe:	4e5e           	unlk %fp                                    
   45f00:	4e75           	rts                                         
{                                                                     
  int baud_index;                                                     
                                                                      
  switch (termios_baud) {                                             
    case B0:        baud_index =  0;  break;                          
    case B50:       baud_index =  1;  break;                          
   45f02:	7001           	moveq #1,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f04:	4e5e           	unlk %fp                                    
   45f06:	4e75           	rts                                         
    case B200:      baud_index =  6;  break;                          
    case B300:      baud_index =  7;  break;                          
    case B600:      baud_index =  8;  break;                          
    case B1200:     baud_index =  9;  break;                          
    case B1800:     baud_index = 10;  break;                          
    case B2400:     baud_index = 11;  break;                          
   45f08:	700b           	moveq #11,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f0a:	4e5e           	unlk %fp                                    
   45f0c:	4e75           	rts                                         
    case B1800:     baud_index = 10;  break;                          
    case B2400:     baud_index = 11;  break;                          
    case B4800:     baud_index = 12;  break;                          
    case B9600:     baud_index = 13;  break;                          
    case B19200:    baud_index = 14;  break;                          
    case B38400:    baud_index = 15;  break;                          
   45f0e:	700f           	moveq #15,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f10:	4e5e           	unlk %fp                                    
   45f12:	4e75           	rts                                         
    case B75:       baud_index =  2;  break;                          
    case B110:      baud_index =  3;  break;                          
    case B134:      baud_index =  4;  break;                          
    case B150:      baud_index =  5;  break;                          
    case B200:      baud_index =  6;  break;                          
    case B300:      baud_index =  7;  break;                          
   45f14:	7007           	moveq #7,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f16:	4e5e           	unlk %fp                                    
   45f18:	4e75           	rts                                         
    case B4800:     baud_index = 12;  break;                          
    case B9600:     baud_index = 13;  break;                          
    case B19200:    baud_index = 14;  break;                          
    case B38400:    baud_index = 15;  break;                          
    case B57600:    baud_index = 16;  break;                          
    case B115200:   baud_index = 17;  break;                          
   45f1a:	7011           	moveq #17,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f1c:	4e5e           	unlk %fp                                    
   45f1e:	4e75           	rts                                         
    case B1200:     baud_index =  9;  break;                          
    case B1800:     baud_index = 10;  break;                          
    case B2400:     baud_index = 11;  break;                          
    case B4800:     baud_index = 12;  break;                          
    case B9600:     baud_index = 13;  break;                          
    case B19200:    baud_index = 14;  break;                          
   45f20:	700e           	moveq #14,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f22:	4e5e           	unlk %fp                                    
   45f24:	4e75           	rts                                         
    case B134:      baud_index =  4;  break;                          
    case B150:      baud_index =  5;  break;                          
    case B200:      baud_index =  6;  break;                          
    case B300:      baud_index =  7;  break;                          
    case B600:      baud_index =  8;  break;                          
    case B1200:     baud_index =  9;  break;                          
   45f26:	7009           	moveq #9,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f28:	4e5e           	unlk %fp                                    
   45f2a:	4e75           	rts                                         
  switch (termios_baud) {                                             
    case B0:        baud_index =  0;  break;                          
    case B50:       baud_index =  1;  break;                          
    case B75:       baud_index =  2;  break;                          
    case B110:      baud_index =  3;  break;                          
    case B134:      baud_index =  4;  break;                          
   45f2c:	7004           	moveq #4,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f2e:	4e5e           	unlk %fp                                    
   45f30:	4e75           	rts                                         
    case B300:      baud_index =  7;  break;                          
    case B600:      baud_index =  8;  break;                          
    case B1200:     baud_index =  9;  break;                          
    case B1800:     baud_index = 10;  break;                          
    case B2400:     baud_index = 11;  break;                          
    case B4800:     baud_index = 12;  break;                          
   45f32:	700c           	moveq #12,%d0                               
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f34:	4e5e           	unlk %fp                                    
   45f36:	4e75           	rts                                         
  int baud_index;                                                     
                                                                      
  switch (termios_baud) {                                             
    case B0:        baud_index =  0;  break;                          
    case B50:       baud_index =  1;  break;                          
    case B75:       baud_index =  2;  break;                          
   45f38:	7002           	moveq #2,%d0                                
    case B460800:   baud_index = 19;  break;                          
    default:        baud_index = -1;  break;                          
  }                                                                   
                                                                      
  return baud_index;                                                  
}                                                                     
   45f3a:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

000452ca <rtems_termios_close>: rtems_interrupt_enable (level); } rtems_status_code rtems_termios_close (void *arg) {
   452ca:	4e56 fff4      	linkw %fp,#-12                              
   452ce:	48d7 1c00      	moveml %a2-%a4,%sp@                         
   452d2:	266e 0008      	moveal %fp@(8),%a3                          
  rtems_libio_open_close_args_t *args = arg;                          
  struct rtems_termios_tty *tty = args->iop->data1;                   
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain(                                        
   452d6:	49f9 0004 7458 	lea 47458 <rtems_semaphore_obtain>,%a4      
                                                                      
rtems_status_code                                                     
rtems_termios_close (void *arg)                                       
{                                                                     
  rtems_libio_open_close_args_t *args = arg;                          
  struct rtems_termios_tty *tty = args->iop->data1;                   
   452dc:	2053           	moveal %a3@,%a0                             
   452de:	2468 002c      	moveal %a0@(44),%a2                         
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain(                                        
   452e2:	42a7           	clrl %sp@-                                  
   452e4:	42a7           	clrl %sp@-                                  
   452e6:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
   452ec:	4e94           	jsr %a4@                                    
    rtems_termios_ttyMutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);            
  if (sc != RTEMS_SUCCESSFUL)                                         
   452ee:	4fef 000c      	lea %sp@(12),%sp                            
   452f2:	4a80           	tstl %d0                                    
   452f4:	6600 011c      	bnew 45412 <rtems_termios_close+0x148>      
    rtems_fatal_error_occurred (sc);                                  
  if (--tty->refcount == 0) {                                         
   452f8:	222a 0008      	movel %a2@(8),%d1                           
   452fc:	5381           	subql #1,%d1                                
   452fe:	2541 0008      	movel %d1,%a2@(8)                           
   45302:	6600 00a4      	bnew 453a8 <rtems_termios_close+0xde>       
    if (rtems_termios_linesw[tty->t_line].l_close != NULL) {          
   45306:	222a 00cc      	movel %a2@(204),%d1                         
   4530a:	eb89           	lsll #5,%d1                                 
   4530c:	0681 0005 f100 	addil #389376,%d1                           
   45312:	2241           	moveal %d1,%a1                              
   45314:	2051           	moveal %a1@,%a0                             
   45316:	4a88           	tstl %a0                                    
   45318:	6700 0124      	beqw 4543e <rtems_termios_close+0x174>      
      /*                                                              
       * call discipline-specific close                               
       */                                                             
      sc = rtems_termios_linesw[tty->t_line].l_close(tty);            
   4531c:	2f0a           	movel %a2,%sp@-                             
   4531e:	4e90           	jsr %a0@                                    
   45320:	588f           	addql #4,%sp                                
      }                                                               
      drainOutput (tty);                                              
      rtems_semaphore_release (tty->osem);                            
    }                                                                 
                                                                      
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
   45322:	7002           	moveq #2,%d0                                
   45324:	b0aa 00b4      	cmpl %a2@(180),%d0                          
   45328:	6700 00c0      	beqw 453ea <rtems_termios_close+0x120>      
        rtems_fatal_error_occurred (sc);                              
      sc = rtems_event_send( tty->txTaskId, TERMIOS_TX_TERMINATE_EVENT );
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
    }                                                                 
    if (tty->device.lastClose)                                        
   4532c:	206a 009c      	moveal %a2@(156),%a0                        
   45330:	4a88           	tstl %a0                                    
   45332:	6710           	beqs 45344 <rtems_termios_close+0x7a>       
       (*tty->device.lastClose)(tty->major, tty->minor, arg);         
   45334:	2f0b           	movel %a3,%sp@-                             
   45336:	2f2a 0010      	movel %a2@(16),%sp@-                        
   4533a:	2f2a 000c      	movel %a2@(12),%sp@-                        
   4533e:	4e90           	jsr %a0@                                    
   45340:	4fef 000c      	lea %sp@(12),%sp                            
    if (tty->forw == NULL) {                                          
   45344:	2052           	moveal %a2@,%a0                             
   45346:	4a88           	tstl %a0                                    
   45348:	6700 00de      	beqw 45428 <rtems_termios_close+0x15e>      
      rtems_termios_ttyTail = tty->back;                              
      if ( rtems_termios_ttyTail != NULL ) {                          
        rtems_termios_ttyTail->forw = NULL;                           
      }                                                               
    } else {                                                          
      tty->forw->back = tty->back;                                    
   4534c:	216a 0004 0004 	movel %a2@(4),%a0@(4)                       
   45352:	226a 0004      	moveal %a2@(4),%a1                          
    }                                                                 
                                                                      
    if (tty->back == NULL) {                                          
   45356:	4a89           	tstl %a1                                    
   45358:	6700 00c0      	beqw 4541a <rtems_termios_close+0x150>      
      rtems_termios_ttyHead = tty->forw;                              
      if ( rtems_termios_ttyHead != NULL ) {                          
        rtems_termios_ttyHead->back = NULL;                           
      }                                                               
    } else {                                                          
      tty->back->forw = tty->forw;                                    
   4535c:	2288           	movel %a0,%a1@                              <== NOT EXECUTED
    }                                                                 
                                                                      
    rtems_semaphore_delete (tty->isem);                               
   4535e:	2f2a 0014      	movel %a2@(20),%sp@-                        
   45362:	47f9 0004 7380 	lea 47380 <rtems_semaphore_delete>,%a3      
   45368:	4e93           	jsr %a3@                                    
    rtems_semaphore_delete (tty->osem);                               
   4536a:	2f2a 0018      	movel %a2@(24),%sp@-                        
   4536e:	4e93           	jsr %a3@                                    
    rtems_semaphore_delete (tty->rawOutBuf.Semaphore);                
   45370:	2f2a 008c      	movel %a2@(140),%sp@-                       
   45374:	4e93           	jsr %a3@                                    
    if ((tty->device.pollRead == NULL) ||                             
   45376:	4fef 000c      	lea %sp@(12),%sp                            
   4537a:	4aaa 00a0      	tstl %a2@(160)                              
   4537e:	6740           	beqs 453c0 <rtems_termios_close+0xf6>       
   45380:	7002           	moveq #2,%d0                                
   45382:	b0aa 00b4      	cmpl %a2@(180),%d0                          
   45386:	6738           	beqs 453c0 <rtems_termios_close+0xf6>       
        (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN))    
      rtems_semaphore_delete (tty->rawInBuf.Semaphore);               
    free (tty->rawInBuf.theBuf);                                      
   45388:	2f2a 0058      	movel %a2@(88),%sp@-                        
   4538c:	47f9 0004 30cc 	lea 430cc <free>,%a3                        
   45392:	4e93           	jsr %a3@                                    
    free (tty->rawOutBuf.theBuf);                                     
   45394:	2f2a 007c      	movel %a2@(124),%sp@-                       
   45398:	4e93           	jsr %a3@                                    
    free (tty->cbuf);                                                 
   4539a:	2f2a 001c      	movel %a2@(28),%sp@-                        
   4539e:	4e93           	jsr %a3@                                    
    free (tty);                                                       
   453a0:	2f0a           	movel %a2,%sp@-                             
   453a2:	4e93           	jsr %a3@                                    
   453a4:	4fef 0010      	lea %sp@(16),%sp                            
  }                                                                   
  rtems_semaphore_release (rtems_termios_ttyMutex);                   
   453a8:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
   453ae:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   453b4:	4cee 1c00 fff4 	moveml %fp@(-12),%a2-%a4                    
   453ba:	4280           	clrl %d0                                    
   453bc:	4e5e           	unlk %fp                                    
   453be:	4e75           	rts                                         
    rtems_semaphore_delete (tty->isem);                               
    rtems_semaphore_delete (tty->osem);                               
    rtems_semaphore_delete (tty->rawOutBuf.Semaphore);                
    if ((tty->device.pollRead == NULL) ||                             
        (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN))    
      rtems_semaphore_delete (tty->rawInBuf.Semaphore);               
   453c0:	2f2a 0068      	movel %a2@(104),%sp@-                       
   453c4:	4e93           	jsr %a3@                                    
   453c6:	588f           	addql #4,%sp                                
    free (tty->rawInBuf.theBuf);                                      
   453c8:	47f9 0004 30cc 	lea 430cc <free>,%a3                        
   453ce:	2f2a 0058      	movel %a2@(88),%sp@-                        
   453d2:	4e93           	jsr %a3@                                    
    free (tty->rawOutBuf.theBuf);                                     
   453d4:	2f2a 007c      	movel %a2@(124),%sp@-                       
   453d8:	4e93           	jsr %a3@                                    
    free (tty->cbuf);                                                 
   453da:	2f2a 001c      	movel %a2@(28),%sp@-                        
   453de:	4e93           	jsr %a3@                                    
    free (tty);                                                       
   453e0:	2f0a           	movel %a2,%sp@-                             
   453e2:	4e93           	jsr %a3@                                    
   453e4:	4fef 0010      	lea %sp@(16),%sp                            
   453e8:	60be           	bras 453a8 <rtems_termios_close+0xde>       
                                                                      
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
      /*                                                              
       * send "terminate" to I/O tasks                                
       */                                                             
      sc = rtems_event_send( tty->rxTaskId, TERMIOS_RX_TERMINATE_EVENT );
   453ea:	4878 0001      	pea 1 <ADD>                                 
   453ee:	49f9 0004 6f5c 	lea 46f5c <rtems_event_send>,%a4            
   453f4:	2f2a 00c4      	movel %a2@(196),%sp@-                       
   453f8:	4e94           	jsr %a4@                                    
      if (sc != RTEMS_SUCCESSFUL)                                     
   453fa:	508f           	addql #8,%sp                                
   453fc:	4a80           	tstl %d0                                    
   453fe:	6612           	bnes 45412 <rtems_termios_close+0x148>      <== NEVER TAKEN
        rtems_fatal_error_occurred (sc);                              
      sc = rtems_event_send( tty->txTaskId, TERMIOS_TX_TERMINATE_EVENT );
   45400:	4878 0001      	pea 1 <ADD>                                 
   45404:	2f2a 00c8      	movel %a2@(200),%sp@-                       
   45408:	4e94           	jsr %a4@                                    
      if (sc != RTEMS_SUCCESSFUL)                                     
   4540a:	508f           	addql #8,%sp                                
   4540c:	4a80           	tstl %d0                                    
   4540e:	6700 ff1c      	beqw 4532c <rtems_termios_close+0x62>       
        rtems_fatal_error_occurred (sc);                              
   45412:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45414:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
    } else {                                                          
      tty->forw->back = tty->back;                                    
    }                                                                 
                                                                      
    if (tty->back == NULL) {                                          
      rtems_termios_ttyHead = tty->forw;                              
   4541a:	23c8 0005 f934 	movel %a0,5f934 <rtems_termios_ttyHead>     
      if ( rtems_termios_ttyHead != NULL ) {                          
        rtems_termios_ttyHead->back = NULL;                           
   45420:	42a8 0004      	clrl %a0@(4)                                
   45424:	6000 ff38      	braw 4535e <rtems_termios_close+0x94>       
        rtems_fatal_error_occurred (sc);                              
    }                                                                 
    if (tty->device.lastClose)                                        
       (*tty->device.lastClose)(tty->major, tty->minor, arg);         
    if (tty->forw == NULL) {                                          
      rtems_termios_ttyTail = tty->back;                              
   45428:	226a 0004      	moveal %a2@(4),%a1                          
   4542c:	23c9 0005 f930 	movel %a1,5f930 <rtems_termios_ttyTail>     
      if ( rtems_termios_ttyTail != NULL ) {                          
   45432:	6744           	beqs 45478 <rtems_termios_close+0x1ae>      <== ALWAYS TAKEN
        rtems_termios_ttyTail->forw = NULL;                           
   45434:	4291           	clrl %a1@                                   <== NOT EXECUTED
   45436:	2052           	moveal %a2@,%a0                             <== NOT EXECUTED
      rtems_termios_ttyHead = tty->forw;                              
      if ( rtems_termios_ttyHead != NULL ) {                          
        rtems_termios_ttyHead->back = NULL;                           
      }                                                               
    } else {                                                          
      tty->back->forw = tty->forw;                                    
   45438:	2288           	movel %a0,%a1@                              <== NOT EXECUTED
   4543a:	6000 ff22      	braw 4535e <rtems_termios_close+0x94>       <== NOT EXECUTED
      sc = rtems_termios_linesw[tty->t_line].l_close(tty);            
    } else {                                                          
      /*                                                              
       * default: just flush output buffer                            
       */                                                             
      sc = rtems_semaphore_obtain(tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   4543e:	42a7           	clrl %sp@-                                  
   45440:	42a7           	clrl %sp@-                                  
   45442:	2f2a 0018      	movel %a2@(24),%sp@-                        
   45446:	4e94           	jsr %a4@                                    
      if (sc != RTEMS_SUCCESSFUL) {                                   
   45448:	4fef 000c      	lea %sp@(12),%sp                            
   4544c:	4a80           	tstl %d0                                    
   4544e:	66c2           	bnes 45412 <rtems_termios_close+0x148>      <== NEVER TAKEN
drainOutput (struct rtems_termios_tty *tty)                           
{                                                                     
  rtems_interrupt_level level;                                        
  rtems_status_code sc;                                               
                                                                      
  if (tty->device.outputUsesInterrupts != TERMIOS_POLLED) {           
   45450:	4aaa 00b4      	tstl %a2@(180)                              
   45454:	6708           	beqs 4545e <rtems_termios_close+0x194>      
   45456:	2f0a           	movel %a2,%sp@-                             
   45458:	4eba f9b0      	jsr %pc@(44e0a <drainOutput.part.0>)        
   4545c:	588f           	addql #4,%sp                                
      sc = rtems_semaphore_obtain(tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
      if (sc != RTEMS_SUCCESSFUL) {                                   
        rtems_fatal_error_occurred (sc);                              
      }                                                               
      drainOutput (tty);                                              
      rtems_semaphore_release (tty->osem);                            
   4545e:	2f2a 0018      	movel %a2@(24),%sp@-                        
   45462:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
   45468:	588f           	addql #4,%sp                                
    }                                                                 
                                                                      
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
   4546a:	7002           	moveq #2,%d0                                
   4546c:	b0aa 00b4      	cmpl %a2@(180),%d0                          
   45470:	6600 feba      	bnew 4532c <rtems_termios_close+0x62>       
   45474:	6000 ff74      	braw 453ea <rtems_termios_close+0x120>      
    } else {                                                          
      tty->forw->back = tty->back;                                    
    }                                                                 
                                                                      
    if (tty->back == NULL) {                                          
      rtems_termios_ttyHead = tty->forw;                              
   45478:	42b9 0005 f934 	clrl 5f934 <rtems_termios_ttyHead>          
   4547e:	6000 fede      	braw 4535e <rtems_termios_close+0x94>       
                                                                      

00046896 <rtems_termios_dequeue_characters>: * for each transmitted character. * It returns number of characters left to transmit */ int rtems_termios_dequeue_characters (void *ttyp, int len) {
   46896:	4e56 0000      	linkw %fp,#0                                
  rtems_status_code sc;                                               
                                                                      
  /*                                                                  
   * sum up character count already sent                              
   */                                                                 
  tty->t_dqlen += len;                                                
   4689a:	202e 000c      	movel %fp@(12),%d0                          
 * for each transmitted character.                                    
 * It returns number of characters left to transmit                   
 */                                                                   
int                                                                   
rtems_termios_dequeue_characters (void *ttyp, int len)                
{                                                                     
   4689e:	206e 0008      	moveal %fp@(8),%a0                          
  rtems_status_code sc;                                               
                                                                      
  /*                                                                  
   * sum up character count already sent                              
   */                                                                 
  tty->t_dqlen += len;                                                
   468a2:	d1a8 0090      	addl %d0,%a0@(144)                          
                                                                      
  if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {      
   468a6:	7002           	moveq #2,%d0                                
   468a8:	b0a8 00b4      	cmpl %a0@(180),%d0                          
   468ac:	6728           	beqs 468d6 <rtems_termios_dequeue_characters+0x40>
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_fatal_error_occurred (sc);                                
    return 0; /* nothing to output in IRQ... */                       
  }                                                                   
                                                                      
  if (tty->t_line == PPPDISC ) {                                      
   468ae:	7005           	moveq #5,%d0                                
   468b0:	b0a8 00cc      	cmpl %a0@(204),%d0                          
   468b4:	670a           	beqs 468c0 <rtems_termios_dequeue_characters+0x2a>
      rtems_termios_linesw[tty->t_line].l_start(tty);                 
    }                                                                 
    return 0; /* nothing to output in IRQ... */                       
  }                                                                   
                                                                      
  return rtems_termios_refill_transmitter(tty);                       
   468b6:	2d48 0008      	movel %a0,%fp@(8)                           
}                                                                     
   468ba:	4e5e           	unlk %fp                                    
      rtems_termios_linesw[tty->t_line].l_start(tty);                 
    }                                                                 
    return 0; /* nothing to output in IRQ... */                       
  }                                                                   
                                                                      
  return rtems_termios_refill_transmitter(tty);                       
   468bc:	6000 e29a      	braw 44b58 <rtems_termios_refill_transmitter>
                                                                      
  if (tty->t_line == PPPDISC ) {                                      
    /*                                                                
     * call any line discipline start function                        
     */                                                               
    if (rtems_termios_linesw[tty->t_line].l_start != NULL) {          
   468c0:	2279 0005 f1b0 	moveal 5f1b0 <rtems_termios_linesw+0xb4>,%a1
   468c6:	4a89           	tstl %a1                                    
   468c8:	6706           	beqs 468d0 <rtems_termios_dequeue_characters+0x3a><== NEVER TAKEN
      rtems_termios_linesw[tty->t_line].l_start(tty);                 
   468ca:	2f08           	movel %a0,%sp@-                             
   468cc:	4e91           	jsr %a1@                                    
   468ce:	588f           	addql #4,%sp                                
    }                                                                 
    return 0; /* nothing to output in IRQ... */                       
  }                                                                   
                                                                      
  return rtems_termios_refill_transmitter(tty);                       
}                                                                     
   468d0:	4280           	clrl %d0                                    
   468d2:	4e5e           	unlk %fp                                    
   468d4:	4e75           	rts                                         
                                                                      
  if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {      
    /*                                                                
     * send wake up to transmitter task                               
     */                                                               
    sc = rtems_event_send(tty->txTaskId, TERMIOS_TX_START_EVENT);     
   468d6:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   468da:	2f28 00c8      	movel %a0@(200),%sp@-                       
   468de:	4eb9 0004 6f5c 	jsr 46f5c <rtems_event_send>                
    if (sc != RTEMS_SUCCESSFUL)                                       
   468e4:	508f           	addql #8,%sp                                
   468e6:	4a80           	tstl %d0                                    
   468e8:	67e6           	beqs 468d0 <rtems_termios_dequeue_characters+0x3a><== ALWAYS TAKEN
      rtems_fatal_error_occurred (sc);                                
   468ea:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   468ec:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
	...                                                                  
                                                                      

00046530 <rtems_termios_enqueue_raw_characters>: * device receive interrupt handler. * Returns the number of characters dropped because of overflow. */ int rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len) {
   46530:	4e56 ffcc      	linkw %fp,#-52                              
   46534:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   46538:	246e 0008      	moveal %fp@(8),%a2                          
  char c;                                                             
  int dropped = 0;                                                    
  bool flow_rcv = false; /* true, if flow control char received */    
  rtems_interrupt_level level;                                        
                                                                      
  if (rtems_termios_linesw[tty->t_line].l_rint != NULL) {             
   4653c:	202a 00cc      	movel %a2@(204),%d0                         
   46540:	eb88           	lsll #5,%d0                                 
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
{                                                                     
   46542:	266e 000c      	moveal %fp@(12),%a3                         
  char c;                                                             
  int dropped = 0;                                                    
  bool flow_rcv = false; /* true, if flow control char received */    
  rtems_interrupt_level level;                                        
                                                                      
  if (rtems_termios_linesw[tty->t_line].l_rint != NULL) {             
   46546:	0680 0005 f10c 	addil #389388,%d0                           
   4654c:	2240           	moveal %d0,%a1                              
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
{                                                                     
   4654e:	262e 0010      	movel %fp@(16),%d3                          
  char c;                                                             
  int dropped = 0;                                                    
  bool flow_rcv = false; /* true, if flow control char received */    
  rtems_interrupt_level level;                                        
                                                                      
  if (rtems_termios_linesw[tty->t_line].l_rint != NULL) {             
   46552:	2051           	moveal %a1@,%a0                             
   46554:	4a88           	tstl %a0                                    
   46556:	6776           	beqs 465ce <rtems_termios_enqueue_raw_characters+0x9e>
    while (len--) {                                                   
   46558:	4a83           	tstl %d3                                    
   4655a:	6736           	beqs 46592 <rtems_termios_enqueue_raw_characters+0x62><== NEVER TAKEN
      c = *buf++;                                                     
      rtems_termios_linesw[tty->t_line].l_rint(c,tty);                
   4655c:	2f0a           	movel %a2,%sp@-                             
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   4655e:	5383           	subql #1,%d3                                
   46560:	4282           	clrl %d2                                    
  rtems_interrupt_level level;                                        
                                                                      
  if (rtems_termios_linesw[tty->t_line].l_rint != NULL) {             
    while (len--) {                                                   
      c = *buf++;                                                     
      rtems_termios_linesw[tty->t_line].l_rint(c,tty);                
   46562:	181b           	moveb %a3@+,%d4                             
   46564:	49c4           	extbl %d4                                   
   46566:	2f04           	movel %d4,%sp@-                             
   46568:	4e90           	jsr %a0@                                    
  int dropped = 0;                                                    
  bool flow_rcv = false; /* true, if flow control char received */    
  rtems_interrupt_level level;                                        
                                                                      
  if (rtems_termios_linesw[tty->t_line].l_rint != NULL) {             
    while (len--) {                                                   
   4656a:	508f           	addql #8,%sp                                
   4656c:	b682           	cmpl %d2,%d3                                
   4656e:	6722           	beqs 46592 <rtems_termios_enqueue_raw_characters+0x62>
   46570:	202a 00cc      	movel %a2@(204),%d0                         
   46574:	5282           	addql #1,%d2                                
   46576:	eb88           	lsll #5,%d0                                 
   46578:	0680 0005 f10c 	addil #389388,%d0                           
   4657e:	2240           	moveal %d0,%a1                              
   46580:	2051           	moveal %a1@,%a0                             
      c = *buf++;                                                     
      rtems_termios_linesw[tty->t_line].l_rint(c,tty);                
   46582:	2f0a           	movel %a2,%sp@-                             
   46584:	181b           	moveb %a3@+,%d4                             
   46586:	49c4           	extbl %d4                                   
   46588:	2f04           	movel %d4,%sp@-                             
   4658a:	4e90           	jsr %a0@                                    
  int dropped = 0;                                                    
  bool flow_rcv = false; /* true, if flow control char received */    
  rtems_interrupt_level level;                                        
                                                                      
  if (rtems_termios_linesw[tty->t_line].l_rint != NULL) {             
    while (len--) {                                                   
   4658c:	508f           	addql #8,%sp                                
   4658e:	b682           	cmpl %d2,%d3                                
   46590:	66de           	bnes 46570 <rtems_termios_enqueue_raw_characters+0x40>
    }                                                                 
                                                                      
    /*                                                                
     * check to see if rcv wakeup callback was set                    
     */                                                               
    if (( !tty->tty_rcvwakeup ) && ( tty->tty_rcv.sw_pfn != NULL )) { 
   46592:	4aaa 00e4      	tstl %a2@(228)                              
   46596:	6628           	bnes 465c0 <rtems_termios_enqueue_raw_characters+0x90><== NEVER TAKEN
   46598:	206a 00dc      	moveal %a2@(220),%a0                        
   4659c:	4a88           	tstl %a0                                    
   4659e:	6720           	beqs 465c0 <rtems_termios_enqueue_raw_characters+0x90>
      (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg);     
   465a0:	2f2a 00e0      	movel %a2@(224),%sp@-                       
      tty->tty_rcvwakeup = 1;                                         
        }                                                             
    return 0;                                                         
   465a4:	4282           	clrl %d2                                    
                                                                      
    /*                                                                
     * check to see if rcv wakeup callback was set                    
     */                                                               
    if (( !tty->tty_rcvwakeup ) && ( tty->tty_rcv.sw_pfn != NULL )) { 
      (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg);     
   465a6:	486a 0030      	pea %a2@(48)                                
   465aa:	4e90           	jsr %a0@                                    
      tty->tty_rcvwakeup = 1;                                         
   465ac:	508f           	addql #8,%sp                                
   465ae:	7001           	moveq #1,%d0                                
   465b0:	2540 00e4      	movel %d0,%a2@(228)                         
  }                                                                   
                                                                      
  tty->rawInBufDropped += dropped;                                    
  rtems_semaphore_release (tty->rawInBuf.Semaphore);                  
  return dropped;                                                     
}                                                                     
   465b4:	2002           	movel %d2,%d0                               
   465b6:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            
   465bc:	4e5e           	unlk %fp                                    
   465be:	4e75           	rts                                         
     */                                                               
    if (( !tty->tty_rcvwakeup ) && ( tty->tty_rcv.sw_pfn != NULL )) { 
      (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg);     
      tty->tty_rcvwakeup = 1;                                         
        }                                                             
    return 0;                                                         
   465c0:	4282           	clrl %d2                                    
  }                                                                   
                                                                      
  tty->rawInBufDropped += dropped;                                    
  rtems_semaphore_release (tty->rawInBuf.Semaphore);                  
  return dropped;                                                     
}                                                                     
   465c2:	2002           	movel %d2,%d0                               
   465c4:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            
   465ca:	4e5e           	unlk %fp                                    
   465cc:	4e75           	rts                                         
                                                                      
        /*                                                            
         * check to see if rcv wakeup callback was set                
         */                                                           
        if (( !tty->tty_rcvwakeup ) && ( tty->tty_rcv.sw_pfn != NULL )) {
          (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg); 
   465ce:	41ea 0030      	lea %a2@(48),%a0                            
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   465d2:	2e0b           	movel %a3,%d7                               
   465d4:	de83           	addl %d3,%d7                                
   465d6:	4282           	clrl %d2                                    
    }                                                                 
    if (flow_rcv) {                                                   
      /* restart output according to FL_ORCVXOF flag */               
      if ((tty->flow_ctrl & (FL_ORCVXOF | FL_OSTOP)) == FL_OSTOP) {   
        /* disable interrupts    */                                   
        rtems_interrupt_disable(level);                               
   465d8:	387c 0700      	moveaw #1792,%a4                            
              (tty->rawOutBufState == rob_idle)) {                    
            /* if tx is stopped due to XOFF or out of data */         
            /*    call write function here                 */         
            tty->flow_ctrl |= FL_ISNTXOF;                             
            (*tty->device.write)(tty->minor,                          
                (void *)&(tty->termios.c_cc[VSTOP]), 1);              
   465dc:	4bea 004a      	lea %a2@(74),%a5                            
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   465e0:	4201           	clrb %d1                                    
                                                                      
        /*                                                            
         * check to see if rcv wakeup callback was set                
         */                                                           
        if (( !tty->tty_rcvwakeup ) && ( tty->tty_rcv.sw_pfn != NULL )) {
          (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg); 
   465e2:	2d48 fffc      	movel %a0,%fp@(-4)                          
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   465e6:	1d41 fff7      	moveb %d1,%fp@(-9)                          
      tty->tty_rcvwakeup = 1;                                         
        }                                                             
    return 0;                                                         
  }                                                                   
                                                                      
  while (len--) {                                                     
   465ea:	be8b           	cmpl %a3,%d7                                
   465ec:	6700 00ea      	beqw 466d8 <rtems_termios_enqueue_raw_characters+0x1a8>
    c = *buf++;                                                       
    /* FIXME: implement IXANY: any character restarts output */       
    /* if incoming XON/XOFF controls outgoing stream: */              
    if (tty->flow_ctrl & FL_MDXON) {                                  
   465f0:	202a 00b8      	movel %a2@(184),%d0                         
        }                                                             
    return 0;                                                         
  }                                                                   
                                                                      
  while (len--) {                                                     
    c = *buf++;                                                       
   465f4:	121b           	moveb %a3@+,%d1                             
    /* FIXME: implement IXANY: any character restarts output */       
    /* if incoming XON/XOFF controls outgoing stream: */              
    if (tty->flow_ctrl & FL_MDXON) {                                  
   465f6:	0800 0009      	btst #9,%d0                                 
   465fa:	671c           	beqs 46618 <rtems_termios_enqueue_raw_characters+0xe8>
      /* if received char is V_STOP and V_START (both are equal value) */
      if (c == tty->termios.c_cc[VSTOP]) {                            
   465fc:	4283           	clrl %d3                                    
   465fe:	162a 004a      	moveb %a2@(74),%d3                          
   46602:	1001           	moveb %d1,%d0                               
   46604:	49c0           	extbl %d0                                   
   46606:	b680           	cmpl %d0,%d3                                
   46608:	6700 014e      	beqw 46758 <rtems_termios_enqueue_raw_characters+0x228>
          /* stop output                             */               
          tty->flow_ctrl |= FL_ORCVXOF;                               
        }                                                             
        flow_rcv = true;                                              
      }                                                               
      else if (c == tty->termios.c_cc[VSTART]) {                      
   4660c:	4283           	clrl %d3                                    
   4660e:	162a 0049      	moveb %a2@(73),%d3                          
   46612:	b680           	cmpl %d0,%d3                                
   46614:	6700 00de      	beqw 466f4 <rtems_termios_enqueue_raw_characters+0x1c4>
        /* restart output  */                                         
        tty->flow_ctrl &= ~FL_ORCVXOF;                                
        flow_rcv = true;                                              
      }                                                               
    }                                                                 
    if (flow_rcv) {                                                   
   46618:	4a2e fff7      	tstb %fp@(-9)                               
   4661c:	6600 00e8      	bnew 46706 <rtems_termios_enqueue_raw_characters+0x1d6>
        }                                                             
        /* reenable interrupts */                                     
        rtems_interrupt_enable(level);                                
      }                                                               
    } else {                                                          
      newTail = (tty->rawInBuf.Tail + 1) % tty->rawInBuf.Size;        
   46620:	226a 0060      	moveal %a2@(96),%a1                         
   46624:	2a09           	movel %a1,%d5                               
   46626:	5285           	addql #1,%d5                                
      /* if chars_in_buffer > highwater                */             
      rtems_interrupt_disable(level);                                 
   46628:	200c           	movel %a4,%d0                               
        }                                                             
        /* reenable interrupts */                                     
        rtems_interrupt_enable(level);                                
      }                                                               
    } else {                                                          
      newTail = (tty->rawInBuf.Tail + 1) % tty->rawInBuf.Size;        
   4662a:	282a 0064      	movel %a2@(100),%d4                         
   4662e:	4c44 5003      	remul %d4,%d3,%d5                           
      /* if chars_in_buffer > highwater                */             
      rtems_interrupt_disable(level);                                 
   46632:	40c5           	movew %sr,%d5                               
   46634:	8085           	orl %d5,%d0                                 
   46636:	46c0           	movew %d0,%sr                               
      if ((((newTail - tty->rawInBuf.Head + tty->rawInBuf.Size)       
   46638:	206a 005c      	moveal %a2@(92),%a0                         
   4663c:	202a 0064      	movel %a2@(100),%d0                         
   46640:	9088           	subl %a0,%d0                                
   46642:	2040           	moveal %d0,%a0                              
   46644:	d1c3           	addal %d3,%a0                               
            % tty->rawInBuf.Size) > tty->highwater) &&                
   46646:	2008           	movel %a0,%d0                               
   46648:	226a 0064      	moveal %a2@(100),%a1                        
   4664c:	2c09           	movel %a1,%d6                               
   4664e:	4c46 0004      	remul %d6,%d4,%d0                           
      }                                                               
    } else {                                                          
      newTail = (tty->rawInBuf.Tail + 1) % tty->rawInBuf.Size;        
      /* if chars_in_buffer > highwater                */             
      rtems_interrupt_disable(level);                                 
      if ((((newTail - tty->rawInBuf.Head + tty->rawInBuf.Size)       
   46652:	b8aa 00c0      	cmpl %a2@(192),%d4                          
   46656:	633e           	blss 46696 <rtems_termios_enqueue_raw_characters+0x166><== ALWAYS TAKEN
            % tty->rawInBuf.Size) > tty->highwater) &&                
          !(tty->flow_ctrl & FL_IREQXOF)) {                           
   46658:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
    } else {                                                          
      newTail = (tty->rawInBuf.Tail + 1) % tty->rawInBuf.Size;        
      /* if chars_in_buffer > highwater                */             
      rtems_interrupt_disable(level);                                 
      if ((((newTail - tty->rawInBuf.Head + tty->rawInBuf.Size)       
            % tty->rawInBuf.Size) > tty->highwater) &&                
   4665c:	0800 0000      	btst #0,%d0                                 <== NOT EXECUTED
   46660:	6634           	bnes 46696 <rtems_termios_enqueue_raw_characters+0x166><== NOT EXECUTED
          !(tty->flow_ctrl & FL_IREQXOF)) {                           
        /* incoming data stream should be stopped */                  
        tty->flow_ctrl |= FL_IREQXOF;                                 
   46662:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   46666:	7801           	moveq #1,%d4                                <== NOT EXECUTED
   46668:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
   4666a:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
        if ((tty->flow_ctrl & (FL_MDXOF | FL_ISNTXOF))                
   4666e:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   46672:	0280 0000 0402 	andil #1026,%d0                             <== NOT EXECUTED
   46678:	0c80 0000 0400 	cmpil #1024,%d0                             <== NOT EXECUTED
   4667e:	6700 0112      	beqw 46792 <rtems_termios_enqueue_raw_characters+0x262><== NOT EXECUTED
            /*    call write function here                 */         
            tty->flow_ctrl |= FL_ISNTXOF;                             
            (*tty->device.write)(tty->minor,                          
                (void *)&(tty->termios.c_cc[VSTOP]), 1);              
          }                                                           
        } else if ((tty->flow_ctrl & (FL_MDRTS | FL_IRTSOFF)) == (FL_MDRTS) ) {
   46682:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   46686:	0280 0000 0104 	andil #260,%d0                              <== NOT EXECUTED
   4668c:	0c80 0000 0100 	cmpil #256,%d0                              <== NOT EXECUTED
   46692:	6700 013c      	beqw 467d0 <rtems_termios_enqueue_raw_characters+0x2a0><== NOT EXECUTED
          }                                                           
        }                                                             
      }                                                               
                                                                      
      /* reenable interrupts */                                       
      rtems_interrupt_enable(level);                                  
   46696:	46c5           	movew %d5,%sr                               
                                                                      
      if (newTail == tty->rawInBuf.Head) {                            
   46698:	202a 005c      	movel %a2@(92),%d0                          
   4669c:	b680           	cmpl %d0,%d3                                
   4669e:	6700 00d6      	beqw 46776 <rtems_termios_enqueue_raw_characters+0x246>
        dropped++;                                                    
      } else {                                                        
        tty->rawInBuf.theBuf[newTail] = c;                            
   466a2:	206a 0058      	moveal %a2@(88),%a0                         
   466a6:	1181 3800      	moveb %d1,%a0@(00000000,%d3:l)              
        tty->rawInBuf.Tail = newTail;                                 
   466aa:	2543 0060      	movel %d3,%a2@(96)                          
                                                                      
        /*                                                            
         * check to see if rcv wakeup callback was set                
         */                                                           
        if (( !tty->tty_rcvwakeup ) && ( tty->tty_rcv.sw_pfn != NULL )) {
   466ae:	4aaa 00e4      	tstl %a2@(228)                              
   466b2:	6600 ff36      	bnew 465ea <rtems_termios_enqueue_raw_characters+0xba>
   466b6:	206a 00dc      	moveal %a2@(220),%a0                        
   466ba:	4a88           	tstl %a0                                    
   466bc:	6700 ff2c      	beqw 465ea <rtems_termios_enqueue_raw_characters+0xba>
          (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg); 
   466c0:	2f2a 00e0      	movel %a2@(224),%sp@-                       <== NOT EXECUTED
          tty->tty_rcvwakeup = 1;                                     
   466c4:	7c01           	moveq #1,%d6                                <== NOT EXECUTED
                                                                      
        /*                                                            
         * check to see if rcv wakeup callback was set                
         */                                                           
        if (( !tty->tty_rcvwakeup ) && ( tty->tty_rcv.sw_pfn != NULL )) {
          (*tty->tty_rcv.sw_pfn)(&tty->termios, tty->tty_rcv.sw_arg); 
   466c6:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   466ca:	4e90           	jsr %a0@                                    <== NOT EXECUTED
          tty->tty_rcvwakeup = 1;                                     
   466cc:	508f           	addql #8,%sp                                <== NOT EXECUTED
   466ce:	2546 00e4      	movel %d6,%a2@(228)                         <== NOT EXECUTED
      tty->tty_rcvwakeup = 1;                                         
        }                                                             
    return 0;                                                         
  }                                                                   
                                                                      
  while (len--) {                                                     
   466d2:	be8b           	cmpl %a3,%d7                                <== NOT EXECUTED
   466d4:	6600 ff1a      	bnew 465f0 <rtems_termios_enqueue_raw_characters+0xc0><== NOT EXECUTED
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  tty->rawInBufDropped += dropped;                                    
  rtems_semaphore_release (tty->rawInBuf.Semaphore);                  
   466d8:	2f2a 0068      	movel %a2@(104),%sp@-                       
        }                                                             
      }                                                               
    }                                                                 
  }                                                                   
                                                                      
  tty->rawInBufDropped += dropped;                                    
   466dc:	d5aa 0078      	addl %d2,%a2@(120)                          
  rtems_semaphore_release (tty->rawInBuf.Semaphore);                  
   466e0:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return dropped;                                                     
   466e6:	588f           	addql #4,%sp                                
}                                                                     
   466e8:	2002           	movel %d2,%d0                               
   466ea:	4cee 3cfc ffcc 	moveml %fp@(-52),%d2-%d7/%a2-%a5            
   466f0:	4e5e           	unlk %fp                                    
   466f2:	4e75           	rts                                         
        flow_rcv = true;                                              
      }                                                               
      else if (c == tty->termios.c_cc[VSTART]) {                      
        /* VSTART received */                                         
        /* restart output  */                                         
        tty->flow_ctrl &= ~FL_ORCVXOF;                                
   466f4:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   466f8:	7cef           	moveq #-17,%d6                              <== NOT EXECUTED
   466fa:	c086           	andl %d6,%d0                                <== NOT EXECUTED
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   466fc:	7201           	moveq #1,%d1                                <== NOT EXECUTED
        flow_rcv = true;                                              
      }                                                               
      else if (c == tty->termios.c_cc[VSTART]) {                      
        /* VSTART received */                                         
        /* restart output  */                                         
        tty->flow_ctrl &= ~FL_ORCVXOF;                                
   466fe:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   46702:	1d41 fff7      	moveb %d1,%fp@(-9)                          <== NOT EXECUTED
        flow_rcv = true;                                              
      }                                                               
    }                                                                 
    if (flow_rcv) {                                                   
      /* restart output according to FL_ORCVXOF flag */               
      if ((tty->flow_ctrl & (FL_ORCVXOF | FL_OSTOP)) == FL_OSTOP) {   
   46706:	202a 00b8      	movel %a2@(184),%d0                         
   4670a:	7230           	moveq #48,%d1                               
   4670c:	7820           	moveq #32,%d4                               
   4670e:	c081           	andl %d1,%d0                                
   46710:	b880           	cmpl %d0,%d4                                
   46712:	6600 fed6      	bnew 465ea <rtems_termios_enqueue_raw_characters+0xba>
        /* disable interrupts    */                                   
        rtems_interrupt_disable(level);                               
   46716:	200c           	movel %a4,%d0                               <== NOT EXECUTED
   46718:	40c3           	movew %sr,%d3                               <== NOT EXECUTED
   4671a:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   4671c:	46c0           	movew %d0,%sr                               <== NOT EXECUTED
        tty->flow_ctrl &= ~FL_OSTOP;                                  
   4671e:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   46722:	7cdf           	moveq #-33,%d6                              <== NOT EXECUTED
   46724:	c086           	andl %d6,%d0                                <== NOT EXECUTED
   46726:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
        /* check for chars in output buffer (or rob_state?) */        
        if (tty->rawOutBufState != rob_idle) {                        
   4672a:	4aaa 0094      	tstl %a2@(148)                              <== NOT EXECUTED
   4672e:	6606           	bnes 46736 <rtems_termios_enqueue_raw_characters+0x206><== NOT EXECUTED
          /* if chars available, call write function... */            
          (*tty->device.write)(                                       
            tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail], 1);
        }                                                             
        /* reenable interrupts */                                     
        rtems_interrupt_enable(level);                                
   46730:	46c3           	movew %d3,%sr                               <== NOT EXECUTED
   46732:	6000 feb6      	braw 465ea <rtems_termios_enqueue_raw_characters+0xba><== NOT EXECUTED
        rtems_interrupt_disable(level);                               
        tty->flow_ctrl &= ~FL_OSTOP;                                  
        /* check for chars in output buffer (or rob_state?) */        
        if (tty->rawOutBufState != rob_idle) {                        
          /* if chars available, call write function... */            
          (*tty->device.write)(                                       
   46736:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
            tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail], 1);
   4673a:	202a 0084      	movel %a2@(132),%d0                         <== NOT EXECUTED
        rtems_interrupt_disable(level);                               
        tty->flow_ctrl &= ~FL_OSTOP;                                  
        /* check for chars in output buffer (or rob_state?) */        
        if (tty->rawOutBufState != rob_idle) {                        
          /* if chars available, call write function... */            
          (*tty->device.write)(                                       
   4673e:	d0aa 007c      	addl %a2@(124),%d0                          <== NOT EXECUTED
   46742:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   46744:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   46748:	206a 00a4      	moveal %a2@(164),%a0                        <== NOT EXECUTED
   4674c:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   4674e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
            tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail], 1);
        }                                                             
        /* reenable interrupts */                                     
        rtems_interrupt_enable(level);                                
   46752:	46c3           	movew %d3,%sr                               <== NOT EXECUTED
   46754:	6000 fe94      	braw 465ea <rtems_termios_enqueue_raw_characters+0xba><== NOT EXECUTED
    /* FIXME: implement IXANY: any character restarts output */       
    /* if incoming XON/XOFF controls outgoing stream: */              
    if (tty->flow_ctrl & FL_MDXON) {                                  
      /* if received char is V_STOP and V_START (both are equal value) */
      if (c == tty->termios.c_cc[VSTOP]) {                            
        if (c == tty->termios.c_cc[VSTART]) {                         
   46758:	4281           	clrl %d1                                    
   4675a:	122a 0049      	moveb %a2@(73),%d1                          
   4675e:	b280           	cmpl %d0,%d1                                
   46760:	671a           	beqs 4677c <rtems_termios_enqueue_raw_characters+0x24c><== NEVER TAKEN
          tty->flow_ctrl = tty->flow_ctrl ^ FL_ORCVXOF;               
        }                                                             
        else {                                                        
          /* VSTOP received (other code than VSTART) */               
          /* stop output                             */               
          tty->flow_ctrl |= FL_ORCVXOF;                               
   46762:	202a 00b8      	movel %a2@(184),%d0                         
   46766:	7810           	moveq #16,%d4                               
   46768:	8084           	orl %d4,%d0                                 
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   4676a:	7201           	moveq #1,%d1                                
          tty->flow_ctrl = tty->flow_ctrl ^ FL_ORCVXOF;               
        }                                                             
        else {                                                        
          /* VSTOP received (other code than VSTART) */               
          /* stop output                             */               
          tty->flow_ctrl |= FL_ORCVXOF;                               
   4676c:	2540 00b8      	movel %d0,%a2@(184)                         
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   46770:	1d41 fff7      	moveb %d1,%fp@(-9)                          
   46774:	6090           	bras 46706 <rtems_termios_enqueue_raw_characters+0x1d6>
                                                                      
      /* reenable interrupts */                                       
      rtems_interrupt_enable(level);                                  
                                                                      
      if (newTail == tty->rawInBuf.Head) {                            
        dropped++;                                                    
   46776:	5282           	addql #1,%d2                                <== NOT EXECUTED
   46778:	6000 fe70      	braw 465ea <rtems_termios_enqueue_raw_characters+0xba><== NOT EXECUTED
      /* if received char is V_STOP and V_START (both are equal value) */
      if (c == tty->termios.c_cc[VSTOP]) {                            
        if (c == tty->termios.c_cc[VSTART]) {                         
          /* received VSTOP and VSTART==VSTOP? */                     
          /* then toggle "stop output" status  */                     
          tty->flow_ctrl = tty->flow_ctrl ^ FL_ORCVXOF;               
   4677c:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   46780:	7210           	moveq #16,%d1                               <== NOT EXECUTED
   46782:	b380           	eorl %d1,%d0                                <== NOT EXECUTED
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   46784:	7201           	moveq #1,%d1                                <== NOT EXECUTED
      /* if received char is V_STOP and V_START (both are equal value) */
      if (c == tty->termios.c_cc[VSTOP]) {                            
        if (c == tty->termios.c_cc[VSTART]) {                         
          /* received VSTOP and VSTART==VSTOP? */                     
          /* then toggle "stop output" status  */                     
          tty->flow_ctrl = tty->flow_ctrl ^ FL_ORCVXOF;               
   46786:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
 * NOTE: This routine runs in the context of the                      
 *       device receive interrupt handler.                            
 * Returns the number of characters dropped because of overflow.      
 */                                                                   
int                                                                   
rtems_termios_enqueue_raw_characters (void *ttyp, const char *buf, int len)
   4678a:	1d41 fff7      	moveb %d1,%fp@(-9)                          <== NOT EXECUTED
   4678e:	6000 ff76      	braw 46706 <rtems_termios_enqueue_raw_characters+0x1d6><== NOT EXECUTED
          !(tty->flow_ctrl & FL_IREQXOF)) {                           
        /* incoming data stream should be stopped */                  
        tty->flow_ctrl |= FL_IREQXOF;                                 
        if ((tty->flow_ctrl & (FL_MDXOF | FL_ISNTXOF))                
            ==                (FL_MDXOF             ) ) {             
          if ((tty->flow_ctrl & FL_OSTOP) ||                          
   46792:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   46796:	0800 0005      	btst #5,%d0                                 <== NOT EXECUTED
   4679a:	6608           	bnes 467a4 <rtems_termios_enqueue_raw_characters+0x274><== NOT EXECUTED
   4679c:	4aaa 0094      	tstl %a2@(148)                              <== NOT EXECUTED
   467a0:	6600 fef4      	bnew 46696 <rtems_termios_enqueue_raw_characters+0x166><== NOT EXECUTED
              (tty->rawOutBufState == rob_idle)) {                    
            /* if tx is stopped due to XOFF or out of data */         
            /*    call write function here                 */         
            tty->flow_ctrl |= FL_ISNTXOF;                             
            (*tty->device.write)(tty->minor,                          
   467a4:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
            ==                (FL_MDXOF             ) ) {             
          if ((tty->flow_ctrl & FL_OSTOP) ||                          
              (tty->rawOutBufState == rob_idle)) {                    
            /* if tx is stopped due to XOFF or out of data */         
            /*    call write function here                 */         
            tty->flow_ctrl |= FL_ISNTXOF;                             
   467a8:	7c02           	moveq #2,%d6                                <== NOT EXECUTED
   467aa:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
            (*tty->device.write)(tty->minor,                          
   467ae:	2f0d           	movel %a5,%sp@-                             <== NOT EXECUTED
   467b0:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   467b4:	206a 00a4      	moveal %a2@(164),%a0                        <== NOT EXECUTED
            ==                (FL_MDXOF             ) ) {             
          if ((tty->flow_ctrl & FL_OSTOP) ||                          
              (tty->rawOutBufState == rob_idle)) {                    
            /* if tx is stopped due to XOFF or out of data */         
            /*    call write function here                 */         
            tty->flow_ctrl |= FL_ISNTXOF;                             
   467b8:	8086           	orl %d6,%d0                                 <== NOT EXECUTED
   467ba:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
            (*tty->device.write)(tty->minor,                          
   467be:	2d41 fff8      	movel %d1,%fp@(-8)                          <== NOT EXECUTED
   467c2:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   467c4:	222e fff8      	movel %fp@(-8),%d1                          <== NOT EXECUTED
   467c8:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   467cc:	6000 fec8      	braw 46696 <rtems_termios_enqueue_raw_characters+0x166><== NOT EXECUTED
                (void *)&(tty->termios.c_cc[VSTOP]), 1);              
          }                                                           
        } else if ((tty->flow_ctrl & (FL_MDRTS | FL_IRTSOFF)) == (FL_MDRTS) ) {
          tty->flow_ctrl |= FL_IRTSOFF;                               
   467d0:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   467d4:	7804           	moveq #4,%d4                                <== NOT EXECUTED
   467d6:	8084           	orl %d4,%d0                                 <== NOT EXECUTED
          /* deactivate RTS line */                                   
          if (tty->device.stopRemoteTx != NULL) {                     
   467d8:	206a 00ac      	moveal %a2@(172),%a0                        <== NOT EXECUTED
            tty->flow_ctrl |= FL_ISNTXOF;                             
            (*tty->device.write)(tty->minor,                          
                (void *)&(tty->termios.c_cc[VSTOP]), 1);              
          }                                                           
        } else if ((tty->flow_ctrl & (FL_MDRTS | FL_IRTSOFF)) == (FL_MDRTS) ) {
          tty->flow_ctrl |= FL_IRTSOFF;                               
   467dc:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
          /* deactivate RTS line */                                   
          if (tty->device.stopRemoteTx != NULL) {                     
   467e0:	4a88           	tstl %a0                                    <== NOT EXECUTED
   467e2:	6700 feb2      	beqw 46696 <rtems_termios_enqueue_raw_characters+0x166><== NOT EXECUTED
            tty->device.stopRemoteTx(tty->minor);                     
   467e6:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   467ea:	2d41 fff8      	movel %d1,%fp@(-8)                          <== NOT EXECUTED
   467ee:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   467f0:	222e fff8      	movel %fp@(-8),%d1                          <== NOT EXECUTED
   467f4:	588f           	addql #4,%sp                                <== NOT EXECUTED
   467f6:	6000 fe9e      	braw 46696 <rtems_termios_enqueue_raw_characters+0x166><== NOT EXECUTED
                                                                      

000454aa <rtems_termios_ioctl>: } } rtems_status_code rtems_termios_ioctl (void *arg) {
   454aa:	4e56 ffec      	linkw %fp,#-20                              
   454ae:	48d7 1c0c      	moveml %d2-%d3/%a2-%a4,%sp@                 
   454b2:	266e 0008      	moveal %fp@(8),%a3                          
  rtems_libio_ioctl_args_t *args = arg;                               
  struct rtems_termios_tty *tty = args->iop->data1;                   
   454b6:	2053           	moveal %a3@,%a0                             
   454b8:	2468 002c      	moveal %a0@(44),%a2                         
  struct ttywakeup         *wakeup = (struct ttywakeup *)args->buffer;
  rtems_status_code sc;                                               
                                                                      
  args->ioctl_return = 0;                                             
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   454bc:	42a7           	clrl %sp@-                                  
rtems_status_code                                                     
rtems_termios_ioctl (void *arg)                                       
{                                                                     
  rtems_libio_ioctl_args_t *args = arg;                               
  struct rtems_termios_tty *tty = args->iop->data1;                   
  struct ttywakeup         *wakeup = (struct ttywakeup *)args->buffer;
   454be:	286b 0008      	moveal %a3@(8),%a4                          
  rtems_status_code sc;                                               
                                                                      
  args->ioctl_return = 0;                                             
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   454c2:	42a7           	clrl %sp@-                                  
   454c4:	2f2a 0018      	movel %a2@(24),%sp@-                        
  rtems_libio_ioctl_args_t *args = arg;                               
  struct rtems_termios_tty *tty = args->iop->data1;                   
  struct ttywakeup         *wakeup = (struct ttywakeup *)args->buffer;
  rtems_status_code sc;                                               
                                                                      
  args->ioctl_return = 0;                                             
   454c8:	42ab 000c      	clrl %a3@(12)                               
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   454cc:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
  if (sc != RTEMS_SUCCESSFUL) {                                       
   454d2:	4fef 000c      	lea %sp@(12),%sp                            
  struct rtems_termios_tty *tty = args->iop->data1;                   
  struct ttywakeup         *wakeup = (struct ttywakeup *)args->buffer;
  rtems_status_code sc;                                               
                                                                      
  args->ioctl_return = 0;                                             
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   454d6:	2400           	movel %d0,%d2                               
  if (sc != RTEMS_SUCCESSFUL) {                                       
   454d8:	6650           	bnes 4552a <rtems_termios_ioctl+0x80>       <== NEVER TAKEN
    return sc;                                                        
  }                                                                   
  switch (args->command) {                                            
   454da:	202b 0004      	movel %a3@(4),%d0                           
   454de:	7205           	moveq #5,%d1                                
   454e0:	b280           	cmpl %d0,%d1                                
   454e2:	6700 00a2      	beqw 45586 <rtems_termios_ioctl+0xdc>       
   454e6:	654e           	bcss 45536 <rtems_termios_ioctl+0x8c>       
   454e8:	7602           	moveq #2,%d3                                
   454ea:	b680           	cmpl %d0,%d3                                
   454ec:	6700 00b4      	beqw 455a2 <rtems_termios_ioctl+0xf8>       
   454f0:	6500 02d8      	bcsw 457ca <rtems_termios_ioctl+0x320>      
   454f4:	123c 0001      	moveb #1,%d1                                
   454f8:	b280           	cmpl %d0,%d1                                
   454fa:	6700 022c      	beqw 45728 <rtems_termios_ioctl+0x27e>      
  default:                                                            
    if (rtems_termios_linesw[tty->t_line].l_ioctl != NULL) {          
   454fe:	202a 00cc      	movel %a2@(204),%d0                         
   45502:	eb88           	lsll #5,%d0                                 
   45504:	0680 0005 f114 	addil #389396,%d0                           
   4550a:	2240           	moveal %d0,%a1                              
   4550c:	2051           	moveal %a1@,%a0                             
   4550e:	4a88           	tstl %a0                                    
   45510:	6700 031c      	beqw 4582e <rtems_termios_ioctl+0x384>      
      sc = rtems_termios_linesw[tty->t_line].l_ioctl(tty,args);       
   45514:	2f0b           	movel %a3,%sp@-                             
   45516:	2f0a           	movel %a2,%sp@-                             
   45518:	4e90           	jsr %a0@                                    
   4551a:	508f           	addql #8,%sp                                
   4551c:	2400           	movel %d0,%d2                               
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   4551e:	2f2a 0018      	movel %a2@(24),%sp@-                        
   45522:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   45528:	588f           	addql #4,%sp                                
}                                                                     
   4552a:	2002           	movel %d2,%d0                               
   4552c:	4cee 1c0c ffec 	moveml %fp@(-20),%d2-%d3/%a2-%a4            
   45532:	4e5e           	unlk %fp                                    
   45534:	4e75           	rts                                         
  args->ioctl_return = 0;                                             
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
  switch (args->command) {                                            
   45536:	0c80 4004 667f 	cmpil #1074030207,%d0                       
   4553c:	6700 01bc      	beqw 456fa <rtems_termios_ioctl+0x250>      
   45540:	6200 021e      	bhiw 45760 <rtems_termios_ioctl+0x2b6>      
   45544:	7606           	moveq #6,%d3                                
   45546:	b680           	cmpl %d0,%d3                                
   45548:	66b4           	bnes 454fe <rtems_termios_ioctl+0x54>       
  case RTEMS_IO_TCDRAIN:                                              
    drainOutput (tty);                                                
    break;                                                            
                                                                      
  case RTEMS_IO_TCFLUSH:                                              
    switch ((intptr_t) args->buffer) {                                
   4554a:	202b 0008      	movel %a3@(8),%d0                           
   4554e:	7201           	moveq #1,%d1                                
   45550:	b280           	cmpl %d0,%d1                                
   45552:	6700 0326      	beqw 4587a <rtems_termios_ioctl+0x3d0>      
   45556:	7602           	moveq #2,%d3                                
   45558:	b680           	cmpl %d0,%d3                                
   4555a:	6700 03b2      	beqw 4590e <rtems_termios_ioctl+0x464>      
   4555e:	4a80           	tstl %d0                                    
   45560:	6600 039a      	bnew 458fc <rtems_termios_ioctl+0x452>      
static void                                                           
flushInput (struct rtems_termios_tty *tty)                            
{                                                                     
  rtems_interrupt_level level;                                        
                                                                      
  rtems_interrupt_disable (level);                                    
   45564:	303c 0700      	movew #1792,%d0                             
   45568:	40c1           	movew %sr,%d1                               
   4556a:	8081           	orl %d1,%d0                                 
   4556c:	46c0           	movew %d0,%sr                               
  tty->rawInBuf.Tail = 0;                                             
   4556e:	42aa 0060      	clrl %a2@(96)                               
  tty->rawInBuf.Head = 0;                                             
   45572:	42aa 005c      	clrl %a2@(92)                               
  rtems_interrupt_enable (level);                                     
   45576:	46c1           	movew %d1,%sr                               
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   45578:	2f2a 0018      	movel %a2@(24),%sp@-                        
   4557c:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   45582:	588f           	addql #4,%sp                                
   45584:	60a4           	bras 4552a <rtems_termios_ioctl+0x80>       
        break;                                                        
    }                                                                 
    break;                                                            
                                                                      
  case RTEMS_IO_SNDWAKEUP:                                            
    tty->tty_snd = *wakeup;                                           
   45586:	2014           	movel %a4@,%d0                              
   45588:	222c 0004      	movel %a4@(4),%d1                           
   4558c:	2540 00d4      	movel %d0,%a2@(212)                         
   45590:	2541 00d8      	movel %d1,%a2@(216)                         
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   45594:	2f2a 0018      	movel %a2@(24),%sp@-                        
   45598:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   4559e:	588f           	addql #4,%sp                                
   455a0:	6088           	bras 4552a <rtems_termios_ioctl+0x80>       
  case RTEMS_IO_GET_ATTRIBUTES:                                       
    *(struct termios *)args->buffer = tty->termios;                   
    break;                                                            
                                                                      
  case RTEMS_IO_SET_ATTRIBUTES:                                       
    tty->termios = *(struct termios *)args->buffer;                   
   455a2:	206b 0008      	moveal %a3@(8),%a0                          
   455a6:	47ea 0030      	lea %a2@(48),%a3                            
   455aa:	2698           	movel %a0@+,%a3@                            
   455ac:	2558 0034      	movel %a0@+,%a2@(52)                        
   455b0:	2558 0038      	movel %a0@+,%a2@(56)                        
   455b4:	2558 003c      	movel %a0@+,%a2@(60)                        
   455b8:	2558 0040      	movel %a0@+,%a2@(64)                        
   455bc:	2558 0044      	movel %a0@+,%a2@(68)                        
   455c0:	2558 0048      	movel %a0@+,%a2@(72)                        
   455c4:	2558 004c      	movel %a0@+,%a2@(76)                        
  /*                                                                  
   * check for flow control options to be switched off                
   */                                                                 
                                                                      
  /* check for outgoing XON/XOFF flow control switched off */         
  if (( tty->flow_ctrl & FL_MDXON) &&                                 
   455c8:	202a 00b8      	movel %a2@(184),%d0                         
  case RTEMS_IO_GET_ATTRIBUTES:                                       
    *(struct termios *)args->buffer = tty->termios;                   
    break;                                                            
                                                                      
  case RTEMS_IO_SET_ATTRIBUTES:                                       
    tty->termios = *(struct termios *)args->buffer;                   
   455cc:	2550 0050      	movel %a0@,%a2@(80)                         
  /*                                                                  
   * check for flow control options to be switched off                
   */                                                                 
                                                                      
  /* check for outgoing XON/XOFF flow control switched off */         
  if (( tty->flow_ctrl & FL_MDXON) &&                                 
   455d0:	0800 0009      	btst #9,%d0                                 
   455d4:	6746           	beqs 4561c <rtems_termios_ioctl+0x172>      
      !(tty->termios.c_iflag & IXON)) {                               
   455d6:	202a 0030      	movel %a2@(48),%d0                          
   455da:	0280 0000 0400 	andil #1024,%d0                             
  /*                                                                  
   * check for flow control options to be switched off                
   */                                                                 
                                                                      
  /* check for outgoing XON/XOFF flow control switched off */         
  if (( tty->flow_ctrl & FL_MDXON) &&                                 
   455e0:	663a           	bnes 4561c <rtems_termios_ioctl+0x172>      
      !(tty->termios.c_iflag & IXON)) {                               
    /* clear related flags in flow_ctrl */                            
    tty->flow_ctrl &= ~(FL_MDXON | FL_ORCVXOF);                       
   455e2:	202a 00b8      	movel %a2@(184),%d0                         
   455e6:	0280 ffff fdef 	andil #-529,%d0                             
   455ec:	2540 00b8      	movel %d0,%a2@(184)                         
                                                                      
    /* has output been stopped due to received XOFF? */               
    if (tty->flow_ctrl & FL_OSTOP) {                                  
   455f0:	202a 00b8      	movel %a2@(184),%d0                         
   455f4:	0800 0005      	btst #5,%d0                                 
   455f8:	6722           	beqs 4561c <rtems_termios_ioctl+0x172>      <== ALWAYS TAKEN
      /* disable interrupts    */                                     
      rtems_interrupt_disable(level);                                 
   455fa:	203c 0000 0700 	movel #1792,%d0                             <== NOT EXECUTED
   45600:	40c3           	movew %sr,%d3                               <== NOT EXECUTED
   45602:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
   45604:	46c0           	movew %d0,%sr                               <== NOT EXECUTED
      tty->flow_ctrl &= ~FL_OSTOP;                                    
   45606:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   4560a:	72df           	moveq #-33,%d1                              <== NOT EXECUTED
   4560c:	c081           	andl %d1,%d0                                <== NOT EXECUTED
   4560e:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
      /* check for chars in output buffer (or rob_state?) */          
      if (tty->rawOutBufState != rob_idle) {                          
   45612:	4aaa 0094      	tstl %a2@(148)                              <== NOT EXECUTED
   45616:	6600 02c2      	bnew 458da <rtems_termios_ioctl+0x430>      <== NOT EXECUTED
        /* if chars available, call write function... */              
        (*tty->device.write)(                                         
          tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail],1); 
      }                                                               
      /* reenable interrupts */                                       
      rtems_interrupt_enable(level);                                  
   4561a:	46c3           	movew %d3,%sr                               <== NOT EXECUTED
    }                                                                 
  }                                                                   
  /* check for incoming XON/XOFF flow control switched off */         
  if (( tty->flow_ctrl & FL_MDXOF) && !(tty->termios.c_iflag & IXOFF)) {
   4561c:	202a 00b8      	movel %a2@(184),%d0                         
   45620:	0800 000a      	btst #10,%d0                                
   45624:	6724           	beqs 4564a <rtems_termios_ioctl+0x1a0>      
   45626:	202a 0030      	movel %a2@(48),%d0                          
   4562a:	0280 0000 1000 	andil #4096,%d0                             
   45630:	6618           	bnes 4564a <rtems_termios_ioctl+0x1a0>      <== NEVER TAKEN
    /* clear related flags in flow_ctrl */                            
    tty->flow_ctrl &= ~(FL_MDXOF);                                    
   45632:	202a 00b8      	movel %a2@(184),%d0                         
    /* FIXME: what happens, if we had sent XOFF but not yet XON? */   
    tty->flow_ctrl &= ~(FL_ISNTXOF);                                  
   45636:	76fd           	moveq #-3,%d3                               
    }                                                                 
  }                                                                   
  /* check for incoming XON/XOFF flow control switched off */         
  if (( tty->flow_ctrl & FL_MDXOF) && !(tty->termios.c_iflag & IXOFF)) {
    /* clear related flags in flow_ctrl */                            
    tty->flow_ctrl &= ~(FL_MDXOF);                                    
   45638:	0880 000a      	bclr #10,%d0                                
   4563c:	2540 00b8      	movel %d0,%a2@(184)                         
    /* FIXME: what happens, if we had sent XOFF but not yet XON? */   
    tty->flow_ctrl &= ~(FL_ISNTXOF);                                  
   45640:	202a 00b8      	movel %a2@(184),%d0                         
   45644:	c083           	andl %d3,%d0                                
   45646:	2540 00b8      	movel %d0,%a2@(184)                         
  }                                                                   
                                                                      
  /* check for incoming RTS/CTS flow control switched off */          
  if (( tty->flow_ctrl & FL_MDRTS) && !(tty->termios.c_cflag & CRTSCTS)) {
   4564a:	202a 00b8      	movel %a2@(184),%d0                         
   4564e:	222a 0038      	movel %a2@(56),%d1                          
   45652:	0800 0008      	btst #8,%d0                                 
   45656:	673a           	beqs 45692 <rtems_termios_ioctl+0x1e8>      <== ALWAYS TAKEN
   45658:	4a81           	tstl %d1                                    <== NOT EXECUTED
   4565a:	6d00 0262      	bltw 458be <rtems_termios_ioctl+0x414>      <== NOT EXECUTED
    /* clear related flags in flow_ctrl */                            
    tty->flow_ctrl &= ~(FL_MDRTS);                                    
   4565e:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   45662:	0880 0008      	bclr #8,%d0                                 <== NOT EXECUTED
   45666:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
                                                                      
    /* restart remote Tx, if it was stopped */                        
    if ((tty->flow_ctrl & FL_IRTSOFF) && (tty->device.startRemoteTx != NULL)) {
   4566a:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   4566e:	44c0           	movew %d0,%ccr                              <== NOT EXECUTED
   45670:	6614           	bnes 45686 <rtems_termios_ioctl+0x1dc>      <== NOT EXECUTED
   45672:	206a 00b0      	moveal %a2@(176),%a0                        <== NOT EXECUTED
   45676:	4a88           	tstl %a0                                    <== NOT EXECUTED
   45678:	670c           	beqs 45686 <rtems_termios_ioctl+0x1dc>      <== NOT EXECUTED
      tty->device.startRemoteTx(tty->minor);                          
   4567a:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   4567e:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   45680:	222a 0038      	movel %a2@(56),%d1                          <== NOT EXECUTED
   45684:	588f           	addql #4,%sp                                <== NOT EXECUTED
    }                                                                 
    tty->flow_ctrl &= ~(FL_IRTSOFF);                                  
   45686:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   4568a:	76fb           	moveq #-5,%d3                               <== NOT EXECUTED
   4568c:	c083           	andl %d3,%d0                                <== NOT EXECUTED
   4568e:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
                                                                      
  /*                                                                  
   * check for flow control options to be switched on                 
   */                                                                 
  /* check for incoming RTS/CTS flow control switched on */           
  if (tty->termios.c_cflag & CRTSCTS) {                               
   45692:	4a81           	tstl %d1                                    
   45694:	6d00 0228      	bltw 458be <rtems_termios_ioctl+0x414>      
    tty->flow_ctrl |= FL_MDRTS;                                       
  }                                                                   
  /* check for incoming XON/XOF flow control switched on */           
  if (tty->termios.c_iflag & IXOFF) {                                 
   45698:	202a 0030      	movel %a2@(48),%d0                          
   4569c:	0800 000c      	btst #12,%d0                                
   456a0:	670c           	beqs 456ae <rtems_termios_ioctl+0x204>      
    tty->flow_ctrl |= FL_MDXOF;                                       
   456a2:	222a 00b8      	movel %a2@(184),%d1                         
   456a6:	08c1 000a      	bset #10,%d1                                
   456aa:	2541 00b8      	movel %d1,%a2@(184)                         
  }                                                                   
  /* check for outgoing XON/XOF flow control switched on */           
  if (tty->termios.c_iflag & IXON) {                                  
   456ae:	0800 000a      	btst #10,%d0                                
   456b2:	670c           	beqs 456c0 <rtems_termios_ioctl+0x216>      
    tty->flow_ctrl |= FL_MDXON;                                       
   456b4:	202a 00b8      	movel %a2@(184),%d0                         
   456b8:	08c0 0009      	bset #9,%d0                                 
   456bc:	2540 00b8      	movel %d0,%a2@(184)                         
    tty->termios = *(struct termios *)args->buffer;                   
                                                                      
    /* check for and process change in flow control options */        
    termios_set_flowctrl(tty);                                        
                                                                      
    if (tty->termios.c_lflag & ICANON) {                              
   456c0:	7002           	moveq #2,%d0                                
   456c2:	c0aa 003c      	andl %a2@(60),%d0                           
   456c6:	6700 0178      	beqw 45840 <rtems_termios_ioctl+0x396>      
          tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT;      
        else                                                          
          tty->rawInBufSemaphoreFirstTimeout = tty->vtimeTicks;       
      } else {                                                        
        if (tty->termios.c_cc[VMIN]) {                                
          tty->rawInBufSemaphoreOptions = RTEMS_WAIT;                 
   456ca:	42aa 006c      	clrl %a2@(108)                              
          tty->rawInBufSemaphoreTimeout = RTEMS_NO_TIMEOUT;           
   456ce:	42aa 0070      	clrl %a2@(112)                              
          tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT;      
   456d2:	42aa 0074      	clrl %a2@(116)                              
        } else {                                                      
          tty->rawInBufSemaphoreOptions = RTEMS_NO_WAIT;              
        }                                                             
      }                                                               
    }                                                                 
    if (tty->device.setAttributes)                                    
   456d6:	206a 00a8      	moveal %a2@(168),%a0                        
   456da:	4a88           	tstl %a0                                    
   456dc:	6700 fe40      	beqw 4551e <rtems_termios_ioctl+0x74>       
      (*tty->device.setAttributes)(tty->minor, &tty->termios);        
   456e0:	2f0b           	movel %a3,%sp@-                             
   456e2:	2f2a 0010      	movel %a2@(16),%sp@-                        
   456e6:	4e90           	jsr %a0@                                    
   456e8:	508f           	addql #8,%sp                                
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   456ea:	2f2a 0018      	movel %a2@(24),%sp@-                        
   456ee:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   456f4:	588f           	addql #4,%sp                                
   456f6:	6000 fe32      	braw 4552a <rtems_termios_ioctl+0x80>       
  case TIOCGETD:                                                      
    *(int*)(args->buffer)=tty->t_line;                                
    break;                                                            
#endif                                                                
   case FIONREAD: {                                                   
      int rawnc = tty->rawInBuf.Tail - tty->rawInBuf.Head;            
   456fa:	202a 0060      	movel %a2@(96),%d0                          <== NOT EXECUTED
   456fe:	222a 005c      	movel %a2@(92),%d1                          <== NOT EXECUTED
   45702:	9081           	subl %d1,%d0                                <== NOT EXECUTED
      if ( rawnc < 0 )                                                
   45704:	6b00 019e      	bmiw 458a4 <rtems_termios_ioctl+0x3fa>      <== NOT EXECUTED
        rawnc += tty->rawInBuf.Size;                                  
      /* Half guess that this is the right operation */               
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
   45708:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
   4570c:	92aa 0024      	subl %a2@(36),%d1                           <== NOT EXECUTED
   45710:	d280           	addl %d0,%d1                                <== NOT EXECUTED
   45712:	206b 0008      	moveal %a3@(8),%a0                          <== NOT EXECUTED
   45716:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   45718:	2f2a 0018      	movel %a2@(24),%sp@-                        <== NOT EXECUTED
   4571c:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         <== NOT EXECUTED
  return sc;                                                          
   45722:	588f           	addql #4,%sp                                <== NOT EXECUTED
   45724:	6000 fe04      	braw 4552a <rtems_termios_ioctl+0x80>       <== NOT EXECUTED
      sc = RTEMS_INVALID_NUMBER;                                      
    }                                                                 
    break;                                                            
                                                                      
  case RTEMS_IO_GET_ATTRIBUTES:                                       
    *(struct termios *)args->buffer = tty->termios;                   
   45728:	206b 0008      	moveal %a3@(8),%a0                          
   4572c:	20ea 0030      	movel %a2@(48),%a0@+                        
   45730:	20ea 0034      	movel %a2@(52),%a0@+                        
   45734:	20ea 0038      	movel %a2@(56),%a0@+                        
   45738:	20ea 003c      	movel %a2@(60),%a0@+                        
   4573c:	20ea 0040      	movel %a2@(64),%a0@+                        
   45740:	20ea 0044      	movel %a2@(68),%a0@+                        
   45744:	20ea 0048      	movel %a2@(72),%a0@+                        
   45748:	20ea 004c      	movel %a2@(76),%a0@+                        
   4574c:	20aa 0050      	movel %a2@(80),%a0@                         
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   45750:	2f2a 0018      	movel %a2@(24),%sp@-                        
   45754:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   4575a:	588f           	addql #4,%sp                                
   4575c:	6000 fdcc      	braw 4552a <rtems_termios_ioctl+0x80>       
  args->ioctl_return = 0;                                             
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
  switch (args->command) {                                            
   45760:	0c80 4004 741a 	cmpil #1074033690,%d0                       
   45766:	6700 00ae      	beqw 45816 <rtems_termios_ioctl+0x36c>      
   4576a:	0c80 8004 741b 	cmpil #-2147191781,%d0                      
   45770:	6600 fd8c      	bnew 454fe <rtems_termios_ioctl+0x54>       
#if 1 /* FIXME */                                                     
  case TIOCSETD:                                                      
    /*                                                                
     * close old line discipline                                      
     */                                                               
    if (rtems_termios_linesw[tty->t_line].l_close != NULL) {          
   45774:	202a 00cc      	movel %a2@(204),%d0                         
   45778:	eb88           	lsll #5,%d0                                 
   4577a:	0680 0005 f100 	addil #389376,%d0                           
   45780:	2240           	moveal %d0,%a1                              
   45782:	2051           	moveal %a1@,%a0                             
   45784:	4a88           	tstl %a0                                    
   45786:	6708           	beqs 45790 <rtems_termios_ioctl+0x2e6>      
      sc = rtems_termios_linesw[tty->t_line].l_close(tty);            
   45788:	2f0a           	movel %a2,%sp@-                             
   4578a:	4e90           	jsr %a0@                                    
   4578c:	588f           	addql #4,%sp                                
   4578e:	2400           	movel %d0,%d2                               
    }                                                                 
    tty->t_line=*(int*)(args->buffer);                                
   45790:	206b 0008      	moveal %a3@(8),%a0                          
   45794:	2010           	movel %a0@,%d0                              
    tty->t_sc = NULL; /* ensure that no more valid data */            
    /*                                                                
     * open new line discipline                                       
     */                                                               
    if (rtems_termios_linesw[tty->t_line].l_open != NULL) {           
   45796:	2200           	movel %d0,%d1                               
   45798:	41f9 0005 f0fc 	lea 5f0fc <rtems_termios_linesw>,%a0        
   4579e:	eb89           	lsll #5,%d1                                 
     * close old line discipline                                      
     */                                                               
    if (rtems_termios_linesw[tty->t_line].l_close != NULL) {          
      sc = rtems_termios_linesw[tty->t_line].l_close(tty);            
    }                                                                 
    tty->t_line=*(int*)(args->buffer);                                
   457a0:	2540 00cc      	movel %d0,%a2@(204)                         
    tty->t_sc = NULL; /* ensure that no more valid data */            
    /*                                                                
     * open new line discipline                                       
     */                                                               
    if (rtems_termios_linesw[tty->t_line].l_open != NULL) {           
   457a4:	2070 1800      	moveal %a0@(00000000,%d1:l),%a0             
     */                                                               
    if (rtems_termios_linesw[tty->t_line].l_close != NULL) {          
      sc = rtems_termios_linesw[tty->t_line].l_close(tty);            
    }                                                                 
    tty->t_line=*(int*)(args->buffer);                                
    tty->t_sc = NULL; /* ensure that no more valid data */            
   457a8:	42aa 00d0      	clrl %a2@(208)                              
    /*                                                                
     * open new line discipline                                       
     */                                                               
    if (rtems_termios_linesw[tty->t_line].l_open != NULL) {           
   457ac:	4a88           	tstl %a0                                    
   457ae:	6700 fd6e      	beqw 4551e <rtems_termios_ioctl+0x74>       
      sc = rtems_termios_linesw[tty->t_line].l_open(tty);             
   457b2:	2f0a           	movel %a2,%sp@-                             
   457b4:	4e90           	jsr %a0@                                    
   457b6:	588f           	addql #4,%sp                                
   457b8:	2400           	movel %d0,%d2                               
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   457ba:	2f2a 0018      	movel %a2@(24),%sp@-                        
   457be:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   457c4:	588f           	addql #4,%sp                                
   457c6:	6000 fd62      	braw 4552a <rtems_termios_ioctl+0x80>       
  args->ioctl_return = 0;                                             
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
  if (sc != RTEMS_SUCCESSFUL) {                                       
    return sc;                                                        
  }                                                                   
  switch (args->command) {                                            
   457ca:	7603           	moveq #3,%d3                                
   457cc:	b680           	cmpl %d0,%d3                                
   457ce:	6726           	beqs 457f6 <rtems_termios_ioctl+0x34c>      
   457d0:	7204           	moveq #4,%d1                                
   457d2:	b280           	cmpl %d0,%d1                                
   457d4:	6600 fd28      	bnew 454fe <rtems_termios_ioctl+0x54>       
  case RTEMS_IO_SNDWAKEUP:                                            
    tty->tty_snd = *wakeup;                                           
    break;                                                            
                                                                      
  case RTEMS_IO_RCVWAKEUP:                                            
    tty->tty_rcv = *wakeup;                                           
   457d8:	2014           	movel %a4@,%d0                              
   457da:	222c 0004      	movel %a4@(4),%d1                           
   457de:	2540 00dc      	movel %d0,%a2@(220)                         
   457e2:	2541 00e0      	movel %d1,%a2@(224)                         
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   457e6:	2f2a 0018      	movel %a2@(24),%sp@-                        
   457ea:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   457f0:	588f           	addql #4,%sp                                
   457f2:	6000 fd36      	braw 4552a <rtems_termios_ioctl+0x80>       
drainOutput (struct rtems_termios_tty *tty)                           
{                                                                     
  rtems_interrupt_level level;                                        
  rtems_status_code sc;                                               
                                                                      
  if (tty->device.outputUsesInterrupts != TERMIOS_POLLED) {           
   457f6:	4aaa 00b4      	tstl %a2@(180)                              
   457fa:	6700 fd22      	beqw 4551e <rtems_termios_ioctl+0x74>       
   457fe:	2f0a           	movel %a2,%sp@-                             
   45800:	4eba f608      	jsr %pc@(44e0a <drainOutput.part.0>)        
   45804:	588f           	addql #4,%sp                                
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   45806:	2f2a 0018      	movel %a2@(24),%sp@-                        
   4580a:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   45810:	588f           	addql #4,%sp                                
   45812:	6000 fd16      	braw 4552a <rtems_termios_ioctl+0x80>       
    if (rtems_termios_linesw[tty->t_line].l_open != NULL) {           
      sc = rtems_termios_linesw[tty->t_line].l_open(tty);             
    }                                                                 
    break;                                                            
  case TIOCGETD:                                                      
    *(int*)(args->buffer)=tty->t_line;                                
   45816:	206b 0008      	moveal %a3@(8),%a0                          
   4581a:	20aa 00cc      	movel %a2@(204),%a0@                        
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   4581e:	2f2a 0018      	movel %a2@(24),%sp@-                        
   45822:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   45828:	588f           	addql #4,%sp                                
   4582a:	6000 fcfe      	braw 4552a <rtems_termios_ioctl+0x80>       
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   4582e:	2f2a 0018      	movel %a2@(24),%sp@-                        
  default:                                                            
    if (rtems_termios_linesw[tty->t_line].l_ioctl != NULL) {          
      sc = rtems_termios_linesw[tty->t_line].l_ioctl(tty,args);       
    }                                                                 
    else {                                                            
      sc = RTEMS_INVALID_NUMBER;                                      
   45832:	740a           	moveq #10,%d2                               
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   45834:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   4583a:	588f           	addql #4,%sp                                
   4583c:	6000 fcec      	braw 4552a <rtems_termios_ioctl+0x80>       
    if (tty->termios.c_lflag & ICANON) {                              
      tty->rawInBufSemaphoreOptions = RTEMS_WAIT;                     
      tty->rawInBufSemaphoreTimeout = RTEMS_NO_TIMEOUT;               
      tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT;          
    } else {                                                          
      tty->vtimeTicks = tty->termios.c_cc[VTIME] *                    
   45840:	4283           	clrl %d3                                    
   45842:	162a 0046      	moveb %a2@(70),%d3                          
                    rtems_clock_get_ticks_per_second() / 10;          
   45846:	4eb9 0004 6d30 	jsr 46d30 <rtems_clock_get_ticks_per_second>
    if (tty->termios.c_lflag & ICANON) {                              
      tty->rawInBufSemaphoreOptions = RTEMS_WAIT;                     
      tty->rawInBufSemaphoreTimeout = RTEMS_NO_TIMEOUT;               
      tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT;          
    } else {                                                          
      tty->vtimeTicks = tty->termios.c_cc[VTIME] *                    
   4584c:	4c03 0800      	mulsl %d3,%d0                               
                    rtems_clock_get_ticks_per_second() / 10;          
   45850:	760a           	moveq #10,%d3                               
   45852:	4c43 0000      	remul %d3,%d0,%d0                           
    if (tty->termios.c_lflag & ICANON) {                              
      tty->rawInBufSemaphoreOptions = RTEMS_WAIT;                     
      tty->rawInBufSemaphoreTimeout = RTEMS_NO_TIMEOUT;               
      tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT;          
    } else {                                                          
      tty->vtimeTicks = tty->termios.c_cc[VTIME] *                    
   45856:	2540 0054      	movel %d0,%a2@(84)                          
                    rtems_clock_get_ticks_per_second() / 10;          
      if (tty->termios.c_cc[VTIME]) {                                 
   4585a:	4a2a 0046      	tstb %a2@(70)                               
   4585e:	6700 00e2      	beqw 45942 <rtems_termios_ioctl+0x498>      
        tty->rawInBufSemaphoreOptions = RTEMS_WAIT;                   
   45862:	42aa 006c      	clrl %a2@(108)                              
        tty->rawInBufSemaphoreTimeout = tty->vtimeTicks;              
   45866:	2540 0070      	movel %d0,%a2@(112)                         
        if (tty->termios.c_cc[VMIN])                                  
   4586a:	4a2a 0047      	tstb %a2@(71)                               
   4586e:	6600 fe62      	bnew 456d2 <rtems_termios_ioctl+0x228>      
          tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT;      
        else                                                          
          tty->rawInBufSemaphoreFirstTimeout = tty->vtimeTicks;       
   45872:	2540 0074      	movel %d0,%a2@(116)                         
   45876:	6000 fe5e      	braw 456d6 <rtems_termios_ioctl+0x22c>      
static void                                                           
flushOutput (struct rtems_termios_tty *tty)                           
{                                                                     
  rtems_interrupt_level level;                                        
                                                                      
  rtems_interrupt_disable (level);                                    
   4587a:	203c 0000 0700 	movel #1792,%d0                             
   45880:	40c1           	movew %sr,%d1                               
   45882:	8081           	orl %d1,%d0                                 
   45884:	46c0           	movew %d0,%sr                               
  tty->rawOutBuf.Tail = 0;                                            
   45886:	42aa 0084      	clrl %a2@(132)                              
  tty->rawOutBuf.Head = 0;                                            
  tty->rawOutBufState = rob_idle;                                     
   4588a:	42aa 0094      	clrl %a2@(148)                              
{                                                                     
  rtems_interrupt_level level;                                        
                                                                      
  rtems_interrupt_disable (level);                                    
  tty->rawOutBuf.Tail = 0;                                            
  tty->rawOutBuf.Head = 0;                                            
   4588e:	42aa 0080      	clrl %a2@(128)                              
  tty->rawOutBufState = rob_idle;                                     
  rtems_interrupt_enable (level);                                     
   45892:	46c1           	movew %d1,%sr                               
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   45894:	2f2a 0018      	movel %a2@(24),%sp@-                        
   45898:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   4589e:	588f           	addql #4,%sp                                
   458a0:	6000 fc88      	braw 4552a <rtems_termios_ioctl+0x80>       
    break;                                                            
#endif                                                                
   case FIONREAD: {                                                   
      int rawnc = tty->rawInBuf.Tail - tty->rawInBuf.Head;            
      if ( rawnc < 0 )                                                
        rawnc += tty->rawInBuf.Size;                                  
   458a4:	222a 0064      	movel %a2@(100),%d1                         <== NOT EXECUTED
   458a8:	d081           	addl %d1,%d0                                <== NOT EXECUTED
      /* Half guess that this is the right operation */               
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
   458aa:	222a 0020      	movel %a2@(32),%d1                          <== NOT EXECUTED
   458ae:	92aa 0024      	subl %a2@(36),%d1                           <== NOT EXECUTED
   458b2:	d280           	addl %d0,%d1                                <== NOT EXECUTED
   458b4:	206b 0008      	moveal %a3@(8),%a0                          <== NOT EXECUTED
   458b8:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
   458ba:	6000 fe5c      	braw 45718 <rtems_termios_ioctl+0x26e>      <== NOT EXECUTED
  /*                                                                  
   * check for flow control options to be switched on                 
   */                                                                 
  /* check for incoming RTS/CTS flow control switched on */           
  if (tty->termios.c_cflag & CRTSCTS) {                               
    tty->flow_ctrl |= FL_MDRTS;                                       
   458be:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   458c2:	08c0 0008      	bset #8,%d0                                 <== NOT EXECUTED
   458c6:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
  }                                                                   
  /* check for incoming XON/XOF flow control switched on */           
  if (tty->termios.c_iflag & IXOFF) {                                 
   458ca:	202a 0030      	movel %a2@(48),%d0                          <== NOT EXECUTED
   458ce:	0800 000c      	btst #12,%d0                                <== NOT EXECUTED
   458d2:	6700 fdda      	beqw 456ae <rtems_termios_ioctl+0x204>      <== NOT EXECUTED
   458d6:	6000 fdca      	braw 456a2 <rtems_termios_ioctl+0x1f8>      <== NOT EXECUTED
      tty->flow_ctrl &= ~FL_OSTOP;                                    
      /* check for chars in output buffer (or rob_state?) */          
      if (tty->rawOutBufState != rob_idle) {                          
        /* if chars available, call write function... */              
        (*tty->device.write)(                                         
          tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail],1); 
   458da:	202a 0084      	movel %a2@(132),%d0                         <== NOT EXECUTED
      rtems_interrupt_disable(level);                                 
      tty->flow_ctrl &= ~FL_OSTOP;                                    
      /* check for chars in output buffer (or rob_state?) */          
      if (tty->rawOutBufState != rob_idle) {                          
        /* if chars available, call write function... */              
        (*tty->device.write)(                                         
   458de:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   458e2:	d0aa 007c      	addl %a2@(124),%d0                          <== NOT EXECUTED
   458e6:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   458e8:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   458ec:	206a 00a4      	moveal %a2@(164),%a0                        <== NOT EXECUTED
   458f0:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   458f2:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
          tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail],1); 
      }                                                               
      /* reenable interrupts */                                       
      rtems_interrupt_enable(level);                                  
   458f6:	46c3           	movew %d3,%sr                               <== NOT EXECUTED
   458f8:	6000 fd22      	braw 4561c <rtems_termios_ioctl+0x172>      <== NOT EXECUTED
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   458fc:	2f2a 0018      	movel %a2@(24),%sp@-                        
      case TCIOFLUSH:                                                 
        flushOutput (tty);                                            
        flushInput (tty);                                             
        break;                                                        
      default:                                                        
        sc = RTEMS_INVALID_NAME;                                      
   45900:	7403           	moveq #3,%d2                                
      *(int *)args->buffer = tty->ccount - tty->cindex + rawnc;       
    }                                                                 
    break;                                                            
  }                                                                   
                                                                      
  rtems_semaphore_release (tty->osem);                                
   45902:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   45908:	588f           	addql #4,%sp                                
   4590a:	6000 fc1e      	braw 4552a <rtems_termios_ioctl+0x80>       
static void                                                           
flushOutput (struct rtems_termios_tty *tty)                           
{                                                                     
  rtems_interrupt_level level;                                        
                                                                      
  rtems_interrupt_disable (level);                                    
   4590e:	203c 0000 0700 	movel #1792,%d0                             
   45914:	40c1           	movew %sr,%d1                               
   45916:	8081           	orl %d1,%d0                                 
   45918:	46c0           	movew %d0,%sr                               
  tty->rawOutBuf.Tail = 0;                                            
   4591a:	42aa 0084      	clrl %a2@(132)                              
  tty->rawOutBuf.Head = 0;                                            
   4591e:	42aa 0080      	clrl %a2@(128)                              
  tty->rawOutBufState = rob_idle;                                     
   45922:	42aa 0094      	clrl %a2@(148)                              
  rtems_interrupt_enable (level);                                     
   45926:	46c1           	movew %d1,%sr                               
static void                                                           
flushInput (struct rtems_termios_tty *tty)                            
{                                                                     
  rtems_interrupt_level level;                                        
                                                                      
  rtems_interrupt_disable (level);                                    
   45928:	203c 0000 0700 	movel #1792,%d0                             
   4592e:	40c1           	movew %sr,%d1                               
   45930:	8081           	orl %d1,%d0                                 
   45932:	46c0           	movew %d0,%sr                               
  tty->rawInBuf.Tail = 0;                                             
   45934:	42aa 0060      	clrl %a2@(96)                               
  tty->rawInBuf.Head = 0;                                             
   45938:	42aa 005c      	clrl %a2@(92)                               
  rtems_interrupt_enable (level);                                     
   4593c:	46c1           	movew %d1,%sr                               
   4593e:	6000 fc38      	braw 45578 <rtems_termios_ioctl+0xce>       
        if (tty->termios.c_cc[VMIN])                                  
          tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT;      
        else                                                          
          tty->rawInBufSemaphoreFirstTimeout = tty->vtimeTicks;       
      } else {                                                        
        if (tty->termios.c_cc[VMIN]) {                                
   45942:	4a2a 0047      	tstb %a2@(71)                               
   45946:	6600 fd82      	bnew 456ca <rtems_termios_ioctl+0x220>      
          tty->rawInBufSemaphoreOptions = RTEMS_WAIT;                 
          tty->rawInBufSemaphoreTimeout = RTEMS_NO_TIMEOUT;           
          tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT;      
        } else {                                                      
          tty->rawInBufSemaphoreOptions = RTEMS_NO_WAIT;              
   4594a:	7001           	moveq #1,%d0                                
   4594c:	2540 006c      	movel %d0,%a2@(108)                         
   45950:	6000 fd84      	braw 456d6 <rtems_termios_ioctl+0x22c>      
                                                                      

00044e78 <rtems_termios_open>: rtems_device_major_number major, rtems_device_minor_number minor, void *arg, const rtems_termios_callbacks *callbacks ) {
   44e78:	4e56 ffdc      	linkw %fp,#-36                              
   44e7c:	48d7 3c7c      	moveml %d2-%d6/%a2-%a5,%sp@                 
  struct rtems_termios_tty *tty;                                      
                                                                      
  /*                                                                  
   * See if the device has already been opened                        
   */                                                                 
  sc = rtems_semaphore_obtain(                                        
   44e80:	42a7           	clrl %sp@-                                  
  rtems_device_major_number      major,                               
  rtems_device_minor_number      minor,                               
  void                          *arg,                                 
  const rtems_termios_callbacks *callbacks                            
)                                                                     
{                                                                     
   44e82:	242e 0008      	movel %fp@(8),%d2                           
  struct rtems_termios_tty *tty;                                      
                                                                      
  /*                                                                  
   * See if the device has already been opened                        
   */                                                                 
  sc = rtems_semaphore_obtain(                                        
   44e86:	42a7           	clrl %sp@-                                  
   44e88:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
  rtems_device_major_number      major,                               
  rtems_device_minor_number      minor,                               
  void                          *arg,                                 
  const rtems_termios_callbacks *callbacks                            
)                                                                     
{                                                                     
   44e8e:	262e 000c      	movel %fp@(12),%d3                          
   44e92:	266e 0010      	moveal %fp@(16),%a3                         
  struct rtems_termios_tty *tty;                                      
                                                                      
  /*                                                                  
   * See if the device has already been opened                        
   */                                                                 
  sc = rtems_semaphore_obtain(                                        
   44e96:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
    rtems_termios_ttyMutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);            
  if (sc != RTEMS_SUCCESSFUL)                                         
   44e9c:	4fef 000c      	lea %sp@(12),%sp                            
  struct rtems_termios_tty *tty;                                      
                                                                      
  /*                                                                  
   * See if the device has already been opened                        
   */                                                                 
  sc = rtems_semaphore_obtain(                                        
   44ea0:	2800           	movel %d0,%d4                               
    rtems_termios_ttyMutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);            
  if (sc != RTEMS_SUCCESSFUL)                                         
   44ea2:	6600 026e      	bnew 45112 <rtems_termios_open+0x29a>       
    return sc;                                                        
                                                                      
  for (tty = rtems_termios_ttyHead ; tty != NULL ; tty = tty->forw) { 
   44ea6:	2879 0005 f934 	moveal 5f934 <rtems_termios_ttyHead>,%a4    
   44eac:	4a8c           	tstl %a4                                    
   44eae:	6710           	beqs 44ec0 <rtems_termios_open+0x48>        
   44eb0:	244c           	moveal %a4,%a2                              
    if ((tty->major == major) && (tty->minor == minor))               
   44eb2:	b4aa 000c      	cmpl %a2@(12),%d2                           
   44eb6:	6700 0266      	beqw 4511e <rtems_termios_open+0x2a6>       
  sc = rtems_semaphore_obtain(                                        
    rtems_termios_ttyMutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);            
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  for (tty = rtems_termios_ttyHead ; tty != NULL ; tty = tty->forw) { 
   44eba:	2452           	moveal %a2@,%a2                             
   44ebc:	4a8a           	tstl %a2                                    
   44ebe:	66f2           	bnes 44eb2 <rtems_termios_open+0x3a>        <== NEVER TAKEN
    static char c = 'a';                                              
                                                                      
    /*                                                                
     * Create a new device                                            
     */                                                               
    tty = calloc (1, sizeof (struct rtems_termios_tty));              
   44ec0:	4878 00e8      	pea e8 <DBL_MANT_DIG+0xb3>                  
   44ec4:	4878 0001      	pea 1 <ADD>                                 
   44ec8:	4eb9 0004 2e28 	jsr 42e28 <calloc>                          
    if (tty == NULL) {                                                
   44ece:	508f           	addql #8,%sp                                
    static char c = 'a';                                              
                                                                      
    /*                                                                
     * Create a new device                                            
     */                                                               
    tty = calloc (1, sizeof (struct rtems_termios_tty));              
   44ed0:	2440           	moveal %d0,%a2                              
    if (tty == NULL) {                                                
   44ed2:	4a80           	tstl %d0                                    
   44ed4:	6700 0358      	beqw 4522e <rtems_termios_open+0x3b6>       
      return RTEMS_NO_MEMORY;                                         
    }                                                                 
    /*                                                                
     * allocate raw input buffer                                      
     */                                                               
    tty->rawInBuf.Size = RAW_INPUT_BUFFER_SIZE;                       
   44ed8:	41f9 0005 e29c 	lea 5e29c <rtems_termios_raw_input_size>,%a0
    tty->rawInBuf.theBuf = malloc (tty->rawInBuf.Size);               
   44ede:	4bf9 0004 33cc 	lea 433cc <malloc>,%a5                      
      return RTEMS_NO_MEMORY;                                         
    }                                                                 
    /*                                                                
     * allocate raw input buffer                                      
     */                                                               
    tty->rawInBuf.Size = RAW_INPUT_BUFFER_SIZE;                       
   44ee4:	2550 0064      	movel %a0@,%a2@(100)                        
    tty->rawInBuf.theBuf = malloc (tty->rawInBuf.Size);               
   44ee8:	202a 0064      	movel %a2@(100),%d0                         
   44eec:	2f00           	movel %d0,%sp@-                             
   44eee:	4e95           	jsr %a5@                                    
    if (tty->rawInBuf.theBuf == NULL) {                               
   44ef0:	588f           	addql #4,%sp                                
    }                                                                 
    /*                                                                
     * allocate raw input buffer                                      
     */                                                               
    tty->rawInBuf.Size = RAW_INPUT_BUFFER_SIZE;                       
    tty->rawInBuf.theBuf = malloc (tty->rawInBuf.Size);               
   44ef2:	2a00           	movel %d0,%d5                               
   44ef4:	2540 0058      	movel %d0,%a2@(88)                          
    if (tty->rawInBuf.theBuf == NULL) {                               
   44ef8:	6700 0274      	beqw 4516e <rtems_termios_open+0x2f6>       
      return RTEMS_NO_MEMORY;                                         
    }                                                                 
    /*                                                                
     * allocate raw output buffer                                     
     */                                                               
    tty->rawOutBuf.Size = RAW_OUTPUT_BUFFER_SIZE;                     
   44efc:	41f9 0005 e2a0 	lea 5e2a0 <rtems_termios_raw_output_size>,%a0
   44f02:	2550 0088      	movel %a0@,%a2@(136)                        
    tty->rawOutBuf.theBuf = malloc (tty->rawOutBuf.Size);             
   44f06:	202a 0088      	movel %a2@(136),%d0                         
   44f0a:	2f00           	movel %d0,%sp@-                             
   44f0c:	4e95           	jsr %a5@                                    
    if (tty->rawOutBuf.theBuf == NULL) {                              
   44f0e:	588f           	addql #4,%sp                                
    }                                                                 
    /*                                                                
     * allocate raw output buffer                                     
     */                                                               
    tty->rawOutBuf.Size = RAW_OUTPUT_BUFFER_SIZE;                     
    tty->rawOutBuf.theBuf = malloc (tty->rawOutBuf.Size);             
   44f10:	2c00           	movel %d0,%d6                               
   44f12:	2540 007c      	movel %d0,%a2@(124)                         
    if (tty->rawOutBuf.theBuf == NULL) {                              
   44f16:	6700 0332      	beqw 4524a <rtems_termios_open+0x3d2>       
      return RTEMS_NO_MEMORY;                                         
    }                                                                 
    /*                                                                
     * allocate cooked buffer                                         
     */                                                               
    tty->cbuf  = malloc (CBUFSIZE);                                   
   44f1a:	2f39 0005 e2a4 	movel 5e2a4 <rtems_termios_cbufsize>,%sp@-  
   44f20:	4e95           	jsr %a5@                                    
    if (tty->cbuf == NULL) {                                          
   44f22:	588f           	addql #4,%sp                                
      return RTEMS_NO_MEMORY;                                         
    }                                                                 
    /*                                                                
     * allocate cooked buffer                                         
     */                                                               
    tty->cbuf  = malloc (CBUFSIZE);                                   
   44f24:	2540 001c      	movel %d0,%a2@(28)                          
    if (tty->cbuf == NULL) {                                          
   44f28:	6700 0370      	beqw 4529a <rtems_termios_open+0x422>       
      return RTEMS_NO_MEMORY;                                         
    }                                                                 
    /*                                                                
     * Initialize wakeup callbacks                                    
     */                                                               
    tty->tty_snd.sw_pfn = NULL;                                       
   44f2c:	42aa 00d4      	clrl %a2@(212)                              
    tty->tty_snd.sw_arg = NULL;                                       
   44f30:	42aa 00d8      	clrl %a2@(216)                              
    tty->tty_rcv.sw_pfn = NULL;                                       
   44f34:	42aa 00dc      	clrl %a2@(220)                              
    tty->tty_rcv.sw_arg = NULL;                                       
   44f38:	42aa 00e0      	clrl %a2@(224)                              
    tty->tty_rcvwakeup  = 0;                                          
   44f3c:	42aa 00e4      	clrl %a2@(228)                              
                                                                      
    /*                                                                
     * link tty                                                       
     */                                                               
    tty->forw = rtems_termios_ttyHead;                                
   44f40:	248c           	movel %a4,%a2@                              
    tty->back = NULL;                                                 
   44f42:	42aa 0004      	clrl %a2@(4)                                
    if (rtems_termios_ttyHead != NULL)                                
   44f46:	4a8c           	tstl %a4                                    
   44f48:	6704           	beqs 44f4e <rtems_termios_open+0xd6>        
      rtems_termios_ttyHead->back = tty;                              
   44f4a:	294a 0004      	movel %a2,%a4@(4)                           
    rtems_termios_ttyHead = tty;                                      
   44f4e:	23ca 0005 f934 	movel %a2,5f934 <rtems_termios_ttyHead>     
    if (rtems_termios_ttyTail == NULL)                                
   44f54:	4ab9 0005 f930 	tstl 5f930 <rtems_termios_ttyTail>          
   44f5a:	6700 02c8      	beqw 45224 <rtems_termios_open+0x3ac>       
      rtems_termios_ttyTail = tty;                                    
                                                                      
    tty->minor = minor;                                               
   44f5e:	2543 0010      	movel %d3,%a2@(16)                          
    tty->major = major;                                               
                                                                      
    /*                                                                
     * Set up mutex semaphores                                        
     */                                                               
    sc = rtems_semaphore_create (                                     
   44f62:	49f9 0004 7194 	lea 47194 <rtems_semaphore_create>,%a4      
    rtems_termios_ttyHead = tty;                                      
    if (rtems_termios_ttyTail == NULL)                                
      rtems_termios_ttyTail = tty;                                    
                                                                      
    tty->minor = minor;                                               
    tty->major = major;                                               
   44f68:	2542 000c      	movel %d2,%a2@(12)                          
                                                                      
    /*                                                                
     * Set up mutex semaphores                                        
     */                                                               
    sc = rtems_semaphore_create (                                     
   44f6c:	486a 0014      	pea %a2@(20)                                
      rtems_build_name ('T', 'R', 'i', c),                            
   44f70:	1039 0005 e2a8 	moveb 5e2a8 <c.6708>,%d0                    
    tty->major = major;                                               
                                                                      
    /*                                                                
     * Set up mutex semaphores                                        
     */                                                               
    sc = rtems_semaphore_create (                                     
   44f76:	42a7           	clrl %sp@-                                  
   44f78:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
      rtems_build_name ('T', 'R', 'i', c),                            
   44f7c:	49c0           	extbl %d0                                   
    tty->major = major;                                               
                                                                      
    /*                                                                
     * Set up mutex semaphores                                        
     */                                                               
    sc = rtems_semaphore_create (                                     
   44f7e:	4878 0001      	pea 1 <ADD>                                 
   44f82:	0080 5452 6900 	oril #1414686976,%d0                        
   44f88:	2f00           	movel %d0,%sp@-                             
   44f8a:	4e94           	jsr %a4@                                    
      rtems_build_name ('T', 'R', 'i', c),                            
      1,                                                              
      RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY,
      RTEMS_NO_PRIORITY,                                              
      &tty->isem);                                                    
    if (sc != RTEMS_SUCCESSFUL)                                       
   44f8c:	4fef 0014      	lea %sp@(20),%sp                            
   44f90:	4a80           	tstl %d0                                    
   44f92:	6600 0226      	bnew 451ba <rtems_termios_open+0x342>       
      rtems_fatal_error_occurred (sc);                                
    sc = rtems_semaphore_create (                                     
   44f96:	486a 0018      	pea %a2@(24)                                
      rtems_build_name ('T', 'R', 'o', c),                            
   44f9a:	1039 0005 e2a8 	moveb 5e2a8 <c.6708>,%d0                    
      RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY,
      RTEMS_NO_PRIORITY,                                              
      &tty->isem);                                                    
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_fatal_error_occurred (sc);                                
    sc = rtems_semaphore_create (                                     
   44fa0:	42a7           	clrl %sp@-                                  
   44fa2:	4878 0054      	pea 54 <DBL_MANT_DIG+0x1f>                  
      rtems_build_name ('T', 'R', 'o', c),                            
   44fa6:	49c0           	extbl %d0                                   
      RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY,
      RTEMS_NO_PRIORITY,                                              
      &tty->isem);                                                    
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_fatal_error_occurred (sc);                                
    sc = rtems_semaphore_create (                                     
   44fa8:	4878 0001      	pea 1 <ADD>                                 
   44fac:	0080 5452 6f00 	oril #1414688512,%d0                        
   44fb2:	2f00           	movel %d0,%sp@-                             
   44fb4:	4e94           	jsr %a4@                                    
      rtems_build_name ('T', 'R', 'o', c),                            
      1,                                                              
      RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY,
      RTEMS_NO_PRIORITY,                                              
      &tty->osem);                                                    
    if (sc != RTEMS_SUCCESSFUL)                                       
   44fb6:	4fef 0014      	lea %sp@(20),%sp                            
   44fba:	4a80           	tstl %d0                                    
   44fbc:	6600 01fc      	bnew 451ba <rtems_termios_open+0x342>       
      rtems_fatal_error_occurred (sc);                                
    sc = rtems_semaphore_create (                                     
   44fc0:	486a 008c      	pea %a2@(140)                               
      rtems_build_name ('T', 'R', 'x', c),                            
   44fc4:	1039 0005 e2a8 	moveb 5e2a8 <c.6708>,%d0                    
      RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY,
      RTEMS_NO_PRIORITY,                                              
      &tty->osem);                                                    
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_fatal_error_occurred (sc);                                
    sc = rtems_semaphore_create (                                     
   44fca:	42a7           	clrl %sp@-                                  
   44fcc:	4878 0020      	pea 20 <OPER2+0xc>                          
      rtems_build_name ('T', 'R', 'x', c),                            
   44fd0:	49c0           	extbl %d0                                   
      RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY,
      RTEMS_NO_PRIORITY,                                              
      &tty->osem);                                                    
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_fatal_error_occurred (sc);                                
    sc = rtems_semaphore_create (                                     
   44fd2:	0080 5452 7800 	oril #1414690816,%d0                        
   44fd8:	42a7           	clrl %sp@-                                  
   44fda:	2f00           	movel %d0,%sp@-                             
   44fdc:	4e94           	jsr %a4@                                    
      rtems_build_name ('T', 'R', 'x', c),                            
      0,                                                              
      RTEMS_SIMPLE_BINARY_SEMAPHORE | RTEMS_FIFO,                     
      RTEMS_NO_PRIORITY,                                              
      &tty->rawOutBuf.Semaphore);                                     
    if (sc != RTEMS_SUCCESSFUL)                                       
   44fde:	4fef 0014      	lea %sp@(20),%sp                            
   44fe2:	4a80           	tstl %d0                                    
   44fe4:	6600 01d4      	bnew 451ba <rtems_termios_open+0x342>       
    tty->rawOutBufState = rob_idle;                                   
                                                                      
    /*                                                                
     * Set callbacks                                                  
     */                                                               
    tty->device = *callbacks;                                         
   44fe8:	226e 0014      	moveal %fp@(20),%a1                         
   44fec:	41ea 0098      	lea %a2@(152),%a0                           
                                                                      
    /*                                                                
     * Create I/O tasks                                               
     */                                                               
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
   44ff0:	7002           	moveq #2,%d0                                
    tty->rawOutBufState = rob_idle;                                   
                                                                      
    /*                                                                
     * Set callbacks                                                  
     */                                                               
    tty->device = *callbacks;                                         
   44ff2:	20d9           	movel %a1@+,%a0@+                           
   44ff4:	20d9           	movel %a1@+,%a0@+                           
   44ff6:	20d9           	movel %a1@+,%a0@+                           
   44ff8:	20d9           	movel %a1@+,%a0@+                           
   44ffa:	20d9           	movel %a1@+,%a0@+                           
   44ffc:	20d9           	movel %a1@+,%a0@+                           
   44ffe:	20d9           	movel %a1@+,%a0@+                           
   45000:	2091           	movel %a1@,%a0@                             
      RTEMS_SIMPLE_BINARY_SEMAPHORE | RTEMS_FIFO,                     
      RTEMS_NO_PRIORITY,                                              
      &tty->rawOutBuf.Semaphore);                                     
    if (sc != RTEMS_SUCCESSFUL)                                       
      rtems_fatal_error_occurred (sc);                                
    tty->rawOutBufState = rob_idle;                                   
   45002:	42aa 0094      	clrl %a2@(148)                              
    tty->device = *callbacks;                                         
                                                                      
    /*                                                                
     * Create I/O tasks                                               
     */                                                               
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
   45006:	b0aa 00b4      	cmpl %a2@(180),%d0                          
   4500a:	6700 01b6      	beqw 451c2 <rtems_termios_open+0x34a>       
           &tty->rxTaskId);                                           
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
                                                                      
    }                                                                 
    if ((tty->device.pollRead == NULL) ||                             
   4500e:	4aaa 00a0      	tstl %a2@(160)                              
   45012:	6700 017e      	beqw 45192 <rtems_termios_open+0x31a>       
   45016:	7202           	moveq #2,%d1                                
   45018:	b2aa 00b4      	cmpl %a2@(180),%d1                          
   4501c:	6700 0174      	beqw 45192 <rtems_termios_open+0x31a>       
    tty->termios.c_cc[VDISCARD] = '\017';                             
    tty->termios.c_cc[VWERASE] = '\027';                              
    tty->termios.c_cc[VLNEXT] = '\026';                               
                                                                      
    /* start with no flow control, clear flow control flags */        
    tty->flow_ctrl = 0;                                               
   45020:	42aa 00b8      	clrl %a2@(184)                              
    /*                                                                
     * set low/highwater mark for XON/XOFF support                    
     */                                                               
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
   45024:	222a 0064      	movel %a2@(100),%d1                         
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
   45028:	206a 0064      	moveal %a2@(100),%a0                        
    /* start with no flow control, clear flow control flags */        
    tty->flow_ctrl = 0;                                               
    /*                                                                
     * set low/highwater mark for XON/XOFF support                    
     */                                                               
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
   4502c:	e289           	lsrl #1,%d1                                 
    tty->termios.c_oflag = OPOST | ONLCR | XTABS;                     
    tty->termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL;              
    tty->termios.c_lflag =                                            
       ISIG | ICANON | IEXTEN | ECHO | ECHOK | ECHOE | ECHOCTL;       
                                                                      
    tty->termios.c_cc[VINTR] = '\003';                                
   4502e:	7c03           	moveq #3,%d6                                
    tty->flow_ctrl = 0;                                               
    /*                                                                
     * set low/highwater mark for XON/XOFF support                    
     */                                                               
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
   45030:	41f0 8a00      	lea %a0@(00000000,%a0:l:2),%a0              
    /* start with no flow control, clear flow control flags */        
    tty->flow_ctrl = 0;                                               
    /*                                                                
     * set low/highwater mark for XON/XOFF support                    
     */                                                               
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
   45034:	2541 00bc      	movel %d1,%a2@(188)                         
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
   45038:	2008           	movel %a0,%d0                               
   4503a:	e488           	lsrl #2,%d0                                 
    }                                                                 
                                                                      
    /*                                                                
     * Set default parameters                                         
     */                                                               
    tty->termios.c_iflag = BRKINT | ICRNL | IXON | IMAXBEL;           
   4503c:	307c 2502      	moveaw #9474,%a0                            
    tty->termios.c_oflag = OPOST | ONLCR | XTABS;                     
    tty->termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL;              
    tty->termios.c_lflag =                                            
       ISIG | ICANON | IEXTEN | ECHO | ECHOK | ECHOE | ECHOCTL;       
                                                                      
    tty->termios.c_cc[VINTR] = '\003';                                
   45040:	1546 0041      	moveb %d6,%a2@(65)                          
    tty->termios.c_cc[VQUIT] = '\034';                                
   45044:	7c1c           	moveq #28,%d6                               
    tty->flow_ctrl = 0;                                               
    /*                                                                
     * set low/highwater mark for XON/XOFF support                    
     */                                                               
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
   45046:	2540 00c0      	movel %d0,%a2@(192)                         
    tty->termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL;              
    tty->termios.c_lflag =                                            
       ISIG | ICANON | IEXTEN | ECHO | ECHOK | ECHOE | ECHOCTL;       
                                                                      
    tty->termios.c_cc[VINTR] = '\003';                                
    tty->termios.c_cc[VQUIT] = '\034';                                
   4504a:	1546 0042      	moveb %d6,%a2@(66)                          
    }                                                                 
                                                                      
    /*                                                                
     * Set default parameters                                         
     */                                                               
    tty->termios.c_iflag = BRKINT | ICRNL | IXON | IMAXBEL;           
   4504e:	2548 0030      	movel %a0,%a2@(48)                          
    tty->termios.c_lflag =                                            
       ISIG | ICANON | IEXTEN | ECHO | ECHOK | ECHOE | ECHOCTL;       
                                                                      
    tty->termios.c_cc[VINTR] = '\003';                                
    tty->termios.c_cc[VQUIT] = '\034';                                
    tty->termios.c_cc[VERASE] = '\177';                               
   45052:	7c7f           	moveq #127,%d6                              
    tty->termios.c_cc[VKILL] = '\025';                                
   45054:	7015           	moveq #21,%d0                               
    tty->termios.c_lflag =                                            
       ISIG | ICANON | IEXTEN | ECHO | ECHOK | ECHOE | ECHOCTL;       
                                                                      
    tty->termios.c_cc[VINTR] = '\003';                                
    tty->termios.c_cc[VQUIT] = '\034';                                
    tty->termios.c_cc[VERASE] = '\177';                               
   45056:	1546 0043      	moveb %d6,%a2@(67)                          
    tty->termios.c_cc[VKILL] = '\025';                                
    tty->termios.c_cc[VEOF] = '\004';                                 
   4505a:	7c04           	moveq #4,%d6                                
       ISIG | ICANON | IEXTEN | ECHO | ECHOK | ECHOE | ECHOCTL;       
                                                                      
    tty->termios.c_cc[VINTR] = '\003';                                
    tty->termios.c_cc[VQUIT] = '\034';                                
    tty->termios.c_cc[VERASE] = '\177';                               
    tty->termios.c_cc[VKILL] = '\025';                                
   4505c:	1540 0044      	moveb %d0,%a2@(68)                          
    tty->termios.c_cc[VEOF] = '\004';                                 
    tty->termios.c_cc[VEOL] = '\000';                                 
   45060:	4200           	clrb %d0                                    
                                                                      
    tty->termios.c_cc[VINTR] = '\003';                                
    tty->termios.c_cc[VQUIT] = '\034';                                
    tty->termios.c_cc[VERASE] = '\177';                               
    tty->termios.c_cc[VKILL] = '\025';                                
    tty->termios.c_cc[VEOF] = '\004';                                 
   45062:	1546 0045      	moveb %d6,%a2@(69)                          
    tty->termios.c_cc[VEOL] = '\000';                                 
    tty->termios.c_cc[VEOL2] = '\000';                                
    tty->termios.c_cc[VSTART] = '\021';                               
   45066:	7c11           	moveq #17,%d6                               
    tty->termios.c_cc[VINTR] = '\003';                                
    tty->termios.c_cc[VQUIT] = '\034';                                
    tty->termios.c_cc[VERASE] = '\177';                               
    tty->termios.c_cc[VKILL] = '\025';                                
    tty->termios.c_cc[VEOF] = '\004';                                 
    tty->termios.c_cc[VEOL] = '\000';                                 
   45068:	1540 004c      	moveb %d0,%a2@(76)                          
    tty->termios.c_cc[VEOL2] = '\000';                                
   4506c:	1540 0051      	moveb %d0,%a2@(81)                          
    tty->termios.c_cc[VSTART] = '\021';                               
    tty->termios.c_cc[VSTOP] = '\023';                                
   45070:	7013           	moveq #19,%d0                               
    tty->termios.c_cc[VERASE] = '\177';                               
    tty->termios.c_cc[VKILL] = '\025';                                
    tty->termios.c_cc[VEOF] = '\004';                                 
    tty->termios.c_cc[VEOL] = '\000';                                 
    tty->termios.c_cc[VEOL2] = '\000';                                
    tty->termios.c_cc[VSTART] = '\021';                               
   45072:	1546 0049      	moveb %d6,%a2@(73)                          
    tty->termios.c_cc[VSTOP] = '\023';                                
    tty->termios.c_cc[VSUSP] = '\032';                                
   45076:	7c1a           	moveq #26,%d6                               
    tty->termios.c_cc[VKILL] = '\025';                                
    tty->termios.c_cc[VEOF] = '\004';                                 
    tty->termios.c_cc[VEOL] = '\000';                                 
    tty->termios.c_cc[VEOL2] = '\000';                                
    tty->termios.c_cc[VSTART] = '\021';                               
    tty->termios.c_cc[VSTOP] = '\023';                                
   45078:	1540 004a      	moveb %d0,%a2@(74)                          
    tty->termios.c_cc[VSUSP] = '\032';                                
    tty->termios.c_cc[VREPRINT] = '\022';                             
   4507c:	7012           	moveq #18,%d0                               
    tty->termios.c_cc[VEOF] = '\004';                                 
    tty->termios.c_cc[VEOL] = '\000';                                 
    tty->termios.c_cc[VEOL2] = '\000';                                
    tty->termios.c_cc[VSTART] = '\021';                               
    tty->termios.c_cc[VSTOP] = '\023';                                
    tty->termios.c_cc[VSUSP] = '\032';                                
   4507e:	1546 004b      	moveb %d6,%a2@(75)                          
    tty->termios.c_cc[VREPRINT] = '\022';                             
    tty->termios.c_cc[VDISCARD] = '\017';                             
   45082:	7c0f           	moveq #15,%d6                               
    tty->termios.c_cc[VEOL] = '\000';                                 
    tty->termios.c_cc[VEOL2] = '\000';                                
    tty->termios.c_cc[VSTART] = '\021';                               
    tty->termios.c_cc[VSTOP] = '\023';                                
    tty->termios.c_cc[VSUSP] = '\032';                                
    tty->termios.c_cc[VREPRINT] = '\022';                             
   45084:	1540 004d      	moveb %d0,%a2@(77)                          
    tty->termios.c_cc[VDISCARD] = '\017';                             
    tty->termios.c_cc[VWERASE] = '\027';                              
   45088:	7017           	moveq #23,%d0                               
    tty->termios.c_cc[VEOL2] = '\000';                                
    tty->termios.c_cc[VSTART] = '\021';                               
    tty->termios.c_cc[VSTOP] = '\023';                                
    tty->termios.c_cc[VSUSP] = '\032';                                
    tty->termios.c_cc[VREPRINT] = '\022';                             
    tty->termios.c_cc[VDISCARD] = '\017';                             
   4508a:	1546 004e      	moveb %d6,%a2@(78)                          
    tty->termios.c_cc[VWERASE] = '\027';                              
    tty->termios.c_cc[VLNEXT] = '\026';                               
   4508e:	7c16           	moveq #22,%d6                               
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
    /*                                                                
     * Bump name characer                                             
     */                                                               
    if (c++ == 'z')                                                   
   45090:	1a39 0005 e2a8 	moveb 5e2a8 <c.6708>,%d5                    
    tty->termios.c_cc[VSTART] = '\021';                               
    tty->termios.c_cc[VSTOP] = '\023';                                
    tty->termios.c_cc[VSUSP] = '\032';                                
    tty->termios.c_cc[VREPRINT] = '\022';                             
    tty->termios.c_cc[VDISCARD] = '\017';                             
    tty->termios.c_cc[VWERASE] = '\027';                              
   45096:	1540 004f      	moveb %d0,%a2@(79)                          
                                                                      
    /*                                                                
     * Set default parameters                                         
     */                                                               
    tty->termios.c_iflag = BRKINT | ICRNL | IXON | IMAXBEL;           
    tty->termios.c_oflag = OPOST | ONLCR | XTABS;                     
   4509a:	203c 0000 1805 	movel #6149,%d0                             
    tty->termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL;              
    tty->termios.c_lflag =                                            
   450a0:	207c 0000 823b 	moveal #33339,%a0                           
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
    /*                                                                
     * Bump name characer                                             
     */                                                               
    if (c++ == 'z')                                                   
   450a6:	1205           	moveb %d5,%d1                               
    tty->termios.c_cc[VSTOP] = '\023';                                
    tty->termios.c_cc[VSUSP] = '\032';                                
    tty->termios.c_cc[VREPRINT] = '\022';                             
    tty->termios.c_cc[VDISCARD] = '\017';                             
    tty->termios.c_cc[VWERASE] = '\027';                              
    tty->termios.c_cc[VLNEXT] = '\026';                               
   450a8:	1546 0050      	moveb %d6,%a2@(80)                          
                                                                      
    /*                                                                
     * Set default parameters                                         
     */                                                               
    tty->termios.c_iflag = BRKINT | ICRNL | IXON | IMAXBEL;           
    tty->termios.c_oflag = OPOST | ONLCR | XTABS;                     
   450ac:	2540 0034      	movel %d0,%a2@(52)                          
    tty->termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL;              
   450b0:	2c3c 0000 08bd 	movel #2237,%d6                             
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
    /*                                                                
     * Bump name characer                                             
     */                                                               
    if (c++ == 'z')                                                   
   450b6:	49c1           	extbl %d1                                   
   450b8:	303c 007a      	movew #122,%d0                              
    /*                                                                
     * Set default parameters                                         
     */                                                               
    tty->termios.c_iflag = BRKINT | ICRNL | IXON | IMAXBEL;           
    tty->termios.c_oflag = OPOST | ONLCR | XTABS;                     
    tty->termios.c_cflag = B9600 | CS8 | CREAD | CLOCAL;              
   450bc:	2546 0038      	movel %d6,%a2@(56)                          
    tty->termios.c_lflag =                                            
   450c0:	2548 003c      	movel %a0,%a2@(60)                          
    tty->lowwater  = tty->rawInBuf.Size * 1/2;                        
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
    /*                                                                
     * Bump name characer                                             
     */                                                               
    if (c++ == 'z')                                                   
   450c4:	b081           	cmpl %d1,%d0                                
   450c6:	6700 01ae      	beqw 45276 <rtems_termios_open+0x3fe>       
   450ca:	5285           	addql #1,%d5                                
   450cc:	13c5 0005 e2a8 	moveb %d5,5e2a8 <c.6708>                    
      c = 'a';                                                        
                                                                      
  }                                                                   
  args->iop->data1 = tty;                                             
  if (!tty->refcount++) {                                             
   450d2:	202a 0008      	movel %a2@(8),%d0                           
   450d6:	2c00           	movel %d0,%d6                               
   450d8:	5286           	addql #1,%d6                                
     */                                                               
    if (c++ == 'z')                                                   
      c = 'a';                                                        
                                                                      
  }                                                                   
  args->iop->data1 = tty;                                             
   450da:	2053           	moveal %a3@,%a0                             
   450dc:	214a 002c      	movel %a2,%a0@(44)                          
  if (!tty->refcount++) {                                             
   450e0:	2546 0008      	movel %d6,%a2@(8)                           
   450e4:	4a80           	tstl %d0                                    
   450e6:	661c           	bnes 45104 <rtems_termios_open+0x28c>       
    if (tty->device.firstOpen)                                        
   450e8:	206a 0098      	moveal %a2@(152),%a0                        
   450ec:	4a88           	tstl %a0                                    
   450ee:	670c           	beqs 450fc <rtems_termios_open+0x284>       
      (*tty->device.firstOpen)(major, minor, arg);                    
   450f0:	2f0b           	movel %a3,%sp@-                             
   450f2:	2f03           	movel %d3,%sp@-                             
   450f4:	2f02           	movel %d2,%sp@-                             
   450f6:	4e90           	jsr %a0@                                    
   450f8:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
    /*                                                                
     * start I/O tasks, if needed                                     
     */                                                               
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
   450fc:	7002           	moveq #2,%d0                                
   450fe:	b0aa 00b4      	cmpl %a2@(180),%d0                          
   45102:	672c           	beqs 45130 <rtems_termios_open+0x2b8>       
        tty->txTaskId, rtems_termios_txdaemon, (rtems_task_argument)tty);
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
    }                                                                 
  }                                                                   
  rtems_semaphore_release (rtems_termios_ttyMutex);                   
   45104:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
   4510a:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return RTEMS_SUCCESSFUL;                                            
   45110:	588f           	addql #4,%sp                                
}                                                                     
   45112:	2004           	movel %d4,%d0                               
   45114:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   4511a:	4e5e           	unlk %fp                                    
   4511c:	4e75           	rts                                         
    rtems_termios_ttyMutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);            
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  for (tty = rtems_termios_ttyHead ; tty != NULL ; tty = tty->forw) { 
    if ((tty->major == major) && (tty->minor == minor))               
   4511e:	b6aa 0010      	cmpl %a2@(16),%d3                           
   45122:	67ae           	beqs 450d2 <rtems_termios_open+0x25a>       <== ALWAYS TAKEN
  sc = rtems_semaphore_obtain(                                        
    rtems_termios_ttyMutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);            
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
                                                                      
  for (tty = rtems_termios_ttyHead ; tty != NULL ; tty = tty->forw) { 
   45124:	2452           	moveal %a2@,%a2                             <== NOT EXECUTED
   45126:	4a8a           	tstl %a2                                    <== NOT EXECUTED
   45128:	6600 fd88      	bnew 44eb2 <rtems_termios_open+0x3a>        <== NOT EXECUTED
   4512c:	6000 fd92      	braw 44ec0 <rtems_termios_open+0x48>        <== NOT EXECUTED
                                                                      
    /*                                                                
     * start I/O tasks, if needed                                     
     */                                                               
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
      sc = rtems_task_start(                                          
   45130:	2f0a           	movel %a2,%sp@-                             
   45132:	487a 16c6      	pea %pc@(467fa <rtems_termios_rxdaemon>)    
   45136:	47f9 0004 7990 	lea 47990 <rtems_task_start>,%a3            
   4513c:	2f2a 00c4      	movel %a2@(196),%sp@-                       
   45140:	4e93           	jsr %a3@                                    
        tty->rxTaskId, rtems_termios_rxdaemon, (rtems_task_argument)tty);
      if (sc != RTEMS_SUCCESSFUL)                                     
   45142:	4fef 000c      	lea %sp@(12),%sp                            
   45146:	4a80           	tstl %d0                                    
   45148:	6670           	bnes 451ba <rtems_termios_open+0x342>       <== NEVER TAKEN
        rtems_fatal_error_occurred (sc);                              
                                                                      
      sc = rtems_task_start(                                          
   4514a:	2f0a           	movel %a2,%sp@-                             
   4514c:	487a fc3c      	pea %pc@(44d8a <rtems_termios_txdaemon>)    
   45150:	2f2a 00c8      	movel %a2@(200),%sp@-                       
   45154:	4e93           	jsr %a3@                                    
        tty->txTaskId, rtems_termios_txdaemon, (rtems_task_argument)tty);
      if (sc != RTEMS_SUCCESSFUL)                                     
   45156:	4fef 000c      	lea %sp@(12),%sp                            
   4515a:	4a80           	tstl %d0                                    
   4515c:	665c           	bnes 451ba <rtems_termios_open+0x342>       <== NEVER TAKEN
        rtems_fatal_error_occurred (sc);                              
    }                                                                 
  }                                                                   
  rtems_semaphore_release (rtems_termios_ttyMutex);                   
   4515e:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
   45164:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return RTEMS_SUCCESSFUL;                                            
   4516a:	588f           	addql #4,%sp                                
   4516c:	60a4           	bras 45112 <rtems_termios_open+0x29a>       
     * allocate raw input buffer                                      
     */                                                               
    tty->rawInBuf.Size = RAW_INPUT_BUFFER_SIZE;                       
    tty->rawInBuf.theBuf = malloc (tty->rawInBuf.Size);               
    if (tty->rawInBuf.theBuf == NULL) {                               
            free(tty);                                                
   4516e:	2f0a           	movel %a2,%sp@-                             
      rtems_semaphore_release (rtems_termios_ttyMutex);               
      return RTEMS_NO_MEMORY;                                         
   45170:	781a           	moveq #26,%d4                               
     * allocate raw input buffer                                      
     */                                                               
    tty->rawInBuf.Size = RAW_INPUT_BUFFER_SIZE;                       
    tty->rawInBuf.theBuf = malloc (tty->rawInBuf.Size);               
    if (tty->rawInBuf.theBuf == NULL) {                               
            free(tty);                                                
   45172:	4eb9 0004 30cc 	jsr 430cc <free>                            
      rtems_semaphore_release (rtems_termios_ttyMutex);               
   45178:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
   4517e:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
      return RTEMS_NO_MEMORY;                                         
   45184:	508f           	addql #8,%sp                                
        rtems_fatal_error_occurred (sc);                              
    }                                                                 
  }                                                                   
  rtems_semaphore_release (rtems_termios_ttyMutex);                   
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   45186:	2004           	movel %d4,%d0                               
   45188:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   4518e:	4e5e           	unlk %fp                                    
   45190:	4e75           	rts                                         
        rtems_fatal_error_occurred (sc);                              
                                                                      
    }                                                                 
    if ((tty->device.pollRead == NULL) ||                             
        (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN)){   
      sc = rtems_semaphore_create (                                   
   45192:	486a 0068      	pea %a2@(104)                               
        rtems_build_name ('T', 'R', 'r', c),                          
   45196:	1039 0005 e2a8 	moveb 5e2a8 <c.6708>,%d0                    
        rtems_fatal_error_occurred (sc);                              
                                                                      
    }                                                                 
    if ((tty->device.pollRead == NULL) ||                             
        (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN)){   
      sc = rtems_semaphore_create (                                   
   4519c:	42a7           	clrl %sp@-                                  
   4519e:	4878 0024      	pea 24 <OPER2+0x10>                         
        rtems_build_name ('T', 'R', 'r', c),                          
   451a2:	49c0           	extbl %d0                                   
        rtems_fatal_error_occurred (sc);                              
                                                                      
    }                                                                 
    if ((tty->device.pollRead == NULL) ||                             
        (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN)){   
      sc = rtems_semaphore_create (                                   
   451a4:	0080 5452 7200 	oril #1414689280,%d0                        
   451aa:	42a7           	clrl %sp@-                                  
   451ac:	2f00           	movel %d0,%sp@-                             
   451ae:	4e94           	jsr %a4@                                    
        rtems_build_name ('T', 'R', 'r', c),                          
        0,                                                            
        RTEMS_SIMPLE_BINARY_SEMAPHORE | RTEMS_PRIORITY,               
        RTEMS_NO_PRIORITY,                                            
        &tty->rawInBuf.Semaphore);                                    
      if (sc != RTEMS_SUCCESSFUL)                                     
   451b0:	4fef 0014      	lea %sp@(20),%sp                            
   451b4:	4a80           	tstl %d0                                    
   451b6:	6700 fe68      	beqw 45020 <rtems_termios_open+0x1a8>       
        rtems_fatal_error_occurred (sc);                              
                                                                      
      sc = rtems_task_start(                                          
        tty->txTaskId, rtems_termios_txdaemon, (rtems_task_argument)tty);
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
   451ba:	2f00           	movel %d0,%sp@-                             
   451bc:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      
                                                                      
    /*                                                                
     * Create I/O tasks                                               
     */                                                               
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
      sc = rtems_task_create (                                        
   451c2:	486a 00c8      	pea %a2@(200)                               
   451c6:	4bf9 0004 76c4 	lea 476c4 <rtems_task_create>,%a5           
                                   rtems_build_name ('T', 'x', 'T', c),
   451cc:	1039 0005 e2a8 	moveb 5e2a8 <c.6708>,%d0                    
                                                                      
    /*                                                                
     * Create I/O tasks                                               
     */                                                               
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
      sc = rtems_task_create (                                        
   451d2:	42a7           	clrl %sp@-                                  
   451d4:	4878 0500      	pea 500 <DBL_MAX_EXP+0xff>                  
                                   rtems_build_name ('T', 'x', 'T', c),
   451d8:	49c0           	extbl %d0                                   
                                                                      
    /*                                                                
     * Create I/O tasks                                               
     */                                                               
    if (tty->device.outputUsesInterrupts == TERMIOS_TASK_DRIVEN) {    
      sc = rtems_task_create (                                        
   451da:	4878 0400      	pea 400 <D_BIAS+0x2>                        
   451de:	4878 000a      	pea a <LASTO>                               
   451e2:	0080 5478 5400 	oril #1417171968,%d0                        
   451e8:	2f00           	movel %d0,%sp@-                             
   451ea:	4e95           	jsr %a5@                                    
           TERMIOS_TXTASK_STACKSIZE,                                  
           RTEMS_NO_PREEMPT | RTEMS_NO_TIMESLICE |                    
           RTEMS_NO_ASR,                                              
           RTEMS_NO_FLOATING_POINT | RTEMS_LOCAL,                     
           &tty->txTaskId);                                           
      if (sc != RTEMS_SUCCESSFUL)                                     
   451ec:	4fef 0018      	lea %sp@(24),%sp                            
   451f0:	4a80           	tstl %d0                                    
   451f2:	66c6           	bnes 451ba <rtems_termios_open+0x342>       <== NEVER TAKEN
        rtems_fatal_error_occurred (sc);                              
      sc = rtems_task_create (                                        
   451f4:	486a 00c4      	pea %a2@(196)                               
                                   rtems_build_name ('R', 'x', 'T', c),
   451f8:	1039 0005 e2a8 	moveb 5e2a8 <c.6708>,%d0                    
           RTEMS_NO_ASR,                                              
           RTEMS_NO_FLOATING_POINT | RTEMS_LOCAL,                     
           &tty->txTaskId);                                           
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
      sc = rtems_task_create (                                        
   451fe:	42a7           	clrl %sp@-                                  
   45200:	4878 0500      	pea 500 <DBL_MAX_EXP+0xff>                  
                                   rtems_build_name ('R', 'x', 'T', c),
   45204:	49c0           	extbl %d0                                   
           RTEMS_NO_ASR,                                              
           RTEMS_NO_FLOATING_POINT | RTEMS_LOCAL,                     
           &tty->txTaskId);                                           
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
      sc = rtems_task_create (                                        
   45206:	4878 0400      	pea 400 <D_BIAS+0x2>                        
   4520a:	4878 0009      	pea 9 <DIVIDE_BY_ZERO+0x1>                  
   4520e:	0080 5278 5400 	oril #1383617536,%d0                        
   45214:	2f00           	movel %d0,%sp@-                             
   45216:	4e95           	jsr %a5@                                    
           TERMIOS_RXTASK_STACKSIZE,                                  
           RTEMS_NO_PREEMPT | RTEMS_NO_TIMESLICE |                    
           RTEMS_NO_ASR,                                              
           RTEMS_NO_FLOATING_POINT | RTEMS_LOCAL,                     
           &tty->rxTaskId);                                           
      if (sc != RTEMS_SUCCESSFUL)                                     
   45218:	4fef 0018      	lea %sp@(24),%sp                            
   4521c:	4a80           	tstl %d0                                    
   4521e:	6700 fdee      	beqw 4500e <rtems_termios_open+0x196>       
   45222:	6096           	bras 451ba <rtems_termios_open+0x342>       <== NOT EXECUTED
    tty->back = NULL;                                                 
    if (rtems_termios_ttyHead != NULL)                                
      rtems_termios_ttyHead->back = tty;                              
    rtems_termios_ttyHead = tty;                                      
    if (rtems_termios_ttyTail == NULL)                                
      rtems_termios_ttyTail = tty;                                    
   45224:	23ca 0005 f930 	movel %a2,5f930 <rtems_termios_ttyTail>     
   4522a:	6000 fd32      	braw 44f5e <rtems_termios_open+0xe6>        
    /*                                                                
     * Create a new device                                            
     */                                                               
    tty = calloc (1, sizeof (struct rtems_termios_tty));              
    if (tty == NULL) {                                                
      rtems_semaphore_release (rtems_termios_ttyMutex);               
   4522e:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
      return RTEMS_NO_MEMORY;                                         
   45234:	781a           	moveq #26,%d4                               
    /*                                                                
     * Create a new device                                            
     */                                                               
    tty = calloc (1, sizeof (struct rtems_termios_tty));              
    if (tty == NULL) {                                                
      rtems_semaphore_release (rtems_termios_ttyMutex);               
   45236:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
      return RTEMS_NO_MEMORY;                                         
   4523c:	588f           	addql #4,%sp                                
        rtems_fatal_error_occurred (sc);                              
    }                                                                 
  }                                                                   
  rtems_semaphore_release (rtems_termios_ttyMutex);                   
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4523e:	2004           	movel %d4,%d0                               
   45240:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   45246:	4e5e           	unlk %fp                                    
   45248:	4e75           	rts                                         
     * allocate raw output buffer                                     
     */                                                               
    tty->rawOutBuf.Size = RAW_OUTPUT_BUFFER_SIZE;                     
    tty->rawOutBuf.theBuf = malloc (tty->rawOutBuf.Size);             
    if (tty->rawOutBuf.theBuf == NULL) {                              
            free((void *)(tty->rawInBuf.theBuf));                     
   4524a:	2f05           	movel %d5,%sp@-                             
   4524c:	47f9 0004 30cc 	lea 430cc <free>,%a3                        
            free(tty);                                                
      rtems_semaphore_release (rtems_termios_ttyMutex);               
      return RTEMS_NO_MEMORY;                                         
   45252:	781a           	moveq #26,%d4                               
     * allocate raw output buffer                                     
     */                                                               
    tty->rawOutBuf.Size = RAW_OUTPUT_BUFFER_SIZE;                     
    tty->rawOutBuf.theBuf = malloc (tty->rawOutBuf.Size);             
    if (tty->rawOutBuf.theBuf == NULL) {                              
            free((void *)(tty->rawInBuf.theBuf));                     
   45254:	4e93           	jsr %a3@                                    
            free(tty);                                                
   45256:	2f0a           	movel %a2,%sp@-                             
   45258:	4e93           	jsr %a3@                                    
      rtems_semaphore_release (rtems_termios_ttyMutex);               
   4525a:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
   45260:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
      return RTEMS_NO_MEMORY;                                         
   45266:	4fef 000c      	lea %sp@(12),%sp                            
        rtems_fatal_error_occurred (sc);                              
    }                                                                 
  }                                                                   
  rtems_semaphore_release (rtems_termios_ttyMutex);                   
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   4526a:	2004           	movel %d4,%d0                               
   4526c:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   45272:	4e5e           	unlk %fp                                    
   45274:	4e75           	rts                                         
    if (c++ == 'z')                                                   
      c = 'a';                                                        
                                                                      
  }                                                                   
  args->iop->data1 = tty;                                             
  if (!tty->refcount++) {                                             
   45276:	202a 0008      	movel %a2@(8),%d0                           
   4527a:	2c00           	movel %d0,%d6                               
   4527c:	5286           	addql #1,%d6                                
     */                                                               
    if (c++ == 'z')                                                   
      c = 'a';                                                        
                                                                      
  }                                                                   
  args->iop->data1 = tty;                                             
   4527e:	2053           	moveal %a3@,%a0                             
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
    /*                                                                
     * Bump name characer                                             
     */                                                               
    if (c++ == 'z')                                                   
      c = 'a';                                                        
   45280:	7261           	moveq #97,%d1                               
                                                                      
  }                                                                   
  args->iop->data1 = tty;                                             
   45282:	214a 002c      	movel %a2,%a0@(44)                          
    tty->highwater = tty->rawInBuf.Size * 3/4;                        
    /*                                                                
     * Bump name characer                                             
     */                                                               
    if (c++ == 'z')                                                   
      c = 'a';                                                        
   45286:	13c1 0005 e2a8 	moveb %d1,5e2a8 <c.6708>                    
                                                                      
  }                                                                   
  args->iop->data1 = tty;                                             
  if (!tty->refcount++) {                                             
   4528c:	2546 0008      	movel %d6,%a2@(8)                           
   45290:	4a80           	tstl %d0                                    
   45292:	6700 fe54      	beqw 450e8 <rtems_termios_open+0x270>       
   45296:	6000 fe6c      	braw 45104 <rtems_termios_open+0x28c>       <== NOT EXECUTED
    /*                                                                
     * allocate cooked buffer                                         
     */                                                               
    tty->cbuf  = malloc (CBUFSIZE);                                   
    if (tty->cbuf == NULL) {                                          
            free((void *)(tty->rawOutBuf.theBuf));                    
   4529a:	2f06           	movel %d6,%sp@-                             
   4529c:	47f9 0004 30cc 	lea 430cc <free>,%a3                        
            free((void *)(tty->rawInBuf.theBuf));                     
            free(tty);                                                
      rtems_semaphore_release (rtems_termios_ttyMutex);               
      return RTEMS_NO_MEMORY;                                         
   452a2:	781a           	moveq #26,%d4                               
    /*                                                                
     * allocate cooked buffer                                         
     */                                                               
    tty->cbuf  = malloc (CBUFSIZE);                                   
    if (tty->cbuf == NULL) {                                          
            free((void *)(tty->rawOutBuf.theBuf));                    
   452a4:	4e93           	jsr %a3@                                    
            free((void *)(tty->rawInBuf.theBuf));                     
   452a6:	2f05           	movel %d5,%sp@-                             
   452a8:	4e93           	jsr %a3@                                    
            free(tty);                                                
   452aa:	2f0a           	movel %a2,%sp@-                             
   452ac:	4e93           	jsr %a3@                                    
      rtems_semaphore_release (rtems_termios_ttyMutex);               
   452ae:	2f39 0005 f92c 	movel 5f92c <rtems_termios_ttyMutex>,%sp@-  
   452b4:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
      return RTEMS_NO_MEMORY;                                         
   452ba:	4fef 0010      	lea %sp@(16),%sp                            
        rtems_fatal_error_occurred (sc);                              
    }                                                                 
  }                                                                   
  rtems_semaphore_release (rtems_termios_ttyMutex);                   
  return RTEMS_SUCCESSFUL;                                            
}                                                                     
   452be:	2004           	movel %d4,%d0                               
   452c0:	4cee 3c7c ffdc 	moveml %fp@(-36),%d2-%d6/%a2-%a5            
   452c6:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00045954 <rtems_termios_puts>: * Send characters to device-specific code */ void rtems_termios_puts ( const void *_buf, size_t len, struct rtems_termios_tty *tty) {
   45954:	4e56 ffdc      	linkw %fp,#-36                              
   45958:	48d7 1cfc      	moveml %d2-%d7/%a2-%a4,%sp@                 
   4595c:	286e 0008      	moveal %fp@(8),%a4                          
   45960:	282e 000c      	movel %fp@(12),%d4                          
   45964:	246e 0010      	moveal %fp@(16),%a2                         
  const unsigned char *buf = _buf;                                    
  unsigned int newHead;                                               
  rtems_interrupt_level level;                                        
  rtems_status_code sc;                                               
                                                                      
  if (tty->device.outputUsesInterrupts == TERMIOS_POLLED) {           
   45968:	4aaa 00b4      	tstl %a2@(180)                              
   4596c:	6700 00c6      	beqw 45a34 <rtems_termios_puts+0xe0>        
    (*tty->device.write)(tty->minor, buf, len);                       
    return;                                                           
  }                                                                   
  newHead = tty->rawOutBuf.Head;                                      
   45970:	2a2a 0080      	movel %a2@(128),%d5                         
  while (len) {                                                       
   45974:	4a84           	tstl %d4                                    
   45976:	6700 008e      	beqw 45a06 <rtems_termios_puts+0xb2>        
     *                                                                
     * To minimize latency, the memcpy should be done                 
     * with interrupts enabled.                                       
     */                                                               
    newHead = (newHead + 1) % tty->rawOutBuf.Size;                    
    rtems_interrupt_disable (level);                                  
   4597a:	263c 0000 0700 	movel #1792,%d3                             
   45980:	47f9 0004 7458 	lea 47458 <rtems_semaphore_obtain>,%a3      
     *  len -= ncopy                                                  
     *                                                                
     * To minimize latency, the memcpy should be done                 
     * with interrupts enabled.                                       
     */                                                               
    newHead = (newHead + 1) % tty->rawOutBuf.Size;                    
   45986:	222a 0088      	movel %a2@(136),%d1                         
   4598a:	5285           	addql #1,%d5                                
    rtems_interrupt_disable (level);                                  
   4598c:	2003           	movel %d3,%d0                               
     *  len -= ncopy                                                  
     *                                                                
     * To minimize latency, the memcpy should be done                 
     * with interrupts enabled.                                       
     */                                                               
    newHead = (newHead + 1) % tty->rawOutBuf.Size;                    
   4598e:	4c41 5006      	remul %d1,%d6,%d5                           
   45992:	2a06           	movel %d6,%d5                               
    rtems_interrupt_disable (level);                                  
   45994:	40c2           	movew %sr,%d2                               
   45996:	8082           	orl %d2,%d0                                 
   45998:	46c0           	movew %d0,%sr                               
    while (newHead == tty->rawOutBuf.Tail) {                          
   4599a:	2e2a 0084      	movel %a2@(132),%d7                         
   4599e:	bc87           	cmpl %d7,%d6                                
   459a0:	662c           	bnes 459ce <rtems_termios_puts+0x7a>        
      tty->rawOutBufState = rob_wait;                                 
   459a2:	7002           	moveq #2,%d0                                
   459a4:	2540 0094      	movel %d0,%a2@(148)                         
      rtems_interrupt_enable (level);                                 
   459a8:	46c2           	movew %d2,%sr                               
      sc = rtems_semaphore_obtain(                                    
   459aa:	42a7           	clrl %sp@-                                  
   459ac:	42a7           	clrl %sp@-                                  
   459ae:	2f2a 008c      	movel %a2@(140),%sp@-                       
   459b2:	4e93           	jsr %a3@                                    
        tty->rawOutBuf.Semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT);      
      if (sc != RTEMS_SUCCESSFUL)                                     
   459b4:	4fef 000c      	lea %sp@(12),%sp                            
   459b8:	4a80           	tstl %d0                                    
   459ba:	6600 0094      	bnew 45a50 <rtems_termios_puts+0xfc>        
        rtems_fatal_error_occurred (sc);                              
      rtems_interrupt_disable (level);                                
   459be:	2003           	movel %d3,%d0                               
   459c0:	40c2           	movew %sr,%d2                               
   459c2:	8082           	orl %d2,%d0                                 
   459c4:	46c0           	movew %d0,%sr                               
     * To minimize latency, the memcpy should be done                 
     * with interrupts enabled.                                       
     */                                                               
    newHead = (newHead + 1) % tty->rawOutBuf.Size;                    
    rtems_interrupt_disable (level);                                  
    while (newHead == tty->rawOutBuf.Tail) {                          
   459c6:	202a 0084      	movel %a2@(132),%d0                         
   459ca:	be80           	cmpl %d0,%d7                                
   459cc:	67d4           	beqs 459a2 <rtems_termios_puts+0x4e>        <== NEVER TAKEN
        tty->rawOutBuf.Semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT);      
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
      rtems_interrupt_disable (level);                                
    }                                                                 
    tty->rawOutBuf.theBuf[tty->rawOutBuf.Head] = *buf++;              
   459ce:	202a 0080      	movel %a2@(128),%d0                         
   459d2:	206a 007c      	moveal %a2@(124),%a0                        
   459d6:	119c 0800      	moveb %a4@+,%a0@(00000000,%d0:l)            
    tty->rawOutBuf.Head = newHead;                                    
   459da:	2546 0080      	movel %d6,%a2@(128)                         
    if (tty->rawOutBufState == rob_idle) {                            
   459de:	4aaa 0094      	tstl %a2@(148)                              
   459e2:	661c           	bnes 45a00 <rtems_termios_puts+0xac>        
      /* check, whether XOFF has been received */                     
      if (!(tty->flow_ctrl & FL_ORCVXOF)) {                           
   459e4:	202a 00b8      	movel %a2@(184),%d0                         
   459e8:	0800 0004      	btst #4,%d0                                 
   459ec:	6722           	beqs 45a10 <rtems_termios_puts+0xbc>        <== ALWAYS TAKEN
        (*tty->device.write)(                                         
          tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail],1); 
      } else {                                                        
        /* remember that output has been stopped due to flow ctrl*/   
        tty->flow_ctrl |= FL_OSTOP;                                   
   459ee:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   459f2:	7220           	moveq #32,%d1                               <== NOT EXECUTED
   459f4:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   459f6:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
      }                                                               
      tty->rawOutBufState = rob_busy;                                 
   459fa:	7001           	moveq #1,%d0                                <== NOT EXECUTED
   459fc:	2540 0094      	movel %d0,%a2@(148)                         <== NOT EXECUTED
    }                                                                 
    rtems_interrupt_enable (level);                                   
   45a00:	46c2           	movew %d2,%sr                               
    len--;                                                            
   45a02:	5384           	subql #1,%d4                                
  if (tty->device.outputUsesInterrupts == TERMIOS_POLLED) {           
    (*tty->device.write)(tty->minor, buf, len);                       
    return;                                                           
  }                                                                   
  newHead = tty->rawOutBuf.Head;                                      
  while (len) {                                                       
   45a04:	6680           	bnes 45986 <rtems_termios_puts+0x32>        
      tty->rawOutBufState = rob_busy;                                 
    }                                                                 
    rtems_interrupt_enable (level);                                   
    len--;                                                            
  }                                                                   
}                                                                     
   45a06:	4cee 1cfc ffdc 	moveml %fp@(-36),%d2-%d7/%a2-%a4            
   45a0c:	4e5e           	unlk %fp                                    
   45a0e:	4e75           	rts                                         
    tty->rawOutBuf.theBuf[tty->rawOutBuf.Head] = *buf++;              
    tty->rawOutBuf.Head = newHead;                                    
    if (tty->rawOutBufState == rob_idle) {                            
      /* check, whether XOFF has been received */                     
      if (!(tty->flow_ctrl & FL_ORCVXOF)) {                           
        (*tty->device.write)(                                         
   45a10:	4878 0001      	pea 1 <ADD>                                 
          tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail],1); 
   45a14:	202a 0084      	movel %a2@(132),%d0                         
    tty->rawOutBuf.theBuf[tty->rawOutBuf.Head] = *buf++;              
    tty->rawOutBuf.Head = newHead;                                    
    if (tty->rawOutBufState == rob_idle) {                            
      /* check, whether XOFF has been received */                     
      if (!(tty->flow_ctrl & FL_ORCVXOF)) {                           
        (*tty->device.write)(                                         
   45a18:	d0aa 007c      	addl %a2@(124),%d0                          
   45a1c:	2f00           	movel %d0,%sp@-                             
   45a1e:	2f2a 0010      	movel %a2@(16),%sp@-                        
   45a22:	206a 00a4      	moveal %a2@(164),%a0                        
   45a26:	4e90           	jsr %a0@                                    
   45a28:	4fef 000c      	lea %sp@(12),%sp                            
          tty->minor, &tty->rawOutBuf.theBuf[tty->rawOutBuf.Tail],1); 
      } else {                                                        
        /* remember that output has been stopped due to flow ctrl*/   
        tty->flow_ctrl |= FL_OSTOP;                                   
      }                                                               
      tty->rawOutBufState = rob_busy;                                 
   45a2c:	7001           	moveq #1,%d0                                
   45a2e:	2540 0094      	movel %d0,%a2@(148)                         
   45a32:	60cc           	bras 45a00 <rtems_termios_puts+0xac>        
  unsigned int newHead;                                               
  rtems_interrupt_level level;                                        
  rtems_status_code sc;                                               
                                                                      
  if (tty->device.outputUsesInterrupts == TERMIOS_POLLED) {           
    (*tty->device.write)(tty->minor, buf, len);                       
   45a34:	226a 00a4      	moveal %a2@(164),%a1                        
   45a38:	2d6a 0010 0008 	movel %a2@(16),%fp@(8)                      
   45a3e:	2d44 0010      	movel %d4,%fp@(16)                          
   45a42:	2d4c 000c      	movel %a4,%fp@(12)                          
      tty->rawOutBufState = rob_busy;                                 
    }                                                                 
    rtems_interrupt_enable (level);                                   
    len--;                                                            
  }                                                                   
}                                                                     
   45a46:	4cee 1cfc ffdc 	moveml %fp@(-36),%d2-%d7/%a2-%a4            
   45a4c:	4e5e           	unlk %fp                                    
  unsigned int newHead;                                               
  rtems_interrupt_level level;                                        
  rtems_status_code sc;                                               
                                                                      
  if (tty->device.outputUsesInterrupts == TERMIOS_POLLED) {           
    (*tty->device.write)(tty->minor, buf, len);                       
   45a4e:	4ed1           	jmp %a1@                                    
      tty->rawOutBufState = rob_wait;                                 
      rtems_interrupt_enable (level);                                 
      sc = rtems_semaphore_obtain(                                    
        tty->rawOutBuf.Semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT);      
      if (sc != RTEMS_SUCCESSFUL)                                     
        rtems_fatal_error_occurred (sc);                              
   45a50:	2f00           	movel %d0,%sp@-                             <== NOT EXECUTED
   45a52:	4eb9 0004 7c4c 	jsr 47c4c <rtems_fatal_error_occurred>      <== NOT EXECUTED
                                                                      

000461ba <rtems_termios_read>: return RTEMS_SUCCESSFUL; } rtems_status_code rtems_termios_read (void *arg) {
   461ba:	4e56 ffd4      	linkw %fp,#-44                              
   461be:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   461c2:	2a6e 0008      	moveal %fp@(8),%a5                          
  struct rtems_termios_tty *tty = args->iop->data1;                   
  uint32_t   count = args->count;                                     
  char      *buffer = args->buffer;                                   
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain (tty->isem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   461c6:	2a3c 0004 7458 	movel #291928,%d5                           
                                                                      
rtems_status_code                                                     
rtems_termios_read (void *arg)                                        
{                                                                     
  rtems_libio_rw_args_t *args = arg;                                  
  struct rtems_termios_tty *tty = args->iop->data1;                   
   461cc:	2055           	moveal %a5@,%a0                             
   461ce:	2468 002c      	moveal %a0@(44),%a2                         
  uint32_t   count = args->count;                                     
  char      *buffer = args->buffer;                                   
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain (tty->isem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   461d2:	2045           	moveal %d5,%a0                              
   461d4:	42a7           	clrl %sp@-                                  
rtems_status_code                                                     
rtems_termios_read (void *arg)                                        
{                                                                     
  rtems_libio_rw_args_t *args = arg;                                  
  struct rtems_termios_tty *tty = args->iop->data1;                   
  uint32_t   count = args->count;                                     
   461d6:	242d 0010      	movel %a5@(16),%d2                          
  char      *buffer = args->buffer;                                   
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain (tty->isem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   461da:	42a7           	clrl %sp@-                                  
   461dc:	2f2a 0014      	movel %a2@(20),%sp@-                        
rtems_termios_read (void *arg)                                        
{                                                                     
  rtems_libio_rw_args_t *args = arg;                                  
  struct rtems_termios_tty *tty = args->iop->data1;                   
  uint32_t   count = args->count;                                     
  char      *buffer = args->buffer;                                   
   461e0:	286d 000c      	moveal %a5@(12),%a4                         
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain (tty->isem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   461e4:	4e90           	jsr %a0@                                    
  if (sc != RTEMS_SUCCESSFUL)                                         
   461e6:	4fef 000c      	lea %sp@(12),%sp                            
  struct rtems_termios_tty *tty = args->iop->data1;                   
  uint32_t   count = args->count;                                     
  char      *buffer = args->buffer;                                   
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain (tty->isem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   461ea:	2800           	movel %d0,%d4                               
  if (sc != RTEMS_SUCCESSFUL)                                         
   461ec:	662e           	bnes 4621c <rtems_termios_read+0x62>        <== NEVER TAKEN
    return sc;                                                        
                                                                      
  if (rtems_termios_linesw[tty->t_line].l_read != NULL) {             
   461ee:	202a 00cc      	movel %a2@(204),%d0                         
   461f2:	eb88           	lsll #5,%d0                                 
   461f4:	0680 0005 f104 	addil #389380,%d0                           
   461fa:	2240           	moveal %d0,%a1                              
   461fc:	2051           	moveal %a1@,%a0                             
   461fe:	4a88           	tstl %a0                                    
   46200:	6726           	beqs 46228 <rtems_termios_read+0x6e>        
    sc = rtems_termios_linesw[tty->t_line].l_read(tty,args);          
   46202:	2f0d           	movel %a5,%sp@-                             
   46204:	2f0a           	movel %a2,%sp@-                             
   46206:	4e90           	jsr %a0@                                    
   46208:	2800           	movel %d0,%d4                               
    tty->tty_rcvwakeup = 0;                                           
   4620a:	42aa 00e4      	clrl %a2@(228)                              
    rtems_semaphore_release (tty->isem);                              
   4620e:	2f2a 0014      	movel %a2@(20),%sp@-                        
   46212:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
    return sc;                                                        
   46218:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
  args->bytes_moved = args->count - count;                            
  tty->tty_rcvwakeup = 0;                                             
  rtems_semaphore_release (tty->isem);                                
  return sc;                                                          
}                                                                     
   4621c:	2004           	movel %d4,%d0                               
   4621e:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   46224:	4e5e           	unlk %fp                                    
   46226:	4e75           	rts                                         
    tty->tty_rcvwakeup = 0;                                           
    rtems_semaphore_release (tty->isem);                              
    return sc;                                                        
  }                                                                   
                                                                      
  if (tty->cindex == tty->ccount) {                                   
   46228:	202a 0020      	movel %a2@(32),%d0                          
   4622c:	b0aa 0024      	cmpl %a2@(36),%d0                           
   46230:	6752           	beqs 46284 <rtems_termios_read+0xca>        <== ALWAYS TAKEN
      sc = fillBufferQueue (tty);                                     
                                                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
      tty->cindex = tty->ccount = 0;                                  
  }                                                                   
  while (count && (tty->cindex < tty->ccount)) {                      
   46232:	4a82           	tstl %d2                                    
   46234:	6700 01bc      	beqw 463f2 <rtems_termios_read+0x238>       
   46238:	202a 0024      	movel %a2@(36),%d0                          
   4623c:	b0aa 0020      	cmpl %a2@(32),%d0                           
   46240:	6c1c           	bges 4625e <rtems_termios_read+0xa4>        
    *buffer++ = tty->cbuf[tty->cindex++];                             
   46242:	206a 001c      	moveal %a2@(28),%a0                         
    count--;                                                          
   46246:	5382           	subql #1,%d2                                
                                                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
      tty->cindex = tty->ccount = 0;                                  
  }                                                                   
  while (count && (tty->cindex < tty->ccount)) {                      
    *buffer++ = tty->cbuf[tty->cindex++];                             
   46248:	18f0 0800      	moveb %a0@(00000000,%d0:l),%a4@+            
   4624c:	5280           	addql #1,%d0                                
   4624e:	2540 0024      	movel %d0,%a2@(36)                          
      sc = fillBufferQueue (tty);                                     
                                                                      
    if (sc != RTEMS_SUCCESSFUL)                                       
      tty->cindex = tty->ccount = 0;                                  
  }                                                                   
  while (count && (tty->cindex < tty->ccount)) {                      
   46252:	4a82           	tstl %d2                                    
   46254:	6700 019c      	beqw 463f2 <rtems_termios_read+0x238>       
   46258:	b0aa 0020      	cmpl %a2@(32),%d0                           
   4625c:	6de4           	blts 46242 <rtems_termios_read+0x88>        
    *buffer++ = tty->cbuf[tty->cindex++];                             
    count--;                                                          
  }                                                                   
  args->bytes_moved = args->count - count;                            
   4625e:	202d 0010      	movel %a5@(16),%d0                          
   46262:	9082           	subl %d2,%d0                                
   46264:	2b40 0018      	movel %d0,%a5@(24)                          
  tty->tty_rcvwakeup = 0;                                             
   46268:	42aa 00e4      	clrl %a2@(228)                              
  rtems_semaphore_release (tty->isem);                                
   4626c:	2f2a 0014      	movel %a2@(20),%sp@-                        
   46270:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   46276:	588f           	addql #4,%sp                                
}                                                                     
   46278:	2004           	movel %d4,%d0                               
   4627a:	4cee 3cfc ffd4 	moveml %fp@(-44),%d2-%d7/%a2-%a5            
   46280:	4e5e           	unlk %fp                                    
   46282:	4e75           	rts                                         
  }                                                                   
                                                                      
  if (tty->cindex == tty->ccount) {                                   
    tty->cindex = tty->ccount = 0;                                    
    tty->read_start_column = tty->column;                             
    if (tty->device.pollRead != NULL &&                               
   46284:	206a 00a0      	moveal %a2@(160),%a0                        
    return sc;                                                        
  }                                                                   
                                                                      
  if (tty->cindex == tty->ccount) {                                   
    tty->cindex = tty->ccount = 0;                                    
    tty->read_start_column = tty->column;                             
   46288:	256a 0028 002c 	movel %a2@(40),%a2@(44)                     
    rtems_semaphore_release (tty->isem);                              
    return sc;                                                        
  }                                                                   
                                                                      
  if (tty->cindex == tty->ccount) {                                   
    tty->cindex = tty->ccount = 0;                                    
   4628e:	42aa 0020      	clrl %a2@(32)                               
   46292:	42aa 0024      	clrl %a2@(36)                               
    tty->read_start_column = tty->column;                             
    if (tty->device.pollRead != NULL &&                               
   46296:	4a88           	tstl %a0                                    
   46298:	6708           	beqs 462a2 <rtems_termios_read+0xe8>        
   4629a:	4aaa 00b4      	tstl %a2@(180)                              
   4629e:	6700 0172      	beqw 46412 <rtems_termios_read+0x258>       
             ==                (FL_MDXON | FL_ISNTXOF))               
            && ((tty->rawOutBufState == rob_idle)                     
          || (tty->flow_ctrl & FL_OSTOP))) {                          
          /* XON should be sent now... */                             
          (*tty->device.write)(                                       
            tty->minor, (void *)&(tty->termios.c_cc[VSTART]), 1);     
   462a2:	41ea 0049      	lea %a2@(73),%a0                            
static rtems_status_code                                              
fillBufferQueue (struct rtems_termios_tty *tty)                       
{                                                                     
  rtems_interval timeout = tty->rawInBufSemaphoreFirstTimeout;        
  rtems_status_code sc;                                               
  int               wait = 1;                                         
   462a6:	7601           	moveq #1,%d3                                
   462a8:	47fa fdca      	lea %pc@(46074 <siproc>),%a3                
 * Fill the input buffer from the raw input queue                     
 */                                                                   
static rtems_status_code                                              
fillBufferQueue (struct rtems_termios_tty *tty)                       
{                                                                     
  rtems_interval timeout = tty->rawInBufSemaphoreFirstTimeout;        
   462ac:	2e2a 0074      	movel %a2@(116),%d7                         
             ==                (FL_MDXON | FL_ISNTXOF))               
            && ((tty->rawOutBufState == rob_idle)                     
          || (tty->flow_ctrl & FL_OSTOP))) {                          
          /* XON should be sent now... */                             
          (*tty->device.write)(                                       
            tty->minor, (void *)&(tty->termios.c_cc[VSTART]), 1);     
   462b0:	2d48 fffc      	movel %a0,%fp@(-4)                          
                                                                      
  while ( wait ) {                                                    
    /*                                                                
     * Process characters read from raw queue                         
     */                                                               
    while ((tty->rawInBuf.Head != tty->rawInBuf.Tail) &&              
   462b4:	222a 005c      	movel %a2@(92),%d1                          
   462b8:	202a 0060      	movel %a2@(96),%d0                          
   462bc:	b081           	cmpl %d1,%d0                                
   462be:	6700 00c6      	beqw 46386 <rtems_termios_read+0x1cc>       
                       (tty->ccount < (CBUFSIZE-1))) {                
   462c2:	2039 0005 e2a4 	movel 5e2a4 <rtems_termios_cbufsize>,%d0    
   462c8:	5380           	subql #1,%d0                                
                                                                      
  while ( wait ) {                                                    
    /*                                                                
     * Process characters read from raw queue                         
     */                                                               
    while ((tty->rawInBuf.Head != tty->rawInBuf.Tail) &&              
   462ca:	b0aa 0020      	cmpl %a2@(32),%d0                           
   462ce:	6300 00b6      	blsw 46386 <rtems_termios_read+0x1cc>       
                       (tty->ccount < (CBUFSIZE-1))) {                
      unsigned char c;                                                
      unsigned int newHead;                                           
                                                                      
      newHead = (tty->rawInBuf.Head + 1) % tty->rawInBuf.Size;        
   462d2:	2e2a 005c      	movel %a2@(92),%d7                          
   462d6:	5287           	addql #1,%d7                                
   462d8:	222a 0064      	movel %a2@(100),%d1                         
      c = tty->rawInBuf.theBuf[newHead];                              
   462dc:	206a 0058      	moveal %a2@(88),%a0                         
    while ((tty->rawInBuf.Head != tty->rawInBuf.Tail) &&              
                       (tty->ccount < (CBUFSIZE-1))) {                
      unsigned char c;                                                
      unsigned int newHead;                                           
                                                                      
      newHead = (tty->rawInBuf.Head + 1) % tty->rawInBuf.Size;        
   462e0:	4c41 7000      	remul %d1,%d0,%d7                           
      c = tty->rawInBuf.theBuf[newHead];                              
   462e4:	1e30 0800      	moveb %a0@(00000000,%d0:l),%d7              
      tty->rawInBuf.Head = newHead;                                   
   462e8:	2540 005c      	movel %d0,%a2@(92)                          
      if(((tty->rawInBuf.Tail-newHead+tty->rawInBuf.Size)             
   462ec:	222a 0060      	movel %a2@(96),%d1                          
   462f0:	206a 0064      	moveal %a2@(100),%a0                        
   462f4:	d288           	addl %a0,%d1                                
   462f6:	9280           	subl %d0,%d1                                
          % tty->rawInBuf.Size)                                       
   462f8:	202a 0064      	movel %a2@(100),%d0                         
   462fc:	4c40 1006      	remul %d0,%d6,%d1                           
      unsigned int newHead;                                           
                                                                      
      newHead = (tty->rawInBuf.Head + 1) % tty->rawInBuf.Size;        
      c = tty->rawInBuf.theBuf[newHead];                              
      tty->rawInBuf.Head = newHead;                                   
      if(((tty->rawInBuf.Tail-newHead+tty->rawInBuf.Size)             
   46300:	bcaa 00bc      	cmpl %a2@(188),%d6                          
   46304:	6446           	bccs 4634c <rtems_termios_read+0x192>       <== NEVER TAKEN
          % tty->rawInBuf.Size)                                       
         < tty->lowwater) {                                           
        tty->flow_ctrl &= ~FL_IREQXOF;                                
   46306:	202a 00b8      	movel %a2@(184),%d0                         
   4630a:	72fe           	moveq #-2,%d1                               
   4630c:	c081           	andl %d1,%d0                                
   4630e:	2540 00b8      	movel %d0,%a2@(184)                         
        /* if tx stopped and XON should be sent... */                 
        if (((tty->flow_ctrl & (FL_MDXON | FL_ISNTXOF))               
   46312:	202a 00b8      	movel %a2@(184),%d0                         
   46316:	0280 0000 0202 	andil #514,%d0                              
   4631c:	0c80 0000 0202 	cmpil #514,%d0                              
   46322:	6700 00a2      	beqw 463c6 <rtems_termios_read+0x20c>       
            && ((tty->rawOutBufState == rob_idle)                     
          || (tty->flow_ctrl & FL_OSTOP))) {                          
          /* XON should be sent now... */                             
          (*tty->device.write)(                                       
            tty->minor, (void *)&(tty->termios.c_cc[VSTART]), 1);     
        } else if (tty->flow_ctrl & FL_MDRTS) {                       
   46326:	202a 00b8      	movel %a2@(184),%d0                         
   4632a:	0800 0008      	btst #8,%d0                                 
   4632e:	671c           	beqs 4634c <rtems_termios_read+0x192>       <== ALWAYS TAKEN
          tty->flow_ctrl &= ~FL_IRTSOFF;                              
   46330:	222a 00b8      	movel %a2@(184),%d1                         <== NOT EXECUTED
   46334:	70fb           	moveq #-5,%d0                               <== NOT EXECUTED
   46336:	c280           	andl %d0,%d1                                <== NOT EXECUTED
          /* activate RTS line */                                     
          if (tty->device.startRemoteTx != NULL) {                    
   46338:	206a 00b0      	moveal %a2@(176),%a0                        <== NOT EXECUTED
          || (tty->flow_ctrl & FL_OSTOP))) {                          
          /* XON should be sent now... */                             
          (*tty->device.write)(                                       
            tty->minor, (void *)&(tty->termios.c_cc[VSTART]), 1);     
        } else if (tty->flow_ctrl & FL_MDRTS) {                       
          tty->flow_ctrl &= ~FL_IRTSOFF;                              
   4633c:	2541 00b8      	movel %d1,%a2@(184)                         <== NOT EXECUTED
          /* activate RTS line */                                     
          if (tty->device.startRemoteTx != NULL) {                    
   46340:	4a88           	tstl %a0                                    <== NOT EXECUTED
   46342:	6708           	beqs 4634c <rtems_termios_read+0x192>       <== NOT EXECUTED
            tty->device.startRemoteTx(tty->minor);                    
   46344:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   46348:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   4634a:	588f           	addql #4,%sp                                <== NOT EXECUTED
          }                                                           
        }                                                             
      }                                                               
                                                                      
      /* continue processing new character */                         
      if (tty->termios.c_lflag & ICANON) {                            
   4634c:	7002           	moveq #2,%d0                                
   4634e:	c0aa 003c      	andl %a2@(60),%d0                           
   46352:	6754           	beqs 463a8 <rtems_termios_read+0x1ee>       <== NEVER TAKEN
        if (siproc (c, tty))                                          
   46354:	2f0a           	movel %a2,%sp@-                             
   46356:	0287 0000 00ff 	andil #255,%d7                              
   4635c:	2f07           	movel %d7,%sp@-                             
   4635e:	4e93           	jsr %a3@                                    
   46360:	508f           	addql #8,%sp                                
   46362:	4a80           	tstl %d0                                    
   46364:	665c           	bnes 463c2 <rtems_termios_read+0x208>       
                                                                      
  while ( wait ) {                                                    
    /*                                                                
     * Process characters read from raw queue                         
     */                                                               
    while ((tty->rawInBuf.Head != tty->rawInBuf.Tail) &&              
   46366:	222a 005c      	movel %a2@(92),%d1                          
      } else {                                                        
        siproc (c, tty);                                              
        if (tty->ccount >= tty->termios.c_cc[VMIN])                   
          wait = 0;                                                   
      }                                                               
      timeout = tty->rawInBufSemaphoreTimeout;                        
   4636a:	2e2a 0070      	movel %a2@(112),%d7                         
                                                                      
  while ( wait ) {                                                    
    /*                                                                
     * Process characters read from raw queue                         
     */                                                               
    while ((tty->rawInBuf.Head != tty->rawInBuf.Tail) &&              
   4636e:	202a 0060      	movel %a2@(96),%d0                          
   46372:	b081           	cmpl %d1,%d0                                
   46374:	6710           	beqs 46386 <rtems_termios_read+0x1cc>       
                       (tty->ccount < (CBUFSIZE-1))) {                
   46376:	2039 0005 e2a4 	movel 5e2a4 <rtems_termios_cbufsize>,%d0    
   4637c:	5380           	subql #1,%d0                                
                                                                      
  while ( wait ) {                                                    
    /*                                                                
     * Process characters read from raw queue                         
     */                                                               
    while ((tty->rawInBuf.Head != tty->rawInBuf.Tail) &&              
   4637e:	b0aa 0020      	cmpl %a2@(32),%d0                           
   46382:	6200 ff4e      	bhiw 462d2 <rtems_termios_read+0x118>       
    }                                                                 
                                                                      
    /*                                                                
     * Wait for characters                                            
     */                                                               
    if ( wait ) {                                                     
   46386:	4a83           	tstl %d3                                    
   46388:	6700 fea8      	beqw 46232 <rtems_termios_read+0x78>        
      sc = rtems_semaphore_obtain(                                    
   4638c:	2f07           	movel %d7,%sp@-                             
   4638e:	2f2a 006c      	movel %a2@(108),%sp@-                       
   46392:	2045           	moveal %d5,%a0                              
   46394:	2f2a 0068      	movel %a2@(104),%sp@-                       
   46398:	4e90           	jsr %a0@                                    
        tty->rawInBuf.Semaphore, tty->rawInBufSemaphoreOptions, timeout);
      if (sc != RTEMS_SUCCESSFUL)                                     
   4639a:	4fef 000c      	lea %sp@(12),%sp                            
   4639e:	4a80           	tstl %d0                                    
   463a0:	6700 ff12      	beqw 462b4 <rtems_termios_read+0xfa>        
   463a4:	6000 fe8c      	braw 46232 <rtems_termios_read+0x78>        
      /* continue processing new character */                         
      if (tty->termios.c_lflag & ICANON) {                            
        if (siproc (c, tty))                                          
          wait = 0;                                                   
      } else {                                                        
        siproc (c, tty);                                              
   463a8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   463aa:	0287 0000 00ff 	andil #255,%d7                              <== NOT EXECUTED
   463b0:	2f07           	movel %d7,%sp@-                             <== NOT EXECUTED
   463b2:	4e93           	jsr %a3@                                    <== NOT EXECUTED
        if (tty->ccount >= tty->termios.c_cc[VMIN])                   
   463b4:	508f           	addql #8,%sp                                <== NOT EXECUTED
   463b6:	4280           	clrl %d0                                    <== NOT EXECUTED
   463b8:	102a 0047      	moveb %a2@(71),%d0                          <== NOT EXECUTED
   463bc:	b0aa 0020      	cmpl %a2@(32),%d0                           <== NOT EXECUTED
   463c0:	6ea4           	bgts 46366 <rtems_termios_read+0x1ac>       <== NOT EXECUTED
      }                                                               
                                                                      
      /* continue processing new character */                         
      if (tty->termios.c_lflag & ICANON) {                            
        if (siproc (c, tty))                                          
          wait = 0;                                                   
   463c2:	4283           	clrl %d3                                    
   463c4:	60a0           	bras 46366 <rtems_termios_read+0x1ac>       
         < tty->lowwater) {                                           
        tty->flow_ctrl &= ~FL_IREQXOF;                                
        /* if tx stopped and XON should be sent... */                 
        if (((tty->flow_ctrl & (FL_MDXON | FL_ISNTXOF))               
             ==                (FL_MDXON | FL_ISNTXOF))               
            && ((tty->rawOutBufState == rob_idle)                     
   463c6:	4aaa 0094      	tstl %a2@(148)                              <== NOT EXECUTED
   463ca:	670c           	beqs 463d8 <rtems_termios_read+0x21e>       <== NOT EXECUTED
          || (tty->flow_ctrl & FL_OSTOP))) {                          
   463cc:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   463d0:	0800 0005      	btst #5,%d0                                 <== NOT EXECUTED
   463d4:	6700 ff50      	beqw 46326 <rtems_termios_read+0x16c>       <== NOT EXECUTED
          /* XON should be sent now... */                             
          (*tty->device.write)(                                       
   463d8:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   463dc:	2f2e fffc      	movel %fp@(-4),%sp@-                        <== NOT EXECUTED
   463e0:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   463e4:	206a 00a4      	moveal %a2@(164),%a0                        <== NOT EXECUTED
   463e8:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   463ea:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
   463ee:	6000 ff5c      	braw 4634c <rtems_termios_read+0x192>       <== NOT EXECUTED
  }                                                                   
  while (count && (tty->cindex < tty->ccount)) {                      
    *buffer++ = tty->cbuf[tty->cindex++];                             
    count--;                                                          
  }                                                                   
  args->bytes_moved = args->count - count;                            
   463f2:	202d 0010      	movel %a5@(16),%d0                          
static rtems_status_code                                              
fillBufferQueue (struct rtems_termios_tty *tty)                       
{                                                                     
  rtems_interval timeout = tty->rawInBufSemaphoreFirstTimeout;        
  rtems_status_code sc;                                               
  int               wait = 1;                                         
   463f6:	4282           	clrl %d2                                    
  }                                                                   
  while (count && (tty->cindex < tty->ccount)) {                      
    *buffer++ = tty->cbuf[tty->cindex++];                             
    count--;                                                          
  }                                                                   
  args->bytes_moved = args->count - count;                            
   463f8:	9082           	subl %d2,%d0                                
   463fa:	2b40 0018      	movel %d0,%a5@(24)                          
  tty->tty_rcvwakeup = 0;                                             
   463fe:	42aa 00e4      	clrl %a2@(228)                              
  rtems_semaphore_release (tty->isem);                                
   46402:	2f2a 0014      	movel %a2@(20),%sp@-                        
   46406:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   4640c:	588f           	addql #4,%sp                                
   4640e:	6000 fe68      	braw 46278 <rtems_termios_read+0xbe>        
static rtems_status_code                                              
fillBufferPoll (struct rtems_termios_tty *tty)                        
{                                                                     
  int n;                                                              
                                                                      
  if (tty->termios.c_lflag & ICANON) {                                
   46412:	7002           	moveq #2,%d0                                
   46414:	c0aa 003c      	andl %a2@(60),%d0                           
   46418:	6740           	beqs 4645a <rtems_termios_read+0x2a0>       
   4641a:	47fa fc58      	lea %pc@(46074 <siproc>),%a3                
    for (;;) {                                                        
      n = (*tty->device.pollRead)(tty->minor);                        
      if (n < 0) {                                                    
        rtems_task_wake_after (1);                                    
   4641e:	263c 0004 7a40 	movel #293440,%d3                           
{                                                                     
  int n;                                                              
                                                                      
  if (tty->termios.c_lflag & ICANON) {                                
    for (;;) {                                                        
      n = (*tty->device.pollRead)(tty->minor);                        
   46424:	2f2a 0010      	movel %a2@(16),%sp@-                        
   46428:	4e90           	jsr %a0@                                    
      if (n < 0) {                                                    
   4642a:	588f           	addql #4,%sp                                
   4642c:	4a80           	tstl %d0                                    
   4642e:	6d1a           	blts 4644a <rtems_termios_read+0x290>       
        rtems_task_wake_after (1);                                    
      } else {                                                        
        if  (siproc (n, tty))                                         
   46430:	2f0a           	movel %a2,%sp@-                             
   46432:	0280 0000 00ff 	andil #255,%d0                              
   46438:	2f00           	movel %d0,%sp@-                             
   4643a:	4e93           	jsr %a3@                                    
   4643c:	508f           	addql #8,%sp                                
   4643e:	4a80           	tstl %d0                                    
   46440:	6600 fdf0      	bnew 46232 <rtems_termios_read+0x78>        
   46444:	206a 00a0      	moveal %a2@(160),%a0                        
   46448:	60da           	bras 46424 <rtems_termios_read+0x26a>       
                                                                      
  if (tty->termios.c_lflag & ICANON) {                                
    for (;;) {                                                        
      n = (*tty->device.pollRead)(tty->minor);                        
      if (n < 0) {                                                    
        rtems_task_wake_after (1);                                    
   4644a:	4878 0001      	pea 1 <ADD>                                 
   4644e:	2043           	moveal %d3,%a0                              
   46450:	4e90           	jsr %a0@                                    
   46452:	206a 00a0      	moveal %a2@(160),%a0                        
   46456:	588f           	addql #4,%sp                                
   46458:	60ca           	bras 46424 <rtems_termios_read+0x26a>       
            break;                                                    
          }                                                           
        }                                                             
        rtems_task_wake_after (1);                                    
      } else {                                                        
        siproc (n, tty);                                              
   4645a:	47fa fc18      	lea %pc@(46074 <siproc>),%a3                
      }                                                               
    }                                                                 
  } else {                                                            
    rtems_interval then, now;                                         
                                                                      
    then = rtems_clock_get_ticks_since_boot();                        
   4645e:	2a3c 0004 6d48 	movel #290120,%d5                           
          now = rtems_clock_get_ticks_since_boot();                   
          if ((now - then) > tty->vtimeTicks) {                       
            break;                                                    
          }                                                           
        }                                                             
        rtems_task_wake_after (1);                                    
   46464:	263c 0004 7a40 	movel #293440,%d3                           
      }                                                               
    }                                                                 
  } else {                                                            
    rtems_interval then, now;                                         
                                                                      
    then = rtems_clock_get_ticks_since_boot();                        
   4646a:	2245           	moveal %d5,%a1                              
   4646c:	4e91           	jsr %a1@                                    
   4646e:	2c00           	movel %d0,%d6                               
    for (;;) {                                                        
      n = (*tty->device.pollRead)(tty->minor);                        
   46470:	2f2a 0010      	movel %a2@(16),%sp@-                        
   46474:	206a 00a0      	moveal %a2@(160),%a0                        
   46478:	4e90           	jsr %a0@                                    
      if (n < 0) {                                                    
   4647a:	588f           	addql #4,%sp                                
   4647c:	4a80           	tstl %d0                                    
   4647e:	6d38           	blts 464b8 <rtems_termios_read+0x2fe>       
            break;                                                    
          }                                                           
        }                                                             
        rtems_task_wake_after (1);                                    
      } else {                                                        
        siproc (n, tty);                                              
   46480:	2f0a           	movel %a2,%sp@-                             
   46482:	0280 0000 00ff 	andil #255,%d0                              
   46488:	2f00           	movel %d0,%sp@-                             
   4648a:	4e93           	jsr %a3@                                    
        if (tty->ccount >= tty->termios.c_cc[VMIN])                   
   4648c:	508f           	addql #8,%sp                                
   4648e:	4281           	clrl %d1                                    
   46490:	102a 0047      	moveb %a2@(71),%d0                          
   46494:	1200           	moveb %d0,%d1                               
   46496:	b2aa 0020      	cmpl %a2@(32),%d1                           
   4649a:	6f00 fd96      	blew 46232 <rtems_termios_read+0x78>        
          break;                                                      
        if (tty->termios.c_cc[VMIN] && tty->termios.c_cc[VTIME])      
   4649e:	4a00           	tstb %d0                                    
   464a0:	67ce           	beqs 46470 <rtems_termios_read+0x2b6>       <== NEVER TAKEN
   464a2:	4a2a 0046      	tstb %a2@(70)                               
   464a6:	66c2           	bnes 4646a <rtems_termios_read+0x2b0>       <== ALWAYS TAKEN
  } else {                                                            
    rtems_interval then, now;                                         
                                                                      
    then = rtems_clock_get_ticks_since_boot();                        
    for (;;) {                                                        
      n = (*tty->device.pollRead)(tty->minor);                        
   464a8:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   464ac:	206a 00a0      	moveal %a2@(160),%a0                        <== NOT EXECUTED
   464b0:	4e90           	jsr %a0@                                    <== NOT EXECUTED
      if (n < 0) {                                                    
   464b2:	588f           	addql #4,%sp                                <== NOT EXECUTED
   464b4:	4a80           	tstl %d0                                    <== NOT EXECUTED
   464b6:	6cc8           	bges 46480 <rtems_termios_read+0x2c6>       <== NOT EXECUTED
        if (tty->termios.c_cc[VMIN]) {                                
   464b8:	4a2a 0047      	tstb %a2@(71)                               
   464bc:	6732           	beqs 464f0 <rtems_termios_read+0x336>       <== NEVER TAKEN
          if (tty->termios.c_cc[VTIME] && tty->ccount) {              
   464be:	4a2a 0046      	tstb %a2@(70)                               
   464c2:	6706           	beqs 464ca <rtems_termios_read+0x310>       <== NEVER TAKEN
   464c4:	4aaa 0020      	tstl %a2@(32)                               
   464c8:	660c           	bnes 464d6 <rtems_termios_read+0x31c>       
          now = rtems_clock_get_ticks_since_boot();                   
          if ((now - then) > tty->vtimeTicks) {                       
            break;                                                    
          }                                                           
        }                                                             
        rtems_task_wake_after (1);                                    
   464ca:	4878 0001      	pea 1 <ADD>                                 
   464ce:	2043           	moveal %d3,%a0                              
   464d0:	4e90           	jsr %a0@                                    
   464d2:	588f           	addql #4,%sp                                
   464d4:	609a           	bras 46470 <rtems_termios_read+0x2b6>       
    for (;;) {                                                        
      n = (*tty->device.pollRead)(tty->minor);                        
      if (n < 0) {                                                    
        if (tty->termios.c_cc[VMIN]) {                                
          if (tty->termios.c_cc[VTIME] && tty->ccount) {              
            now = rtems_clock_get_ticks_since_boot();                 
   464d6:	2245           	moveal %d5,%a1                              
   464d8:	4e91           	jsr %a1@                                    
            if ((now - then) > tty->vtimeTicks) {                     
   464da:	9086           	subl %d6,%d0                                
   464dc:	b0aa 0054      	cmpl %a2@(84),%d0                           
   464e0:	6200 fd50      	bhiw 46232 <rtems_termios_read+0x78>        
          now = rtems_clock_get_ticks_since_boot();                   
          if ((now - then) > tty->vtimeTicks) {                       
            break;                                                    
          }                                                           
        }                                                             
        rtems_task_wake_after (1);                                    
   464e4:	4878 0001      	pea 1 <ADD>                                 
   464e8:	2043           	moveal %d3,%a0                              
   464ea:	4e90           	jsr %a0@                                    
   464ec:	588f           	addql #4,%sp                                
   464ee:	6080           	bras 46470 <rtems_termios_read+0x2b6>       
            if ((now - then) > tty->vtimeTicks) {                     
              break;                                                  
            }                                                         
          }                                                           
        } else {                                                      
          if (!tty->termios.c_cc[VTIME])                              
   464f0:	4a2a 0046      	tstb %a2@(70)                               <== NOT EXECUTED
   464f4:	6700 fd3c      	beqw 46232 <rtems_termios_read+0x78>        <== NOT EXECUTED
            break;                                                    
          now = rtems_clock_get_ticks_since_boot();                   
   464f8:	2045           	moveal %d5,%a0                              <== NOT EXECUTED
   464fa:	4e90           	jsr %a0@                                    <== NOT EXECUTED
          if ((now - then) > tty->vtimeTicks) {                       
   464fc:	9086           	subl %d6,%d0                                <== NOT EXECUTED
   464fe:	b0aa 0054      	cmpl %a2@(84),%d0                           <== NOT EXECUTED
   46502:	6200 fd2e      	bhiw 46232 <rtems_termios_read+0x78>        <== NOT EXECUTED
            break;                                                    
          }                                                           
        }                                                             
        rtems_task_wake_after (1);                                    
   46506:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   4650a:	2043           	moveal %d3,%a0                              <== NOT EXECUTED
   4650c:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   4650e:	588f           	addql #4,%sp                                <== NOT EXECUTED
   46510:	6000 ff5e      	braw 46470 <rtems_termios_read+0x2b6>       <== NOT EXECUTED
                                                                      

00044b58 <rtems_termios_refill_transmitter>: * in task-driven mode, this function is called in Tx task context * in interrupt-driven mode, this function is called in TxIRQ context */ static int rtems_termios_refill_transmitter (struct rtems_termios_tty *tty) {
   44b58:	4e56 fff4      	linkw %fp,#-12                              
   44b5c:	48d7 040c      	moveml %d2-%d3/%a2,%sp@                     
   44b60:	246e 0008      	moveal %fp@(8),%a2                          
  int nToSend;                                                        
  rtems_interrupt_level level;                                        
  int len;                                                            
                                                                      
  /* check for XOF/XON to send */                                     
  if ((tty->flow_ctrl & (FL_MDXOF | FL_IREQXOF | FL_ISNTXOF))         
   44b64:	202a 00b8      	movel %a2@(184),%d0                         
   44b68:	0280 0000 0403 	andil #1027,%d0                             
   44b6e:	0c80 0000 0401 	cmpil #1025,%d0                             
   44b74:	6700 0140      	beqw 44cb6 <rtems_termios_refill_transmitter+0x15e>
    tty->flow_ctrl |= FL_ISNTXOF;                                     
    rtems_interrupt_enable(level);                                    
                                                                      
    nToSend = 1;                                                      
                                                                      
  } else if ((tty->flow_ctrl & (FL_IREQXOF | FL_ISNTXOF)) == FL_ISNTXOF) {
   44b78:	202a 00b8      	movel %a2@(184),%d0                         
   44b7c:	7603           	moveq #3,%d3                                
   44b7e:	7202           	moveq #2,%d1                                
   44b80:	c083           	andl %d3,%d0                                
   44b82:	b280           	cmpl %d0,%d1                                
   44b84:	6700 0172      	beqw 44cf8 <rtems_termios_refill_transmitter+0x1a0>
    tty->flow_ctrl &= ~FL_ISNTXOF;                                    
    rtems_interrupt_enable(level);                                    
                                                                      
    nToSend = 1;                                                      
  } else {                                                            
    if ( tty->rawOutBuf.Head == tty->rawOutBuf.Tail ) {               
   44b88:	222a 0080      	movel %a2@(128),%d1                         
   44b8c:	202a 0084      	movel %a2@(132),%d0                         
   44b90:	b081           	cmpl %d1,%d0                                
   44b92:	6700 009a      	beqw 44c2e <rtems_termios_refill_transmitter+0xd6>
        rtems_semaphore_release (tty->rawOutBuf.Semaphore);           
      }                                                               
      return 0;                                                       
    }                                                                 
                                                                      
    rtems_interrupt_disable(level);                                   
   44b96:	203c 0000 0700 	movel #1792,%d0                             
   44b9c:	40c2           	movew %sr,%d2                               
   44b9e:	8082           	orl %d2,%d0                                 
   44ba0:	46c0           	movew %d0,%sr                               
    len = tty->t_dqlen;                                               
   44ba2:	222a 0090      	movel %a2@(144),%d1                         
    tty->t_dqlen = 0;                                                 
   44ba6:	42aa 0090      	clrl %a2@(144)                              
    rtems_interrupt_enable(level);                                    
   44baa:	46c2           	movew %d2,%sr                               
                                                                      
    newTail = (tty->rawOutBuf.Tail + len) % tty->rawOutBuf.Size;      
   44bac:	202a 0084      	movel %a2@(132),%d0                         
   44bb0:	d280           	addl %d0,%d1                                
   44bb2:	202a 0088      	movel %a2@(136),%d0                         
   44bb6:	4c40 1002      	remul %d0,%d2,%d1                           
    tty->rawOutBuf.Tail = newTail;                                    
    if (tty->rawOutBufState == rob_wait) {                            
   44bba:	7002           	moveq #2,%d0                                
    len = tty->t_dqlen;                                               
    tty->t_dqlen = 0;                                                 
    rtems_interrupt_enable(level);                                    
                                                                      
    newTail = (tty->rawOutBuf.Tail + len) % tty->rawOutBuf.Size;      
    tty->rawOutBuf.Tail = newTail;                                    
   44bbc:	2542 0084      	movel %d2,%a2@(132)                         
    if (tty->rawOutBufState == rob_wait) {                            
   44bc0:	b0aa 0094      	cmpl %a2@(148),%d0                          
   44bc4:	6700 00d8      	beqw 44c9e <rtems_termios_refill_transmitter+0x146>
       * wake up any pending writer task                              
       */                                                             
      rtems_semaphore_release (tty->rawOutBuf.Semaphore);             
    }                                                                 
                                                                      
    if (newTail == tty->rawOutBuf.Head) {                             
   44bc8:	202a 0080      	movel %a2@(128),%d0                         
   44bcc:	b480           	cmpl %d0,%d2                                
   44bce:	6776           	beqs 44c46 <rtems_termios_refill_transmitter+0xee>
      if ( tty->tty_snd.sw_pfn != NULL) {                             
        (*tty->tty_snd.sw_pfn)(&tty->termios, tty->tty_snd.sw_arg);   
      }                                                               
    }                                                                 
    /* check, whether output should stop due to received XOFF */      
    else if ((tty->flow_ctrl & (FL_MDXON | FL_ORCVXOF))               
   44bd0:	202a 00b8      	movel %a2@(184),%d0                         
   44bd4:	0280 0000 0210 	andil #528,%d0                              
   44bda:	0c80 0000 0210 	cmpil #528,%d0                              
   44be0:	6700 015a      	beqw 44d3c <rtems_termios_refill_transmitter+0x1e4>
      nToSend = 0;                                                    
    } else {                                                          
      /*                                                              
       * Buffer not empty, start tranmitter                           
       */                                                             
      if (newTail > tty->rawOutBuf.Head)                              
   44be4:	202a 0080      	movel %a2@(128),%d0                         
   44be8:	b082           	cmpl %d2,%d0                                
   44bea:	647c           	bccs 44c68 <rtems_termios_refill_transmitter+0x110>
        nToSend = tty->rawOutBuf.Size - newTail;                      
   44bec:	262a 0088      	movel %a2@(136),%d3                         
   44bf0:	9682           	subl %d2,%d3                                
      else                                                            
        nToSend = tty->rawOutBuf.Head - newTail;                      
      /* when flow control XON or XOF, don't send blocks of data     */
      /* to allow fast reaction on incoming flow ctrl and low latency*/
      /* for outgoing flow control                                   */
      if (tty->flow_ctrl & (FL_MDXON | FL_MDXOF)) {                   
   44bf2:	202a 00b8      	movel %a2@(184),%d0                         
   44bf6:	0280 0000 0600 	andil #1536,%d0                             
   44bfc:	667c           	bnes 44c7a <rtems_termios_refill_transmitter+0x122><== NEVER TAKEN
   44bfe:	2003           	movel %d3,%d0                               
        nToSend = 1;                                                  
      }                                                               
      tty->rawOutBufState = rob_busy; /*apm*/                         
   44c00:	7201           	moveq #1,%d1                                
      (*tty->device.write)(                                           
   44c02:	2f00           	movel %d0,%sp@-                             
   44c04:	202a 007c      	movel %a2@(124),%d0                         
   44c08:	d082           	addl %d2,%d0                                
   44c0a:	2f00           	movel %d0,%sp@-                             
   44c0c:	2f2a 0010      	movel %a2@(16),%sp@-                        
   44c10:	206a 00a4      	moveal %a2@(164),%a0                        
      /* to allow fast reaction on incoming flow ctrl and low latency*/
      /* for outgoing flow control                                   */
      if (tty->flow_ctrl & (FL_MDXON | FL_MDXOF)) {                   
        nToSend = 1;                                                  
      }                                                               
      tty->rawOutBufState = rob_busy; /*apm*/                         
   44c14:	2541 0094      	movel %d1,%a2@(148)                         
      (*tty->device.write)(                                           
   44c18:	4e90           	jsr %a0@                                    
   44c1a:	4fef 000c      	lea %sp@(12),%sp                            
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
   44c1e:	2542 0084      	movel %d2,%a2@(132)                         
  }                                                                   
  return nToSend;                                                     
}                                                                     
   44c22:	2003           	movel %d3,%d0                               
   44c24:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   44c2a:	4e5e           	unlk %fp                                    
   44c2c:	4e75           	rts                                         
  } else {                                                            
    if ( tty->rawOutBuf.Head == tty->rawOutBuf.Tail ) {               
      /*                                                              
       * buffer was empty                                             
       */                                                             
      if (tty->rawOutBufState == rob_wait) {                          
   44c2e:	7602           	moveq #2,%d3                                
   44c30:	b6aa 0094      	cmpl %a2@(148),%d3                          
   44c34:	6700 0130      	beqw 44d66 <rtems_termios_refill_transmitter+0x20e>
        /*                                                            
         * this should never happen...                                
         */                                                           
        rtems_semaphore_release (tty->rawOutBuf.Semaphore);           
      }                                                               
      return 0;                                                       
   44c38:	4283           	clrl %d3                                    
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
  }                                                                   
  return nToSend;                                                     
}                                                                     
   44c3a:	2003           	movel %d3,%d0                               
   44c3c:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                
   44c42:	4e5e           	unlk %fp                                    
   44c44:	4e75           	rts                                         
      nToSend = 0;                                                    
                                                                      
      /*                                                              
       * check to see if snd wakeup callback was set                  
       */                                                             
      if ( tty->tty_snd.sw_pfn != NULL) {                             
   44c46:	206a 00d4      	moveal %a2@(212),%a0                        
                                                                      
    if (newTail == tty->rawOutBuf.Head) {                             
      /*                                                              
       * Buffer has become empty                                      
       */                                                             
      tty->rawOutBufState = rob_idle;                                 
   44c4a:	42aa 0094      	clrl %a2@(148)                              
      nToSend = 0;                                                    
                                                                      
      /*                                                              
       * check to see if snd wakeup callback was set                  
       */                                                             
      if ( tty->tty_snd.sw_pfn != NULL) {                             
   44c4e:	4a88           	tstl %a0                                    
   44c50:	6700 012e      	beqw 44d80 <rtems_termios_refill_transmitter+0x228>
        (*tty->tty_snd.sw_pfn)(&tty->termios, tty->tty_snd.sw_arg);   
   44c54:	2f2a 00d8      	movel %a2@(216),%sp@-                       <== NOT EXECUTED
    if (newTail == tty->rawOutBuf.Head) {                             
      /*                                                              
       * Buffer has become empty                                      
       */                                                             
      tty->rawOutBufState = rob_idle;                                 
      nToSend = 0;                                                    
   44c58:	4283           	clrl %d3                                    <== NOT EXECUTED
                                                                      
      /*                                                              
       * check to see if snd wakeup callback was set                  
       */                                                             
      if ( tty->tty_snd.sw_pfn != NULL) {                             
        (*tty->tty_snd.sw_pfn)(&tty->termios, tty->tty_snd.sw_arg);   
   44c5a:	486a 0030      	pea %a2@(48)                                <== NOT EXECUTED
   44c5e:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   44c60:	508f           	addql #8,%sp                                <== NOT EXECUTED
      }                                                               
      tty->rawOutBufState = rob_busy; /*apm*/                         
      (*tty->device.write)(                                           
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
   44c62:	2542 0084      	movel %d2,%a2@(132)                         <== NOT EXECUTED
   44c66:	60ba           	bras 44c22 <rtems_termios_refill_transmitter+0xca><== NOT EXECUTED
       * Buffer not empty, start tranmitter                           
       */                                                             
      if (newTail > tty->rawOutBuf.Head)                              
        nToSend = tty->rawOutBuf.Size - newTail;                      
      else                                                            
        nToSend = tty->rawOutBuf.Head - newTail;                      
   44c68:	262a 0080      	movel %a2@(128),%d3                         
   44c6c:	9682           	subl %d2,%d3                                
      /* when flow control XON or XOF, don't send blocks of data     */
      /* to allow fast reaction on incoming flow ctrl and low latency*/
      /* for outgoing flow control                                   */
      if (tty->flow_ctrl & (FL_MDXON | FL_MDXOF)) {                   
   44c6e:	202a 00b8      	movel %a2@(184),%d0                         
   44c72:	0280 0000 0600 	andil #1536,%d0                             
   44c78:	6784           	beqs 44bfe <rtems_termios_refill_transmitter+0xa6>
   44c7a:	7001           	moveq #1,%d0                                
        nToSend = 1;                                                  
      }                                                               
      tty->rawOutBufState = rob_busy; /*apm*/                         
   44c7c:	7201           	moveq #1,%d1                                
        nToSend = tty->rawOutBuf.Head - newTail;                      
      /* when flow control XON or XOF, don't send blocks of data     */
      /* to allow fast reaction on incoming flow ctrl and low latency*/
      /* for outgoing flow control                                   */
      if (tty->flow_ctrl & (FL_MDXON | FL_MDXOF)) {                   
        nToSend = 1;                                                  
   44c7e:	7601           	moveq #1,%d3                                
      }                                                               
      tty->rawOutBufState = rob_busy; /*apm*/                         
      (*tty->device.write)(                                           
   44c80:	2f00           	movel %d0,%sp@-                             
   44c82:	202a 007c      	movel %a2@(124),%d0                         
   44c86:	d082           	addl %d2,%d0                                
   44c88:	2f00           	movel %d0,%sp@-                             
   44c8a:	2f2a 0010      	movel %a2@(16),%sp@-                        
   44c8e:	206a 00a4      	moveal %a2@(164),%a0                        
      /* to allow fast reaction on incoming flow ctrl and low latency*/
      /* for outgoing flow control                                   */
      if (tty->flow_ctrl & (FL_MDXON | FL_MDXOF)) {                   
        nToSend = 1;                                                  
      }                                                               
      tty->rawOutBufState = rob_busy; /*apm*/                         
   44c92:	2541 0094      	movel %d1,%a2@(148)                         
      (*tty->device.write)(                                           
   44c96:	4e90           	jsr %a0@                                    
   44c98:	4fef 000c      	lea %sp@(12),%sp                            
   44c9c:	6080           	bras 44c1e <rtems_termios_refill_transmitter+0xc6>
    tty->rawOutBuf.Tail = newTail;                                    
    if (tty->rawOutBufState == rob_wait) {                            
      /*                                                              
       * wake up any pending writer task                              
       */                                                             
      rtems_semaphore_release (tty->rawOutBuf.Semaphore);             
   44c9e:	2f2a 008c      	movel %a2@(140),%sp@-                       
   44ca2:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
    }                                                                 
                                                                      
    if (newTail == tty->rawOutBuf.Head) {                             
   44ca8:	202a 0080      	movel %a2@(128),%d0                         
    tty->rawOutBuf.Tail = newTail;                                    
    if (tty->rawOutBufState == rob_wait) {                            
      /*                                                              
       * wake up any pending writer task                              
       */                                                             
      rtems_semaphore_release (tty->rawOutBuf.Semaphore);             
   44cac:	588f           	addql #4,%sp                                
    }                                                                 
                                                                      
    if (newTail == tty->rawOutBuf.Head) {                             
   44cae:	b480           	cmpl %d0,%d2                                
   44cb0:	6600 ff1e      	bnew 44bd0 <rtems_termios_refill_transmitter+0x78>
   44cb4:	6090           	bras 44c46 <rtems_termios_refill_transmitter+0xee>
                                                                      
  /* check for XOF/XON to send */                                     
  if ((tty->flow_ctrl & (FL_MDXOF | FL_IREQXOF | FL_ISNTXOF))         
      == (FL_MDXOF | FL_IREQXOF)) {                                   
    /* XOFF should be sent now... */                                  
    (*tty->device.write)(tty->minor, (void *)&(tty->termios.c_cc[VSTOP]), 1);
   44cb6:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   44cba:	486a 004a      	pea %a2@(74)                                <== NOT EXECUTED
   44cbe:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   44cc2:	206a 00a4      	moveal %a2@(164),%a0                        <== NOT EXECUTED
   44cc6:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                                                      
    rtems_interrupt_disable(level);                                   
   44cc8:	203c 0000 0700 	movel #1792,%d0                             <== NOT EXECUTED
   44cce:	40c1           	movew %sr,%d1                               <== NOT EXECUTED
   44cd0:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   44cd2:	46c0           	movew %d0,%sr                               <== NOT EXECUTED
    tty->t_dqlen--;                                                   
    tty->flow_ctrl |= FL_ISNTXOF;                                     
   44cd4:	7402           	moveq #2,%d2                                <== NOT EXECUTED
      == (FL_MDXOF | FL_IREQXOF)) {                                   
    /* XOFF should be sent now... */                                  
    (*tty->device.write)(tty->minor, (void *)&(tty->termios.c_cc[VSTOP]), 1);
                                                                      
    rtems_interrupt_disable(level);                                   
    tty->t_dqlen--;                                                   
   44cd6:	53aa 0090      	subql #1,%a2@(144)                          <== NOT EXECUTED
    tty->flow_ctrl |= FL_ISNTXOF;                                     
   44cda:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   44cde:	8082           	orl %d2,%d0                                 <== NOT EXECUTED
   44ce0:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
    rtems_interrupt_enable(level);                                    
   44ce4:	46c1           	movew %d1,%sr                               <== NOT EXECUTED
                                                                      
    nToSend = 1;                                                      
   44ce6:	7601           	moveq #1,%d3                                <== NOT EXECUTED
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
  }                                                                   
  return nToSend;                                                     
}                                                                     
   44ce8:	2003           	movel %d3,%d0                               <== NOT EXECUTED
    (*tty->device.write)(tty->minor, (void *)&(tty->termios.c_cc[VSTOP]), 1);
                                                                      
    rtems_interrupt_disable(level);                                   
    tty->t_dqlen--;                                                   
    tty->flow_ctrl |= FL_ISNTXOF;                                     
    rtems_interrupt_enable(level);                                    
   44cea:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
  }                                                                   
  return nToSend;                                                     
}                                                                     
   44cee:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   44cf4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44cf6:	4e75           	rts                                         <== NOT EXECUTED
     * FIXME: this .write call will generate another                  
     * dequeue callback. This will advance the "Tail" in the data     
     * buffer, although the corresponding data is not yet out!        
     * Therefore the dequeue "length" should be reduced by 1          
     */                                                               
    (*tty->device.write)(tty->minor, (void *)&(tty->termios.c_cc[VSTART]), 1);
   44cf8:	4878 0001      	pea 1 <ADD>                                 <== NOT EXECUTED
   44cfc:	486a 0049      	pea %a2@(73)                                <== NOT EXECUTED
   44d00:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   44d04:	206a 00a4      	moveal %a2@(164),%a0                        <== NOT EXECUTED
   44d08:	4e90           	jsr %a0@                                    <== NOT EXECUTED
                                                                      
    rtems_interrupt_disable(level);                                   
   44d0a:	203c 0000 0700 	movel #1792,%d0                             <== NOT EXECUTED
   44d10:	40c1           	movew %sr,%d1                               <== NOT EXECUTED
   44d12:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   44d14:	46c0           	movew %d0,%sr                               <== NOT EXECUTED
    tty->t_dqlen--;                                                   
    tty->flow_ctrl &= ~FL_ISNTXOF;                                    
   44d16:	74fd           	moveq #-3,%d2                               <== NOT EXECUTED
     * Therefore the dequeue "length" should be reduced by 1          
     */                                                               
    (*tty->device.write)(tty->minor, (void *)&(tty->termios.c_cc[VSTART]), 1);
                                                                      
    rtems_interrupt_disable(level);                                   
    tty->t_dqlen--;                                                   
   44d18:	53aa 0090      	subql #1,%a2@(144)                          <== NOT EXECUTED
    tty->flow_ctrl &= ~FL_ISNTXOF;                                    
   44d1c:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   44d20:	c082           	andl %d2,%d0                                <== NOT EXECUTED
   44d22:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
    rtems_interrupt_enable(level);                                    
   44d26:	46c1           	movew %d1,%sr                               <== NOT EXECUTED
                                                                      
    nToSend = 1;                                                      
   44d28:	163c 0001      	moveb #1,%d3                                <== NOT EXECUTED
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
  }                                                                   
  return nToSend;                                                     
}                                                                     
   44d2c:	2003           	movel %d3,%d0                               <== NOT EXECUTED
    (*tty->device.write)(tty->minor, (void *)&(tty->termios.c_cc[VSTART]), 1);
                                                                      
    rtems_interrupt_disable(level);                                   
    tty->t_dqlen--;                                                   
    tty->flow_ctrl &= ~FL_ISNTXOF;                                    
    rtems_interrupt_enable(level);                                    
   44d2e:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
  }                                                                   
  return nToSend;                                                     
}                                                                     
   44d32:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   44d38:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44d3a:	4e75           	rts                                         <== NOT EXECUTED
    /* check, whether output should stop due to received XOFF */      
    else if ((tty->flow_ctrl & (FL_MDXON | FL_ORCVXOF))               
       ==                (FL_MDXON | FL_ORCVXOF)) {                   
      /* Buffer not empty, but output stops due to XOFF */            
      /* set flag, that output has been stopped */                    
      rtems_interrupt_disable(level);                                 
   44d3c:	303c 0700      	movew #1792,%d0                             <== NOT EXECUTED
   44d40:	40c1           	movew %sr,%d1                               <== NOT EXECUTED
   44d42:	8081           	orl %d1,%d0                                 <== NOT EXECUTED
   44d44:	46c0           	movew %d0,%sr                               <== NOT EXECUTED
      tty->flow_ctrl |= FL_OSTOP;                                     
   44d46:	202a 00b8      	movel %a2@(184),%d0                         <== NOT EXECUTED
   44d4a:	7620           	moveq #32,%d3                               <== NOT EXECUTED
   44d4c:	8083           	orl %d3,%d0                                 <== NOT EXECUTED
      tty->rawOutBufState = rob_busy; /*apm*/                         
   44d4e:	163c 0001      	moveb #1,%d3                                <== NOT EXECUTED
    else if ((tty->flow_ctrl & (FL_MDXON | FL_ORCVXOF))               
       ==                (FL_MDXON | FL_ORCVXOF)) {                   
      /* Buffer not empty, but output stops due to XOFF */            
      /* set flag, that output has been stopped */                    
      rtems_interrupt_disable(level);                                 
      tty->flow_ctrl |= FL_OSTOP;                                     
   44d52:	2540 00b8      	movel %d0,%a2@(184)                         <== NOT EXECUTED
      tty->rawOutBufState = rob_busy; /*apm*/                         
   44d56:	2543 0094      	movel %d3,%a2@(148)                         <== NOT EXECUTED
      rtems_interrupt_enable(level);                                  
   44d5a:	46c1           	movew %d1,%sr                               <== NOT EXECUTED
      }                                                               
      tty->rawOutBufState = rob_busy; /*apm*/                         
      (*tty->device.write)(                                           
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
   44d5c:	2542 0084      	movel %d2,%a2@(132)                         <== NOT EXECUTED
      /* set flag, that output has been stopped */                    
      rtems_interrupt_disable(level);                                 
      tty->flow_ctrl |= FL_OSTOP;                                     
      tty->rawOutBufState = rob_busy; /*apm*/                         
      rtems_interrupt_enable(level);                                  
      nToSend = 0;                                                    
   44d60:	4203           	clrb %d3                                    <== NOT EXECUTED
   44d62:	6000 febe      	braw 44c22 <rtems_termios_refill_transmitter+0xca><== NOT EXECUTED
       */                                                             
      if (tty->rawOutBufState == rob_wait) {                          
        /*                                                            
         * this should never happen...                                
         */                                                           
        rtems_semaphore_release (tty->rawOutBuf.Semaphore);           
   44d66:	2f2a 008c      	movel %a2@(140),%sp@-                       <== NOT EXECUTED
      }                                                               
      return 0;                                                       
   44d6a:	4203           	clrb %d3                                    <== NOT EXECUTED
       */                                                             
      if (tty->rawOutBufState == rob_wait) {                          
        /*                                                            
         * this should never happen...                                
         */                                                           
        rtems_semaphore_release (tty->rawOutBuf.Semaphore);           
   44d6c:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         <== NOT EXECUTED
   44d72:	588f           	addql #4,%sp                                <== NOT EXECUTED
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
  }                                                                   
  return nToSend;                                                     
}                                                                     
   44d74:	2003           	movel %d3,%d0                               <== NOT EXECUTED
   44d76:	4cee 040c fff4 	moveml %fp@(-12),%d2-%d3/%a2                <== NOT EXECUTED
   44d7c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   44d7e:	4e75           	rts                                         <== NOT EXECUTED
      }                                                               
      tty->rawOutBufState = rob_busy; /*apm*/                         
      (*tty->device.write)(                                           
        tty->minor, &tty->rawOutBuf.theBuf[newTail], nToSend);        
    }                                                                 
    tty->rawOutBuf.Tail = newTail; /*apm*/                            
   44d80:	2542 0084      	movel %d2,%a2@(132)                         
    if (newTail == tty->rawOutBuf.Head) {                             
      /*                                                              
       * Buffer has become empty                                      
       */                                                             
      tty->rawOutBufState = rob_idle;                                 
      nToSend = 0;                                                    
   44d84:	4283           	clrl %d3                                    
   44d86:	6000 fe9a      	braw 44c22 <rtems_termios_refill_transmitter+0xca>
                                                                      

000467fa <rtems_termios_rxdaemon>: /* * this task actually processes any receive events */ static rtems_task rtems_termios_rxdaemon(rtems_task_argument argument) {
   467fa:	4e56 ffe0      	linkw %fp,#-32                              
   467fe:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 
   46802:	240e           	movel %fp,%d2                               
   46804:	260e           	movel %fp,%d3                               
   46806:	5982           	subql #4,%d2                                
   46808:	47f9 0004 6db0 	lea 46db0 <rtems_event_receive>,%a3         
   4680e:	49f9 0004 7824 	lea 47824 <rtems_task_delete>,%a4           
   46814:	5b83           	subql #5,%d3                                
   46816:	4bf9 0004 6530 	lea 46530 <rtems_termios_enqueue_raw_characters>,%a5
   4681c:	246e 0008      	moveal %fp@(8),%a2                          
                                                                      
  while (1) {                                                         
    /*                                                                
     * wait for rtems event                                           
     */                                                               
    rtems_event_receive(                                              
   46820:	2f02           	movel %d2,%sp@-                             
   46822:	42a7           	clrl %sp@-                                  
   46824:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   46828:	4878 0003      	pea 3 <DIVIDE>                              
   4682c:	4e93           	jsr %a3@                                    
      (TERMIOS_RX_PROC_EVENT | TERMIOS_RX_TERMINATE_EVENT),           
      RTEMS_EVENT_ANY | RTEMS_WAIT,                                   
      RTEMS_NO_TIMEOUT,                                               
      &the_event                                                      
    );                                                                
    if ((the_event & TERMIOS_RX_TERMINATE_EVENT) != 0) {              
   4682e:	4fef 0010      	lea %sp@(16),%sp                            
   46832:	7001           	moveq #1,%d0                                
   46834:	c0ae fffc      	andl %fp@(-4),%d0                           
   46838:	663e           	bnes 46878 <rtems_termios_rxdaemon+0x7e>    <== NEVER TAKEN
    }                                                                 
                                                                      
    /*                                                                
     * do something                                                   
     */                                                               
    c = tty->device.pollRead(tty->minor);                             
   4683a:	2f2a 0010      	movel %a2@(16),%sp@-                        
   4683e:	206a 00a0      	moveal %a2@(160),%a0                        
   46842:	4e90           	jsr %a0@                                    
    if (c != EOF) {                                                   
   46844:	588f           	addql #4,%sp                                
   46846:	72ff           	moveq #-1,%d1                               
   46848:	b280           	cmpl %d0,%d1                                
   4684a:	67d4           	beqs 46820 <rtems_termios_rxdaemon+0x26>    
      /*                                                              
       * pollRead did call enqueue on its own                         
       */                                                             
      c_buf = c;                                                      
      rtems_termios_enqueue_raw_characters ( tty,&c_buf,1);           
   4684c:	4878 0001      	pea 1 <ADD>                                 
    c = tty->device.pollRead(tty->minor);                             
    if (c != EOF) {                                                   
      /*                                                              
       * pollRead did call enqueue on its own                         
       */                                                             
      c_buf = c;                                                      
   46850:	1d40 fffb      	moveb %d0,%fp@(-5)                          
      rtems_termios_enqueue_raw_characters ( tty,&c_buf,1);           
   46854:	2f03           	movel %d3,%sp@-                             
   46856:	2f0a           	movel %a2,%sp@-                             
   46858:	4e95           	jsr %a5@                                    
   4685a:	4fef 000c      	lea %sp@(12),%sp                            
                                                                      
  while (1) {                                                         
    /*                                                                
     * wait for rtems event                                           
     */                                                               
    rtems_event_receive(                                              
   4685e:	2f02           	movel %d2,%sp@-                             
   46860:	42a7           	clrl %sp@-                                  
   46862:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   46866:	4878 0003      	pea 3 <DIVIDE>                              
   4686a:	4e93           	jsr %a3@                                    
      (TERMIOS_RX_PROC_EVENT | TERMIOS_RX_TERMINATE_EVENT),           
      RTEMS_EVENT_ANY | RTEMS_WAIT,                                   
      RTEMS_NO_TIMEOUT,                                               
      &the_event                                                      
    );                                                                
    if ((the_event & TERMIOS_RX_TERMINATE_EVENT) != 0) {              
   4686c:	4fef 0010      	lea %sp@(16),%sp                            
   46870:	7001           	moveq #1,%d0                                
   46872:	c0ae fffc      	andl %fp@(-4),%d0                           
   46876:	67c2           	beqs 4683a <rtems_termios_rxdaemon+0x40>    <== ALWAYS TAKEN
      tty->rxTaskId = 0;                                              
   46878:	42aa 00c4      	clrl %a2@(196)                              <== NOT EXECUTED
      rtems_task_delete(RTEMS_SELF);                                  
   4687c:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   4687e:	4e94           	jsr %a4@                                    <== NOT EXECUTED
   46880:	588f           	addql #4,%sp                                <== NOT EXECUTED
    }                                                                 
                                                                      
    /*                                                                
     * do something                                                   
     */                                                               
    c = tty->device.pollRead(tty->minor);                             
   46882:	2f2a 0010      	movel %a2@(16),%sp@-                        <== NOT EXECUTED
   46886:	206a 00a0      	moveal %a2@(160),%a0                        <== NOT EXECUTED
   4688a:	4e90           	jsr %a0@                                    <== NOT EXECUTED
    if (c != EOF) {                                                   
   4688c:	588f           	addql #4,%sp                                <== NOT EXECUTED
   4688e:	72ff           	moveq #-1,%d1                               <== NOT EXECUTED
   46890:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   46892:	678c           	beqs 46820 <rtems_termios_rxdaemon+0x26>    <== NOT EXECUTED
   46894:	60b6           	bras 4684c <rtems_termios_rxdaemon+0x52>    <== NOT EXECUTED
                                                                      

00044d8a <rtems_termios_txdaemon>: /* * this task actually processes any transmit events */ static rtems_task rtems_termios_txdaemon(rtems_task_argument argument) {
   44d8a:	4e56 ffe8      	linkw %fp,#-24                              
   44d8e:	48d7 3c04      	moveml %d2/%a2-%a5,%sp@                     
   44d92:	240e           	movel %fp,%d2                               
   44d94:	5982           	subql #4,%d2                                
   44d96:	49f9 0004 6db0 	lea 46db0 <rtems_event_receive>,%a4         
   44d9c:	4bf9 0004 7824 	lea 47824 <rtems_task_delete>,%a5           
   44da2:	47fa fdb4      	lea %pc@(44b58 <rtems_termios_refill_transmitter>),%a3
                                                                      
  while (1) {                                                         
    /*                                                                
     * wait for rtems event                                           
     */                                                               
    rtems_event_receive(                                              
   44da6:	2f02           	movel %d2,%sp@-                             
                                                                      
/*                                                                    
 * this task actually processes any transmit events                   
 */                                                                   
static rtems_task rtems_termios_txdaemon(rtems_task_argument argument)
{                                                                     
   44da8:	246e 0008      	moveal %fp@(8),%a2                          
                                                                      
  while (1) {                                                         
    /*                                                                
     * wait for rtems event                                           
     */                                                               
    rtems_event_receive(                                              
   44dac:	42a7           	clrl %sp@-                                  
   44dae:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   44db2:	4878 0003      	pea 3 <DIVIDE>                              
   44db6:	4e94           	jsr %a4@                                    
       (TERMIOS_TX_START_EVENT | TERMIOS_TX_TERMINATE_EVENT),         
       RTEMS_EVENT_ANY | RTEMS_WAIT,                                  
       RTEMS_NO_TIMEOUT,                                              
       &the_event                                                     
    );                                                                
    if ((the_event & TERMIOS_TX_TERMINATE_EVENT) != 0) {              
   44db8:	4fef 0010      	lea %sp@(16),%sp                            
   44dbc:	7001           	moveq #1,%d0                                
   44dbe:	c0ae fffc      	andl %fp@(-4),%d0                           
   44dc2:	663a           	bnes 44dfe <rtems_termios_txdaemon+0x74>    <== NEVER TAKEN
    }                                                                 
                                                                      
    /*                                                                
     * call any line discipline start function                        
     */                                                               
    if (rtems_termios_linesw[tty->t_line].l_start != NULL) {          
   44dc4:	202a 00cc      	movel %a2@(204),%d0                         
   44dc8:	eb88           	lsll #5,%d0                                 
   44dca:	0680 0005 f110 	addil #389392,%d0                           
   44dd0:	2240           	moveal %d0,%a1                              
   44dd2:	2051           	moveal %a1@,%a0                             
   44dd4:	4a88           	tstl %a0                                    
   44dd6:	6706           	beqs 44dde <rtems_termios_txdaemon+0x54>    <== ALWAYS TAKEN
      rtems_termios_linesw[tty->t_line].l_start(tty);                 
   44dd8:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   44dda:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   44ddc:	588f           	addql #4,%sp                                <== NOT EXECUTED
    }                                                                 
                                                                      
    /*                                                                
     * try to push further characters to device                       
     */                                                               
    rtems_termios_refill_transmitter(tty);                            
   44dde:	2f0a           	movel %a2,%sp@-                             
   44de0:	4e93           	jsr %a3@                                    
  }                                                                   
   44de2:	588f           	addql #4,%sp                                
                                                                      
  while (1) {                                                         
    /*                                                                
     * wait for rtems event                                           
     */                                                               
    rtems_event_receive(                                              
   44de4:	2f02           	movel %d2,%sp@-                             
   44de6:	42a7           	clrl %sp@-                                  
   44de8:	4878 0002      	pea 2 <DOUBLE_FLOAT>                        
   44dec:	4878 0003      	pea 3 <DIVIDE>                              
   44df0:	4e94           	jsr %a4@                                    
       (TERMIOS_TX_START_EVENT | TERMIOS_TX_TERMINATE_EVENT),         
       RTEMS_EVENT_ANY | RTEMS_WAIT,                                  
       RTEMS_NO_TIMEOUT,                                              
       &the_event                                                     
    );                                                                
    if ((the_event & TERMIOS_TX_TERMINATE_EVENT) != 0) {              
   44df2:	4fef 0010      	lea %sp@(16),%sp                            
   44df6:	7001           	moveq #1,%d0                                
   44df8:	c0ae fffc      	andl %fp@(-4),%d0                           
   44dfc:	67c6           	beqs 44dc4 <rtems_termios_txdaemon+0x3a>    <== ALWAYS TAKEN
      tty->txTaskId = 0;                                              
   44dfe:	42aa 00c8      	clrl %a2@(200)                              <== NOT EXECUTED
      rtems_task_delete(RTEMS_SELF);                                  
   44e02:	42a7           	clrl %sp@-                                  <== NOT EXECUTED
   44e04:	4e95           	jsr %a5@                                    <== NOT EXECUTED
   44e06:	588f           	addql #4,%sp                                <== NOT EXECUTED
   44e08:	60ba           	bras 44dc4 <rtems_termios_txdaemon+0x3a>    <== NOT EXECUTED
                                                                      

000460e4 <rtems_termios_write>: rtems_termios_puts (&c, 1, tty); } rtems_status_code rtems_termios_write (void *arg) {
   460e4:	4e56 ffe8      	linkw %fp,#-24                              
   460e8:	48d7 3c0c      	moveml %d2-%d3/%a2-%a5,%sp@                 
   460ec:	286e 0008      	moveal %fp@(8),%a4                          
  rtems_libio_rw_args_t *args = arg;                                  
  struct rtems_termios_tty *tty = args->iop->data1;                   
   460f0:	2054           	moveal %a4@,%a0                             
   460f2:	2468 002c      	moveal %a0@(44),%a2                         
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   460f6:	42a7           	clrl %sp@-                                  
   460f8:	42a7           	clrl %sp@-                                  
   460fa:	2f2a 0018      	movel %a2@(24),%sp@-                        
   460fe:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
  if (sc != RTEMS_SUCCESSFUL)                                         
   46104:	4fef 000c      	lea %sp@(12),%sp                            
{                                                                     
  rtems_libio_rw_args_t *args = arg;                                  
  struct rtems_termios_tty *tty = args->iop->data1;                   
  rtems_status_code sc;                                               
                                                                      
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
   46108:	2600           	movel %d0,%d3                               
  if (sc != RTEMS_SUCCESSFUL)                                         
   4610a:	662a           	bnes 46136 <rtems_termios_write+0x52>       <== NEVER TAKEN
    return sc;                                                        
  if (rtems_termios_linesw[tty->t_line].l_write != NULL) {            
   4610c:	222a 00cc      	movel %a2@(204),%d1                         
   46110:	eb89           	lsll #5,%d1                                 
   46112:	0681 0005 f108 	addil #389384,%d1                           
   46118:	2241           	moveal %d1,%a1                              
   4611a:	2051           	moveal %a1@,%a0                             
   4611c:	4a88           	tstl %a0                                    
   4611e:	6722           	beqs 46142 <rtems_termios_write+0x5e>       
    sc = rtems_termios_linesw[tty->t_line].l_write(tty,args);         
   46120:	2f0c           	movel %a4,%sp@-                             
   46122:	2f0a           	movel %a2,%sp@-                             
   46124:	4e90           	jsr %a0@                                    
    rtems_semaphore_release (tty->osem);                              
   46126:	2f2a 0018      	movel %a2@(24),%sp@-                        
                                                                      
  sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
  if (sc != RTEMS_SUCCESSFUL)                                         
    return sc;                                                        
  if (rtems_termios_linesw[tty->t_line].l_write != NULL) {            
    sc = rtems_termios_linesw[tty->t_line].l_write(tty,args);         
   4612a:	2600           	movel %d0,%d3                               
    rtems_semaphore_release (tty->osem);                              
   4612c:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
    return sc;                                                        
   46132:	4fef 000c      	lea %sp@(12),%sp                            
    rtems_termios_puts (args->buffer, args->count, tty);              
    args->bytes_moved = args->count;                                  
  }                                                                   
  rtems_semaphore_release (tty->osem);                                
  return sc;                                                          
}                                                                     
   46136:	2003           	movel %d3,%d0                               
   46138:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   4613e:	4e5e           	unlk %fp                                    
   46140:	4e75           	rts                                         
  if (rtems_termios_linesw[tty->t_line].l_write != NULL) {            
    sc = rtems_termios_linesw[tty->t_line].l_write(tty,args);         
    rtems_semaphore_release (tty->osem);                              
    return sc;                                                        
  }                                                                   
  if (tty->termios.c_oflag & OPOST) {                                 
   46142:	7001           	moveq #1,%d0                                
   46144:	c0aa 0034      	andl %a2@(52),%d0                           
   46148:	6740           	beqs 4618a <rtems_termios_write+0xa6>       <== NEVER TAKEN
    uint32_t   count = args->count;                                   
   4614a:	242c 0010      	movel %a4@(16),%d2                          
    char      *buffer = args->buffer;                                 
   4614e:	266c 000c      	moveal %a4@(12),%a3                         
    while (count--)                                                   
   46152:	675e           	beqs 461b2 <rtems_termios_write+0xce>       <== NEVER TAKEN
   46154:	4bfa f902      	lea %pc@(45a58 <oproc>),%a5                 
      oproc (*buffer++, tty);                                         
   46158:	4281           	clrl %d1                                    
   4615a:	121b           	moveb %a3@+,%d1                             
   4615c:	5382           	subql #1,%d2                                
   4615e:	2f0a           	movel %a2,%sp@-                             
   46160:	2f01           	movel %d1,%sp@-                             
   46162:	4e95           	jsr %a5@                                    
    return sc;                                                        
  }                                                                   
  if (tty->termios.c_oflag & OPOST) {                                 
    uint32_t   count = args->count;                                   
    char      *buffer = args->buffer;                                 
    while (count--)                                                   
   46164:	508f           	addql #8,%sp                                
   46166:	4a82           	tstl %d2                                    
   46168:	66ee           	bnes 46158 <rtems_termios_write+0x74>       
   4616a:	202c 0010      	movel %a4@(16),%d0                          
      oproc (*buffer++, tty);                                         
    args->bytes_moved = args->count;                                  
   4616e:	2940 0018      	movel %d0,%a4@(24)                          
  } else {                                                            
    rtems_termios_puts (args->buffer, args->count, tty);              
    args->bytes_moved = args->count;                                  
  }                                                                   
  rtems_semaphore_release (tty->osem);                                
   46172:	2f2a 0018      	movel %a2@(24),%sp@-                        
   46176:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  return sc;                                                          
   4617c:	588f           	addql #4,%sp                                
}                                                                     
   4617e:	2003           	movel %d3,%d0                               
   46180:	4cee 3c0c ffe8 	moveml %fp@(-24),%d2-%d3/%a2-%a5            
   46186:	4e5e           	unlk %fp                                    
   46188:	4e75           	rts                                         
    char      *buffer = args->buffer;                                 
    while (count--)                                                   
      oproc (*buffer++, tty);                                         
    args->bytes_moved = args->count;                                  
  } else {                                                            
    rtems_termios_puts (args->buffer, args->count, tty);              
   4618a:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   4618c:	2f2c 0010      	movel %a4@(16),%sp@-                        <== NOT EXECUTED
   46190:	2f2c 000c      	movel %a4@(12),%sp@-                        <== NOT EXECUTED
   46194:	4eb9 0004 5954 	jsr 45954 <rtems_termios_puts>              <== NOT EXECUTED
    args->bytes_moved = args->count;                                  
   4619a:	296c 0010 0018 	movel %a4@(16),%a4@(24)                     <== NOT EXECUTED
   461a0:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
  }                                                                   
  rtems_semaphore_release (tty->osem);                                
   461a4:	2f2a 0018      	movel %a2@(24),%sp@-                        <== NOT EXECUTED
   461a8:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         <== NOT EXECUTED
  return sc;                                                          
   461ae:	588f           	addql #4,%sp                                <== NOT EXECUTED
   461b0:	60cc           	bras 4617e <rtems_termios_write+0x9a>       <== NOT EXECUTED
    return sc;                                                        
  }                                                                   
  if (tty->termios.c_oflag & OPOST) {                                 
    uint32_t   count = args->count;                                   
    char      *buffer = args->buffer;                                 
    while (count--)                                                   
   461b2:	4280           	clrl %d0                                    <== NOT EXECUTED
      oproc (*buffer++, tty);                                         
    args->bytes_moved = args->count;                                  
   461b4:	2940 0018      	movel %d0,%a4@(24)                          <== NOT EXECUTED
   461b8:	60b8           	bras 46172 <rtems_termios_write+0x8e>       <== NOT EXECUTED
                                                                      

000573b8 <rtems_timer_cancel>: */ rtems_status_code rtems_timer_cancel( rtems_id id ) {
   573b8:	4e56 fffc      	linkw %fp,#-4                               
RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get (                      
  Objects_Id         id,                                              
  Objects_Locations *location                                         
)                                                                     
{                                                                     
  return (Timer_Control *)                                            
   573bc:	486e fffc      	pea %fp@(-4)                                
   573c0:	2f2e 0008      	movel %fp@(8),%sp@-                         
   573c4:	4879 0007 c4fc 	pea 7c4fc <_Timer_Information>              
   573ca:	4eb9 0005 a480 	jsr 5a480 <_Objects_Get>                    
  Timer_Control   *the_timer;                                         
  Objects_Locations       location;                                   
                                                                      
  the_timer = _Timer_Get( id, &location );                            
  switch ( location ) {                                               
   573d0:	4fef 000c      	lea %sp@(12),%sp                            
   573d4:	4aae fffc      	tstl %fp@(-4)                               
   573d8:	6622           	bnes 573fc <rtems_timer_cancel+0x44>        
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( !_Timer_Is_dormant_class( the_timer->the_class ) )         
   573da:	7204           	moveq #4,%d1                                
   573dc:	2040           	moveal %d0,%a0                              
   573de:	b2a8 0038      	cmpl %a0@(56),%d1                           
   573e2:	670c           	beqs 573f0 <rtems_timer_cancel+0x38>        <== NEVER TAKEN
        (void) _Watchdog_Remove( &the_timer->Ticker );                
   573e4:	4868 0010      	pea %a0@(16)                                
   573e8:	4eb9 0005 c128 	jsr 5c128 <_Watchdog_Remove>                
   573ee:	588f           	addql #4,%sp                                
      _Thread_Enable_dispatch();                                      
   573f0:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
      return RTEMS_SUCCESSFUL;                                        
   573f6:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   573f8:	4e5e           	unlk %fp                                    
   573fa:	4e75           	rts                                         
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   573fc:	7004           	moveq #4,%d0                                
}                                                                     
   573fe:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

000577b4 <rtems_timer_reset>: */ rtems_status_code rtems_timer_reset( rtems_id id ) {
   577b4:	4e56 fff0      	linkw %fp,#-16                              
   577b8:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
   577bc:	486e fffc      	pea %fp@(-4)                                
   577c0:	2f2e 0008      	movel %fp@(8),%sp@-                         
   577c4:	4879 0007 c4fc 	pea 7c4fc <_Timer_Information>              
   577ca:	4eb9 0005 a480 	jsr 5a480 <_Objects_Get>                    
  Timer_Control     *the_timer;                                       
  Objects_Locations  location;                                        
  rtems_status_code  status = RTEMS_SUCCESSFUL;                       
                                                                      
  the_timer = _Timer_Get( id, &location );                            
  switch ( location ) {                                               
   577d0:	4fef 000c      	lea %sp@(12),%sp                            
   577d4:	2440           	moveal %d0,%a2                              
   577d6:	4aae fffc      	tstl %fp@(-4)                               
   577da:	6620           	bnes 577fc <rtems_timer_reset+0x48>         
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( the_timer->the_class == TIMER_INTERVAL ) {                 
   577dc:	202a 0038      	movel %a2@(56),%d0                          
   577e0:	6728           	beqs 5780a <rtems_timer_reset+0x56>         
        _Watchdog_Remove( &the_timer->Ticker );                       
        _Watchdog_Insert( &_Watchdog_Ticks_chain, &the_timer->Ticker );
      } else if ( the_timer->the_class == TIMER_INTERVAL_ON_TASK ) {  
   577e2:	7201           	moveq #1,%d1                                
   577e4:	b280           	cmpl %d0,%d1                                
   577e6:	674a           	beqs 57832 <rtems_timer_reset+0x7e>         
        /*                                                            
         *  Must be dormant or time of day timer (e.g. TIMER_DORMANT, 
         *  TIMER_TIME_OF_DAY, or TIMER_TIME_OF_DAY_ON_TASK).  We     
         *  can only reset active interval timers.                    
         */                                                           
        status = RTEMS_NOT_DEFINED;                                   
   577e8:	740b           	moveq #11,%d2                               
      }                                                               
      _Thread_Enable_dispatch();                                      
   577ea:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   577f0:	2002           	movel %d2,%d0                               
   577f2:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   577f8:	4e5e           	unlk %fp                                    
   577fa:	4e75           	rts                                         
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   577fc:	7404           	moveq #4,%d2                                
}                                                                     
   577fe:	2002           	movel %d2,%d0                               
   57800:	4cee 0c04 fff0 	moveml %fp@(-16),%d2/%a2-%a3                
   57806:	4e5e           	unlk %fp                                    
   57808:	4e75           	rts                                         
  the_timer = _Timer_Get( id, &location );                            
  switch ( location ) {                                               
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( the_timer->the_class == TIMER_INTERVAL ) {                 
        _Watchdog_Remove( &the_timer->Ticker );                       
   5780a:	45ea 0010      	lea %a2@(16),%a2                            
  rtems_id id                                                         
)                                                                     
{                                                                     
  Timer_Control     *the_timer;                                       
  Objects_Locations  location;                                        
  rtems_status_code  status = RTEMS_SUCCESSFUL;                       
   5780e:	4282           	clrl %d2                                    
  the_timer = _Timer_Get( id, &location );                            
  switch ( location ) {                                               
                                                                      
    case OBJECTS_LOCAL:                                               
      if ( the_timer->the_class == TIMER_INTERVAL ) {                 
        _Watchdog_Remove( &the_timer->Ticker );                       
   57810:	2f0a           	movel %a2,%sp@-                             
   57812:	4eb9 0005 c128 	jsr 5c128 <_Watchdog_Remove>                
        _Watchdog_Insert( &_Watchdog_Ticks_chain, &the_timer->Ticker );
   57818:	2f0a           	movel %a2,%sp@-                             
   5781a:	4879 0007 c39e 	pea 7c39e <_Watchdog_Ticks_chain>           
   57820:	4eb9 0005 bff8 	jsr 5bff8 <_Watchdog_Insert>                
   57826:	4fef 000c      	lea %sp@(12),%sp                            
         *  TIMER_TIME_OF_DAY, or TIMER_TIME_OF_DAY_ON_TASK).  We     
         *  can only reset active interval timers.                    
         */                                                           
        status = RTEMS_NOT_DEFINED;                                   
      }                                                               
      _Thread_Enable_dispatch();                                      
   5782a:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
   57830:	60be           	bras 577f0 <rtems_timer_reset+0x3c>         
          if ( !timer_server ) {                                      
            _Thread_Enable_dispatch();                                
            return RTEMS_INCORRECT_STATE;                             
          }                                                           
        #endif                                                        
        _Watchdog_Remove( &the_timer->Ticker );                       
   57832:	486a 0010      	pea %a2@(16)                                
  rtems_id id                                                         
)                                                                     
{                                                                     
  Timer_Control     *the_timer;                                       
  Objects_Locations  location;                                        
  rtems_status_code  status = RTEMS_SUCCESSFUL;                       
   57836:	4282           	clrl %d2                                    
    case OBJECTS_LOCAL:                                               
      if ( the_timer->the_class == TIMER_INTERVAL ) {                 
        _Watchdog_Remove( &the_timer->Ticker );                       
        _Watchdog_Insert( &_Watchdog_Ticks_chain, &the_timer->Ticker );
      } else if ( the_timer->the_class == TIMER_INTERVAL_ON_TASK ) {  
        Timer_server_Control *timer_server = _Timer_server;           
   57838:	2679 0007 c534 	moveal 7c534 <_Timer_server>,%a3            
          if ( !timer_server ) {                                      
            _Thread_Enable_dispatch();                                
            return RTEMS_INCORRECT_STATE;                             
          }                                                           
        #endif                                                        
        _Watchdog_Remove( &the_timer->Ticker );                       
   5783e:	4eb9 0005 c128 	jsr 5c128 <_Watchdog_Remove>                
        (*timer_server->schedule_operation)( timer_server, the_timer );
   57844:	2f0a           	movel %a2,%sp@-                             
   57846:	2f0b           	movel %a3,%sp@-                             
   57848:	206b 0004      	moveal %a3@(4),%a0                          
   5784c:	4e90           	jsr %a0@                                    
   5784e:	4fef 000c      	lea %sp@(12),%sp                            
         *  TIMER_TIME_OF_DAY, or TIMER_TIME_OF_DAY_ON_TASK).  We     
         *  can only reset active interval timers.                    
         */                                                           
        status = RTEMS_NOT_DEFINED;                                   
      }                                                               
      _Thread_Enable_dispatch();                                      
   57852:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
   57858:	6096           	bras 577f0 <rtems_timer_reset+0x3c>         
	...                                                                  
                                                                      

00057954 <rtems_timer_server_fire_when>: rtems_id id, rtems_time_of_day *wall_time, rtems_timer_service_routine_entry routine, void *user_data ) {
   57954:	4e56 ffec      	linkw %fp,#-20                              
   57958:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
  Timer_Control        *the_timer;                                    
  Objects_Locations     location;                                     
  rtems_interval        seconds;                                      
  Timer_server_Control *timer_server = _Timer_server;                 
   5795c:	2479 0007 c534 	moveal 7c534 <_Timer_server>,%a2            
                                                                      
  if ( !timer_server )                                                
   57962:	4a8a           	tstl %a2                                    
   57964:	6736           	beqs 5799c <rtems_timer_server_fire_when+0x48>
    return RTEMS_INCORRECT_STATE;                                     
                                                                      
  if ( !_TOD.is_set )                                                 
   57966:	4a39 0007 c2b8 	tstb 7c2b8 <_TOD+0x14>                      
   5796c:	660c           	bnes 5797a <rtems_timer_server_fire_when+0x26><== ALWAYS TAKEN
    return RTEMS_NOT_DEFINED;                                         
   5796e:	700b           	moveq #11,%d0                               <== NOT EXECUTED
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   57970:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                <== NOT EXECUTED
   57976:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   57978:	4e75           	rts                                         <== NOT EXECUTED
    return RTEMS_INCORRECT_STATE;                                     
                                                                      
  if ( !_TOD.is_set )                                                 
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( !routine )                                                     
   5797a:	4aae 0010      	tstl %fp@(16)                               
   5797e:	6728           	beqs 579a8 <rtems_timer_server_fire_when+0x54>
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( !_TOD_Validate( wall_time ) )                                  
   57980:	2f2e 000c      	movel %fp@(12),%sp@-                        
   57984:	4eb9 0005 44b4 	jsr 544b4 <_TOD_Validate>                   
   5798a:	588f           	addql #4,%sp                                
   5798c:	4a00           	tstb %d0                                    
   5798e:	6624           	bnes 579b4 <rtems_timer_server_fire_when+0x60>
    return RTEMS_INVALID_CLOCK;                                       
   57990:	7014           	moveq #20,%d0                               
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   57992:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   57998:	4e5e           	unlk %fp                                    
   5799a:	4e75           	rts                                         
  Objects_Locations     location;                                     
  rtems_interval        seconds;                                      
  Timer_server_Control *timer_server = _Timer_server;                 
                                                                      
  if ( !timer_server )                                                
    return RTEMS_INCORRECT_STATE;                                     
   5799c:	700e           	moveq #14,%d0                               
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   5799e:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   579a4:	4e5e           	unlk %fp                                    
   579a6:	4e75           	rts                                         
                                                                      
  if ( !_TOD.is_set )                                                 
    return RTEMS_NOT_DEFINED;                                         
                                                                      
  if ( !routine )                                                     
    return RTEMS_INVALID_ADDRESS;                                     
   579a8:	7009           	moveq #9,%d0                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   579aa:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   579b0:	4e5e           	unlk %fp                                    
   579b2:	4e75           	rts                                         
    return RTEMS_INVALID_ADDRESS;                                     
                                                                      
  if ( !_TOD_Validate( wall_time ) )                                  
    return RTEMS_INVALID_CLOCK;                                       
                                                                      
  seconds = _TOD_To_seconds( wall_time );                             
   579b4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   579b8:	47f9 0006 c3c0 	lea 6c3c0 <__divdi3>,%a3                    
   579be:	4eb9 0005 4410 	jsr 54410 <_TOD_To_seconds>                 
   579c4:	2400           	movel %d0,%d2                               
   579c6:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     
   579cc:	42a7           	clrl %sp@-                                  
   579ce:	2f39 0007 c2a8 	movel 7c2a8 <_TOD+0x4>,%sp@-                
   579d4:	2f39 0007 c2a4 	movel 7c2a4 <_TOD>,%sp@-                    
   579da:	4e93           	jsr %a3@                                    
  if ( seconds <= _TOD_Seconds_since_epoch() )                        
   579dc:	4fef 0014      	lea %sp@(20),%sp                            
   579e0:	b282           	cmpl %d2,%d1                                
   579e2:	64ac           	bccs 57990 <rtems_timer_server_fire_when+0x3c>
   579e4:	486e fffc      	pea %fp@(-4)                                
   579e8:	2f2e 0008      	movel %fp@(8),%sp@-                         
   579ec:	4879 0007 c4fc 	pea 7c4fc <_Timer_Information>              
   579f2:	4eb9 0005 a480 	jsr 5a480 <_Objects_Get>                    
    return RTEMS_INVALID_CLOCK;                                       
                                                                      
  the_timer = _Timer_Get( id, &location );                            
  switch ( location ) {                                               
   579f8:	4fef 000c      	lea %sp@(12),%sp                            
   579fc:	2840           	moveal %d0,%a4                              
   579fe:	4aae fffc      	tstl %fp@(-4)                               
   57a02:	666a           	bnes 57a6e <rtems_timer_server_fire_when+0x11a>
                                                                      
    case OBJECTS_LOCAL:                                               
      (void) _Watchdog_Remove( &the_timer->Ticker );                  
   57a04:	486c 0010      	pea %a4@(16)                                
   57a08:	4eb9 0005 c128 	jsr 5c128 <_Watchdog_Remove>                
  the_watchdog->routine   = routine;                                  
  the_watchdog->id        = id;                                       
  the_watchdog->user_data = user_data;                                
   57a0e:	296e 0014 0034 	movel %fp@(20),%a4@(52)                     
      the_timer->the_class = TIMER_TIME_OF_DAY_ON_TASK;               
   57a14:	7003           	moveq #3,%d0                                
   57a16:	2940 0038      	movel %d0,%a4@(56)                          
  Objects_Id                      id,                                 
  void                           *user_data                           
)                                                                     
{                                                                     
  the_watchdog->state     = WATCHDOG_INACTIVE;                        
  the_watchdog->routine   = routine;                                  
   57a1a:	202e 0010      	movel %fp@(16),%d0                          
   57a1e:	2940 002c      	movel %d0,%a4@(44)                          
  the_watchdog->id        = id;                                       
   57a22:	202e 0008      	movel %fp@(8),%d0                           
  Watchdog_Service_routine_entry  routine,                            
  Objects_Id                      id,                                 
  void                           *user_data                           
)                                                                     
{                                                                     
  the_watchdog->state     = WATCHDOG_INACTIVE;                        
   57a26:	42ac 0018      	clrl %a4@(24)                               
  the_watchdog->routine   = routine;                                  
  the_watchdog->id        = id;                                       
   57a2a:	2940 0030      	movel %d0,%a4@(48)                          
   57a2e:	2f3c 3b9a ca00 	movel #1000000000,%sp@-                     
   57a34:	42a7           	clrl %sp@-                                  
   57a36:	2f39 0007 c2a8 	movel 7c2a8 <_TOD+0x4>,%sp@-                
   57a3c:	2f39 0007 c2a4 	movel 7c2a4 <_TOD>,%sp@-                    
   57a42:	4e93           	jsr %a3@                                    
   57a44:	4fef 0010      	lea %sp@(16),%sp                            
      _Watchdog_Initialize( &the_timer->Ticker, routine, id, user_data );
      the_timer->Ticker.initial = seconds - _TOD_Seconds_since_epoch();
   57a48:	9481           	subl %d1,%d2                                
   57a4a:	2942 001c      	movel %d2,%a4@(28)                          
                                                                      
      (*timer_server->schedule_operation)( timer_server, the_timer ); 
   57a4e:	2f0c           	movel %a4,%sp@-                             
   57a50:	2f0a           	movel %a2,%sp@-                             
   57a52:	206a 0004      	moveal %a2@(4),%a0                          
   57a56:	4e90           	jsr %a0@                                    
                                                                      
      _Thread_Enable_dispatch();                                      
   57a58:	4eb9 0005 b1e8 	jsr 5b1e8 <_Thread_Enable_dispatch>         
   57a5e:	4fef 000c      	lea %sp@(12),%sp                            
      return RTEMS_SUCCESSFUL;                                        
   57a62:	4280           	clrl %d0                                    
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
}                                                                     
   57a64:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   57a6a:	4e5e           	unlk %fp                                    
   57a6c:	4e75           	rts                                         
#endif                                                                
    case OBJECTS_ERROR:                                               
      break;                                                          
  }                                                                   
                                                                      
  return RTEMS_INVALID_ID;                                            
   57a6e:	7004           	moveq #4,%d0                                
}                                                                     
   57a70:	4cee 1c04 ffec 	moveml %fp@(-20),%d2/%a2-%a4                
   57a76:	4e5e           	unlk %fp                                    
	...                                                                  
                                                                      

00042e8c <rtems_verror>: static int rtems_verror( rtems_error_code_t error_flag, const char *printf_format, va_list arglist ) {
   42e8c:	4e56 ffe8      	linkw %fp,#-24                              
   42e90:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
   42e94:	242e 0008      	movel %fp@(8),%d2                           
  int               local_errno = 0;                                  
  int               chars_written = 0;                                
  rtems_status_code status;                                           
                                                                      
  if (error_flag & RTEMS_ERROR_PANIC) {                               
   42e98:	0802 001d      	btst #29,%d2                                
   42e9c:	6730           	beqs 42ece <rtems_verror+0x42>              
    if (rtems_panic_in_progress++)                                    
   42e9e:	2239 0005 f8f0 	movel 5f8f0 <rtems_panic_in_progress>,%d1   
   42ea4:	2001           	movel %d1,%d0                               
   42ea6:	5280           	addql #1,%d0                                
   42ea8:	23c0 0005 f8f0 	movel %d0,5f8f0 <rtems_panic_in_progress>   
   42eae:	4a81           	tstl %d1                                    
   42eb0:	6714           	beqs 42ec6 <rtems_verror+0x3a>              <== ALWAYS TAKEN
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   42eb2:	2039 0005 fa06 	movel 5fa06 <_Thread_Dispatch_disable_level>,%d0<== NOT EXECUTED
                                                                      
    ++level;                                                          
   42eb8:	5280           	addql #1,%d0                                <== NOT EXECUTED
    _Thread_Dispatch_disable_level = level;                           
   42eba:	23c0 0005 fa06 	movel %d0,5fa06 <_Thread_Dispatch_disable_level><== NOT EXECUTED
void _Thread_Disable_dispatch( void );                                
#else                                                                 
RTEMS_INLINE_ROUTINE void _Thread_Disable_dispatch( void )            
{                                                                     
  _Thread_Dispatch_increment_disable_level();                         
  RTEMS_COMPILER_MEMORY_BARRIER();                                    
   42ec0:	2039 0005 f8f0 	movel 5f8f0 <rtems_panic_in_progress>,%d0   <== NOT EXECUTED
      _Thread_Disable_dispatch();       /* disable task switches */   
                                                                      
    /* don't aggravate things */                                      
    if (rtems_panic_in_progress > 2)                                  
   42ec6:	7202           	moveq #2,%d1                                
   42ec8:	b280           	cmpl %d0,%d1                                
   42eca:	6d00 00b6      	bltw 42f82 <rtems_verror+0xf6>              
      return 0;                                                       
  }                                                                   
                                                                      
  (void) fflush(stdout);            /* in case stdout/stderr same */  
   42ece:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   42ed4:	45f9 0004 e4c2 	lea 4e4c2 <fflush>,%a2                      
                                                                      
  status = error_flag & ~RTEMS_ERROR_MASK;                            
   42eda:	2802           	movel %d2,%d4                               
    /* don't aggravate things */                                      
    if (rtems_panic_in_progress > 2)                                  
      return 0;                                                       
  }                                                                   
                                                                      
  (void) fflush(stdout);            /* in case stdout/stderr same */  
   42edc:	2f28 0008      	movel %a0@(8),%sp@-                         
                                                                      
  status = error_flag & ~RTEMS_ERROR_MASK;                            
   42ee0:	0284 8fff ffff 	andil #-1879048193,%d4                      
    /* don't aggravate things */                                      
    if (rtems_panic_in_progress > 2)                                  
      return 0;                                                       
  }                                                                   
                                                                      
  (void) fflush(stdout);            /* in case stdout/stderr same */  
   42ee6:	4e92           	jsr %a2@                                    
                                                                      
  status = error_flag & ~RTEMS_ERROR_MASK;                            
  if (error_flag & RTEMS_ERROR_ERRNO)     /* include errno? */        
   42ee8:	588f           	addql #4,%sp                                
   42eea:	0802 001e      	btst #30,%d2                                
   42eee:	6600 00ca      	bnew 42fba <rtems_verror+0x12e>             
  #if defined(RTEMS_MULTIPROCESSING)                                  
    if (_System_state_Is_multiprocessing)                             
      fprintf(stderr, "[%" PRIu32 "] ", _Configuration_MP_table->node);
  #endif                                                              
                                                                      
  chars_written += vfprintf(stderr, printf_format, arglist);          
   42ef2:	2f2e 0010      	movel %fp@(16),%sp@-                        
  rtems_error_code_t  error_flag,                                     
  const char         *printf_format,                                  
  va_list             arglist                                         
)                                                                     
{                                                                     
  int               local_errno = 0;                                  
   42ef6:	4283           	clrl %d3                                    
   42ef8:	47f9 0004 e872 	lea 4e872 <fprintf>,%a3                     
  #if defined(RTEMS_MULTIPROCESSING)                                  
    if (_System_state_Is_multiprocessing)                             
      fprintf(stderr, "[%" PRIu32 "] ", _Configuration_MP_table->node);
  #endif                                                              
                                                                      
  chars_written += vfprintf(stderr, printf_format, arglist);          
   42efe:	2f2e 000c      	movel %fp@(12),%sp@-                        
   42f02:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   42f08:	2f28 000c      	movel %a0@(12),%sp@-                        
   42f0c:	4eb9 0005 50f8 	jsr 550f8 <vfprintf>                        
                                                                      
  if (status)                                                         
   42f12:	4fef 000c      	lea %sp@(12),%sp                            
  #if defined(RTEMS_MULTIPROCESSING)                                  
    if (_System_state_Is_multiprocessing)                             
      fprintf(stderr, "[%" PRIu32 "] ", _Configuration_MP_table->node);
  #endif                                                              
                                                                      
  chars_written += vfprintf(stderr, printf_format, arglist);          
   42f16:	2400           	movel %d0,%d2                               
                                                                      
  if (status)                                                         
   42f18:	4a84           	tstl %d4                                    
   42f1a:	6674           	bnes 42f90 <rtems_verror+0x104>             
    chars_written +=                                                  
      fprintf(stderr, " (status: %s)", rtems_status_text(status));    
                                                                      
  if (local_errno) {                                                  
   42f1c:	4a83           	tstl %d3                                    
   42f1e:	6732           	beqs 42f52 <rtems_verror+0xc6>              
    if ((local_errno > 0) && *strerror(local_errno))                  
   42f20:	4a83           	tstl %d3                                    
   42f22:	6f14           	bles 42f38 <rtems_verror+0xac>              
   42f24:	2f03           	movel %d3,%sp@-                             
   42f26:	49f9 0004 f46c 	lea 4f46c <strerror>,%a4                    
   42f2c:	4e94           	jsr %a4@                                    
   42f2e:	588f           	addql #4,%sp                                
   42f30:	2040           	moveal %d0,%a0                              
   42f32:	4a10           	tstb %a0@                                   
   42f34:	6600 00ba      	bnew 42ff0 <rtems_verror+0x164>             
      chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
    else                                                              
      chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
   42f38:	2f03           	movel %d3,%sp@-                             
   42f3a:	4879 0005 cdca 	pea 5cdca <IMFS_node_control_default+0x34>  
   42f40:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   42f46:	2f28 000c      	movel %a0@(12),%sp@-                        
   42f4a:	4e93           	jsr %a3@                                    
   42f4c:	4fef 000c      	lea %sp@(12),%sp                            
   42f50:	d480           	addl %d0,%d2                                
  }                                                                   
                                                                      
  chars_written += fprintf(stderr, "\n");                             
   42f52:	4879 0005 c995 	pea 5c995 <Configuration_Initial_Extensions+0x351>
   42f58:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   42f5e:	2f28 000c      	movel %a0@(12),%sp@-                        
   42f62:	4e93           	jsr %a3@                                    
                                                                      
  (void) fflush(stderr);                                              
   42f64:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
      chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
    else                                                              
      chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
  }                                                                   
                                                                      
  chars_written += fprintf(stderr, "\n");                             
   42f6a:	d480           	addl %d0,%d2                                
                                                                      
  (void) fflush(stderr);                                              
   42f6c:	2f28 000c      	movel %a0@(12),%sp@-                        
   42f70:	4e92           	jsr %a2@                                    
                                                                      
  return chars_written;                                               
   42f72:	4fef 000c      	lea %sp@(12),%sp                            
}                                                                     
   42f76:	2002           	movel %d2,%d0                               
   42f78:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   42f7e:	4e5e           	unlk %fp                                    
   42f80:	4e75           	rts                                         
    if (rtems_panic_in_progress++)                                    
      _Thread_Disable_dispatch();       /* disable task switches */   
                                                                      
    /* don't aggravate things */                                      
    if (rtems_panic_in_progress > 2)                                  
      return 0;                                                       
   42f82:	4282           	clrl %d2                                    <== NOT EXECUTED
  chars_written += fprintf(stderr, "\n");                             
                                                                      
  (void) fflush(stderr);                                              
                                                                      
  return chars_written;                                               
}                                                                     
   42f84:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   42f86:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   42f8c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   42f8e:	4e75           	rts                                         <== NOT EXECUTED
                                                                      
  chars_written += vfprintf(stderr, printf_format, arglist);          
                                                                      
  if (status)                                                         
    chars_written +=                                                  
      fprintf(stderr, " (status: %s)", rtems_status_text(status));    
   42f90:	2f04           	movel %d4,%sp@-                             
   42f92:	4eb9 0004 2e74 	jsr 42e74 <rtems_status_text>               
   42f98:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   42f9e:	2f00           	movel %d0,%sp@-                             
   42fa0:	4879 0005 cdaf 	pea 5cdaf <IMFS_node_control_default+0x19>  
   42fa6:	2f28 000c      	movel %a0@(12),%sp@-                        
   42faa:	4e93           	jsr %a3@                                    
  #endif                                                              
                                                                      
  chars_written += vfprintf(stderr, printf_format, arglist);          
                                                                      
  if (status)                                                         
    chars_written +=                                                  
   42fac:	4fef 0010      	lea %sp@(16),%sp                            
   42fb0:	d480           	addl %d0,%d2                                
      fprintf(stderr, " (status: %s)", rtems_status_text(status));    
                                                                      
  if (local_errno) {                                                  
   42fb2:	4a83           	tstl %d3                                    
   42fb4:	679c           	beqs 42f52 <rtems_verror+0xc6>              
   42fb6:	6000 ff68      	braw 42f20 <rtems_verror+0x94>              
                                                                      
  (void) fflush(stdout);            /* in case stdout/stderr same */  
                                                                      
  status = error_flag & ~RTEMS_ERROR_MASK;                            
  if (error_flag & RTEMS_ERROR_ERRNO)     /* include errno? */        
    local_errno = errno;                                              
   42fba:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
   42fc0:	47f9 0004 e872 	lea 4e872 <fprintf>,%a3                     
   42fc6:	2040           	moveal %d0,%a0                              
   42fc8:	2610           	movel %a0@,%d3                              
  #if defined(RTEMS_MULTIPROCESSING)                                  
    if (_System_state_Is_multiprocessing)                             
      fprintf(stderr, "[%" PRIu32 "] ", _Configuration_MP_table->node);
  #endif                                                              
                                                                      
  chars_written += vfprintf(stderr, printf_format, arglist);          
   42fca:	2f2e 0010      	movel %fp@(16),%sp@-                        
   42fce:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   42fd4:	2f2e 000c      	movel %fp@(12),%sp@-                        
   42fd8:	2f28 000c      	movel %a0@(12),%sp@-                        
   42fdc:	4eb9 0005 50f8 	jsr 550f8 <vfprintf>                        
                                                                      
  if (status)                                                         
   42fe2:	4fef 000c      	lea %sp@(12),%sp                            
  #if defined(RTEMS_MULTIPROCESSING)                                  
    if (_System_state_Is_multiprocessing)                             
      fprintf(stderr, "[%" PRIu32 "] ", _Configuration_MP_table->node);
  #endif                                                              
                                                                      
  chars_written += vfprintf(stderr, printf_format, arglist);          
   42fe6:	2400           	movel %d0,%d2                               
                                                                      
  if (status)                                                         
   42fe8:	4a84           	tstl %d4                                    
   42fea:	6700 ff30      	beqw 42f1c <rtems_verror+0x90>              
   42fee:	60a0           	bras 42f90 <rtems_verror+0x104>             
    chars_written +=                                                  
      fprintf(stderr, " (status: %s)", rtems_status_text(status));    
                                                                      
  if (local_errno) {                                                  
    if ((local_errno > 0) && *strerror(local_errno))                  
      chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
   42ff0:	2f03           	movel %d3,%sp@-                             
   42ff2:	4e94           	jsr %a4@                                    
   42ff4:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   42ffa:	2f00           	movel %d0,%sp@-                             
   42ffc:	4879 0005 cdbd 	pea 5cdbd <IMFS_node_control_default+0x27>  
   43002:	2f28 000c      	movel %a0@(12),%sp@-                        
   43006:	4e93           	jsr %a3@                                    
   43008:	4fef 0010      	lea %sp@(16),%sp                            
   4300c:	d480           	addl %d0,%d2                                
    else                                                              
      chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
  }                                                                   
                                                                      
  chars_written += fprintf(stderr, "\n");                             
   4300e:	4879 0005 c995 	pea 5c995 <Configuration_Initial_Extensions+0x351>
   43014:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
   4301a:	2f28 000c      	movel %a0@(12),%sp@-                        
   4301e:	4e93           	jsr %a3@                                    
                                                                      
  (void) fflush(stderr);                                              
   43020:	2079 0005 e3d0 	moveal 5e3d0 <_impure_ptr>,%a0              
      chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
    else                                                              
      chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
  }                                                                   
                                                                      
  chars_written += fprintf(stderr, "\n");                             
   43026:	d480           	addl %d0,%d2                                
                                                                      
  (void) fflush(stderr);                                              
   43028:	2f28 000c      	movel %a0@(12),%sp@-                        
   4302c:	4e92           	jsr %a2@                                    
                                                                      
  return chars_written;                                               
   4302e:	4fef 000c      	lea %sp@(12),%sp                            
   43032:	6000 ff42      	braw 42f76 <rtems_verror+0xea>              
                                                                      

00047fec <rtems_workspace_greedy_free>: void rtems_workspace_greedy_free( void *opaque ) {
   47fec:	4e56 0000      	linkw %fp,#0                                
   *                                                                  
   * This rountine increments the thread dispatch level               
   */                                                                 
  RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void)
  {                                                                   
    uint32_t level = _Thread_Dispatch_disable_level;                  
   47ff0:	2239 0006 05ea 	movel 605ea <_Thread_Dispatch_disable_level>,%d1
                                                                      
    ++level;                                                          
   47ff6:	5281           	addql #1,%d1                                
   47ff8:	202e 0008      	movel %fp@(8),%d0                           
    _Thread_Dispatch_disable_level = level;                           
   47ffc:	23c1 0006 05ea 	movel %d1,605ea <_Thread_Dispatch_disable_level>
  _Thread_Disable_dispatch();                                         
  _Heap_Greedy_free( &_Workspace_Area, opaque );                      
   48002:	2f00           	movel %d0,%sp@-                             
   48004:	4879 0006 05fa 	pea 605fa <_Workspace_Area>                 
   4800a:	4eb9 0004 8bb8 	jsr 48bb8 <_Heap_Greedy_free>               
  _Thread_Enable_dispatch();                                          
   48010:	508f           	addql #8,%sp                                
}                                                                     
   48012:	4e5e           	unlk %fp                                    
                                                                      
void rtems_workspace_greedy_free( void *opaque )                      
{                                                                     
  _Thread_Disable_dispatch();                                         
  _Heap_Greedy_free( &_Workspace_Area, opaque );                      
  _Thread_Enable_dispatch();                                          
   48014:	4ef9 0004 a264 	jmp 4a264 <_Thread_Enable_dispatch>         
	...                                                                  
                                                                      

000645c8 <scanInt>: /** * Extract an integer value from the database */ static int scanInt(FILE *fp, int *val) {
   645c8:	4e56 ffe4      	linkw %fp,#-28                              
   645cc:	48d7 0c7c      	moveml %d2-%d6/%a2-%a3,%sp@                 
   645d0:	246e 0008      	moveal %fp@(8),%a2                          
  int c;                                                              
  unsigned int i = 0;                                                 
  unsigned int limit = INT_MAX;                                       
  int sign = 0;                                                       
   645d4:	4284           	clrl %d4                                    
static int                                                            
scanInt(FILE *fp, int *val)                                           
{                                                                     
  int c;                                                              
  unsigned int i = 0;                                                 
  unsigned int limit = INT_MAX;                                       
   645d6:	263c 7fff ffff 	movel #2147483647,%d3                       
 */                                                                   
static int                                                            
scanInt(FILE *fp, int *val)                                           
{                                                                     
  int c;                                                              
  unsigned int i = 0;                                                 
   645dc:	4282           	clrl %d2                                    
  unsigned int limit = INT_MAX;                                       
  int sign = 0;                                                       
  int d;                                                              
                                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
   645de:	47f9 0007 c624 	lea 7c624 <__srget_r>,%a3                   
   645e4:	202a 0004      	movel %a2@(4),%d0                           
   645e8:	5380           	subql #1,%d0                                
   645ea:	2540 0004      	movel %d0,%a2@(4)                           
   645ee:	6d64           	blts 64654 <scanInt+0x8c>                   <== NEVER TAKEN
   645f0:	2052           	moveal %a2@,%a0                             
   645f2:	4280           	clrl %d0                                    
   645f4:	1010           	moveb %a0@,%d0                              
   645f6:	5288           	addql #1,%a0                                
    if (c == ':')                                                     
   645f8:	723a           	moveq #58,%d1                               
  unsigned int limit = INT_MAX;                                       
  int sign = 0;                                                       
  int d;                                                              
                                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
   645fa:	2488           	movel %a0,%a2@                              
    if (c == ':')                                                     
   645fc:	b280           	cmpl %d0,%d1                                
   645fe:	6766           	beqs 64666 <scanInt+0x9e>                   
      break;                                                          
    if (sign == 0) {                                                  
   64600:	4a84           	tstl %d4                                    
   64602:	660a           	bnes 6460e <scanInt+0x46>                   
      if (c == '-') {                                                 
   64604:	7a2d           	moveq #45,%d5                               
   64606:	ba80           	cmpl %d0,%d5                                
   64608:	6700 0086      	beqw 64690 <scanInt+0xc8>                   
        sign = -1;                                                    
        limit++;                                                      
        continue;                                                     
      }                                                               
      sign = 1;                                                       
   6460c:	7801           	moveq #1,%d4                                
    }                                                                 
    if (!isdigit(c))                                                  
   6460e:	2079 0009 baec 	moveal 9baec <__ctype_ptr__>,%a0            
   64614:	7c04           	moveq #4,%d6                                
   64616:	1230 0801      	moveb %a0@(00000001,%d0:l),%d1              
   6461a:	c286           	andl %d6,%d1                                
   6461c:	4a01           	tstb %d1                                    
   6461e:	6764           	beqs 64684 <scanInt+0xbc>                   
      return 0;                                                       
    d = c - '0';                                                      
    if ((i > (limit / 10))                                            
   64620:	2203           	movel %d3,%d1                               
   64622:	1c3c 000a      	moveb #10,%d6                               
      }                                                               
      sign = 1;                                                       
    }                                                                 
    if (!isdigit(c))                                                  
      return 0;                                                       
    d = c - '0';                                                      
   64626:	0680 ffff ffd0 	addil #-48,%d0                              
    if ((i > (limit / 10))                                            
   6462c:	4c46 1005      	remul %d6,%d5,%d1                           
   64630:	4c46 1001      	remul %d6,%d1,%d1                           
   64634:	b282           	cmpl %d2,%d1                                
   64636:	654c           	bcss 64684 <scanInt+0xbc>                   
     || ((i == (limit / 10)) && (d > (limit % 10))))                  
   64638:	6746           	beqs 64680 <scanInt+0xb8>                   
      return 0;                                                       
    i = i * 10 + d;                                                   
   6463a:	2202           	movel %d2,%d1                               
   6463c:	e789           	lsll #3,%d1                                 
   6463e:	2241           	moveal %d1,%a1                              
   64640:	41f1 2a00      	lea %a1@(00000000,%d2:l:2),%a0              
   64644:	2400           	movel %d0,%d2                               
  unsigned int limit = INT_MAX;                                       
  int sign = 0;                                                       
  int d;                                                              
                                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
   64646:	202a 0004      	movel %a2@(4),%d0                           
   6464a:	5380           	subql #1,%d0                                
      return 0;                                                       
    d = c - '0';                                                      
    if ((i > (limit / 10))                                            
     || ((i == (limit / 10)) && (d > (limit % 10))))                  
      return 0;                                                       
    i = i * 10 + d;                                                   
   6464c:	d488           	addl %a0,%d2                                
  unsigned int limit = INT_MAX;                                       
  int sign = 0;                                                       
  int d;                                                              
                                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
   6464e:	2540 0004      	movel %d0,%a2@(4)                           
   64652:	6c9c           	bges 645f0 <scanInt+0x28>                   <== ALWAYS TAKEN
   64654:	2f0a           	movel %a2,%sp@-                             <== NOT EXECUTED
   64656:	2f39 0009 baf8 	movel 9baf8 <_impure_ptr>,%sp@-             <== NOT EXECUTED
   6465c:	4e93           	jsr %a3@                                    <== NOT EXECUTED
   6465e:	508f           	addql #8,%sp                                <== NOT EXECUTED
    if (c == ':')                                                     
   64660:	723a           	moveq #58,%d1                               <== NOT EXECUTED
   64662:	b280           	cmpl %d0,%d1                                <== NOT EXECUTED
   64664:	669a           	bnes 64600 <scanInt+0x38>                   <== NOT EXECUTED
    if ((i > (limit / 10))                                            
     || ((i == (limit / 10)) && (d > (limit % 10))))                  
      return 0;                                                       
    i = i * 10 + d;                                                   
  }                                                                   
  if (sign == 0)                                                      
   64666:	4a84           	tstl %d4                                    
   64668:	671a           	beqs 64684 <scanInt+0xbc>                   <== NEVER TAKEN
    return 0;                                                         
  *val = i * sign;                                                    
   6466a:	4c02 4800      	mulsl %d2,%d4                               
  return 1;                                                           
   6466e:	7001           	moveq #1,%d0                                
      return 0;                                                       
    i = i * 10 + d;                                                   
  }                                                                   
  if (sign == 0)                                                      
    return 0;                                                         
  *val = i * sign;                                                    
   64670:	206e 000c      	moveal %fp@(12),%a0                         
   64674:	2084           	movel %d4,%a0@                              
  return 1;                                                           
}                                                                     
   64676:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            
   6467c:	4e5e           	unlk %fp                                    
   6467e:	4e75           	rts                                         
    }                                                                 
    if (!isdigit(c))                                                  
      return 0;                                                       
    d = c - '0';                                                      
    if ((i > (limit / 10))                                            
     || ((i == (limit / 10)) && (d > (limit % 10))))                  
   64680:	ba80           	cmpl %d0,%d5                                
   64682:	64b6           	bccs 6463a <scanInt+0x72>                   <== NEVER TAKEN
        continue;                                                     
      }                                                               
      sign = 1;                                                       
    }                                                                 
    if (!isdigit(c))                                                  
      return 0;                                                       
   64684:	4280           	clrl %d0                                    
  }                                                                   
  if (sign == 0)                                                      
    return 0;                                                         
  *val = i * sign;                                                    
  return 1;                                                           
}                                                                     
   64686:	4cee 0c7c ffe4 	moveml %fp@(-28),%d2-%d6/%a2-%a3            
   6468c:	4e5e           	unlk %fp                                    
   6468e:	4e75           	rts                                         
    if (c == ':')                                                     
      break;                                                          
    if (sign == 0) {                                                  
      if (c == '-') {                                                 
        sign = -1;                                                    
        limit++;                                                      
   64690:	5283           	addql #1,%d3                                
    c = getc(fp);                                                     
    if (c == ':')                                                     
      break;                                                          
    if (sign == 0) {                                                  
      if (c == '-') {                                                 
        sign = -1;                                                    
   64692:	78ff           	moveq #-1,%d4                               
        limit++;                                                      
        continue;                                                     
   64694:	6000 ff4e      	braw 645e4 <scanInt+0x1c>                   
                                                                      

00064698 <scanString>: /** * Extract a string value from the database */ static int scanString(FILE *fp, char **name, char **bufp, size_t *nleft, int nlFlag) {
   64698:	4e56 fff0      	linkw %fp,#-16                              
  int c;                                                              
                                                                      
  *name = *bufp;                                                      
   6469c:	206e 000c      	moveal %fp@(12),%a0                         
/**                                                                   
 *  Extract a string value from the database                          
 */                                                                   
static int                                                            
scanString(FILE *fp, char **name, char **bufp, size_t *nleft, int nlFlag)
{                                                                     
   646a0:	48d7 3c00      	moveml %a2-%a5,%sp@                         
   646a4:	266e 0010      	moveal %fp@(16),%a3                         
  int c;                                                              
                                                                      
  *name = *bufp;                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
   646a8:	4bf9 0007 c624 	lea 7c624 <__srget_r>,%a5                   
/**                                                                   
 *  Extract a string value from the database                          
 */                                                                   
static int                                                            
scanString(FILE *fp, char **name, char **bufp, size_t *nleft, int nlFlag)
{                                                                     
   646ae:	246e 0008      	moveal %fp@(8),%a2                          
  int c;                                                              
                                                                      
  *name = *bufp;                                                      
   646b2:	2093           	movel %a3@,%a0@                             
  for (;;) {                                                          
    c = getc(fp);                                                     
   646b4:	202a 0004      	movel %a2@(4),%d0                           
   646b8:	5380           	subql #1,%d0                                
/**                                                                   
 *  Extract a string value from the database                          
 */                                                                   
static int                                                            
scanString(FILE *fp, char **name, char **bufp, size_t *nleft, int nlFlag)
{                                                                     
   646ba:	286e 0014      	moveal %fp@(20),%a4                         
  int c;                                                              
                                                                      
  *name = *bufp;                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
   646be:	2540 0004      	movel %d0,%a2@(4)                           
   646c2:	6d36           	blts 646fa <scanString+0x62>                
   646c4:	2052           	moveal %a2@,%a0                             
   646c6:	4280           	clrl %d0                                    
   646c8:	1010           	moveb %a0@,%d0                              
   646ca:	5288           	addql #1,%a0                                
    if (c == ':') {                                                   
   646cc:	723a           	moveq #58,%d1                               
{                                                                     
  int c;                                                              
                                                                      
  *name = *bufp;                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
   646ce:	2488           	movel %a0,%a2@                              
    if (c == ':') {                                                   
   646d0:	b280           	cmpl %d0,%d1                                
   646d2:	6738           	beqs 6470c <scanString+0x74>                
        if (nlFlag)                                                   
            return 0;                                                 
        break;                                                        
    }                                                                 
    if (c == '\n') {                                                  
   646d4:	720a           	moveq #10,%d1                               
   646d6:	b280           	cmpl %d0,%d1                                
   646d8:	674c           	beqs 64726 <scanString+0x8e>                
        if (!nlFlag)                                                  
            return 0;                                                 
        break;                                                        
    }                                                                 
    if (c == EOF)                                                     
   646da:	72ff           	moveq #-1,%d1                               
   646dc:	b280           	cmpl %d0,%d1                                
   646de:	674c           	beqs 6472c <scanString+0x94>                
      return 0;                                                       
    if (*nleft < 2)                                                   
   646e0:	7201           	moveq #1,%d1                                
   646e2:	b294           	cmpl %a4@,%d1                               
   646e4:	6446           	bccs 6472c <scanString+0x94>                
      return 0;                                                       
    **bufp = c;                                                       
   646e6:	2053           	moveal %a3@,%a0                             
   646e8:	1080           	moveb %d0,%a0@                              
    ++(*bufp);                                                        
   646ea:	5293           	addql #1,%a3@                               
    --(*nleft);                                                       
   646ec:	5394           	subql #1,%a4@                               
{                                                                     
  int c;                                                              
                                                                      
  *name = *bufp;                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
   646ee:	202a 0004      	movel %a2@(4),%d0                           
   646f2:	5380           	subql #1,%d0                                
   646f4:	2540 0004      	movel %d0,%a2@(4)                           
   646f8:	6cca           	bges 646c4 <scanString+0x2c>                
   646fa:	2f0a           	movel %a2,%sp@-                             
   646fc:	2f39 0009 baf8 	movel 9baf8 <_impure_ptr>,%sp@-             
   64702:	4e95           	jsr %a5@                                    
   64704:	508f           	addql #8,%sp                                
    if (c == ':') {                                                   
   64706:	723a           	moveq #58,%d1                               
   64708:	b280           	cmpl %d0,%d1                                
   6470a:	66c8           	bnes 646d4 <scanString+0x3c>                <== ALWAYS TAKEN
        if (nlFlag)                                                   
   6470c:	4aae 0018      	tstl %fp@(24)                               
   64710:	661a           	bnes 6472c <scanString+0x94>                
      return 0;                                                       
    **bufp = c;                                                       
    ++(*bufp);                                                        
    --(*nleft);                                                       
  }                                                                   
  **bufp = '\0';                                                      
   64712:	2053           	moveal %a3@,%a0                             
  ++(*bufp);                                                          
  --(*nleft);                                                         
  return 1;                                                           
   64714:	7001           	moveq #1,%d0                                
      return 0;                                                       
    **bufp = c;                                                       
    ++(*bufp);                                                        
    --(*nleft);                                                       
  }                                                                   
  **bufp = '\0';                                                      
   64716:	4210           	clrb %a0@                                   
  ++(*bufp);                                                          
   64718:	5293           	addql #1,%a3@                               
  --(*nleft);                                                         
   6471a:	5394           	subql #1,%a4@                               
  return 1;                                                           
}                                                                     
   6471c:	4cee 3c00 fff0 	moveml %fp@(-16),%a2-%a5                    
   64722:	4e5e           	unlk %fp                                    
   64724:	4e75           	rts                                         
        if (nlFlag)                                                   
            return 0;                                                 
        break;                                                        
    }                                                                 
    if (c == '\n') {                                                  
        if (!nlFlag)                                                  
   64726:	4aae 0018      	tstl %fp@(24)                               
   6472a:	66e6           	bnes 64712 <scanString+0x7a>                
  *name = *bufp;                                                      
  for (;;) {                                                          
    c = getc(fp);                                                     
    if (c == ':') {                                                   
        if (nlFlag)                                                   
            return 0;                                                 
   6472c:	4280           	clrl %d0                                    
  }                                                                   
  **bufp = '\0';                                                      
  ++(*bufp);                                                          
  --(*nleft);                                                         
  return 1;                                                           
}                                                                     
   6472e:	4cee 3c00 fff0 	moveml %fp@(-16),%a2-%a5                    
   64734:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00064738 <scangr>: FILE *fp, struct group *grp, char *buffer, size_t bufsize ) {
   64738:	4e56 ffec      	linkw %fp,#-20                              
   6473c:	48d7 0c04      	moveml %d2/%a2-%a3,%sp@                     
  int grgid;                                                          
  char *grmem, *cp;                                                   
  int memcount;                                                       
                                                                      
  if (!scanString(fp, &grp->gr_name, &buffer, &bufsize, 0)            
   64740:	42a7           	clrl %sp@-                                  
   64742:	486e 0014      	pea %fp@(20)                                
   64746:	47fa ff50      	lea %pc@(64698 <scanString>),%a3            
   6474a:	486e 0010      	pea %fp@(16)                                
  FILE *fp,                                                           
  struct group *grp,                                                  
  char *buffer,                                                       
  size_t bufsize                                                      
)                                                                     
{                                                                     
   6474e:	246e 000c      	moveal %fp@(12),%a2                         
   64752:	242e 0008      	movel %fp@(8),%d2                           
  int grgid;                                                          
  char *grmem, *cp;                                                   
  int memcount;                                                       
                                                                      
  if (!scanString(fp, &grp->gr_name, &buffer, &bufsize, 0)            
   64756:	2f0a           	movel %a2,%sp@-                             
   64758:	2f02           	movel %d2,%sp@-                             
   6475a:	4e93           	jsr %a3@                                    
   6475c:	4fef 0014      	lea %sp@(20),%sp                            
   64760:	4a80           	tstl %d0                                    
   64762:	660c           	bnes 64770 <scangr+0x38>                    
   || !scanString(fp, &grp->gr_passwd, &buffer, &bufsize, 0)          
   || !scanInt(fp, &grgid)                                            
   || !scanString(fp, &grmem, &buffer, &bufsize, 1))                  
    return 0;                                                         
   64764:	4280           	clrl %d0                                    
      grp->gr_mem[memcount++] = cp + 1;                               
    }                                                                 
  }                                                                   
  grp->gr_mem[memcount] = NULL;                                       
  return 1;                                                           
}                                                                     
   64766:	4cee 0c04 ffec 	moveml %fp@(-20),%d2/%a2-%a3                
   6476c:	4e5e           	unlk %fp                                    
   6476e:	4e75           	rts                                         
  int grgid;                                                          
  char *grmem, *cp;                                                   
  int memcount;                                                       
                                                                      
  if (!scanString(fp, &grp->gr_name, &buffer, &bufsize, 0)            
   || !scanString(fp, &grp->gr_passwd, &buffer, &bufsize, 0)          
   64770:	42a7           	clrl %sp@-                                  
   64772:	486e 0014      	pea %fp@(20)                                
   64776:	486e 0010      	pea %fp@(16)                                
   6477a:	486a 0004      	pea %a2@(4)                                 
   6477e:	2f02           	movel %d2,%sp@-                             
   64780:	4e93           	jsr %a3@                                    
   64782:	4fef 0014      	lea %sp@(20),%sp                            
   64786:	4a80           	tstl %d0                                    
   64788:	67da           	beqs 64764 <scangr+0x2c>                    <== NEVER TAKEN
   || !scanInt(fp, &grgid)                                            
   6478a:	486e fff8      	pea %fp@(-8)                                
   6478e:	2f02           	movel %d2,%sp@-                             
   64790:	4eba fe36      	jsr %pc@(645c8 <scanInt>)                   
   64794:	508f           	addql #8,%sp                                
   64796:	4a80           	tstl %d0                                    
   64798:	67ca           	beqs 64764 <scangr+0x2c>                    <== NEVER TAKEN
   || !scanString(fp, &grmem, &buffer, &bufsize, 1))                  
   6479a:	4878 0001      	pea 1 <ADD>                                 
   6479e:	486e 0014      	pea %fp@(20)                                
   647a2:	486e 0010      	pea %fp@(16)                                
   647a6:	486e fffc      	pea %fp@(-4)                                
   647aa:	2f02           	movel %d2,%sp@-                             
   647ac:	4e93           	jsr %a3@                                    
   647ae:	4fef 0014      	lea %sp@(20),%sp                            
   647b2:	4a80           	tstl %d0                                    
   647b4:	67ae           	beqs 64764 <scangr+0x2c>                    <== NEVER TAKEN
  grp->gr_gid = grgid;                                                
                                                                      
  /*                                                                  
   * Determine number of members                                      
   */                                                                 
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   647b6:	226e fffc      	moveal %fp@(-4),%a1                         
  if (!scanString(fp, &grp->gr_name, &buffer, &bufsize, 0)            
   || !scanString(fp, &grp->gr_passwd, &buffer, &bufsize, 0)          
   || !scanInt(fp, &grgid)                                            
   || !scanString(fp, &grmem, &buffer, &bufsize, 1))                  
    return 0;                                                         
  grp->gr_gid = grgid;                                                
   647ba:	356e fffa 0008 	movew %fp@(-6),%a2@(8)                      
                                                                      
  /*                                                                  
   * Determine number of members                                      
   */                                                                 
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   647c0:	1011           	moveb %a1@,%d0                              
   647c2:	677a           	beqs 6483e <scangr+0x106>                   <== NEVER TAKEN
}                                                                     
                                                                      
/**                                                                   
 *  Extract a single group record from the database                   
 */                                                                   
static int scangr(                                                    
   647c4:	41e9 0001      	lea %a1@(1),%a0                             
  grp->gr_gid = grgid;                                                
                                                                      
  /*                                                                  
   * Determine number of members                                      
   */                                                                 
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   647c8:	7201           	moveq #1,%d1                                
    if(*cp == ',')                                                    
   647ca:	49c0           	extbl %d0                                   
   647cc:	742c           	moveq #44,%d2                               
   647ce:	b480           	cmpl %d0,%d2                                
   647d0:	6756           	beqs 64828 <scangr+0xf0>                    
  grp->gr_gid = grgid;                                                
                                                                      
  /*                                                                  
   * Determine number of members                                      
   */                                                                 
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   647d2:	1018           	moveb %a0@+,%d0                             
   647d4:	66f4           	bnes 647ca <scangr+0x92>                    
   647d6:	e589           	lsll #2,%d1                                 
   647d8:	0681 0000 0013 	addil #19,%d1                               
  }                                                                   
                                                                      
  /*                                                                  
   * Hack to produce (hopefully) a suitably-aligned array of pointers 
   */                                                                 
  if (bufsize < (((memcount+1)*sizeof(char *)) + 15))                 
   647de:	b2ae 0014      	cmpl %fp@(20),%d1                           
   647e2:	6280           	bhis 64764 <scangr+0x2c>                    <== NEVER TAKEN
    return 0;                                                         
  grp->gr_mem = (char **)(((uintptr_t)buffer + 15) & ~15);            
   647e4:	202e 0010      	movel %fp@(16),%d0                          
   647e8:	72f0           	moveq #-16,%d1                              
   647ea:	0680 0000 000f 	addil #15,%d0                               
   647f0:	c081           	andl %d1,%d0                                
   647f2:	2540 000a      	movel %d0,%a2@(10)                          
                                                                      
  /*                                                                  
   * Fill in pointer array                                            
   */                                                                 
  grp->gr_mem[0] = grmem;                                             
   647f6:	2040           	moveal %d0,%a0                              
   647f8:	2089           	movel %a1,%a0@                              
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   647fa:	206e fffc      	moveal %fp@(-4),%a0                         
   647fe:	1010           	moveb %a0@,%d0                              
   64800:	6740           	beqs 64842 <scangr+0x10a>                   <== NEVER TAKEN
}                                                                     
                                                                      
/**                                                                   
 *  Extract a single group record from the database                   
 */                                                                   
static int scangr(                                                    
   64802:	5288           	addql #1,%a0                                
                                                                      
  /*                                                                  
   * Fill in pointer array                                            
   */                                                                 
  grp->gr_mem[0] = grmem;                                             
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   64804:	7201           	moveq #1,%d1                                
    if(*cp == ',') {                                                  
   64806:	49c0           	extbl %d0                                   
   64808:	742c           	moveq #44,%d2                               
   6480a:	b480           	cmpl %d0,%d2                                
   6480c:	671e           	beqs 6482c <scangr+0xf4>                    
                                                                      
  /*                                                                  
   * Fill in pointer array                                            
   */                                                                 
  grp->gr_mem[0] = grmem;                                             
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   6480e:	1018           	moveb %a0@+,%d0                             
   64810:	66f4           	bnes 64806 <scangr+0xce>                    
    if(*cp == ',') {                                                  
      *cp = '\0';                                                     
      grp->gr_mem[memcount++] = cp + 1;                               
    }                                                                 
  }                                                                   
  grp->gr_mem[memcount] = NULL;                                       
   64812:	206a 000a      	moveal %a2@(10),%a0                         
  return 1;                                                           
   64816:	7001           	moveq #1,%d0                                
   64818:	e589           	lsll #2,%d1                                 
    if(*cp == ',') {                                                  
      *cp = '\0';                                                     
      grp->gr_mem[memcount++] = cp + 1;                               
    }                                                                 
  }                                                                   
  grp->gr_mem[memcount] = NULL;                                       
   6481a:	42b0 1800      	clrl %a0@(00000000,%d1:l)                   
  return 1;                                                           
}                                                                     
   6481e:	4cee 0c04 ffec 	moveml %fp@(-20),%d2/%a2-%a3                
   64824:	4e5e           	unlk %fp                                    
   64826:	4e75           	rts                                         
  /*                                                                  
   * Determine number of members                                      
   */                                                                 
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
    if(*cp == ',')                                                    
      memcount++;                                                     
   64828:	5281           	addql #1,%d1                                
   6482a:	60a6           	bras 647d2 <scangr+0x9a>                    
   * Fill in pointer array                                            
   */                                                                 
  grp->gr_mem[0] = grmem;                                             
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
    if(*cp == ',') {                                                  
      *cp = '\0';                                                     
   6482c:	4200           	clrb %d0                                    
   6482e:	1140 ffff      	moveb %d0,%a0@(-1)                          
      grp->gr_mem[memcount++] = cp + 1;                               
   64832:	226a 000a      	moveal %a2@(10),%a1                         
   64836:	2388 1c00      	movel %a0,%a1@(00000000,%d1:l:4)            
   6483a:	5281           	addql #1,%d1                                
   6483c:	60d0           	bras 6480e <scangr+0xd6>                    
  grp->gr_gid = grgid;                                                
                                                                      
  /*                                                                  
   * Determine number of members                                      
   */                                                                 
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   6483e:	7217           	moveq #23,%d1                               <== NOT EXECUTED
   64840:	609c           	bras 647de <scangr+0xa6>                    <== NOT EXECUTED
    if(*cp == ',') {                                                  
      *cp = '\0';                                                     
      grp->gr_mem[memcount++] = cp + 1;                               
    }                                                                 
  }                                                                   
  grp->gr_mem[memcount] = NULL;                                       
   64842:	206a 000a      	moveal %a2@(10),%a0                         <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Fill in pointer array                                            
   */                                                                 
  grp->gr_mem[0] = grmem;                                             
  for (cp = grmem, memcount = 1 ; *cp != 0 ; cp++) {                  
   64846:	7204           	moveq #4,%d1                                <== NOT EXECUTED
      *cp = '\0';                                                     
      grp->gr_mem[memcount++] = cp + 1;                               
    }                                                                 
  }                                                                   
  grp->gr_mem[memcount] = NULL;                                       
  return 1;                                                           
   64848:	7001           	moveq #1,%d0                                <== NOT EXECUTED
    if(*cp == ',') {                                                  
      *cp = '\0';                                                     
      grp->gr_mem[memcount++] = cp + 1;                               
    }                                                                 
  }                                                                   
  grp->gr_mem[memcount] = NULL;                                       
   6484a:	42b0 1800      	clrl %a0@(00000000,%d1:l)                   <== NOT EXECUTED
   6484e:	60ce           	bras 6481e <scangr+0xe6>                    <== NOT EXECUTED
                                                                      

00064850 <scanpw>: FILE *fp, struct passwd *pwd, char *buffer, size_t bufsize ) {
   64850:	4e56 ffe8      	linkw %fp,#-24                              
   64854:	48d7 1c04      	moveml %d2/%a2-%a4,%sp@                     
  int pwuid, pwgid;                                                   
                                                                      
  if (!scanString(fp, &pwd->pw_name, &buffer, &bufsize, 0)            
   64858:	42a7           	clrl %sp@-                                  
   6485a:	486e 0014      	pea %fp@(20)                                
   6485e:	47fa fe38      	lea %pc@(64698 <scanString>),%a3            
   64862:	486e 0010      	pea %fp@(16)                                
  FILE *fp,                                                           
  struct passwd *pwd,                                                 
  char *buffer,                                                       
  size_t bufsize                                                      
)                                                                     
{                                                                     
   64866:	246e 000c      	moveal %fp@(12),%a2                         
   6486a:	242e 0008      	movel %fp@(8),%d2                           
  int pwuid, pwgid;                                                   
                                                                      
  if (!scanString(fp, &pwd->pw_name, &buffer, &bufsize, 0)            
   6486e:	2f0a           	movel %a2,%sp@-                             
   64870:	2f02           	movel %d2,%sp@-                             
   64872:	4e93           	jsr %a3@                                    
   64874:	4fef 0014      	lea %sp@(20),%sp                            
   64878:	4a80           	tstl %d0                                    
   6487a:	660c           	bnes 64888 <scanpw+0x38>                    
   || !scanInt(fp, &pwgid)                                            
   || !scanString(fp, &pwd->pw_comment, &buffer, &bufsize, 0)         
   || !scanString(fp, &pwd->pw_gecos, &buffer, &bufsize, 0)           
   || !scanString(fp, &pwd->pw_dir, &buffer, &bufsize, 0)             
   || !scanString(fp, &pwd->pw_shell, &buffer, &bufsize, 1))          
    return 0;                                                         
   6487c:	4280           	clrl %d0                                    
  pwd->pw_uid = pwuid;                                                
  pwd->pw_gid = pwgid;                                                
  return 1;                                                           
}                                                                     
   6487e:	4cee 1c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a4                
   64884:	4e5e           	unlk %fp                                    
   64886:	4e75           	rts                                         
)                                                                     
{                                                                     
  int pwuid, pwgid;                                                   
                                                                      
  if (!scanString(fp, &pwd->pw_name, &buffer, &bufsize, 0)            
   || !scanString(fp, &pwd->pw_passwd, &buffer, &bufsize, 0)          
   64888:	42a7           	clrl %sp@-                                  
   6488a:	486e 0014      	pea %fp@(20)                                
   6488e:	486e 0010      	pea %fp@(16)                                
   64892:	486a 0004      	pea %a2@(4)                                 
   64896:	2f02           	movel %d2,%sp@-                             
   64898:	4e93           	jsr %a3@                                    
   6489a:	4fef 0014      	lea %sp@(20),%sp                            
   6489e:	4a80           	tstl %d0                                    
   648a0:	67da           	beqs 6487c <scanpw+0x2c>                    <== NEVER TAKEN
   || !scanInt(fp, &pwuid)                                            
   648a2:	486e fff8      	pea %fp@(-8)                                
   648a6:	49fa fd20      	lea %pc@(645c8 <scanInt>),%a4               
   648aa:	2f02           	movel %d2,%sp@-                             
   648ac:	4e94           	jsr %a4@                                    
   648ae:	508f           	addql #8,%sp                                
   648b0:	4a80           	tstl %d0                                    
   648b2:	67c8           	beqs 6487c <scanpw+0x2c>                    
   || !scanInt(fp, &pwgid)                                            
   648b4:	486e fffc      	pea %fp@(-4)                                
   648b8:	2f02           	movel %d2,%sp@-                             
   648ba:	4e94           	jsr %a4@                                    
   648bc:	508f           	addql #8,%sp                                
   648be:	4a80           	tstl %d0                                    
   648c0:	67ba           	beqs 6487c <scanpw+0x2c>                    <== NEVER TAKEN
   || !scanString(fp, &pwd->pw_comment, &buffer, &bufsize, 0)         
   648c2:	42a7           	clrl %sp@-                                  
   648c4:	486e 0014      	pea %fp@(20)                                
   648c8:	486e 0010      	pea %fp@(16)                                
   648cc:	486a 000c      	pea %a2@(12)                                
   648d0:	2f02           	movel %d2,%sp@-                             
   648d2:	4e93           	jsr %a3@                                    
   648d4:	4fef 0014      	lea %sp@(20),%sp                            
   648d8:	4a80           	tstl %d0                                    
   648da:	67a0           	beqs 6487c <scanpw+0x2c>                    <== NEVER TAKEN
   || !scanString(fp, &pwd->pw_gecos, &buffer, &bufsize, 0)           
   648dc:	42a7           	clrl %sp@-                                  
   648de:	486e 0014      	pea %fp@(20)                                
   648e2:	486e 0010      	pea %fp@(16)                                
   648e6:	486a 0010      	pea %a2@(16)                                
   648ea:	2f02           	movel %d2,%sp@-                             
   648ec:	4e93           	jsr %a3@                                    
   648ee:	4fef 0014      	lea %sp@(20),%sp                            
   648f2:	4a80           	tstl %d0                                    
   648f4:	6786           	beqs 6487c <scanpw+0x2c>                    <== NEVER TAKEN
   || !scanString(fp, &pwd->pw_dir, &buffer, &bufsize, 0)             
   648f6:	42a7           	clrl %sp@-                                  
   648f8:	486e 0014      	pea %fp@(20)                                
   648fc:	486e 0010      	pea %fp@(16)                                
   64900:	486a 0014      	pea %a2@(20)                                
   64904:	2f02           	movel %d2,%sp@-                             
   64906:	4e93           	jsr %a3@                                    
   64908:	4fef 0014      	lea %sp@(20),%sp                            
   6490c:	4a80           	tstl %d0                                    
   6490e:	6700 ff6c      	beqw 6487c <scanpw+0x2c>                    
   || !scanString(fp, &pwd->pw_shell, &buffer, &bufsize, 1))          
   64912:	4878 0001      	pea 1 <ADD>                                 
   64916:	486e 0014      	pea %fp@(20)                                
   6491a:	486e 0010      	pea %fp@(16)                                
   6491e:	486a 0018      	pea %a2@(24)                                
   64922:	2f02           	movel %d2,%sp@-                             
   64924:	4e93           	jsr %a3@                                    
   64926:	4fef 0014      	lea %sp@(20),%sp                            
   6492a:	4a80           	tstl %d0                                    
   6492c:	6700 ff4e      	beqw 6487c <scanpw+0x2c>                    
    return 0;                                                         
  pwd->pw_uid = pwuid;                                                
  pwd->pw_gid = pwgid;                                                
  return 1;                                                           
   64930:	7001           	moveq #1,%d0                                
   || !scanString(fp, &pwd->pw_comment, &buffer, &bufsize, 0)         
   || !scanString(fp, &pwd->pw_gecos, &buffer, &bufsize, 0)           
   || !scanString(fp, &pwd->pw_dir, &buffer, &bufsize, 0)             
   || !scanString(fp, &pwd->pw_shell, &buffer, &bufsize, 1))          
    return 0;                                                         
  pwd->pw_uid = pwuid;                                                
   64932:	356e fffa 0008 	movew %fp@(-6),%a2@(8)                      
  pwd->pw_gid = pwgid;                                                
   64938:	356e fffe 000a 	movew %fp@(-2),%a2@(10)                     
  return 1;                                                           
}                                                                     
   6493e:	4cee 1c04 ffe8 	moveml %fp@(-24),%d2/%a2-%a4                
   64944:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00046074 <siproc>: /* * Process input character, with semaphore. */ static int siproc (unsigned char c, struct rtems_termios_tty *tty) {
   46074:	4e56 0000      	linkw %fp,#0                                
   46078:	2f0a           	movel %a2,%sp@-                             
   4607a:	246e 000c      	moveal %fp@(12),%a2                         
  int i;                                                              
                                                                      
  /*                                                                  
   * Obtain output semaphore if character will be echoed              
   */                                                                 
  if (tty->termios.c_lflag & (ECHO|ECHOE|ECHOK|ECHONL|ECHOPRT|ECHOCTL|ECHOKE)) {
   4607e:	202a 003c      	movel %a2@(60),%d0                          
   46082:	0280 0000 0e78 	andil #3704,%d0                             
/*                                                                    
 * Process input character, with semaphore.                           
 */                                                                   
static int                                                            
siproc (unsigned char c, struct rtems_termios_tty *tty)               
{                                                                     
   46088:	2f02           	movel %d2,%sp@-                             
   4608a:	142e 000b      	moveb %fp@(11),%d2                          
  int i;                                                              
                                                                      
  /*                                                                  
   * Obtain output semaphore if character will be echoed              
   */                                                                 
  if (tty->termios.c_lflag & (ECHO|ECHOE|ECHOK|ECHONL|ECHOPRT|ECHOCTL|ECHOKE)) {
   4608e:	4a80           	tstl %d0                                    
   46090:	6618           	bnes 460aa <siproc+0x36>                    <== ALWAYS TAKEN
  }                                                                   
  else {                                                              
    i = iproc (c, tty);                                               
  }                                                                   
  return i;                                                           
}                                                                     
   46092:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
    rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); 
    i = iproc (c, tty);                                               
    rtems_semaphore_release (tty->osem);                              
  }                                                                   
  else {                                                              
    i = iproc (c, tty);                                               
   46096:	0282 0000 00ff 	andil #255,%d2                              <== NOT EXECUTED
   4609c:	2d42 0008      	movel %d2,%fp@(8)                           <== NOT EXECUTED
  }                                                                   
  return i;                                                           
}                                                                     
   460a0:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   460a4:	4e5e           	unlk %fp                                    <== NOT EXECUTED
    rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); 
    i = iproc (c, tty);                                               
    rtems_semaphore_release (tty->osem);                              
  }                                                                   
  else {                                                              
    i = iproc (c, tty);                                               
   460a6:	6000 fd8c      	braw 45e34 <iproc>                          <== NOT EXECUTED
                                                                      
  /*                                                                  
   * Obtain output semaphore if character will be echoed              
   */                                                                 
  if (tty->termios.c_lflag & (ECHO|ECHOE|ECHOK|ECHONL|ECHOPRT|ECHOCTL|ECHOKE)) {
    rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); 
   460aa:	42a7           	clrl %sp@-                                  
    i = iproc (c, tty);                                               
   460ac:	0282 0000 00ff 	andil #255,%d2                              
                                                                      
  /*                                                                  
   * Obtain output semaphore if character will be echoed              
   */                                                                 
  if (tty->termios.c_lflag & (ECHO|ECHOE|ECHOK|ECHONL|ECHOPRT|ECHOCTL|ECHOKE)) {
    rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); 
   460b2:	42a7           	clrl %sp@-                                  
   460b4:	2f2a 0018      	movel %a2@(24),%sp@-                        
   460b8:	4eb9 0004 7458 	jsr 47458 <rtems_semaphore_obtain>          
    i = iproc (c, tty);                                               
   460be:	2f0a           	movel %a2,%sp@-                             
   460c0:	2f02           	movel %d2,%sp@-                             
   460c2:	4eba fd70      	jsr %pc@(45e34 <iproc>)                     
    rtems_semaphore_release (tty->osem);                              
   460c6:	2f2a 0018      	movel %a2@(24),%sp@-                        
  /*                                                                  
   * Obtain output semaphore if character will be echoed              
   */                                                                 
  if (tty->termios.c_lflag & (ECHO|ECHOE|ECHOK|ECHONL|ECHOPRT|ECHOCTL|ECHOKE)) {
    rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); 
    i = iproc (c, tty);                                               
   460ca:	2400           	movel %d0,%d2                               
    rtems_semaphore_release (tty->osem);                              
   460cc:	4eb9 0004 75b0 	jsr 475b0 <rtems_semaphore_release>         
  }                                                                   
  else {                                                              
    i = iproc (c, tty);                                               
  }                                                                   
  return i;                                                           
}                                                                     
   460d2:	246e fffc      	moveal %fp@(-4),%a2                         
   460d6:	2002           	movel %d2,%d0                               
   * Obtain output semaphore if character will be echoed              
   */                                                                 
  if (tty->termios.c_lflag & (ECHO|ECHOE|ECHOK|ECHONL|ECHOPRT|ECHOCTL|ECHOKE)) {
    rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); 
    i = iproc (c, tty);                                               
    rtems_semaphore_release (tty->osem);                              
   460d8:	4fef 0018      	lea %sp@(24),%sp                            
  }                                                                   
  else {                                                              
    i = iproc (c, tty);                                               
  }                                                                   
  return i;                                                           
}                                                                     
   460dc:	242e fff8      	movel %fp@(-8),%d2                          
   460e0:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

0004e548 <sparse_disk_ioctl>: /* * ioctl handler to be passed to the block device handler */ static int sparse_disk_ioctl( rtems_disk_device *dd, uint32_t req, void *argp ) {
   4e548:	4e56 ffc8      	linkw %fp,#-56                              
   4e54c:	206e 0008      	moveal %fp@(8),%a0                          
   4e550:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
   4e554:	202e 000c      	movel %fp@(12),%d0                          
  } else {                                                            
    sc = RTEMS_INVALID_NUMBER;                                        
  }                                                                   
                                                                      
  return sc;                                                          
}                                                                     
   4e558:	2468 003c      	moveal %a0@(60),%a2                         
static int sparse_disk_ioctl( rtems_disk_device *dd, uint32_t req, void *argp )
{                                                                     
  rtems_status_code  sc;                                              
  rtems_sparse_disk *sd = rtems_disk_get_driver_data( dd );           
                                                                      
  if ( RTEMS_BLKIO_REQUEST == req ) {                                 
   4e55c:	0c80 c018 4201 	cmpil #-1072152063,%d0                      
   4e562:	6778           	beqs 4e5dc <sparse_disk_ioctl+0x94>         
      case RTEMS_BLKDEV_REQ_WRITE:                                    
        return sparse_disk_read_write( sd, r, r->req == RTEMS_BLKDEV_REQ_READ );
      default:                                                        
        break;                                                        
    }                                                                 
  } else if ( RTEMS_BLKIO_DELETED == req ) {                          
   4e564:	0c80 2000 4207 	cmpil #536887815,%d0                        
   4e56a:	671c           	beqs 4e588 <sparse_disk_ioctl+0x40>         
    if ( NULL != sd->delete_handler )                                 
      ( *sd->delete_handler )( sd );                                  
                                                                      
    return 0;                                                         
  } else {                                                            
    return rtems_blkdev_ioctl( dd, req, argp );                       
   4e56c:	2f2e 0010      	movel %fp@(16),%sp@-                        
   4e570:	2f00           	movel %d0,%sp@-                             
   4e572:	2f08           	movel %a0,%sp@-                             
   4e574:	4eb9 0005 131c 	jsr 5131c <rtems_blkdev_ioctl>              
   4e57a:	4fef 000c      	lea %sp@(12),%sp                            
  }                                                                   
                                                                      
  errno = EINVAL;                                                     
  return -1;                                                          
}                                                                     
   4e57e:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   4e584:	4e5e           	unlk %fp                                    
   4e586:	4e75           	rts                                         
        return sparse_disk_read_write( sd, r, r->req == RTEMS_BLKDEV_REQ_READ );
      default:                                                        
        break;                                                        
    }                                                                 
  } else if ( RTEMS_BLKIO_DELETED == req ) {                          
    sc = rtems_semaphore_delete( sd->mutex );                         
   4e588:	2f12           	movel %a2@,%sp@-                            
   4e58a:	4eb9 0004 9444 	jsr 49444 <rtems_semaphore_delete>          
                                                                      
    if ( RTEMS_SUCCESSFUL != sc )                                     
   4e590:	588f           	addql #4,%sp                                
   4e592:	4a80           	tstl %d0                                    
   4e594:	6600 0232      	bnew 4e7c8 <sparse_disk_ioctl+0x280>        
      rtems_fatal_error_occurred( 0xdeadbeef );                       
                                                                      
    sd->mutex = RTEMS_ID_NONE;                                        
                                                                      
    if ( NULL != sd->delete_handler )                                 
   4e598:	206a 0010      	moveal %a2@(16),%a0                         
    sc = rtems_semaphore_delete( sd->mutex );                         
                                                                      
    if ( RTEMS_SUCCESSFUL != sc )                                     
      rtems_fatal_error_occurred( 0xdeadbeef );                       
                                                                      
    sd->mutex = RTEMS_ID_NONE;                                        
   4e59c:	4292           	clrl %a2@                                   
                                                                      
    if ( NULL != sd->delete_handler )                                 
   4e59e:	4a88           	tstl %a0                                    
   4e5a0:	672e           	beqs 4e5d0 <sparse_disk_ioctl+0x88>         <== NEVER TAKEN
      ( *sd->delete_handler )( sd );                                  
   4e5a2:	2f0a           	movel %a2,%sp@-                             
   4e5a4:	4e90           	jsr %a0@                                    
   4e5a6:	588f           	addql #4,%sp                                
                                                                      
    return 0;                                                         
   4e5a8:	4280           	clrl %d0                                    
    return rtems_blkdev_ioctl( dd, req, argp );                       
  }                                                                   
                                                                      
  errno = EINVAL;                                                     
  return -1;                                                          
}                                                                     
   4e5aa:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   4e5b0:	4e5e           	unlk %fp                                    
   4e5b2:	4e75           	rts                                         
      bytes_handled += rv;                                            
      buff_size     -= rv;                                            
    }                                                                 
  }                                                                   
                                                                      
  rtems_semaphore_release( sparse_disk->mutex );                      
   4e5b4:	2f12           	movel %a2@,%sp@-                            <== NOT EXECUTED
   4e5b6:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         <== NOT EXECUTED
static inline void rtems_blkdev_request_done(                         
  rtems_blkdev_request *req,                                          
  rtems_status_code status                                            
)                                                                     
{                                                                     
  (*req->done)(req, status);                                          
   4e5bc:	4878 001b      	pea 1b <OPER2+0x7>                          <== NOT EXECUTED
   4e5c0:	226e 0010      	moveal %fp@(16),%a1                         <== NOT EXECUTED
   4e5c4:	2069 0004      	moveal %a1@(4),%a0                          <== NOT EXECUTED
   4e5c8:	2f09           	movel %a1,%sp@-                             <== NOT EXECUTED
   4e5ca:	4e90           	jsr %a0@                                    <== NOT EXECUTED
   4e5cc:	4fef 000c      	lea %sp@(12),%sp                            <== NOT EXECUTED
    rtems_blkdev_request *r = argp;                                   
                                                                      
    switch ( r->req ) {                                               
      case RTEMS_BLKDEV_REQ_READ:                                     
      case RTEMS_BLKDEV_REQ_WRITE:                                    
        return sparse_disk_read_write( sd, r, r->req == RTEMS_BLKDEV_REQ_READ );
   4e5d0:	4280           	clrl %d0                                    <== NOT EXECUTED
    return rtems_blkdev_ioctl( dd, req, argp );                       
  }                                                                   
                                                                      
  errno = EINVAL;                                                     
  return -1;                                                          
}                                                                     
   4e5d2:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
   4e5d8:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e5da:	4e75           	rts                                         <== NOT EXECUTED
  rtems_sparse_disk *sd = rtems_disk_get_driver_data( dd );           
                                                                      
  if ( RTEMS_BLKIO_REQUEST == req ) {                                 
    rtems_blkdev_request *r = argp;                                   
                                                                      
    switch ( r->req ) {                                               
   4e5dc:	206e 0010      	moveal %fp@(16),%a0                         
   4e5e0:	7001           	moveq #1,%d0                                
   4e5e2:	2e10           	movel %a0@,%d7                              
   4e5e4:	b087           	cmpl %d7,%d0                                
   4e5e6:	6418           	bccs 4e600 <sparse_disk_ioctl+0xb8>         <== ALWAYS TAKEN
    return 0;                                                         
  } else {                                                            
    return rtems_blkdev_ioctl( dd, req, argp );                       
  }                                                                   
                                                                      
  errno = EINVAL;                                                     
   4e5e8:	4eb9 0005 a7e0 	jsr 5a7e0 <__errno>                         <== NOT EXECUTED
   4e5ee:	7216           	moveq #22,%d1                               <== NOT EXECUTED
   4e5f0:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
  return -1;                                                          
   4e5f2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
}                                                                     
   4e5f4:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            <== NOT EXECUTED
    return 0;                                                         
  } else {                                                            
    return rtems_blkdev_ioctl( dd, req, argp );                       
  }                                                                   
                                                                      
  errno = EINVAL;                                                     
   4e5fa:	2081           	movel %d1,%a0@                              <== NOT EXECUTED
  return -1;                                                          
}                                                                     
   4e5fc:	4e5e           	unlk %fp                                    <== NOT EXECUTED
   4e5fe:	4e75           	rts                                         <== NOT EXECUTED
  rtems_blkdev_bnum       block;                                      
  uint8_t                *buff;                                       
  size_t                  buff_size;                                  
  unsigned int            bytes_handled;                              
                                                                      
  rtems_semaphore_obtain( sparse_disk->mutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
   4e600:	42a7           	clrl %sp@-                                  
   4e602:	4bee fff8      	lea %fp@(-8),%a5                            
   4e606:	42a7           	clrl %sp@-                                  
   4e608:	2f12           	movel %a2@,%sp@-                            
   4e60a:	49f9 0005 a77c 	lea 5a77c <bsearch>,%a4                     
   4e610:	2d40 fff4      	movel %d0,%fp@(-12)                         
   4e614:	4eb9 0004 951c 	jsr 4951c <rtems_semaphore_obtain>          
   4e61a:	206e 0010      	moveal %fp@(16),%a0                         
   4e61e:	4fef 000c      	lea %sp@(12),%sp                            
   4e622:	202e fff4      	movel %fp@(-12),%d0                         
   4e626:	5380           	subql #1,%d0                                
   4e628:	2228 0010      	movel %a0@(16),%d1                          
                                                                      
  for ( req_buffer = 0;                                               
        ( 0 <= rv ) && ( req_buffer < req->bufnum );                  
   4e62c:	b280           	cmpl %d0,%d1                                
   4e62e:	6300 0094      	blsw 4e6c4 <sparse_disk_ioctl+0x17c>        
        ++req_buffer ) {                                              
    scatter_gather = &req->bufs[req_buffer];                          
   4e632:	226e 0010      	moveal %fp@(16),%a1                         
   4e636:	e988           	lsll #4,%d0                                 
   4e638:	41f1 0818      	lea %a1@(00000018,%d0:l),%a0                
                                                                      
    bytes_handled  = 0;                                               
    buff           = (uint8_t *) scatter_gather->buffer;              
   4e63c:	2c28 0008      	movel %a0@(8),%d6                           
    block          = scatter_gather->block;                           
   4e640:	2810           	movel %a0@,%d4                              
    buff_size      = scatter_gather->length;                          
   4e642:	2628 0004      	movel %a0@(4),%d3                           
                                                                      
    while ( ( 0 <= rv ) && ( 0 < buff_size ) ) {                      
   4e646:	676c           	beqs 4e6b4 <sparse_disk_ioctl+0x16c>        <== NEVER TAKEN
   4e648:	4285           	clrl %d5                                    
  const rtems_blkdev_bnum  block,                                     
  uint8_t                 *buffer,                                    
  const size_t             buffer_size )                              
{                                                                     
  rtems_sparse_disk_key *key;                                         
  rtems_sparse_disk_key  block_key = {                                
   4e64a:	2d44 fff8      	movel %d4,%fp@(-8)                          
    .block = block,                                                   
    .data  = NULL                                                     
  };                                                                  
  size_t                 bytes_to_copy = sparse_disk->media_block_size;
   4e64e:	202a 000c      	movel %a2@(12),%d0                          
    block          = scatter_gather->block;                           
    buff_size      = scatter_gather->length;                          
                                                                      
    while ( ( 0 <= rv ) && ( 0 < buff_size ) ) {                      
      if ( read )                                                     
        rv = sparse_disk_read_block( sparse_disk,                     
   4e652:	2646           	moveal %d6,%a3                              
   4e654:	d7c5           	addal %d5,%a3                               
   4e656:	2403           	movel %d3,%d2                               
  const rtems_blkdev_bnum  block,                                     
  uint8_t                 *buffer,                                    
  const size_t             buffer_size )                              
{                                                                     
  rtems_sparse_disk_key *key;                                         
  rtems_sparse_disk_key  block_key = {                                
   4e658:	42ae fffc      	clrl %fp@(-4)                               
    buff           = (uint8_t *) scatter_gather->buffer;              
    block          = scatter_gather->block;                           
    buff_size      = scatter_gather->length;                          
                                                                      
    while ( ( 0 <= rv ) && ( 0 < buff_size ) ) {                      
      if ( read )                                                     
   4e65c:	4a87           	tstl %d7                                    
   4e65e:	6600 008a      	bnew 4e6ea <sparse_disk_ioctl+0x1a2>        
   4e662:	b083           	cmpl %d3,%d0                                
   4e664:	6402           	bccs 4e668 <sparse_disk_ioctl+0x120>        
   4e666:	2400           	movel %d0,%d2                               
  size_t                 bytes_to_copy = sparse_disk->media_block_size;
                                                                      
  if ( buffer_size < bytes_to_copy )                                  
    bytes_to_copy = buffer_size;                                      
                                                                      
  key = bsearch(                                                      
   4e668:	487a feba      	pea %pc@(4e524 <sparse_disk_compare>)       
   4e66c:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   4e670:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4e674:	2f2a 0016      	movel %a2@(22),%sp@-                        
   4e678:	2f0d           	movel %a5,%sp@-                             
   4e67a:	4e94           	jsr %a4@                                    
    sparse_disk->used_count,                                          
    sizeof( rtems_sparse_disk_key ),                                  
    sparse_disk_compare                                               
    );                                                                
                                                                      
  if ( NULL != key )                                                  
   4e67c:	4fef 0014      	lea %sp@(20),%sp                            
   4e680:	4a80           	tstl %d0                                    
   4e682:	6700 0120      	beqw 4e7a4 <sparse_disk_ioctl+0x25c>        
    memcpy( buffer, key->data, bytes_to_copy );                       
   4e686:	2040           	moveal %d0,%a0                              
   4e688:	2f02           	movel %d2,%sp@-                             
   4e68a:	2f28 0004      	movel %a0@(4),%sp@-                         
   4e68e:	2f0b           	movel %a3,%sp@-                             
   4e690:	4eb9 0005 b188 	jsr 5b188 <memcpy>                          
   4e696:	4fef 000c      	lea %sp@(12),%sp                            
  if ( NULL != key )                                                  
    memcpy( key->data, buffer, bytes_to_copy );                       
  else if ( block_needs_writing )                                     
    return -1;                                                        
                                                                      
  return bytes_to_copy;                                               
   4e69a:	2002           	movel %d2,%d0                               
        rv = sparse_disk_write_block( sparse_disk,                    
                                      block,                          
                                      &buff[bytes_handled],           
                                      buff_size );                    
                                                                      
      ++block;                                                        
   4e69c:	5284           	addql #1,%d4                                
      bytes_handled += rv;                                            
   4e69e:	da82           	addl %d2,%d5                                
      buff_size     -= rv;                                            
   4e6a0:	9682           	subl %d2,%d3                                
    bytes_handled  = 0;                                               
    buff           = (uint8_t *) scatter_gather->buffer;              
    block          = scatter_gather->block;                           
    buff_size      = scatter_gather->length;                          
                                                                      
    while ( ( 0 <= rv ) && ( 0 < buff_size ) ) {                      
   4e6a2:	4a80           	tstl %d0                                    
   4e6a4:	6d00 ff0e      	bltw 4e5b4 <sparse_disk_ioctl+0x6c>         
   4e6a8:	4a83           	tstl %d3                                    
   4e6aa:	669e           	bnes 4e64a <sparse_disk_ioctl+0x102>        
   4e6ac:	206e 0010      	moveal %fp@(16),%a0                         
   4e6b0:	2228 0010      	movel %a0@(16),%d1                          
   4e6b4:	52ae fff4      	addql #1,%fp@(-12)                          
   4e6b8:	202e fff4      	movel %fp@(-12),%d0                         
   4e6bc:	5380           	subql #1,%d0                                
  unsigned int            bytes_handled;                              
                                                                      
  rtems_semaphore_obtain( sparse_disk->mutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
                                                                      
  for ( req_buffer = 0;                                               
        ( 0 <= rv ) && ( req_buffer < req->bufnum );                  
   4e6be:	b280           	cmpl %d0,%d1                                
   4e6c0:	6200 ff70      	bhiw 4e632 <sparse_disk_ioctl+0xea>         
      bytes_handled += rv;                                            
      buff_size     -= rv;                                            
    }                                                                 
  }                                                                   
                                                                      
  rtems_semaphore_release( sparse_disk->mutex );                      
   4e6c4:	2f12           	movel %a2@,%sp@-                            
   4e6c6:	4eb9 0004 9674 	jsr 49674 <rtems_semaphore_release>         
   4e6cc:	226e 0010      	moveal %fp@(16),%a1                         
   4e6d0:	2069 0004      	moveal %a1@(4),%a0                          
   4e6d4:	42a7           	clrl %sp@-                                  
   4e6d6:	2f09           	movel %a1,%sp@-                             
   4e6d8:	4e90           	jsr %a0@                                    
   4e6da:	4fef 000c      	lea %sp@(12),%sp                            
    rtems_blkdev_request *r = argp;                                   
                                                                      
    switch ( r->req ) {                                               
      case RTEMS_BLKDEV_REQ_READ:                                     
      case RTEMS_BLKDEV_REQ_WRITE:                                    
        return sparse_disk_read_write( sd, r, r->req == RTEMS_BLKDEV_REQ_READ );
   4e6de:	4280           	clrl %d0                                    
    return rtems_blkdev_ioctl( dd, req, argp );                       
  }                                                                   
                                                                      
  errno = EINVAL;                                                     
  return -1;                                                          
}                                                                     
   4e6e0:	4cee 3cfc ffc8 	moveml %fp@(-56),%d2-%d7/%a2-%a5            
   4e6e6:	4e5e           	unlk %fp                                    
   4e6e8:	4e75           	rts                                         
   4e6ea:	b083           	cmpl %d3,%d0                                
   4e6ec:	6402           	bccs 4e6f0 <sparse_disk_ioctl+0x1a8>        
   4e6ee:	2400           	movel %d0,%d2                               
                                                                      
  /* we only need to write the block if it is different from the fill pattern.
   * If the read method does not find a block it will deliver the fill pattern anyway.
   */                                                                 
                                                                      
  key = bsearch(                                                      
   4e6f0:	487a fe32      	pea %pc@(4e524 <sparse_disk_compare>)       
   4e6f4:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   4e6f8:	2f2a 0008      	movel %a2@(8),%sp@-                         
   4e6fc:	2f2a 0016      	movel %a2@(22),%sp@-                        
   4e700:	2f0d           	movel %a5,%sp@-                             
   4e702:	4e94           	jsr %a4@                                    
    sparse_disk->used_count,                                          
    sizeof( rtems_sparse_disk_key ),                                  
    sparse_disk_compare                                               
    );                                                                
                                                                      
  if ( NULL == key ) {                                                
   4e704:	4fef 0014      	lea %sp@(20),%sp                            
   4e708:	4a80           	tstl %d0                                    
   4e70a:	671a           	beqs 4e726 <sparse_disk_ioctl+0x1de>        
      key = sparse_disk_get_new_block( sparse_disk, block );          
    }                                                                 
  }                                                                   
                                                                      
  if ( NULL != key )                                                  
    memcpy( key->data, buffer, bytes_to_copy );                       
   4e70c:	2f02           	movel %d2,%sp@-                             
   4e70e:	2040           	moveal %d0,%a0                              
   4e710:	2f0b           	movel %a3,%sp@-                             
   4e712:	2f28 0004      	movel %a0@(4),%sp@-                         
   4e716:	4eb9 0005 b188 	jsr 5b188 <memcpy>                          
   4e71c:	4fef 000c      	lea %sp@(12),%sp                            
  else if ( block_needs_writing )                                     
    return -1;                                                        
                                                                      
  return bytes_to_copy;                                               
   4e720:	2002           	movel %d2,%d0                               
   4e722:	6000 ff78      	braw 4e69c <sparse_disk_ioctl+0x154>        
    sizeof( rtems_sparse_disk_key ),                                  
    sparse_disk_compare                                               
    );                                                                
                                                                      
  if ( NULL == key ) {                                                
    for ( i = 0; ( !block_needs_writing ) && ( i < bytes_to_copy ); ++i ) {
   4e726:	4a82           	tstl %d2                                    
   4e728:	6700 ff70      	beqw 4e69a <sparse_disk_ioctl+0x152>        
   4e72c:	4281           	clrl %d1                                    
   4e72e:	4280           	clrl %d0                                    
   4e730:	1213           	moveb %a3@,%d1                              
   4e732:	102a 0014      	moveb %a2@(20),%d0                          
   4e736:	b081           	cmpl %d1,%d0                                
   4e738:	6616           	bnes 4e750 <sparse_disk_ioctl+0x208>        
}                                                                     
                                                                      
/*                                                                    
 * ioctl handler to be passed to the block device handler             
 */                                                                   
static int sparse_disk_ioctl( rtems_disk_device *dd, uint32_t req, void *argp )
   4e73a:	43f3 2800      	lea %a3@(00000000,%d2:l),%a1                
   4e73e:	41eb 0001      	lea %a3@(1),%a0                             
    sizeof( rtems_sparse_disk_key ),                                  
    sparse_disk_compare                                               
    );                                                                
                                                                      
  if ( NULL == key ) {                                                
    for ( i = 0; ( !block_needs_writing ) && ( i < bytes_to_copy ); ++i ) {
   4e742:	b3c8           	cmpal %a0,%a1                               
   4e744:	6700 ff54      	beqw 4e69a <sparse_disk_ioctl+0x152>        
   4e748:	4280           	clrl %d0                                    
   4e74a:	1018           	moveb %a0@+,%d0                             
   4e74c:	b280           	cmpl %d0,%d1                                
   4e74e:	67f2           	beqs 4e742 <sparse_disk_ioctl+0x1fa>        
  rtems_sparse_disk      *sparse_disk,                                
  const rtems_blkdev_bnum block )                                     
{                                                                     
  rtems_sparse_disk_key *key;                                         
                                                                      
  if ( sparse_disk->used_count < sparse_disk->blocks_with_buffer ) {  
   4e750:	202a 0008      	movel %a2@(8),%d0                           
   4e754:	b0aa 0004      	cmpl %a2@(4),%d0                            
   4e758:	6466           	bccs 4e7c0 <sparse_disk_ioctl+0x278>        <== NEVER TAKEN
    key        = &sparse_disk->key_table[sparse_disk->used_count];    
    key->block = block;                                               
    ++sparse_disk->used_count;                                        
   4e75a:	2040           	moveal %d0,%a0                              
   4e75c:	5288           	addql #1,%a0                                
  const rtems_blkdev_bnum block )                                     
{                                                                     
  rtems_sparse_disk_key *key;                                         
                                                                      
  if ( sparse_disk->used_count < sparse_disk->blocks_with_buffer ) {  
    key        = &sparse_disk->key_table[sparse_disk->used_count];    
   4e75e:	e788           	lsll #3,%d0                                 
   4e760:	222a 0016      	movel %a2@(22),%d1                          
   4e764:	d081           	addl %d1,%d0                                
    key->block = block;                                               
   4e766:	2240           	moveal %d0,%a1                              
   4e768:	2284           	movel %d4,%a1@                              
    ++sparse_disk->used_count;                                        
   4e76a:	2548 0008      	movel %a0,%a2@(8)                           
    qsort( sparse_disk->key_table, sparse_disk->used_count,           
   4e76e:	487a fdb4      	pea %pc@(4e524 <sparse_disk_compare>)       
   4e772:	4878 0008      	pea 8 <DIVIDE_BY_ZERO>                      
   4e776:	2f08           	movel %a0,%sp@-                             
   4e778:	2d40 fff0      	movel %d0,%fp@(-16)                         
   4e77c:	2f01           	movel %d1,%sp@-                             
   4e77e:	4eb9 0005 b264 	jsr 5b264 <qsort>                           
   4e784:	4fef 0010      	lea %sp@(16),%sp                            
   4e788:	202e fff0      	movel %fp@(-16),%d0                         
      key = sparse_disk_get_new_block( sparse_disk, block );          
    }                                                                 
  }                                                                   
                                                                      
  if ( NULL != key )                                                  
    memcpy( key->data, buffer, bytes_to_copy );                       
   4e78c:	2040           	moveal %d0,%a0                              
   4e78e:	2f02           	movel %d2,%sp@-                             
   4e790:	2f0b           	movel %a3,%sp@-                             
   4e792:	2f28 0004      	movel %a0@(4),%sp@-                         
   4e796:	4eb9 0005 b188 	jsr 5b188 <memcpy>                          
   4e79c:	4fef 000c      	lea %sp@(12),%sp                            
   4e7a0:	6000 ff7e      	braw 4e720 <sparse_disk_ioctl+0x1d8>        
    );                                                                
                                                                      
  if ( NULL != key )                                                  
    memcpy( buffer, key->data, bytes_to_copy );                       
  else                                                                
    memset( buffer, sparse_disk->fill_pattern, buffer_size );         
   4e7a4:	2f03           	movel %d3,%sp@-                             
   4e7a6:	4280           	clrl %d0                                    
   4e7a8:	102a 0014      	moveb %a2@(20),%d0                          
   4e7ac:	2f00           	movel %d0,%sp@-                             
   4e7ae:	2f0b           	movel %a3,%sp@-                             
   4e7b0:	4eb9 0005 b1f8 	jsr 5b1f8 <memset>                          
   4e7b6:	4fef 000c      	lea %sp@(12),%sp                            
  if ( NULL != key )                                                  
    memcpy( key->data, buffer, bytes_to_copy );                       
  else if ( block_needs_writing )                                     
    return -1;                                                        
                                                                      
  return bytes_to_copy;                                               
   4e7ba:	2002           	movel %d2,%d0                               
   4e7bc:	6000 fede      	braw 4e69c <sparse_disk_ioctl+0x154>        
  rtems_sparse_disk      *sparse_disk,                                
  const rtems_blkdev_bnum block )                                     
{                                                                     
  rtems_sparse_disk_key *key;                                         
                                                                      
  if ( sparse_disk->used_count < sparse_disk->blocks_with_buffer ) {  
   4e7c0:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
  }                                                                   
                                                                      
  if ( NULL != key )                                                  
    memcpy( key->data, buffer, bytes_to_copy );                       
  else if ( block_needs_writing )                                     
    return -1;                                                        
   4e7c2:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   4e7c4:	6000 fed6      	braw 4e69c <sparse_disk_ioctl+0x154>        <== NOT EXECUTED
    }                                                                 
  } else if ( RTEMS_BLKIO_DELETED == req ) {                          
    sc = rtems_semaphore_delete( sd->mutex );                         
                                                                      
    if ( RTEMS_SUCCESSFUL != sc )                                     
      rtems_fatal_error_occurred( 0xdeadbeef );                       
   4e7c8:	2f3c dead beef 	movel #-559038737,%sp@-                     <== NOT EXECUTED
   4e7ce:	4eb9 0004 9d54 	jsr 49d54 <rtems_fatal_error_occurred>      <== NOT EXECUTED
                                                                      

000459e4 <sync_per_thread>: fdatasync(fn); } /* iterate over all FILE *'s for this thread */ static void sync_per_thread(Thread_Control *t) {
   459e4:	4e56 0000      	linkw %fp,#0                                
   459e8:	206e 0008      	moveal %fp@(8),%a0                          
                                                                      
   /*                                                                 
    *  The sync_wrapper() function will operate on the current thread's
    *  reent structure so we will temporarily use that.               
    */                                                                
   this_reent = t->libc_reent;                                        
   459ec:	2028 00f4      	movel %a0@(244),%d0                         
  fdatasync(fn);                                                      
}                                                                     
                                                                      
/* iterate over all FILE *'s for this thread */                       
static void sync_per_thread(Thread_Control *t)                        
{                                                                     
   459f0:	2f02           	movel %d2,%sp@-                             
   /*                                                                 
    *  The sync_wrapper() function will operate on the current thread's
    *  reent structure so we will temporarily use that.               
    */                                                                
   this_reent = t->libc_reent;                                        
   if ( this_reent ) {                                                
   459f2:	4a80           	tstl %d0                                    
   459f4:	6728           	beqs 45a1e <sync_per_thread+0x3a>           <== NEVER TAKEN
     current_reent = _Thread_Executing->libc_reent;                   
   459f6:	2279 0006 14de 	moveal 614de <_Per_CPU_Information+0xe>,%a1 
   459fc:	2429 00f4      	movel %a1@(244),%d2                         
     _Thread_Executing->libc_reent = this_reent;                      
   45a00:	2340 00f4      	movel %d0,%a1@(244)                         
     _fwalk (t->libc_reent, sync_wrapper);                            
   45a04:	487a 0020      	pea %pc@(45a26 <sync_wrapper>)              
   45a08:	2f28 00f4      	movel %a0@(244),%sp@-                       
   45a0c:	4eb9 0004 febc 	jsr 4febc <_fwalk>                          
     _Thread_Executing->libc_reent = current_reent;                   
   45a12:	2079 0006 14de 	moveal 614de <_Per_CPU_Information+0xe>,%a0 
   45a18:	508f           	addql #8,%sp                                
   45a1a:	2142 00f4      	movel %d2,%a0@(244)                         
   }                                                                  
}                                                                     
   45a1e:	242e fffc      	movel %fp@(-4),%d2                          
   45a22:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00054c80 <tcsetattr>: int tcsetattr( int fd, int opt, struct termios *tp ) {
   54c80:	4e56 0000      	linkw %fp,#0                                
   54c84:	202e 000c      	movel %fp@(12),%d0                          
   54c88:	2f03           	movel %d3,%sp@-                             
   54c8a:	262e 0010      	movel %fp@(16),%d3                          
   54c8e:	2f02           	movel %d2,%sp@-                             
   54c90:	242e 0008      	movel %fp@(8),%d2                           
  switch (opt) {                                                      
   54c94:	4a80           	tstl %d0                                    
   54c96:	6738           	beqs 54cd0 <tcsetattr+0x50>                 
   54c98:	7201           	moveq #1,%d1                                
   54c9a:	b280           	cmpl %d0,%d1                                
   54c9c:	671c           	beqs 54cba <tcsetattr+0x3a>                 
  default:                                                            
    rtems_set_errno_and_return_minus_one( ENOTSUP );                  
   54c9e:	4eb9 0005 81e4 	jsr 581e4 <__errno>                         
   54ca4:	2040           	moveal %d0,%a0                              
   54ca6:	20bc 0000 0086 	movel #134,%a0@                             
     * Fall through to....                                            
     */                                                               
  case TCSANOW:                                                       
    return ioctl( fd, RTEMS_IO_SET_ATTRIBUTES, tp );                  
  }                                                                   
}                                                                     
   54cac:	242e fff8      	movel %fp@(-8),%d2                          
   54cb0:	70ff           	moveq #-1,%d0                               
   54cb2:	262e fffc      	movel %fp@(-4),%d3                          
   54cb6:	4e5e           	unlk %fp                                    
   54cb8:	4e75           	rts                                         
  switch (opt) {                                                      
  default:                                                            
    rtems_set_errno_and_return_minus_one( ENOTSUP );                  
                                                                      
  case TCSADRAIN:                                                     
    if (ioctl( fd, RTEMS_IO_TCDRAIN, NULL ) < 0)                      
   54cba:	42a7           	clrl %sp@-                                  
   54cbc:	4878 0003      	pea 3 <DIVIDE>                              
   54cc0:	2f02           	movel %d2,%sp@-                             
   54cc2:	4eb9 0005 7a58 	jsr 57a58 <ioctl>                           
   54cc8:	4fef 000c      	lea %sp@(12),%sp                            
   54ccc:	4a80           	tstl %d0                                    
   54cce:	6ddc           	blts 54cac <tcsetattr+0x2c>                 <== NEVER TAKEN
    	return -1;                                                       
    /*                                                                
     * Fall through to....                                            
     */                                                               
  case TCSANOW:                                                       
    return ioctl( fd, RTEMS_IO_SET_ATTRIBUTES, tp );                  
   54cd0:	2d43 0010      	movel %d3,%fp@(16)                          
   54cd4:	7002           	moveq #2,%d0                                
   54cd6:	2d42 0008      	movel %d2,%fp@(8)                           
  }                                                                   
}                                                                     
   54cda:	242e fff8      	movel %fp@(-8),%d2                          
   54cde:	262e fffc      	movel %fp@(-4),%d3                          
    	return -1;                                                       
    /*                                                                
     * Fall through to....                                            
     */                                                               
  case TCSANOW:                                                       
    return ioctl( fd, RTEMS_IO_SET_ATTRIBUTES, tp );                  
   54ce2:	2d40 000c      	movel %d0,%fp@(12)                          
  }                                                                   
}                                                                     
   54ce6:	4e5e           	unlk %fp                                    
    	return -1;                                                       
    /*                                                                
     * Fall through to....                                            
     */                                                               
  case TCSANOW:                                                       
    return ioctl( fd, RTEMS_IO_SET_ATTRIBUTES, tp );                  
   54ce8:	4ef9 0005 7a58 	jmp 57a58 <ioctl>                           
	...                                                                  
                                                                      

00046d38 <unmount>: * in some form is supported on most UNIX and POSIX systems. This * routine is necessary to mount instantiations of a file system * into the file system name space. */ int unmount( const char *path ) {
   46d38:	4e56 ffb4      	linkw %fp,#-76                              
   46d3c:	48d7 041c      	moveml %d2-%d4/%a2,%sp@                     
  int rv = 0;                                                         
  rtems_filesystem_eval_path_context_t ctx;                           
  int eval_flags = RTEMS_FS_FOLLOW_LINK;                              
  const rtems_filesystem_location_info_t *currentloc =                
   46d40:	4878 0018      	pea 18 <OPER2+0x4>                          
    rtems_filesystem_eval_path_start( &ctx, path, eval_flags );       
   46d44:	260e           	movel %fp,%d3                               
   46d46:	0683 ffff ffc8 	addil #-56,%d3                              
int unmount( const char *path )                                       
{                                                                     
  int rv = 0;                                                         
  rtems_filesystem_eval_path_context_t ctx;                           
  int eval_flags = RTEMS_FS_FOLLOW_LINK;                              
  const rtems_filesystem_location_info_t *currentloc =                
   46d4c:	2f2e 0008      	movel %fp@(8),%sp@-                         
   46d50:	2f03           	movel %d3,%sp@-                             
   46d52:	4eb9 0004 47c6 	jsr 447c6 <rtems_filesystem_eval_path_start>
    rtems_filesystem_eval_path_start( &ctx, path, eval_flags );       
  rtems_filesystem_mount_table_entry_t *mt_entry = currentloc->mt_entry;
   46d58:	2040           	moveal %d0,%a0                              
   46d5a:	2468 0014      	moveal %a0@(20),%a2                         
  const rtems_filesystem_location_info_t *loc                         
)                                                                     
{                                                                     
  const rtems_filesystem_mount_table_entry_t *mt_entry = loc->mt_entry;
                                                                      
  return (*mt_entry->ops->are_nodes_equal_h)(                         
   46d5e:	206a 000c      	moveal %a2@(12),%a0                         
   46d62:	2f2a 0024      	movel %a2@(36),%sp@-                        
   46d66:	2f00           	movel %d0,%sp@-                             
   46d68:	2068 0010      	moveal %a0@(16),%a0                         
   46d6c:	4e90           	jsr %a0@                                    
                                                                      
  if ( rtems_filesystem_location_is_instance_root( currentloc ) ) {   
   46d6e:	4fef 0014      	lea %sp@(20),%sp                            
   46d72:	4a00           	tstb %d0                                    
   46d74:	6700 00b4      	beqw 46e2a <unmount+0xf2>                   
static bool contains_root_or_current_directory(                       
  const rtems_filesystem_mount_table_entry_t *mt_entry                
)                                                                     
{                                                                     
  const rtems_filesystem_location_info_t *root =                      
    &rtems_filesystem_root->location;                                 
   46d78:	2079 0005 e90c 	moveal 5e90c <rtems_current_user_env>,%a0   
  const rtems_filesystem_location_info_t *current =                   
    &rtems_filesystem_current->location;                              
   46d7e:	2250           	moveal %a0@,%a1                             
                                                                      
  return mt_entry == root->mt_entry || mt_entry == current->mt_entry; 
   46d80:	2068 0004      	moveal %a0@(4),%a0                          
   46d84:	b5e8 0014      	cmpal %a0@(20),%a2                          
   46d88:	6700 0086      	beqw 46e10 <unmount+0xd8>                   
   46d8c:	b5e9 0014      	cmpal %a1@(20),%a2                          
   46d90:	677e           	beqs 46e10 <unmount+0xd8>                   
  rtems_filesystem_mount_table_entry_t *mt_entry = currentloc->mt_entry;
                                                                      
  if ( rtems_filesystem_location_is_instance_root( currentloc ) ) {   
    if ( !contains_root_or_current_directory( mt_entry ) ) {          
      const rtems_filesystem_operations_table *mt_point_ops =         
        mt_entry->mt_point_node->location.mt_entry->ops;              
   46d92:	206a 0020      	moveal %a2@(32),%a0                         
   46d96:	2068 0014      	moveal %a0@(20),%a0                         
                                                                      
      rv = (*mt_point_ops->unmount_h)( mt_entry );                    
   46d9a:	2068 000c      	moveal %a0@(12),%a0                         
   46d9e:	2f0a           	movel %a2,%sp@-                             
   46da0:	2068 0038      	moveal %a0@(56),%a0                         
   46da4:	4e90           	jsr %a0@                                    
      if ( rv == 0 ) {                                                
   46da6:	588f           	addql #4,%sp                                
  if ( rtems_filesystem_location_is_instance_root( currentloc ) ) {   
    if ( !contains_root_or_current_directory( mt_entry ) ) {          
      const rtems_filesystem_operations_table *mt_point_ops =         
        mt_entry->mt_point_node->location.mt_entry->ops;              
                                                                      
      rv = (*mt_point_ops->unmount_h)( mt_entry );                    
   46da8:	2400           	movel %d0,%d2                               
      if ( rv == 0 ) {                                                
   46daa:	6716           	beqs 46dc2 <unmount+0x8a>                   
  } else {                                                            
    errno = EACCES;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   46dac:	2f03           	movel %d3,%sp@-                             
   46dae:	4eb9 0004 491a 	jsr 4491a <rtems_filesystem_eval_path_cleanup>
   46db4:	588f           	addql #4,%sp                                
      rtems_fatal_error_occurred( 0xdeadbeef );                       
    }                                                                 
  }                                                                   
                                                                      
  return rv;                                                          
}                                                                     
   46db6:	2002           	movel %d2,%d0                               
   46db8:	4cee 041c ffb4 	moveml %fp@(-76),%d2-%d4/%a2                
   46dbe:	4e5e           	unlk %fp                                    
   46dc0:	4e75           	rts                                         
      const rtems_filesystem_operations_table *mt_point_ops =         
        mt_entry->mt_point_node->location.mt_entry->ops;              
                                                                      
      rv = (*mt_point_ops->unmount_h)( mt_entry );                    
      if ( rv == 0 ) {                                                
        rtems_id self_task_id = rtems_task_self();                    
   46dc2:	4eb9 0004 7f14 	jsr 47f14 <rtems_task_self>                 
        rtems_filesystem_mt_entry_declare_lock_context( lock_context );
                                                                      
        rtems_filesystem_mt_entry_lock( lock_context );               
   46dc8:	223c 0000 0700 	movel #1792,%d1                             
   46dce:	40c4           	movew %sr,%d4                               
   46dd0:	8284           	orl %d4,%d1                                 
   46dd2:	46c1           	movew %d1,%sr                               
        mt_entry->unmount_task = self_task_id;                        
   46dd4:	2540 003a      	movel %d0,%a2@(58)                          
        mt_entry->mounted = false;                                    
   46dd8:	4200           	clrb %d0                                    
   46dda:	1540 0028      	moveb %d0,%a2@(40)                          
        rtems_filesystem_mt_entry_unlock( lock_context );             
   46dde:	46c4           	movew %d4,%sr                               
  } else {                                                            
    errno = EACCES;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   46de0:	2f03           	movel %d3,%sp@-                             
   46de2:	4eb9 0004 491a 	jsr 4491a <rtems_filesystem_eval_path_cleanup>
  rtems_interval ticks                                                
)                                                                     
{                                                                     
  rtems_event_set event_out;                                          
                                                                      
  return rtems_event_system_receive(                                  
   46de8:	486e ffc4      	pea %fp@(-60)                               
   46dec:	42a7           	clrl %sp@-                                  
   46dee:	42a7           	clrl %sp@-                                  
   46df0:	2f3c 8000 0000 	movel #-2147483648,%sp@-                    
   46df6:	4eb9 0004 7bc4 	jsr 47bc4 <rtems_event_system_receive>      
    rtems_status_code sc = rtems_event_transient_receive(             
      RTEMS_WAIT,                                                     
      RTEMS_NO_TIMEOUT                                                
    );                                                                
                                                                      
    if ( sc != RTEMS_SUCCESSFUL ) {                                   
   46dfc:	4fef 0014      	lea %sp@(20),%sp                            
   46e00:	4a80           	tstl %d0                                    
   46e02:	67b2           	beqs 46db6 <unmount+0x7e>                   <== ALWAYS TAKEN
      rtems_fatal_error_occurred( 0xdeadbeef );                       
   46e04:	2f3c dead beef 	movel #-559038737,%sp@-                     <== NOT EXECUTED
   46e0a:	4eb9 0004 81e4 	jsr 481e4 <rtems_fatal_error_occurred>      <== NOT EXECUTED
        mt_entry->unmount_task = self_task_id;                        
        mt_entry->mounted = false;                                    
        rtems_filesystem_mt_entry_unlock( lock_context );             
      }                                                               
    } else {                                                          
      errno = EBUSY;                                                  
   46e10:	4eb9 0004 e6dc 	jsr 4e6dc <__errno>                         
      rv = -1;                                                        
   46e16:	74ff           	moveq #-1,%d2                               
        mt_entry->unmount_task = self_task_id;                        
        mt_entry->mounted = false;                                    
        rtems_filesystem_mt_entry_unlock( lock_context );             
      }                                                               
    } else {                                                          
      errno = EBUSY;                                                  
   46e18:	2040           	moveal %d0,%a0                              
   46e1a:	7010           	moveq #16,%d0                               
   46e1c:	2080           	movel %d0,%a0@                              
  } else {                                                            
    errno = EACCES;                                                   
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   46e1e:	2f03           	movel %d3,%sp@-                             
   46e20:	4eb9 0004 491a 	jsr 4491a <rtems_filesystem_eval_path_cleanup>
   46e26:	588f           	addql #4,%sp                                
   46e28:	608c           	bras 46db6 <unmount+0x7e>                   
    } else {                                                          
      errno = EBUSY;                                                  
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = EACCES;                                                   
   46e2a:	4eb9 0004 e6dc 	jsr 4e6dc <__errno>                         
    rv = -1;                                                          
   46e30:	74ff           	moveq #-1,%d2                               
    } else {                                                          
      errno = EBUSY;                                                  
      rv = -1;                                                        
    }                                                                 
  } else {                                                            
    errno = EACCES;                                                   
   46e32:	720d           	moveq #13,%d1                               
   46e34:	2040           	moveal %d0,%a0                              
   46e36:	2081           	movel %d1,%a0@                              
    rv = -1;                                                          
  }                                                                   
                                                                      
  rtems_filesystem_eval_path_cleanup( &ctx );                         
   46e38:	2f03           	movel %d3,%sp@-                             
   46e3a:	4eb9 0004 491a 	jsr 4491a <rtems_filesystem_eval_path_cleanup>
   46e40:	588f           	addql #4,%sp                                
   46e42:	6000 ff72      	braw 46db6 <unmount+0x7e>                   
	...                                                                  
                                                                      

000469a4 <vprintk>: */ void vprintk( const char *fmt, va_list ap ) {
   469a4:	4e56 ffc0      	linkw %fp,#-64                              
   469a8:	206e 0008      	moveal %fp@(8),%a0                          
   469ac:	48d7 3cfc      	moveml %d2-%d7/%a2-%a5,%sp@                 
  for (; *fmt != '\0'; fmt++) {                                       
   469b0:	1010           	moveb %a0@,%d0                              
   469b2:	672e           	beqs 469e2 <vprintk+0x3e>                   <== NEVER TAKEN
 *  console is not yet initialized or in ISR's.                       
 *                                                                    
 * Arguments:                                                         
 *    as in printf: fmt - format string, ... - unnamed arguments.     
 */                                                                   
void vprintk(                                                         
   469b4:	2a0e           	movel %fp,%d5                               
    bool sign = false;                                                
    char lead = ' ';                                                  
    char c;                                                           
                                                                      
    if (*fmt != '%') {                                                
      rtems_putc(*fmt);                                               
   469b6:	47f9 0004 bd6c 	lea 4bd6c <rtems_putc>,%a3                  
 *  console is not yet initialized or in ISR's.                       
 *                                                                    
 * Arguments:                                                         
 *    as in printf: fmt - format string, ... - unnamed arguments.     
 */                                                                   
void vprintk(                                                         
   469bc:	0685 ffff ffec 	addil #-20,%d5                              
   469c2:	49f9 0005 d490 	lea 5d490 <null_ops+0x54>,%a4               
    bool minus = false;                                               
    bool sign = false;                                                
    char lead = ' ';                                                  
    char c;                                                           
                                                                      
    if (*fmt != '%') {                                                
   469c8:	49c0           	extbl %d0                                   
   469ca:	7225           	moveq #37,%d1                               
   469cc:	b280           	cmpl %d0,%d1                                
   469ce:	671c           	beqs 469ec <vprintk+0x48>                   
      rtems_putc(*fmt);                                               
   469d0:	2f00           	movel %d0,%sp@-                             
      continue;                                                       
   469d2:	2448           	moveal %a0,%a2                              
    bool sign = false;                                                
    char lead = ' ';                                                  
    char c;                                                           
                                                                      
    if (*fmt != '%') {                                                
      rtems_putc(*fmt);                                               
   469d4:	4e93           	jsr %a3@                                    
      continue;                                                       
   469d6:	588f           	addql #4,%sp                                
void vprintk(                                                         
  const char *fmt,                                                    
  va_list     ap                                                      
)                                                                     
{                                                                     
  for (; *fmt != '\0'; fmt++) {                                       
   469d8:	41ea 0001      	lea %a2@(1),%a0                             
   469dc:	102a 0001      	moveb %a2@(1),%d0                           
   469e0:	66e6           	bnes 469c8 <vprintk+0x24>                   
      sign,                                                           
      width,                                                          
      lead                                                            
    );                                                                
  }                                                                   
}                                                                     
   469e2:	4cee 3cfc ffc0 	moveml %fp@(-64),%d2-%d7/%a2-%a5            
   469e8:	4e5e           	unlk %fp                                    
   469ea:	4e75           	rts                                         
    if (*fmt != '%') {                                                
      rtems_putc(*fmt);                                               
      continue;                                                       
    }                                                                 
    fmt++;                                                            
    if (*fmt == '0' ) {                                               
   469ec:	7430           	moveq #48,%d2                               
   469ee:	1028 0001      	moveb %a0@(1),%d0                           
   469f2:	1200           	moveb %d0,%d1                               
   469f4:	49c1           	extbl %d1                                   
   469f6:	b481           	cmpl %d1,%d2                                
   469f8:	6700 022e      	beqw 46c28 <vprintk+0x284>                  
                                                                      
    if (*fmt != '%') {                                                
      rtems_putc(*fmt);                                               
      continue;                                                       
    }                                                                 
    fmt++;                                                            
   469fc:	45e8 0001      	lea %a0@(1),%a2                             
    unsigned base = 0;                                                
    unsigned width = 0;                                               
    bool lflag = false;                                               
    bool minus = false;                                               
    bool sign = false;                                                
    char lead = ' ';                                                  
   46a00:	7620           	moveq #32,%d3                               
   46a02:	1d43 ffeb      	moveb %d3,%fp@(-21)                         
    fmt++;                                                            
    if (*fmt == '0' ) {                                               
      lead = '0';                                                     
      fmt++;                                                          
    }                                                                 
    if (*fmt == '-' ) {                                               
   46a06:	7c2d           	moveq #45,%d6                               
   46a08:	bc81           	cmpl %d1,%d6                                
   46a0a:	6700 01f6      	beqw 46c02 <vprintk+0x25e>                  
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46a0e:	0680 ffff ffd0 	addil #-48,%d0                              
   46a14:	7409           	moveq #9,%d2                                
   46a16:	0280 0000 00ff 	andil #255,%d0                              
{                                                                     
  for (; *fmt != '\0'; fmt++) {                                       
    unsigned base = 0;                                                
    unsigned width = 0;                                               
    bool lflag = false;                                               
    bool minus = false;                                               
   46a1c:	4203           	clrb %d3                                    
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46a1e:	b480           	cmpl %d0,%d2                                
   46a20:	6500 0200      	bcsw 46c22 <vprintk+0x27e>                  
 *  console is not yet initialized or in ISR's.                       
 *                                                                    
 * Arguments:                                                         
 *    as in printf: fmt - format string, ... - unnamed arguments.     
 */                                                                   
void vprintk(                                                         
   46a24:	41ea 0001      	lea %a2@(1),%a0                             
   46a28:	4202           	clrb %d2                                    
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
      width *= 10;                                                    
   46a2a:	2802           	movel %d2,%d4                               
      width += ((unsigned) *fmt - '0');                               
      fmt++;                                                          
   46a2c:	2448           	moveal %a0,%a2                              
   46a2e:	5288           	addql #1,%a0                                
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46a30:	7c09           	moveq #9,%d6                                
      width *= 10;                                                    
   46a32:	e78c           	lsll #3,%d4                                 
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46a34:	1012           	moveb %a2@,%d0                              
      width *= 10;                                                    
   46a36:	2244           	moveal %d4,%a1                              
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46a38:	2800           	movel %d0,%d4                               
   46a3a:	0684 ffff ffd0 	addil #-48,%d4                              
      width *= 10;                                                    
   46a40:	43f1 2a00      	lea %a1@(00000000,%d2:l:2),%a1              
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46a44:	0284 0000 00ff 	andil #255,%d4                              
      width *= 10;                                                    
      width += ((unsigned) *fmt - '0');                               
   46a4a:	43f1 18d0      	lea %a1@(ffffffd0,%d1:l),%a1                
   46a4e:	1200           	moveb %d0,%d1                               
   46a50:	2409           	movel %a1,%d2                               
   46a52:	49c1           	extbl %d1                                   
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46a54:	bc84           	cmpl %d4,%d6                                
   46a56:	64d2           	bccs 46a2a <vprintk+0x86>                   
   46a58:	1200           	moveb %d0,%d1                               
   46a5a:	49c1           	extbl %d1                                   
      width *= 10;                                                    
      width += ((unsigned) *fmt - '0');                               
      fmt++;                                                          
    }                                                                 
                                                                      
    if ((c = *fmt) == 'l') {                                          
   46a5c:	706c           	moveq #108,%d0                              
   46a5e:	b081           	cmpl %d1,%d0                                
   46a60:	6700 0166      	beqw 46bc8 <vprintk+0x224>                  
      lflag = true;                                                   
      c = *++fmt;                                                     
    }                                                                 
    if ( c == 'c' ) {                                                 
   46a64:	7863           	moveq #99,%d4                               
)                                                                     
{                                                                     
  for (; *fmt != '\0'; fmt++) {                                       
    unsigned base = 0;                                                
    unsigned width = 0;                                               
    bool lflag = false;                                               
   46a66:	4200           	clrb %d0                                    
                                                                      
    if ((c = *fmt) == 'l') {                                          
      lflag = true;                                                   
      c = *++fmt;                                                     
    }                                                                 
    if ( c == 'c' ) {                                                 
   46a68:	b881           	cmpl %d1,%d4                                
   46a6a:	6700 0170      	beqw 46bdc <vprintk+0x238>                  
      /* need a cast here since va_arg() only takes fully promoted types */
      char chr = (char) va_arg(ap, int);                              
      rtems_putc(chr);                                                
      continue;                                                       
    }                                                                 
    if ( c == 's' ) {                                                 
   46a6e:	7873           	moveq #115,%d4                              
   46a70:	b881           	cmpl %d1,%d4                                
   46a72:	6700 01ca      	beqw 46c3e <vprintk+0x29a>                  
                                                                      
      continue;                                                       
    }                                                                 
                                                                      
    /* must be a numeric format or something unsupported */           
    if ( c == 'o' || c == 'O' ) {                                     
   46a76:	766f           	moveq #111,%d3                              
   46a78:	b681           	cmpl %d1,%d3                                
   46a7a:	6700 0140      	beqw 46bbc <vprintk+0x218>                  
   46a7e:	784f           	moveq #79,%d4                               
   46a80:	b881           	cmpl %d1,%d4                                
   46a82:	6700 0138      	beqw 46bbc <vprintk+0x218>                  
      base = 8; sign = false;                                         
    } else if ( c == 'i' || c == 'I' ||                               
   46a86:	7c69           	moveq #105,%d6                              
   46a88:	bc81           	cmpl %d1,%d6                                
   46a8a:	6760           	beqs 46aec <vprintk+0x148>                  
   46a8c:	163c 0049      	moveb #73,%d3                               
   46a90:	b681           	cmpl %d1,%d3                                
   46a92:	6758           	beqs 46aec <vprintk+0x148>                  
   46a94:	183c 0064      	moveb #100,%d4                              
   46a98:	b881           	cmpl %d1,%d4                                
   46a9a:	6750           	beqs 46aec <vprintk+0x148>                  
                c == 'd' || c == 'D' ) {                              
   46a9c:	1c3c 0044      	moveb #68,%d6                               
   46aa0:	bc81           	cmpl %d1,%d6                                
   46aa2:	6748           	beqs 46aec <vprintk+0x148>                  
      base = 10; sign = true;                                         
    } else if ( c == 'u' || c == 'U' ) {                              
   46aa4:	163c 0075      	moveb #117,%d3                              
   46aa8:	b681           	cmpl %d1,%d3                                
   46aaa:	6700 0254      	beqw 46d00 <vprintk+0x35c>                  
   46aae:	183c 0055      	moveb #85,%d4                               
   46ab2:	b881           	cmpl %d1,%d4                                
   46ab4:	6700 024a      	beqw 46d00 <vprintk+0x35c>                  
      base = 10; sign = false;                                        
    } else if ( c == 'x' || c == 'X' ) {                              
   46ab8:	1c3c 0078      	moveb #120,%d6                              
   46abc:	bc81           	cmpl %d1,%d6                                
   46abe:	6700 0260      	beqw 46d20 <vprintk+0x37c>                  
   46ac2:	163c 0058      	moveb #88,%d3                               
   46ac6:	b681           	cmpl %d1,%d3                                
   46ac8:	6700 0256      	beqw 46d20 <vprintk+0x37c>                  
      base = 16; sign = false;                                        
    } else if ( c == 'p' ) {                                          
   46acc:	183c 0070      	moveb #112,%d4                              
   46ad0:	b881           	cmpl %d1,%d4                                
   46ad2:	6700 00d4      	beqw 46ba8 <vprintk+0x204>                  
      base = 16; sign = false; lflag = true;                          
    } else {                                                          
      rtems_putc(c);                                                  
   46ad6:	2f01           	movel %d1,%sp@-                             
   46ad8:	4e93           	jsr %a3@                                    
      continue;                                                       
   46ada:	588f           	addql #4,%sp                                
void vprintk(                                                         
  const char *fmt,                                                    
  va_list     ap                                                      
)                                                                     
{                                                                     
  for (; *fmt != '\0'; fmt++) {                                       
   46adc:	41ea 0001      	lea %a2@(1),%a0                             
   46ae0:	102a 0001      	moveb %a2@(1),%d0                           
   46ae4:	6600 fee2      	bnew 469c8 <vprintk+0x24>                   
   46ae8:	6000 fef8      	braw 469e2 <vprintk+0x3e>                   <== NOT EXECUTED
    /* must be a numeric format or something unsupported */           
    if ( c == 'o' || c == 'O' ) {                                     
      base = 8; sign = false;                                         
    } else if ( c == 'i' || c == 'I' ||                               
                c == 'd' || c == 'D' ) {                              
      base = 10; sign = true;                                         
   46aec:	760a           	moveq #10,%d3                               
   46aee:	7201           	moveq #1,%d1                                
    } else {                                                          
      rtems_putc(c);                                                  
      continue;                                                       
    }                                                                 
                                                                      
    printNum(                                                         
   46af0:	4a00           	tstb %d0                                    
   46af2:	6600 00b8      	bnew 46bac <vprintk+0x208>                  
   46af6:	226e 000c      	moveal %fp@(12),%a1                         
   46afa:	2811           	movel %a1@,%d4                              
      lflag ? va_arg(ap, long) : (long) va_arg(ap, int),              
   46afc:	5889           	addql #4,%a1                                
   46afe:	2d49 000c      	movel %a1,%fp@(12)                          
  unsigned long unsigned_num;                                         
  unsigned long n;                                                    
  unsigned count;                                                     
  char toPrint[20];                                                   
                                                                      
  if ( sign && (num <  0) ) {                                         
   46b02:	4a01           	tstb %d1                                    
   46b04:	6706           	beqs 46b0c <vprintk+0x168>                  
   46b06:	4a84           	tstl %d4                                    
   46b08:	6d00 01c0      	bltw 46cca <vprintk+0x326>                  
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
  while ((n = unsigned_num / base) > 0) {                             
   46b0c:	2004           	movel %d4,%d0                               
   46b0e:	4c43 0000      	remul %d3,%d0,%d0                           
   46b12:	6700 01d2      	beqw 46ce6 <vprintk+0x342>                  
   46b16:	2a42           	moveal %d2,%a5                              
   46b18:	2200           	movel %d0,%d1                               
   46b1a:	2245           	moveal %d5,%a1                              
    if (maxwidth) maxwidth--;                                         
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
   46b1c:	91c8           	subal %a0,%a0                               
  while ((n = unsigned_num / base) > 0) {                             
    toPrint[count++] = (char) (unsigned_num - (n * base));            
   46b1e:	5288           	addql #1,%a0                                
   46b20:	1e03           	moveb %d3,%d7                               
   46b22:	3c00           	movew %d0,%d6                               
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
  while ((n = unsigned_num / base) > 0) {                             
   46b24:	4c43 1001      	remul %d3,%d1,%d1                           
    toPrint[count++] = (char) (unsigned_num - (n * base));            
   46b28:	cdc7           	mulsw %d7,%d6                               
   46b2a:	9886           	subl %d6,%d4                                
   46b2c:	2c04           	movel %d4,%d6                               
   46b2e:	2800           	movel %d0,%d4                               
   46b30:	12c6           	moveb %d6,%a1@+                             
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
  while ((n = unsigned_num / base) > 0) {                             
   46b32:	4a81           	tstl %d1                                    
   46b34:	671a           	beqs 46b50 <vprintk+0x1ac>                  
   46b36:	2001           	movel %d1,%d0                               
   46b38:	2200           	movel %d0,%d1                               
    toPrint[count++] = (char) (unsigned_num - (n * base));            
   46b3a:	5288           	addql #1,%a0                                
   46b3c:	3c00           	movew %d0,%d6                               
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
  while ((n = unsigned_num / base) > 0) {                             
   46b3e:	4c43 1001      	remul %d3,%d1,%d1                           
    toPrint[count++] = (char) (unsigned_num - (n * base));            
   46b42:	cdc7           	mulsw %d7,%d6                               
   46b44:	9886           	subl %d6,%d4                                
   46b46:	2c04           	movel %d4,%d6                               
   46b48:	2800           	movel %d0,%d4                               
   46b4a:	12c6           	moveb %d6,%a1@+                             
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
  while ((n = unsigned_num / base) > 0) {                             
   46b4c:	4a81           	tstl %d1                                    
   46b4e:	66e6           	bnes 46b36 <vprintk+0x192>                  
   46b50:	2608           	movel %a0,%d3                               
   46b52:	240d           	movel %a5,%d2                               
   46b54:	5283           	addql #1,%d3                                
   46b56:	182e ffeb      	moveb %fp@(-21),%d4                         
    toPrint[count++] = (char) (unsigned_num - (n * base));            
    unsigned_num = n;                                                 
  }                                                                   
  toPrint[count++] = (char) unsigned_num;                             
   46b5a:	1d80 88ec      	moveb %d0,%fp@(ffffffec,%a0:l)              
   46b5e:	49c4           	extbl %d4                                   
                                                                      
  for (n=maxwidth ; n > count; n-- )                                  
   46b60:	b483           	cmpl %d3,%d2                                
   46b62:	630c           	blss 46b70 <vprintk+0x1cc>                  
    rtems_putc(lead);                                                 
   46b64:	2f04           	movel %d4,%sp@-                             
    toPrint[count++] = (char) (unsigned_num - (n * base));            
    unsigned_num = n;                                                 
  }                                                                   
  toPrint[count++] = (char) unsigned_num;                             
                                                                      
  for (n=maxwidth ; n > count; n-- )                                  
   46b66:	5382           	subql #1,%d2                                
    rtems_putc(lead);                                                 
   46b68:	4e93           	jsr %a3@                                    
    toPrint[count++] = (char) (unsigned_num - (n * base));            
    unsigned_num = n;                                                 
  }                                                                   
  toPrint[count++] = (char) unsigned_num;                             
                                                                      
  for (n=maxwidth ; n > count; n-- )                                  
   46b6a:	588f           	addql #4,%sp                                
   46b6c:	b483           	cmpl %d3,%d2                                
   46b6e:	62f4           	bhis 46b64 <vprintk+0x1c0>                  
 *  console is not yet initialized or in ISR's.                       
 *                                                                    
 * Arguments:                                                         
 *    as in printf: fmt - format string, ... - unnamed arguments.     
 */                                                                   
void vprintk(                                                         
   46b70:	2a45           	moveal %d5,%a5                              
   46b72:	dbc3           	addal %d3,%a5                               
  toPrint[count++] = (char) unsigned_num;                             
                                                                      
  for (n=maxwidth ; n > count; n-- )                                  
    rtems_putc(lead);                                                 
                                                                      
  for (n = 0; n < count; n++) {                                       
   46b74:	4a83           	tstl %d3                                    
   46b76:	6700 fe60      	beqw 469d8 <vprintk+0x34>                   
    rtems_putc("0123456789ABCDEF"[(int)(toPrint[count-(n+1)])]);      
   46b7a:	1025           	moveb %a5@-,%d0                             
   46b7c:	49c0           	extbl %d0                                   
   46b7e:	1034 0800      	moveb %a4@(00000000,%d0:l),%d0              
   46b82:	49c0           	extbl %d0                                   
   46b84:	2f00           	movel %d0,%sp@-                             
   46b86:	4e93           	jsr %a3@                                    
  toPrint[count++] = (char) unsigned_num;                             
                                                                      
  for (n=maxwidth ; n > count; n-- )                                  
    rtems_putc(lead);                                                 
                                                                      
  for (n = 0; n < count; n++) {                                       
   46b88:	588f           	addql #4,%sp                                
   46b8a:	ba8d           	cmpl %a5,%d5                                
   46b8c:	6700 fe4a      	beqw 469d8 <vprintk+0x34>                   
    rtems_putc("0123456789ABCDEF"[(int)(toPrint[count-(n+1)])]);      
   46b90:	1025           	moveb %a5@-,%d0                             
   46b92:	49c0           	extbl %d0                                   
   46b94:	1034 0800      	moveb %a4@(00000000,%d0:l),%d0              
   46b98:	49c0           	extbl %d0                                   
   46b9a:	2f00           	movel %d0,%sp@-                             
   46b9c:	4e93           	jsr %a3@                                    
  toPrint[count++] = (char) unsigned_num;                             
                                                                      
  for (n=maxwidth ; n > count; n-- )                                  
    rtems_putc(lead);                                                 
                                                                      
  for (n = 0; n < count; n++) {                                       
   46b9e:	588f           	addql #4,%sp                                
   46ba0:	ba8d           	cmpl %a5,%d5                                
   46ba2:	66d6           	bnes 46b7a <vprintk+0x1d6>                  
   46ba4:	6000 fe32      	braw 469d8 <vprintk+0x34>                   
    } else if ( c == 'u' || c == 'U' ) {                              
      base = 10; sign = false;                                        
    } else if ( c == 'x' || c == 'X' ) {                              
      base = 16; sign = false;                                        
    } else if ( c == 'p' ) {                                          
      base = 16; sign = false; lflag = true;                          
   46ba8:	7610           	moveq #16,%d3                               
   46baa:	4201           	clrb %d1                                    
    } else {                                                          
      rtems_putc(c);                                                  
      continue;                                                       
    }                                                                 
                                                                      
    printNum(                                                         
   46bac:	206e 000c      	moveal %fp@(12),%a0                         
   46bb0:	2810           	movel %a0@,%d4                              
      lflag ? va_arg(ap, long) : (long) va_arg(ap, int),              
   46bb2:	5888           	addql #4,%a0                                
   46bb4:	2d48 000c      	movel %a0,%fp@(12)                          
   46bb8:	6000 ff48      	braw 46b02 <vprintk+0x15e>                  
      continue;                                                       
    }                                                                 
                                                                      
    /* must be a numeric format or something unsupported */           
    if ( c == 'o' || c == 'O' ) {                                     
      base = 8; sign = false;                                         
   46bbc:	7608           	moveq #8,%d3                                
   46bbe:	4201           	clrb %d1                                    
    } else {                                                          
      rtems_putc(c);                                                  
      continue;                                                       
    }                                                                 
                                                                      
    printNum(                                                         
   46bc0:	4a00           	tstb %d0                                    
   46bc2:	6700 ff32      	beqw 46af6 <vprintk+0x152>                  
   46bc6:	60e4           	bras 46bac <vprintk+0x208>                  <== NOT EXECUTED
                                                                      
    if ((c = *fmt) == 'l') {                                          
      lflag = true;                                                   
      c = *++fmt;                                                     
    }                                                                 
    if ( c == 'c' ) {                                                 
   46bc8:	7863           	moveq #99,%d4                               
      fmt++;                                                          
    }                                                                 
                                                                      
    if ((c = *fmt) == 'l') {                                          
      lflag = true;                                                   
      c = *++fmt;                                                     
   46bca:	102a 0001      	moveb %a2@(1),%d0                           
   46bce:	528a           	addql #1,%a2                                
   46bd0:	1200           	moveb %d0,%d1                               
      width += ((unsigned) *fmt - '0');                               
      fmt++;                                                          
    }                                                                 
                                                                      
    if ((c = *fmt) == 'l') {                                          
      lflag = true;                                                   
   46bd2:	7001           	moveq #1,%d0                                
   46bd4:	49c1           	extbl %d1                                   
      c = *++fmt;                                                     
    }                                                                 
    if ( c == 'c' ) {                                                 
   46bd6:	b881           	cmpl %d1,%d4                                
   46bd8:	6600 fe94      	bnew 46a6e <vprintk+0xca>                   
      /* need a cast here since va_arg() only takes fully promoted types */
      char chr = (char) va_arg(ap, int);                              
   46bdc:	206e 000c      	moveal %fp@(12),%a0                         
   46be0:	2010           	movel %a0@,%d0                              
      rtems_putc(chr);                                                
   46be2:	49c0           	extbl %d0                                   
   46be4:	2f00           	movel %d0,%sp@-                             
      lflag = true;                                                   
      c = *++fmt;                                                     
    }                                                                 
    if ( c == 'c' ) {                                                 
      /* need a cast here since va_arg() only takes fully promoted types */
      char chr = (char) va_arg(ap, int);                              
   46be6:	2008           	movel %a0,%d0                               
   46be8:	5880           	addql #4,%d0                                
   46bea:	2d40 000c      	movel %d0,%fp@(12)                          
      rtems_putc(chr);                                                
   46bee:	4e93           	jsr %a3@                                    
      continue;                                                       
   46bf0:	588f           	addql #4,%sp                                
void vprintk(                                                         
  const char *fmt,                                                    
  va_list     ap                                                      
)                                                                     
{                                                                     
  for (; *fmt != '\0'; fmt++) {                                       
   46bf2:	41ea 0001      	lea %a2@(1),%a0                             
   46bf6:	102a 0001      	moveb %a2@(1),%d0                           
   46bfa:	6600 fdcc      	bnew 469c8 <vprintk+0x24>                   
   46bfe:	6000 fde2      	braw 469e2 <vprintk+0x3e>                   
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46c02:	7409           	moveq #9,%d2                                
   46c04:	102a 0001      	moveb %a2@(1),%d0                           
      lead = '0';                                                     
      fmt++;                                                          
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
      fmt++;                                                          
   46c08:	528a           	addql #1,%a2                                
   46c0a:	1200           	moveb %d0,%d1                               
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46c0c:	0680 ffff ffd0 	addil #-48,%d0                              
   46c12:	0280 0000 00ff 	andil #255,%d0                              
   46c18:	49c1           	extbl %d1                                   
    if (*fmt == '0' ) {                                               
      lead = '0';                                                     
      fmt++;                                                          
    }                                                                 
    if (*fmt == '-' ) {                                               
      minus = true;                                                   
   46c1a:	7601           	moveq #1,%d3                                
      fmt++;                                                          
    }                                                                 
    while (*fmt >= '0' && *fmt <= '9' ) {                             
   46c1c:	b480           	cmpl %d0,%d2                                
   46c1e:	6400 fe04      	bccw 46a24 <vprintk+0x80>                   
   46c22:	4282           	clrl %d2                                    
   46c24:	6000 fe36      	braw 46a5c <vprintk+0xb8>                   
      continue;                                                       
    }                                                                 
    fmt++;                                                            
    if (*fmt == '0' ) {                                               
      lead = '0';                                                     
      fmt++;                                                          
   46c28:	45e8 0002      	lea %a0@(2),%a2                             
   46c2c:	1028 0002      	moveb %a0@(2),%d0                           
      rtems_putc(*fmt);                                               
      continue;                                                       
    }                                                                 
    fmt++;                                                            
    if (*fmt == '0' ) {                                               
      lead = '0';                                                     
   46c30:	7830           	moveq #48,%d4                               
   46c32:	1200           	moveb %d0,%d1                               
   46c34:	1d44 ffeb      	moveb %d4,%fp@(-21)                         
   46c38:	49c1           	extbl %d1                                   
   46c3a:	6000 fdca      	braw 46a06 <vprintk+0x62>                   
    }                                                                 
    if ( c == 's' ) {                                                 
      unsigned i, len;                                                
      char *s, *str;                                                  
                                                                      
      str = va_arg(ap, char *);                                       
   46c3e:	206e 000c      	moveal %fp@(12),%a0                         
   46c42:	2c08           	movel %a0,%d6                               
   46c44:	5886           	addql #4,%d6                                
   46c46:	2a50           	moveal %a0@,%a5                             
                                                                      
      if ( str == NULL ) {                                            
   46c48:	4a8d           	tstl %a5                                    
   46c4a:	6700 00c2      	beqw 46d0e <vprintk+0x36a>                  
        str = "";                                                     
      }                                                               
                                                                      
      /* calculate length of string */                                
      for ( len=0, s=str ; *s ; len++, s++ )                          
   46c4e:	4a15           	tstb %a5@                                   
   46c50:	6700 00c8      	beqw 46d1a <vprintk+0x376>                  
 *  console is not yet initialized or in ISR's.                       
 *                                                                    
 * Arguments:                                                         
 *    as in printf: fmt - format string, ... - unnamed arguments.     
 */                                                                   
void vprintk(                                                         
   46c54:	41ed 0001      	lea %a5@(1),%a0                             
      if ( str == NULL ) {                                            
        str = "";                                                     
      }                                                               
                                                                      
      /* calculate length of string */                                
      for ( len=0, s=str ; *s ; len++, s++ )                          
   46c58:	4284           	clrl %d4                                    
   46c5a:	5284           	addql #1,%d4                                
   46c5c:	4a18           	tstb %a0@+                                  
   46c5e:	66fa           	bnes 46c5a <vprintk+0x2b6>                  
        ;                                                             
                                                                      
      /* leading spaces */                                            
      if ( !minus )                                                   
   46c60:	4a03           	tstb %d3                                    
   46c62:	6614           	bnes 46c78 <vprintk+0x2d4>                  
        for ( i=len ; i<width ; i++ )                                 
   46c64:	b484           	cmpl %d4,%d2                                
   46c66:	6310           	blss 46c78 <vprintk+0x2d4>                  
   46c68:	2e04           	movel %d4,%d7                               
          rtems_putc(' ');                                            
   46c6a:	4878 0020      	pea 20 <OPER2+0xc>                          
      for ( len=0, s=str ; *s ; len++, s++ )                          
        ;                                                             
                                                                      
      /* leading spaces */                                            
      if ( !minus )                                                   
        for ( i=len ; i<width ; i++ )                                 
   46c6e:	5287           	addql #1,%d7                                
          rtems_putc(' ');                                            
   46c70:	4e93           	jsr %a3@                                    
      for ( len=0, s=str ; *s ; len++, s++ )                          
        ;                                                             
                                                                      
      /* leading spaces */                                            
      if ( !minus )                                                   
        for ( i=len ; i<width ; i++ )                                 
   46c72:	588f           	addql #4,%sp                                
   46c74:	b487           	cmpl %d7,%d2                                
   46c76:	62f2           	bhis 46c6a <vprintk+0x2c6>                  
          rtems_putc(' ');                                            
                                                                      
      /* no width option */                                           
      if (width == 0) {                                               
   46c78:	4a82           	tstl %d2                                    
   46c7a:	6606           	bnes 46c82 <vprintk+0x2de>                  
          width = len;                                                
      }                                                               
                                                                      
      /* output the string */                                         
      for ( i=0 ; i<width && *str ; str++ )                           
   46c7c:	4a84           	tstl %d4                                    
   46c7e:	6736           	beqs 46cb6 <vprintk+0x312>                  
   46c80:	2404           	movel %d4,%d2                               
   46c82:	1015           	moveb %a5@,%d0                              
   46c84:	671a           	beqs 46ca0 <vprintk+0x2fc>                  <== NEVER TAKEN
        rtems_putc(*str);                                             
   46c86:	49c0           	extbl %d0                                   
      if (width == 0) {                                               
          width = len;                                                
      }                                                               
                                                                      
      /* output the string */                                         
      for ( i=0 ; i<width && *str ; str++ )                           
   46c88:	528d           	addql #1,%a5                                
        rtems_putc(*str);                                             
   46c8a:	2f00           	movel %d0,%sp@-                             
   46c8c:	4e93           	jsr %a3@                                    
   46c8e:	588f           	addql #4,%sp                                
      if (width == 0) {                                               
          width = len;                                                
      }                                                               
                                                                      
      /* output the string */                                         
      for ( i=0 ; i<width && *str ; str++ )                           
   46c90:	101d           	moveb %a5@+,%d0                             
   46c92:	670c           	beqs 46ca0 <vprintk+0x2fc>                  
        rtems_putc(*str);                                             
   46c94:	49c0           	extbl %d0                                   
   46c96:	2f00           	movel %d0,%sp@-                             
   46c98:	4e93           	jsr %a3@                                    
   46c9a:	588f           	addql #4,%sp                                
      if (width == 0) {                                               
          width = len;                                                
      }                                                               
                                                                      
      /* output the string */                                         
      for ( i=0 ; i<width && *str ; str++ )                           
   46c9c:	101d           	moveb %a5@+,%d0                             
   46c9e:	66f4           	bnes 46c94 <vprintk+0x2f0>                  
        rtems_putc(*str);                                             
                                                                      
      /* trailing spaces */                                           
      if ( minus )                                                    
   46ca0:	4a03           	tstb %d3                                    
   46ca2:	6712           	beqs 46cb6 <vprintk+0x312>                  
        for ( i=len ; i<width ; i++ )                                 
   46ca4:	b484           	cmpl %d4,%d2                                
   46ca6:	630e           	blss 46cb6 <vprintk+0x312>                  
          rtems_putc(' ');                                            
   46ca8:	4878 0020      	pea 20 <OPER2+0xc>                          
      for ( i=0 ; i<width && *str ; str++ )                           
        rtems_putc(*str);                                             
                                                                      
      /* trailing spaces */                                           
      if ( minus )                                                    
        for ( i=len ; i<width ; i++ )                                 
   46cac:	5284           	addql #1,%d4                                
          rtems_putc(' ');                                            
   46cae:	4e93           	jsr %a3@                                    
      for ( i=0 ; i<width && *str ; str++ )                           
        rtems_putc(*str);                                             
                                                                      
      /* trailing spaces */                                           
      if ( minus )                                                    
        for ( i=len ; i<width ; i++ )                                 
   46cb0:	588f           	addql #4,%sp                                
   46cb2:	b484           	cmpl %d4,%d2                                
   46cb4:	62f2           	bhis 46ca8 <vprintk+0x304>                  
    }                                                                 
    if ( c == 's' ) {                                                 
      unsigned i, len;                                                
      char *s, *str;                                                  
                                                                      
      str = va_arg(ap, char *);                                       
   46cb6:	2d46 000c      	movel %d6,%fp@(12)                          
void vprintk(                                                         
  const char *fmt,                                                    
  va_list     ap                                                      
)                                                                     
{                                                                     
  for (; *fmt != '\0'; fmt++) {                                       
   46cba:	41ea 0001      	lea %a2@(1),%a0                             
   46cbe:	102a 0001      	moveb %a2@(1),%d0                           
   46cc2:	6600 fd04      	bnew 469c8 <vprintk+0x24>                   
   46cc6:	6000 fd1a      	braw 469e2 <vprintk+0x3e>                   <== NOT EXECUTED
  unsigned long n;                                                    
  unsigned count;                                                     
  char toPrint[20];                                                   
                                                                      
  if ( sign && (num <  0) ) {                                         
    rtems_putc('-');                                                  
   46cca:	4878 002d      	pea 2d <OPER2+0x19>                         
    unsigned_num = (unsigned long) -num;                              
   46cce:	4484           	negl %d4                                    
  unsigned long n;                                                    
  unsigned count;                                                     
  char toPrint[20];                                                   
                                                                      
  if ( sign && (num <  0) ) {                                         
    rtems_putc('-');                                                  
   46cd0:	4e93           	jsr %a3@                                    
    unsigned_num = (unsigned long) -num;                              
    if (maxwidth) maxwidth--;                                         
   46cd2:	588f           	addql #4,%sp                                
   46cd4:	4a82           	tstl %d2                                    
   46cd6:	6700 fe34      	beqw 46b0c <vprintk+0x168>                  
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
  while ((n = unsigned_num / base) > 0) {                             
   46cda:	2004           	movel %d4,%d0                               
  char toPrint[20];                                                   
                                                                      
  if ( sign && (num <  0) ) {                                         
    rtems_putc('-');                                                  
    unsigned_num = (unsigned long) -num;                              
    if (maxwidth) maxwidth--;                                         
   46cdc:	5382           	subql #1,%d2                                
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
  while ((n = unsigned_num / base) > 0) {                             
   46cde:	4c43 0000      	remul %d3,%d0,%d0                           
   46ce2:	6600 fe32      	bnew 46b16 <vprintk+0x172>                  
   46ce6:	2004           	movel %d4,%d0                               
    if (maxwidth) maxwidth--;                                         
  } else {                                                            
    unsigned_num = (unsigned long) num;                               
  }                                                                   
                                                                      
  count = 0;                                                          
   46ce8:	91c8           	subal %a0,%a0                               
  while ((n = unsigned_num / base) > 0) {                             
   46cea:	7601           	moveq #1,%d3                                
   46cec:	182e ffeb      	moveb %fp@(-21),%d4                         
    toPrint[count++] = (char) (unsigned_num - (n * base));            
    unsigned_num = n;                                                 
  }                                                                   
  toPrint[count++] = (char) unsigned_num;                             
   46cf0:	1d80 88ec      	moveb %d0,%fp@(ffffffec,%a0:l)              
   46cf4:	49c4           	extbl %d4                                   
                                                                      
  for (n=maxwidth ; n > count; n-- )                                  
   46cf6:	b483           	cmpl %d3,%d2                                
   46cf8:	6200 fe6a      	bhiw 46b64 <vprintk+0x1c0>                  
   46cfc:	6000 fe72      	braw 46b70 <vprintk+0x1cc>                  
      base = 8; sign = false;                                         
    } else if ( c == 'i' || c == 'I' ||                               
                c == 'd' || c == 'D' ) {                              
      base = 10; sign = true;                                         
    } else if ( c == 'u' || c == 'U' ) {                              
      base = 10; sign = false;                                        
   46d00:	760a           	moveq #10,%d3                               
   46d02:	4201           	clrb %d1                                    
    } else {                                                          
      rtems_putc(c);                                                  
      continue;                                                       
    }                                                                 
                                                                      
    printNum(                                                         
   46d04:	4a00           	tstb %d0                                    
   46d06:	6700 fdee      	beqw 46af6 <vprintk+0x152>                  
   46d0a:	6000 fea0      	braw 46bac <vprintk+0x208>                  
      char *s, *str;                                                  
                                                                      
      str = va_arg(ap, char *);                                       
                                                                      
      if ( str == NULL ) {                                            
        str = "";                                                     
   46d0e:	4bf9 0005 d40e 	lea 5d40e <rtems_termios_baud_table+0x10a>,%a5
      }                                                               
                                                                      
      /* calculate length of string */                                
      for ( len=0, s=str ; *s ; len++, s++ )                          
   46d14:	4a15           	tstb %a5@                                   
   46d16:	6600 ff3c      	bnew 46c54 <vprintk+0x2b0>                  
   46d1a:	4284           	clrl %d4                                    
   46d1c:	6000 ff42      	braw 46c60 <vprintk+0x2bc>                  
                c == 'd' || c == 'D' ) {                              
      base = 10; sign = true;                                         
    } else if ( c == 'u' || c == 'U' ) {                              
      base = 10; sign = false;                                        
    } else if ( c == 'x' || c == 'X' ) {                              
      base = 16; sign = false;                                        
   46d20:	7610           	moveq #16,%d3                               
   46d22:	4201           	clrb %d1                                    
    } else {                                                          
      rtems_putc(c);                                                  
      continue;                                                       
    }                                                                 
                                                                      
    printNum(                                                         
   46d24:	4a00           	tstb %d0                                    
   46d26:	6700 fdce      	beqw 46af6 <vprintk+0x152>                  
   46d2a:	6000 fe80      	braw 46bac <vprintk+0x208>                  
	...                                                                  
                                                                      

0005c09c <write>: ssize_t write( int fd, const void *buffer, size_t count ) {
   5c09c:	4e56 0000      	linkw %fp,#0                                
   5c0a0:	202e 0008      	movel %fp@(8),%d0                           
   5c0a4:	2f0a           	movel %a2,%sp@-                             
   5c0a6:	222e 000c      	movel %fp@(12),%d1                          
   5c0aa:	206e 0010      	moveal %fp@(16),%a0                         
   5c0ae:	2f02           	movel %d2,%sp@-                             
  rtems_libio_t     *iop;                                             
                                                                      
  rtems_libio_check_fd( fd );                                         
   5c0b0:	b0b9 0005 e260 	cmpl 5e260 <rtems_libio_number_iops>,%d0    
   5c0b6:	6454           	bccs 5c10c <write+0x70>                     
  iop = rtems_libio_iop( fd );                                        
   5c0b8:	2400           	movel %d0,%d2                               
   5c0ba:	ed88           	lsll #6,%d0                                 
   5c0bc:	e98a           	lsll #4,%d2                                 
   5c0be:	2279 0005 f8f4 	moveal 5f8f4 <rtems_libio_iops>,%a1         
   5c0c4:	9082           	subl %d2,%d0                                
   5c0c6:	d3c0           	addal %d0,%a1                               
  rtems_libio_check_is_open( iop );                                   
   5c0c8:	2029 000c      	movel %a1@(12),%d0                          
   5c0cc:	0800 0008      	btst #8,%d0                                 
   5c0d0:	673a           	beqs 5c10c <write+0x70>                     
  rtems_libio_check_buffer( buffer );                                 
   5c0d2:	4a81           	tstl %d1                                    
   5c0d4:	6750           	beqs 5c126 <write+0x8a>                     <== NEVER TAKEN
  rtems_libio_check_count( count );                                   
   5c0d6:	4a88           	tstl %a0                                    
   5c0d8:	6724           	beqs 5c0fe <write+0x62>                     
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
   5c0da:	44c0           	movew %d0,%ccr                              
   5c0dc:	662e           	bnes 5c10c <write+0x70>                     
                                                                      
  /*                                                                  
   *  Now process the write() request.                                
   */                                                                 
  return (*iop->pathinfo.handlers->write_h)( iop, buffer, count );    
   5c0de:	2469 0020      	moveal %a1@(32),%a2                         
   5c0e2:	2d48 0010      	movel %a0,%fp@(16)                          
}                                                                     
   5c0e6:	242e fff8      	movel %fp@(-8),%d2                          
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
                                                                      
  /*                                                                  
   *  Now process the write() request.                                
   */                                                                 
  return (*iop->pathinfo.handlers->write_h)( iop, buffer, count );    
   5c0ea:	2d41 000c      	movel %d1,%fp@(12)                          
   5c0ee:	2d49 0008      	movel %a1,%fp@(8)                           
   5c0f2:	226a 000c      	moveal %a2@(12),%a1                         
}                                                                     
   5c0f6:	246e fffc      	moveal %fp@(-4),%a2                         
   5c0fa:	4e5e           	unlk %fp                                    
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
                                                                      
  /*                                                                  
   *  Now process the write() request.                                
   */                                                                 
  return (*iop->pathinfo.handlers->write_h)( iop, buffer, count );    
   5c0fc:	4ed1           	jmp %a1@                                    
}                                                                     
   5c0fe:	242e fff8      	movel %fp@(-8),%d2                          
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
  rtems_libio_check_count( count );                                   
   5c102:	4280           	clrl %d0                                    
                                                                      
  /*                                                                  
   *  Now process the write() request.                                
   */                                                                 
  return (*iop->pathinfo.handlers->write_h)( iop, buffer, count );    
}                                                                     
   5c104:	246e fffc      	moveal %fp@(-4),%a2                         
   5c108:	4e5e           	unlk %fp                                    
   5c10a:	4e75           	rts                                         
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
  rtems_libio_check_count( count );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
   5c10c:	4eb9 0004 e144 	jsr 4e144 <__errno>                         
                                                                      
  /*                                                                  
   *  Now process the write() request.                                
   */                                                                 
  return (*iop->pathinfo.handlers->write_h)( iop, buffer, count );    
}                                                                     
   5c112:	242e fff8      	movel %fp@(-8),%d2                          
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
  rtems_libio_check_count( count );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
   5c116:	2040           	moveal %d0,%a0                              
   5c118:	7209           	moveq #9,%d1                                
   5c11a:	70ff           	moveq #-1,%d0                               
                                                                      
  /*                                                                  
   *  Now process the write() request.                                
   */                                                                 
  return (*iop->pathinfo.handlers->write_h)( iop, buffer, count );    
}                                                                     
   5c11c:	246e fffc      	moveal %fp@(-4),%a2                         
   5c120:	4e5e           	unlk %fp                                    
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
  rtems_libio_check_count( count );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
   5c122:	2081           	movel %d1,%a0@                              
                                                                      
  /*                                                                  
   *  Now process the write() request.                                
   */                                                                 
  return (*iop->pathinfo.handlers->write_h)( iop, buffer, count );    
}                                                                     
   5c124:	4e75           	rts                                         
  rtems_libio_t     *iop;                                             
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_buffer( buffer );                                 
   5c126:	4eb9 0004 e144 	jsr 4e144 <__errno>                         <== NOT EXECUTED
   5c12c:	7416           	moveq #22,%d2                               <== NOT EXECUTED
   5c12e:	2040           	moveal %d0,%a0                              <== NOT EXECUTED
   5c130:	70ff           	moveq #-1,%d0                               <== NOT EXECUTED
   5c132:	2082           	movel %d2,%a0@                              <== NOT EXECUTED
                                                                      
  /*                                                                  
   *  Now process the write() request.                                
   */                                                                 
  return (*iop->pathinfo.handlers->write_h)( iop, buffer, count );    
}                                                                     
   5c134:	242e fff8      	movel %fp@(-8),%d2                          <== NOT EXECUTED
   5c138:	246e fffc      	moveal %fp@(-4),%a2                         <== NOT EXECUTED
   5c13c:	4e5e           	unlk %fp                                    <== NOT EXECUTED
                                                                      

00047b94 <writev>: ssize_t writev( int fd, const struct iovec *iov, int iovcnt ) {
   47b94:	4e56 ffe8      	linkw %fp,#-24                              
   47b98:	202e 0008      	movel %fp@(8),%d0                           
   47b9c:	48d7 1c1c      	moveml %d2-%d4/%a2-%a4,%sp@                 
   47ba0:	266e 000c      	moveal %fp@(12),%a3                         
   47ba4:	282e 0010      	movel %fp@(16),%d4                          
  int            bytes;                                               
  rtems_libio_t *iop;                                                 
  ssize_t        old;                                                 
  bool           all_zeros;                                           
                                                                      
  rtems_libio_check_fd( fd );                                         
   47ba8:	b0b9 0005 ec60 	cmpl 5ec60 <rtems_libio_number_iops>,%d0    
   47bae:	6400 00c8      	bccw 47c78 <writev+0xe4>                    
  iop = rtems_libio_iop( fd );                                        
   47bb2:	2200           	movel %d0,%d1                               
   47bb4:	ed88           	lsll #6,%d0                                 
   47bb6:	e989           	lsll #4,%d1                                 
   47bb8:	2879 0006 02f4 	moveal 602f4 <rtems_libio_iops>,%a4         
   47bbe:	9081           	subl %d1,%d0                                
   47bc0:	d9c0           	addal %d0,%a4                               
  rtems_libio_check_is_open( iop );                                   
   47bc2:	202c 000c      	movel %a4@(12),%d0                          
   47bc6:	0800 0008      	btst #8,%d0                                 
   47bca:	6700 00ac      	beqw 47c78 <writev+0xe4>                    
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
   47bce:	44c0           	movew %d0,%ccr                              
   47bd0:	6600 00a6      	bnew 47c78 <writev+0xe4>                    
                                                                      
  /*                                                                  
   *  Argument validation on IO vector                                
   */                                                                 
  if ( !iov )                                                         
   47bd4:	4a8b           	tstl %a3                                    
   47bd6:	6736           	beqs 47c0e <writev+0x7a>                    
    rtems_set_errno_and_return_minus_one( EINVAL );                   
                                                                      
  if ( iovcnt <= 0 )                                                  
   47bd8:	4a84           	tstl %d4                                    
   47bda:	6f32           	bles 47c0e <writev+0x7a>                    
    rtems_set_errno_and_return_minus_one( EINVAL );                   
                                                                      
  if ( iovcnt > IOV_MAX )                                             
   47bdc:	0c84 0000 0400 	cmpil #1024,%d4                             
   47be2:	6e2a           	bgts 47c0e <writev+0x7a>                    <== NEVER TAKEN
   47be4:	244b           	moveal %a3,%a2                              
#include <sys/uio.h>                                                  
                                                                      
#include <rtems/libio_.h>                                             
#include <rtems/seterr.h>                                             
                                                                      
ssize_t writev(                                                       
   47be6:	204b           	moveal %a3,%a0                              
   47be8:	4280           	clrl %d0                                    
   47bea:	e78c           	lsll #3,%d4                                 
   47bec:	7401           	moveq #1,%d2                                
   47bee:	d88b           	addl %a3,%d4                                
                                                                      
    /*                                                                
     *  iov[v].iov_len cannot be less than 0 because size_t is unsigned.
     *  So we only check for zero.                                    
     */                                                               
    if ( iov[v].iov_base == 0 )                                       
   47bf0:	4a90           	tstl %a0@                                   
   47bf2:	671a           	beqs 47c0e <writev+0x7a>                    <== NEVER TAKEN
      rtems_set_errno_and_return_minus_one( EINVAL );                 
                                                                      
    if ( iov[v].iov_len )                                             
   47bf4:	2228 0004      	movel %a0@(4),%d1                           
      all_zeros = false;                                              
   47bf8:	57c3           	seq %d3                                     
                                                                      
    /* check for wrap */                                              
    old    = total;                                                   
    total += iov[v].iov_len;                                          
   47bfa:	d280           	addl %d0,%d1                                
   47bfc:	5088           	addql #8,%a0                                
     */                                                               
    if ( iov[v].iov_base == 0 )                                       
      rtems_set_errno_and_return_minus_one( EINVAL );                 
                                                                      
    if ( iov[v].iov_len )                                             
      all_zeros = false;                                              
   47bfe:	c483           	andl %d3,%d2                                
                                                                      
    /* check for wrap */                                              
    old    = total;                                                   
    total += iov[v].iov_len;                                          
    if ( total < old || total > SSIZE_MAX )                           
   47c00:	b081           	cmpl %d1,%d0                                
   47c02:	6e0a           	bgts 47c0e <writev+0x7a>                    
   *  this loop does that check as well and sets "all-zero" appropriately.
   *  The variable "all_zero" is used as an early exit point before   
   *  entering the write loop.                                        
   */                                                                 
  all_zeros = true;                                                   
  for ( old=0, total=0, v=0 ; v < iovcnt ; v++ ) {                    
   47c04:	b888           	cmpl %a0,%d4                                
   47c06:	6720           	beqs 47c28 <writev+0x94>                    
   47c08:	2001           	movel %d1,%d0                               
                                                                      
    /*                                                                
     *  iov[v].iov_len cannot be less than 0 because size_t is unsigned.
     *  So we only check for zero.                                    
     */                                                               
    if ( iov[v].iov_base == 0 )                                       
   47c0a:	4a90           	tstl %a0@                                   
   47c0c:	66e6           	bnes 47bf4 <writev+0x60>                    
                                                                      
    /* check for wrap */                                              
    old    = total;                                                   
    total += iov[v].iov_len;                                          
    if ( total < old || total > SSIZE_MAX )                           
      rtems_set_errno_and_return_minus_one( EINVAL );                 
   47c0e:	4eb9 0004 ee00 	jsr 4ee00 <__errno>                         
   47c14:	74ff           	moveq #-1,%d2                               
   47c16:	2040           	moveal %d0,%a0                              
   47c18:	7016           	moveq #22,%d0                               
   47c1a:	2080           	movel %d0,%a0@                              
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   47c1c:	2002           	movel %d2,%d0                               
   47c1e:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   47c24:	4e5e           	unlk %fp                                    
   47c26:	4e75           	rts                                         
  }                                                                   
                                                                      
  /*                                                                  
   * A writev with all zeros is supposed to have no effect per OpenGroup.
   */                                                                 
  if ( all_zeros == true ) {                                          
   47c28:	4a02           	tstb %d2                                    
   47c2a:	663e           	bnes 47c6a <writev+0xd6>                    
#include <sys/uio.h>                                                  
                                                                      
#include <rtems/libio_.h>                                             
#include <rtems/seterr.h>                                             
                                                                      
ssize_t writev(                                                       
   47c2c:	588b           	addql #4,%a3                                
   47c2e:	4282           	clrl %d2                                    
  /*                                                                  
   *  Now process the writev().                                       
   */                                                                 
  for ( total=0, v=0 ; v < iovcnt ; v++ ) {                           
    /* all zero lengths has no effect */                              
    if ( iov[v].iov_len == 0 )                                        
   47c30:	2213           	movel %a3@,%d1                              
   47c32:	660c           	bnes 47c40 <writev+0xac>                    <== ALWAYS TAKEN
   47c34:	508b           	addql #8,%a3                                <== NOT EXECUTED
   47c36:	508a           	addql #8,%a2                                <== NOT EXECUTED
  }                                                                   
                                                                      
  /*                                                                  
   *  Now process the writev().                                       
   */                                                                 
  for ( total=0, v=0 ; v < iovcnt ; v++ ) {                           
   47c38:	b88a           	cmpl %a2,%d4                                <== NOT EXECUTED
   47c3a:	67e0           	beqs 47c1c <writev+0x88>                    <== NOT EXECUTED
    /* all zero lengths has no effect */                              
    if ( iov[v].iov_len == 0 )                                        
   47c3c:	2213           	movel %a3@,%d1                              
   47c3e:	67f4           	beqs 47c34 <writev+0xa0>                    <== NEVER TAKEN
      continue;                                                       
                                                                      
    bytes = (*iop->pathinfo.handlers->write_h)(                       
   47c40:	206c 0020      	moveal %a4@(32),%a0                         
   47c44:	2f01           	movel %d1,%sp@-                             
   47c46:	2f12           	movel %a2@,%sp@-                            
   47c48:	2f0c           	movel %a4,%sp@-                             
   47c4a:	2068 000c      	moveal %a0@(12),%a0                         
   47c4e:	4e90           	jsr %a0@                                    
      iop,                                                            
      iov[v].iov_base,                                                
      iov[v].iov_len                                                  
    );                                                                
                                                                      
    if ( bytes < 0 )                                                  
   47c50:	4fef 000c      	lea %sp@(12),%sp                            
   47c54:	4a80           	tstl %d0                                    
   47c56:	6d3a           	blts 47c92 <writev+0xfe>                    <== NEVER TAKEN
      return -1;                                                      
                                                                      
    if ( bytes > 0 ) {                                                
   47c58:	6702           	beqs 47c5c <writev+0xc8>                    <== NEVER TAKEN
      total       += bytes;                                           
   47c5a:	d480           	addl %d0,%d2                                
    }                                                                 
                                                                      
    if (bytes != iov[ v ].iov_len)                                    
   47c5c:	b093           	cmpl %a3@,%d0                               
   47c5e:	66bc           	bnes 47c1c <writev+0x88>                    <== NEVER TAKEN
   47c60:	508b           	addql #8,%a3                                
   47c62:	508a           	addql #8,%a2                                
  }                                                                   
                                                                      
  /*                                                                  
   *  Now process the writev().                                       
   */                                                                 
  for ( total=0, v=0 ; v < iovcnt ; v++ ) {                           
   47c64:	b88a           	cmpl %a2,%d4                                
   47c66:	66d4           	bnes 47c3c <writev+0xa8>                    
   47c68:	60b2           	bras 47c1c <writev+0x88>                    
                                                                      
  /*                                                                  
   * A writev with all zeros is supposed to have no effect per OpenGroup.
   */                                                                 
  if ( all_zeros == true ) {                                          
    return 0;                                                         
   47c6a:	4282           	clrl %d2                                    
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   47c6c:	2002           	movel %d2,%d0                               
   47c6e:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
   47c74:	4e5e           	unlk %fp                                    
   47c76:	4e75           	rts                                         
  bool           all_zeros;                                           
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
   47c78:	4eb9 0004 ee00 	jsr 4ee00 <__errno>                         
   47c7e:	74ff           	moveq #-1,%d2                               
   47c80:	7209           	moveq #9,%d1                                
   47c82:	2040           	moveal %d0,%a0                              
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   47c84:	2002           	movel %d2,%d0                               
   47c86:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            
  bool           all_zeros;                                           
                                                                      
  rtems_libio_check_fd( fd );                                         
  iop = rtems_libio_iop( fd );                                        
  rtems_libio_check_is_open( iop );                                   
  rtems_libio_check_permissions_with_error( iop, LIBIO_FLAGS_WRITE, EBADF );
   47c8c:	2081           	movel %d1,%a0@                              
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   47c8e:	4e5e           	unlk %fp                                    
   47c90:	4e75           	rts                                         
      iov[v].iov_base,                                                
      iov[v].iov_len                                                  
    );                                                                
                                                                      
    if ( bytes < 0 )                                                  
      return -1;                                                      
   47c92:	74ff           	moveq #-1,%d2                               <== NOT EXECUTED
    if (bytes != iov[ v ].iov_len)                                    
      break;                                                          
  }                                                                   
                                                                      
  return total;                                                       
}                                                                     
   47c94:	2002           	movel %d2,%d0                               <== NOT EXECUTED
   47c96:	4cee 1c1c ffe8 	moveml %fp@(-24),%d2-%d4/%a2-%a4            <== NOT EXECUTED
   47c9c:	4e5e           	unlk %fp                                    <== NOT EXECUTED